diff --git a/.github/workflows/build-and-deploy-site.yml b/.github/workflows/build-and-deploy-site.yml
new file mode 100644
index 0000000000..0cf8f50996
--- /dev/null
+++ b/.github/workflows/build-and-deploy-site.yml
@@ -0,0 +1,65 @@
+# This workflow is designed to automate the process of building and deploying a Kotlin/JS web application to GitHub Pages.
+# It ensures that whenever changes are merged into the dev branch or when manually triggered, the web application is built,
+# packaged, and deployed to the GitHub Pages environment, making it accessible online.
+
+# Key Features:
+# - Automated web application build using Kotlin/JS
+# - Deployment to GitHub Pages
+# - Supports configurable web project module name
+# - Manages deployment concurrency and environment settings
+# - Provides secure deployment with proper permissions
+
+# Prerequisites:
+# - Kotlin Multiplatform/JS project configured with Gradle
+# - Web module set up for browser distribution
+# - Java 17 or compatible version
+# - GitHub Pages enabled in repository settings
+
+# Workflow Configuration:
+# - Requires input of `web_package_name` to specify the web project module
+# - Uses Windows runner for build process
+# - Leverages GitHub Actions for build, pages configuration, and deployment
+
+# Workflow Triggers:
+# - Can be manually called from other workflows
+# - Supports workflow_call for reusability across projects
+
+# Deployment Process:
+# 1. Checkout repository code
+# 2. Set up Java development environment
+# 3. Build Kotlin/JS web application
+# 4. Configure GitHub Pages
+# 5. Upload built artifacts
+# 6. Deploy to GitHub Pages
+
+# https://github.com/openMF/mifos-mobile-github-actions/blob/main/.github/workflows/build-and-deploy-site.yaml
+
+# ##############################################################################
+# DON'T EDIT THIS FILE UNLESS NECESSARY #
+# ##############################################################################
+
+name: Build And Deploy Web App
+
+# Trigger conditions for the workflow
+on:
+ workflow_dispatch:
+
+# Concurrency settings to manage multiple workflow runs
+# This ensures orderly deployment to production environment
+concurrency:
+ group: "web-pages"
+ cancel-in-progress: false
+
+permissions:
+ contents: read # Read repository contents
+ pages: write # Write to GitHub Pages
+ id-token: write # Write authentication tokens
+ pull-requests: write # Write to pull requests
+
+jobs:
+ build_and_deploy_web:
+ name: Build And Deploy Web App
+ uses: openMF/mifos-mobile-github-actions/.github/workflows/build-and-deploy-site.yaml@main
+ secrets: inherit
+ with:
+ web_package_name: 'cmp-web' # <-- Change with your web package name
diff --git a/.github/workflows/cache-cleanup.yaml b/.github/workflows/cache-cleanup.yaml
new file mode 100644
index 0000000000..399eb2f985
--- /dev/null
+++ b/.github/workflows/cache-cleanup.yaml
@@ -0,0 +1,15 @@
+name: Cleanup Cache
+
+on:
+ pull_request:
+ types: [ closed ]
+ workflow_dispatch:
+
+jobs:
+ cleanup:
+ uses: openMF/mifos-mobile-github-actions/.github/workflows/cache-cleanup.yaml@main
+ with:
+ cleanup_pr: ${{ github.event_name == 'pull_request' && github.event.repository.private == true }}
+ cleanup_all: ${{ github.event_name == 'workflow_dispatch' }}
+ secrets:
+ token: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.github/workflows/master_dev_ci.yml b/.github/workflows/master_dev_ci.yml
deleted file mode 100644
index 4a9e63b96f..0000000000
--- a/.github/workflows/master_dev_ci.yml
+++ /dev/null
@@ -1,186 +0,0 @@
-name: Workflow for master/development branches
-
-on:
- pull_request:
- branches:
- - 'development'
- - 'master'
- push:
- branches:
- - 'development'
- - 'master'
-
-concurrency:
- group: build-${{ github.ref }}
- cancel-in-progress: true
-
-permissions:
- contents: read
- pull-requests: write
-
-jobs:
- setup:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v4
- - uses: actions/setup-java@v4
- with:
- distribution: 'zulu'
- java-version: 17
- - uses: gradle/actions/setup-gradle@v4
-
- - name: Cache Gradle and build outputs
- uses: actions/cache@v4
- with:
- path: |
- ~/.gradle/caches
- ~/.gradle/wrapper
- build
- key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
- restore-keys: ${{ runner.os }}-gradle-
-
- checks:
- needs: setup
- runs-on: ubuntu-latest
- strategy:
- matrix:
- check: [ build_logic, spotless, detekt ]
- steps:
- - uses: actions/checkout@v4
- - uses: actions/setup-java@v4
- with:
- distribution: 'zulu'
- java-version: 17
- - name: Run ${{ matrix.check }}
- id: run_check
- run: |
- if [ "${{ matrix.check }}" = "build_logic" ]; then
- ./gradlew check -p build-logic
- elif [ "${{ matrix.check }}" = "spotless" ]; then
- ./gradlew spotlessCheck --no-configuration-cache --no-daemon
- elif [ "${{ matrix.check }}" = "detekt" ]; then
- ./gradlew detekt
- fi
-
- - name: Upload Detekt Reports
- if: ${{ matrix.check == 'detekt' && steps.run_check.outcome == 'success' }}
- uses: actions/upload-artifact@v4
- with:
- name: detekt-reports
- path: |
- **/build/reports/detekt/detekt.md
-
-
-
-
- dependency_guard:
- needs: setup
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v4
- - uses: actions/setup-java@v4
- with:
- distribution: 'zulu'
- java-version: 17
-
- - name: Check Dependency Guard
- id: dependencyguard_verify
- continue-on-error: true
- run: ./gradlew dependencyGuard
-
- - name: Prevent updating Dependency Guard baselines if this is a fork
- id: checkfork_dependencyguard
- if: steps.dependencyguard_verify.outcome == 'failure' && github.event.pull_request.head.repo.full_name != github.repository
- run: |
- echo "::error::Dependency Guard failed, please update baselines with: ./gradlew dependencyGuardBaseline" && exit 1
-
- # Runs if previous job failed
- - name: Generate new Dependency Guard baselines if verification failed and it's a PR
- id: dependencyguard_baseline
- if: steps.dependencyguard_verify.outcome == 'failure' && github.event_name == 'pull_request'
- run: |
- ./gradlew dependencyGuardBaseline
-
- - name: Push new Dependency Guard baselines if available
- uses: stefanzweifel/git-auto-commit-action@v5
- if: steps.dependencyguard_baseline.outcome == 'success'
- with:
- file_pattern: '**/dependencies/*.txt'
- disable_globbing: true
- commit_message: "🤖 Updates baselines for Dependency Guard"
-
- tests_and_lint:
- needs: setup
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v4
-
- - uses: actions/setup-java@v4
- with:
- distribution: 'zulu'
- java-version: 17
-
- - name: Run tests
- run: |
- ./gradlew testDebug :lint:test :androidApp:lintRelease :lint:lint
-
- - name: Upload reports
- if: always()
- uses: actions/upload-artifact@v4
- with:
- name: test-and-lint-reports
- path: |
- **/build/reports/lint-results-*.html
- **/build/test-results/test*UnitTest/**.xml
-
-
- # Add `createDebugUnitTestCoverageReport` if we ever add JVM tests for prod
- - name: Generate coverage reports for Debug variants (only API 30)
- run: ./gradlew createDebugCombinedCoverageReport
-
- - name: Upload test reports
- if: always()
- uses: actions/upload-artifact@v4
- with:
- name: test-reports-${{ matrix.api-level }}
- path: '**/build/reports/androidTests'
-
- - name: Display local test coverage (only API 30)
- id: jacoco
- uses: madrapps/jacoco-report@v1.6.1
- with:
- title: Combined test coverage report
- min-coverage-overall: 40
- min-coverage-changed-files: 60
- paths: |
- ${{ github.workspace }}/**/build/reports/jacoco/**/*Report.xml
- token: ${{ secrets.GITHUB_TOKEN }}
-
- - name: Upload local coverage reports (XML + HTML) (only API 30)
- uses: actions/upload-artifact@v4
- with:
- name: coverage-reports
- if-no-files-found: error
- compression-level: 1
- overwrite: false
- path: '**/build/reports/jacoco/'
-
- build:
- needs: [ checks, dependency_guard, tests_and_lint ]
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v4
- - uses: actions/setup-java@v4
- with:
- distribution: 'zulu'
- java-version: 17
-
- - name: Build APKs
- run: ./gradlew :androidApp:assembleDebug
-
- - name: Upload APKs
- uses: actions/upload-artifact@v4
- with:
- name: APKs
- path: '**/build/outputs/apk/**/*.apk'
-
diff --git a/.github/workflows/monthly-version-tag.yml b/.github/workflows/monthly-version-tag.yml
new file mode 100644
index 0000000000..2efca79d2b
--- /dev/null
+++ b/.github/workflows/monthly-version-tag.yml
@@ -0,0 +1,66 @@
+# Automated Monthly Release Versioning Workflow
+# ============================================
+
+# Purpose:
+# - Automatically create consistent monthly version tags
+# - Implement a calendar-based versioning strategy
+# - Facilitate easy tracking of monthly releases
+
+# Versioning Strategy:
+# - Tag format: YYYY.MM.0 (e.g., 2024.01.0 for January 2024)
+# - First digit: Full year
+# - Second digit: Month (01-12)
+# - Third digit: Patch version (starts at 0, allows for potential updates)
+
+# Key Features:
+# - Runs automatically on the first day of each month at 3:30 AM UTC
+# - Can be manually triggered via workflow_dispatch
+# - Uses GitHub Actions to generate tags programmatically
+# - Provides a predictable and systematic versioning approach
+
+# Prerequisites:
+# - Repository configured with GitHub Actions
+# - Permissions to create tags
+# - Access to actions/checkout and tag creation actions
+
+# Workflow Triggers:
+# - Scheduled monthly run
+# - Manual workflow dispatch
+# - Callable from other workflows
+
+# Actions Used:
+# 1. actions/checkout@v4 - Checks out repository code
+# 2. josStorer/get-current-time - Retrieves current timestamp
+# 3. rickstaa/action-create-tag - Creates Git tags
+
+# Example Generated Tags:
+# - 2024.01.0 (January 2024 initial release)
+# - 2024.02.0 (February 2024 initial release)
+# - 2024.02.1 (Potential patch for February 2024)
+
+# https://github.com/openMF/mifos-mobile-github-actions/blob/main/.github/workflows/monthly-version-tag.yaml
+
+# ##############################################################################
+# DON'T EDIT THIS FILE UNLESS NECESSARY #
+# ##############################################################################
+
+name: Tag Monthly Release
+
+on:
+ # Allow manual triggering of the workflow
+ workflow_dispatch:
+ # Schedule the workflow to run monthly
+ schedule:
+ # Runs at 03:30 UTC on the first day of every month
+ # Cron syntax: minute hour day-of-month month day-of-week
+ - cron: '30 3 1 * *'
+
+concurrency:
+ group: "monthly-release"
+ cancel-in-progress: false
+
+jobs:
+ monthly_release:
+ name: Tag Monthly Release
+ uses: openMF/mifos-mobile-github-actions/.github/workflows/monthly-version-tag.yaml@main
+ secrets: inherit
diff --git a/.github/workflows/monthly_release.yaml b/.github/workflows/monthly_release.yaml
deleted file mode 100644
index 9f173e9ed2..0000000000
--- a/.github/workflows/monthly_release.yaml
+++ /dev/null
@@ -1,21 +0,0 @@
-name: Bump our Calendar Version
-
-on:
- workflow_dispatch:
- schedule:
- - cron: '30 3 1 * *'
-jobs:
- tag:
- name: Tag Monthly Release
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v4
-
- - name: Get Current Time
- uses: josStorer/get-current-time@v2.1.2
- id: current-time
-
- - name: Bump Calendar Version
- uses: rickstaa/action-create-tag@v1.7.2
- with:
- tag: ${{ steps.current-time.outputs.year }}.${{ steps.current-time.outputs.month }}.0
diff --git a/.github/workflows/multi-platform-build-and-publish.yml b/.github/workflows/multi-platform-build-and-publish.yml
new file mode 100644
index 0000000000..99b0f7aebf
--- /dev/null
+++ b/.github/workflows/multi-platform-build-and-publish.yml
@@ -0,0 +1,140 @@
+# GitHub Actions Workflow for Kotlin Multi-Platform Application Deployment
+#
+# OVERVIEW:
+# This workflow supports building and publishing applications across multiple platforms:
+# - Android (APK/AAB)
+# - iOS (IPA)
+# - Desktop (EXE, MSI, DMG, DEB)
+# - Web (GitHub Pages)
+#
+# PREREQUISITES:
+# Ensure your project is configured with:
+# - Gradle build system
+# - Kotlin Multiplatform Project with Android, iOS, Desktop, and Web modules
+# - Fastlane for deployment automation
+# - Separate modules/package names for each platform
+#
+# REQUIRED SECRETS:
+# Configure the following secrets in GitHub repository settings:
+# - ORIGINAL_KEYSTORE_FILE: Base64 encoded Android release keystore
+# - ORIGINAL_KEYSTORE_FILE_PASSWORD: Keystore password
+# - ORIGINAL_KEYSTORE_ALIAS: Keystore alias
+# - ORIGINAL_KEYSTORE_ALIAS_PASSWORD: Keystore alias password
+
+# - UPLOAD_KEYSTORE_FILE: Base64 encoded Android release keystore
+# - UPLOAD_KEYSTORE_FILE_PASSWORD: Keystore password
+# - UPLOAD_KEYSTORE_ALIAS: Keystore alias
+# - UPLOAD_KEYSTORE_ALIAS_PASSWORD: Keystore alias password
+
+# - GOOGLESERVICES: Google Services configuration JSON
+# - PLAYSTORECREDS: Play Store service account credentials
+# - FIREBASECREDS: Firebase distribution credentials
+
+# - NOTARIZATION_APPLE_ID: Apple ID for macOS app notarization
+# - NOTARIZATION_PASSWORD: Notarization password
+# - NOTARIZATION_TEAM_ID: Apple developer team ID
+
+# WORKFLOW INPUTS:
+# - release_type: 'internal' (default) or 'beta'
+# - target_branch: Branch to use for release (default: 'dev')
+# - android_package_name: Name of Android module
+# - ios_package_name: Name of iOS module
+# - desktop_package_name: Name of desktop module
+# - web_package_name: Name of web module
+# - publish_android: Enable/disable Android Play Store publishing
+# - build_ios: Enable/disable iOS build
+# - publish_ios: Enable/disable iOS App Store publishing
+
+# USAGE:
+# 1. Ensure all required secrets are configured
+# 2. Customize package names in workflow inputs
+# 3. Toggle platform-specific publishing flags
+# 4. Trigger workflow manually or via GitHub Actions UI
+
+# https://github.com/openMF/mifos-mobile-github-actions/blob/main/.github/workflows/multi-platform-build-and-publish.yaml
+
+# ##############################################################################
+# DON'T EDIT THIS FILE UNLESS NECESSARY #
+# ##############################################################################
+name: Multi-Platform Build and Publish
+
+on:
+ workflow_dispatch:
+ inputs:
+ release_type:
+ type: choice
+ options:
+ - internal
+ - beta
+ default: internal
+ description: Release Type
+
+ target_branch:
+ type: string
+ default: 'dev'
+ description: 'Target branch for release'
+
+ build_ios:
+ type: boolean
+ default: false
+ description: Build iOS App
+
+ publish_ios:
+ type: boolean
+ default: false
+ description: Publish iOS App On App Store
+
+permissions:
+ contents: write
+ id-token: write
+ pages: write
+
+concurrency:
+ group: "reusable"
+ cancel-in-progress: false
+
+jobs:
+ multi_platform_build_and_publish:
+ name: Multi-Platform Build and Publish
+ uses: openMF/mifos-mobile-github-actions/.github/workflows/multi-platform-build-and-publish.yaml@main
+ with:
+ release_type: ${{ inputs.release_type }}
+ target_branch: ${{ inputs.target_branch }}
+ android_package_name: 'cmp-android' # <-- Change this to your android package name
+ ios_package_name: 'cmp-ios' # <-- Change this to your ios package name
+ desktop_package_name: 'cmp-desktop' # <-- Change this to your desktop package name
+ web_package_name: 'cmp-web' # <-- Change this to your web package name
+ tester_groups: 'mobile-wallet-testing' # <-- Change this to your Firebase tester group
+ build_ios: ${{ inputs.build_ios }}
+ publish_ios: ${{ inputs.publish_ios }}
+ secrets:
+ original_keystore_file: ${{ secrets.ORIGINAL_KEYSTORE_FILE }}
+ original_keystore_file_password: ${{ secrets.ORIGINAL_KEYSTORE_FILE_PASSWORD }}
+ original_keystore_alias: ${{ secrets.ORIGINAL_KEYSTORE_ALIAS }}
+ original_keystore_alias_password: ${{ secrets.ORIGINAL_KEYSTORE_ALIAS_PASSWORD }}
+
+ upload_keystore_file: ${{ secrets.UPLOAD_KEYSTORE_FILE }}
+ upload_keystore_file_password: ${{ secrets.UPLOAD_KEYSTORE_FILE_PASSWORD }}
+ upload_keystore_alias: ${{ secrets.UPLOAD_KEYSTORE_ALIAS }}
+ upload_keystore_alias_password: ${{ secrets.UPLOAD_KEYSTORE_ALIAS_PASSWORD }}
+
+ notarization_apple_id: ${{ secrets.NOTARIZATION_APPLE_ID }}
+ notarization_password: ${{ secrets.NOTARIZATION_PASSWORD }}
+ notarization_team_id: ${{ secrets.NOTARIZATION_TEAM_ID }}
+
+ windows_signing_key: ${{ secrets.WINDOWS_SIGNING_KEY }}
+ windows_signing_password: ${{ secrets.WINDOWS_SIGNING_PASSWORD }}
+ windows_signing_certificate: ${{ secrets.WINDOWS_SIGNING_CERTIFICATE }}
+
+ macos_signing_key: ${{ secrets.MACOS_SIGNING_KEY }}
+ macos_signing_password: ${{ secrets.MACOS_SIGNING_PASSWORD }}
+ macos_signing_certificate: ${{ secrets.MACOS_SIGNING_CERTIFICATE }}
+
+ linux_signing_key: ${{ secrets.LINUX_SIGNING_KEY }}
+ linux_signing_password: ${{ secrets.LINUX_SIGNING_PASSWORD }}
+ linux_signing_certificate: ${{ secrets.LINUX_SIGNING_CERTIFICATE }}
+
+ google_services: ${{ secrets.GOOGLESERVICES }}
+ firebase_creds: ${{ secrets.FIREBASECREDS }}
+ playstore_creds: ${{ secrets.PLAYSTORECREDS }}
+ token: ${{ secrets.GITHUB_TOKEN }}
\ No newline at end of file
diff --git a/.github/workflows/pr-check.yml b/.github/workflows/pr-check.yml
index d4090147c5..4e5bc23c88 100644
--- a/.github/workflows/pr-check.yml
+++ b/.github/workflows/pr-check.yml
@@ -1,105 +1,92 @@
-name: Workflow for master/development branches
+## Overview
+#
+# This reusable GitHub Actions workflow provides a comprehensive Continuous Integration (CI) pipeline
+# for multi-platform mobile and desktop applications, specifically designed for projects using Gradle and Java/Kotlin.
+#
+### Key Features
+# - Automated code quality checks
+# - Dependency management and verification
+# - Cross-platform desktop application builds (Windows, Linux, MacOS)
+# - Android APK build generation
+# - Artifact generation and storage
+#
+### Workflow Jobs
+# 1. **Setup**: Prepares the build environment
+# - Checks out repository code
+# - Sets up Java 17
+# - Configures Gradle
+# - Manages dependency caching
+#
+# 2. **Code Quality Checks**:
+# - Build logic verification
+# - Code formatting checks (Spotless)
+# - Static code analysis (Detekt)
+#
+# 3. **Dependency Guard**:
+# - Verifies dependencies against baseline
+# - Prevents unauthorized dependency changes
+# - Supports automatic baseline updates
+#
+# 4. **Android App Build**:
+# - Builds debug APK for demo flavor
+# - Uploads APK artifacts
+#
+# 5. **Desktop App Build**:
+# - Builds applications for Windows, Linux, and MacOS
+# - Generates platform-specific executables and packages
+#
+### Prerequisites
+# - Java 17
+# - Gradle
+# - Configured build scripts for:
+# - Android module
+# - Desktop module
+# - Installed Gradle plugins:
+# - Spotless
+# - Detekt
+# - Dependency Guard
+#
+### Configuration Parameters
+# The workflow requires two input parameters:
+#
+# | Parameter | Description | Type | Required |
+# |------------------------|------------------------------------|--------|----------|
+# | `android_package_name` | Name of the Android project module | String | Yes |
+# | `desktop_package_name` | Name of the Desktop project module | String | Yes |
+#
+# https://github.com/openMF/mifos-mobile-github-actions/blob/main/.github/workflows/pr-check.yaml
+
+# ##############################################################################
+# DON'T EDIT THIS FILE UNLESS NECESSARY #
+# ##############################################################################
+
+
+name: PR Checks
+
+# Trigger conditions for the workflow
on:
- pull_request:
- branches:
- - 'kmp-impl'
push:
- branches:
- - 'kmp-impl'
+ branches: [ dev ] # Runs on pushes to dev branch
+ pull_request:
+ branches: [ dev ] # Runs on pushes to dev branch
+# Concurrency settings to prevent multiple simultaneous workflow runs
concurrency:
- group: build-${{ github.ref }}
- cancel-in-progress: true
+ group: pr-${{ github.ref }}
+ cancel-in-progress: true # Cancels previous runs if a new one is triggered
permissions:
- contents: read
- pull-requests: write
+ contents: write
jobs:
- setup:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v4
- - uses: actions/setup-java@v4
- with:
- distribution: 'zulu'
- java-version: 17
- - uses: gradle/actions/setup-gradle@v4
-
- - name: Cache Gradle and build outputs
- uses: actions/cache@v4
- with:
- path: |
- ~/.gradle/caches
- ~/.gradle/wrapper
- build
- key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
- restore-keys: ${{ runner.os }}-gradle-
-
- checks:
- needs: setup
- runs-on: ubuntu-latest
- strategy:
- matrix:
- check: [ build_logic, spotless, detekt ]
- steps:
- - uses: actions/checkout@v4
- - uses: actions/setup-java@v4
- with:
- distribution: 'zulu'
- java-version: 17
- - name: Run ${{ matrix.check }}
- id: run_check
- run: |
- if [ "${{ matrix.check }}" = "build_logic" ]; then
- ./gradlew check -p build-logic
- elif [ "${{ matrix.check }}" = "spotless" ]; then
- ./gradlew spotlessCheck --no-configuration-cache --no-daemon
- elif [ "${{ matrix.check }}" = "detekt" ]; then
- ./gradlew detekt
- fi
-
- - name: Upload Detekt Reports
- if: ${{ matrix.check == 'detekt' && steps.run_check.outcome == 'success' }}
- uses: actions/upload-artifact@v4
- with:
- name: detekt-reports
- path: |
- **/build/reports/detekt/detekt.md
-
- dependency_guard:
- needs: setup
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v4
- - uses: actions/setup-java@v4
- with:
- distribution: 'zulu'
- java-version: 17
-
- - name: Check Dependency Guard
- id: dependencyguard_verify
- continue-on-error: true
- run: ./gradlew dependencyGuard
-
- - name: Prevent updating Dependency Guard baselines if this is a fork
- id: checkfork_dependencyguard
- if: steps.dependencyguard_verify.outcome == 'failure' && github.event.pull_request.head.repo.full_name != github.repository
- run: |
- echo "::error::Dependency Guard failed, please update baselines with: ./gradlew dependencyGuardBaseline" && exit 1
-
- # Runs if previous job failed
- - name: Generate new Dependency Guard baselines if verification failed and it's a PR
- id: dependencyguard_baseline
- if: steps.dependencyguard_verify.outcome == 'failure' && github.event_name == 'pull_request'
- run: |
- ./gradlew dependencyGuardBaseline
-
- - name: Push new Dependency Guard baselines if available
- uses: stefanzweifel/git-auto-commit-action@v5
- if: steps.dependencyguard_baseline.outcome == 'success'
- with:
- file_pattern: '**/dependencies/*.txt'
- disable_globbing: true
- commit_message: "🤖 Updates baselines for Dependency Guard"
+ pr_checks:
+ name: PR Checks
+ uses: openMF/mifos-mobile-github-actions/.github/workflows/pr-check.yaml@main
+ secrets: inherit
+ with:
+ android_package_name: 'cmp-android' # <-- Change Your Android Package Name
+ desktop_package_name: 'cmp-desktop' # <-- Change Your Desktop Package Name
+ web_package_name: 'cmp-web' # <-- Change Your Web Package Name
+ ios_package_name: 'cmp-ios' # <-- Change Your iOS Package Name
+ build_ios: false # <-- Change to 'false' if you don't want to build iOS
diff --git a/.github/workflows/promote-to-production.yml b/.github/workflows/promote-to-production.yml
new file mode 100644
index 0000000000..01400a2610
--- /dev/null
+++ b/.github/workflows/promote-to-production.yml
@@ -0,0 +1,75 @@
+# GitHub Actions Workflow for Play Store Release Promotion
+#
+# PURPOSE:
+# This workflow automates the process of promoting a beta release
+# to the production track on Google Play Store.
+#
+# PREREQUISITES:
+# 1. Fastlane setup with Android deployment configurations
+# 2. Configured Fastlane lanes:
+# - `promote_to_production`: Handles beta to production promotion
+#
+# REQUIRED CONFIGURATION:
+# - Secrets:
+# PLAYSTORECREDS: Google Play Store service account JSON credentials
+#
+# INPUTS:
+# - android_package_name: Name of the Android project module
+# (REQUIRED, must match your project's module structure)
+#
+# WORKFLOW TRIGGERS:
+# - Can be called manually or triggered by other workflows
+# - Typically used after beta testing and validation
+#
+# DEPLOYMENT PROCESS:
+# 1. Checks out repository code
+# 2. Sets up Ruby and Fastlane environment
+# 3. Inflates Play Store credentials
+# 4. Runs Fastlane lane to promote beta to production
+#
+# IMPORTANT NOTES:
+# - Requires proper Fastlane configuration in your project
+# - Ensures consistent and automated Play Store deployments
+# - Configurable retry mechanism for upload stability
+#
+# RECOMMENDED FASTLANE LANE IMPLEMENTATION:
+# ```ruby
+# lane :promote_to_production do
+# upload_to_play_store(
+# track: 'beta',
+# track_promote_to: 'production',
+# json_key: './playStorePublishServiceCredentialsFile.json'
+# )
+# end
+# ```
+
+# https://github.com/openMF/mifos-mobile-github-actions/blob/main/.github/workflows/promote-to-production.yaml
+
+# ##############################################################################
+# DON'T EDIT THIS FILE UNLESS NECESSARY #
+# ##############################################################################
+
+name: Promote Release to Play Store
+
+# Workflow triggers:
+# 1. Manual trigger with option to publish to Play Store
+# 2. Automatic trigger when a GitHub release is published
+on:
+ workflow_dispatch:
+ release:
+ types: [ released ]
+
+concurrency:
+ group: "production-deploy"
+ cancel-in-progress: false
+
+permissions:
+ contents: write
+
+jobs:
+ # Job to promote app from beta to production in Play Store
+ play_promote_production:
+ name: Promote Beta to Production Play Store
+ uses: openMF/mifos-mobile-github-actions/.github/workflows/promote-to-production.yaml@main
+ secrets:
+ playstore_creds: ${{ secrets.PLAYSTORECREDS }}
diff --git a/.github/workflows/release_to_internal_or_beta.yml b/.github/workflows/release_to_internal_or_beta.yml
deleted file mode 100644
index 36eba80930..0000000000
--- a/.github/workflows/release_to_internal_or_beta.yml
+++ /dev/null
@@ -1,162 +0,0 @@
-name: Internal Or Beta Release
-
-on:
- workflow_dispatch:
- inputs:
- release_type:
- required: false
- default: 'internal'
- description: Please select the release type
- type: choice
- options:
- - internal
- - beta
-
-env:
- SUPPLY_UPLOAD_MAX_RETRIES: 5
-
-jobs:
- app_build:
- name: Github Release
- runs-on: ubuntu-latest
- permissions:
- contents: write
- steps:
- - uses: actions/checkout@v4
- with:
- fetch-depth: 0
-
- - name: Set up JDK 17
- uses: actions/setup-java@v4.2.2
- with:
- distribution: 'temurin'
- java-version: '17'
-
- - uses: ruby/setup-ruby@v1
- with:
- ruby-version: '3.2'
- bundler-cache: true
-
- - name: Setup Gradle
- uses: gradle/actions/setup-gradle@v4
-
- - uses: ./.github/actions/create-release-number
- name: Create Release Number
- id: rel_number
-
- - uses: ./.github/actions/inflate-secrets
- name: Inflate Secrets
- with:
- keystore: ${{ secrets.ORIGINAL_KEYSTORE_FILE }}
- google-services: ${{ secrets.GOOGLESERVICES }}
- playstore-creds: ${{ secrets.PLAYSTORECREDS }}
-
- - uses: ./.github/actions/create-release-notes
- name: Create Release Notes
- with:
- tag-name: ${{ steps.rel_number.outputs.version }}
- gh-token: ${{ secrets.GITHUB_TOKEN }}
-
- - name: Build Release
- env:
- KEYSTORE_PATH: ${{ secrets.KEYSTORE_NAME }}
- KEYSTORE_PASSWORD: ${{ secrets.ORIGINAL_KEYSTORE_FILE_PASSWORD }}
- KEYSTORE_ALIAS: ${{ secrets.ORIGINAL_KEYSTORE_ALIAS }}
- KEYSTORE_ALIAS_PASSWORD: ${{ secrets.ORIGINAL_KEYSTORE_ALIAS_PASSWORD }}
- VERSION_CODE: ${{ steps.rel_number.outputs.version-code }}
- run: |
- ./gradlew :androidApp:assembleRelease
-
- - name: Archive Build
- uses: actions/upload-artifact@v4
- with:
- path: ./**/*.apk
-
- - name: Create Version File
- if: github.event.inputs.release_type == 'beta'
- shell: bash
- env:
- VERSION_CODE: ${{ steps.rel_number.outputs.version-code }}
- run: |
- echo $VERSION_CODE > ./androidApp/build/outputs/version_code.txt
-
- - name: Create Github Pre-Release
- if: github.event.inputs.release_type == 'beta'
- uses: softprops/action-gh-release@v2.0.8
- with:
- tag_name: ${{ steps.rel_number.outputs.version }}
- body_path: ./androidApp/build/outputs/changelogGithub
- draft: false
- prerelease: true
- files: |
- ./androidApp/build/outputs/apk/release/androidApp-release.apk
- ./androidApp/build/outputs/version_code.txt
-
- - name: Print `git status`
- run: git status
-
- play_publish:
- name: Play Publish
- runs-on: ubuntu-latest
- concurrency:
- group: playstore_deploy
- permissions:
- contents: write
- steps:
- - uses: actions/checkout@v4
- with:
- fetch-depth: 0
-
- - name: Set up JDK 17
- uses: actions/setup-java@v4.2.2
- with:
- distribution: 'temurin'
- java-version: '17'
-
- - uses: ruby/setup-ruby@v1
- with:
- ruby-version: '3.2'
- bundler-cache: true
-
- - name: Install Fastlane
- run: |
- gem install bundler:2.2.27
- bundle config path vendor/bundle
- bundle install --jobs 4 --retry 3
-
- - name: Setup Gradle
- uses: gradle/actions/setup-gradle@v4
-
- - uses: ./.github/actions/create-release-number
- name: Create Release Number
- id: rel_number
-
- - uses: ./.github/actions/inflate-secrets
- name: Inflate Secrets
- with:
- keystore: ${{ secrets.UPLOAD_KEYSTORE_FILE }}
- google-services: ${{ secrets.GOOGLESERVICES }}
- playstore-creds: ${{ secrets.PLAYSTORECREDS }}
-
- - uses: ./.github/actions/create-release-notes
- name: Create Release Notes
- with:
- tag-name: ${{ steps.rel_number.outputs.version }}
- gh-token: ${{ secrets.GITHUB_TOKEN }}
-
- - name: Build Release
- env:
- KEYSTORE_PATH: ${{ secrets.KEYSTORE_NAME }}
- KEYSTORE_PASSWORD: ${{ secrets.UPLOAD_KEYSTORE_FILE_PASSWORD }}
- KEYSTORE_ALIAS: ${{ secrets.UPLOAD_KEYSTORE_ALIAS }}
- KEYSTORE_ALIAS_PASSWORD: ${{ secrets.UPLOAD_KEYSTORE_ALIAS_PASSWORD }}
- VERSION_CODE: ${{ steps.rel_number.outputs.version-code }}
- run: |
- ./gradlew :androidApp:bundleRelease
-
- - name: Deploy to Play Store Internal
- run: bundle exec fastlane android deploy_internal
-
- - name: Promote Internal to Beta
- if: github.event.inputs.release_type == 'beta'
- run: bundle exec fastlane android promote_to_beta
diff --git a/.github/workflows/release_to_production.yml b/.github/workflows/release_to_production.yml
deleted file mode 100644
index 51a0cbafe9..0000000000
--- a/.github/workflows/release_to_production.yml
+++ /dev/null
@@ -1,35 +0,0 @@
-name: Promote Beta to Production Play Store
-
-on:
- workflow_dispatch:
-
-env:
- SUPPLY_UPLOAD_MAX_RETRIES: 5
-
-jobs:
- play_promote_production:
- name: Play Publish Production
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v4
-
- - uses: ruby/setup-ruby@v1
- with:
- ruby-version: '3.2'
- bundler-cache: true
-
- - name: Install Fastlane
- run: |
- gem install bundler:2.2.27
- bundle config path vendor/bundle
- bundle install --jobs 4 --retry 3
-
- - uses: ./.github/actions/inflate-secrets
- name: Inflate Secrets
- with:
- keystore: ${{ secrets.ORIGINAL_KEYSTORE_FILE }}
- google-services: ${{ secrets.GOOGLESERVICES }}
- playstore-creds: ${{ secrets.PLAYSTORECREDS }}
-
- - name: Promote Beta to Production Play Store
- run: bundle exec fastlane android promote_to_production
diff --git a/.github/workflows/sync-dirs.yaml b/.github/workflows/sync-dirs.yaml
new file mode 100644
index 0000000000..bbd3d2c792
--- /dev/null
+++ b/.github/workflows/sync-dirs.yaml
@@ -0,0 +1,227 @@
+name: Sync CMP Directories
+on:
+ workflow_dispatch:
+ inputs:
+ upstream:
+ description: 'Upstream repository to sync directories from'
+ default: 'https://github.com/openMF/kmp-project-template.git'
+ required: true
+ type: string
+ schedule:
+ - cron: '0 0 * * 1'
+
+jobs:
+ sync-directories:
+ runs-on: ubuntu-latest
+ permissions:
+ contents: write
+ pull-requests: write
+
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v4
+ with:
+ fetch-depth: 0
+ ref: dev
+
+ - name: Setup Git config
+ run: |
+ git config --global user.name "github-actions[bot]"
+ git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
+
+ - name: Add upstream remote and fetch
+ run: |
+ git remote add upstream ${{ inputs.upstream }} || true
+ git fetch upstream || exit 1
+
+ - name: Check upstream/dev exists
+ run: |
+ if ! git rev-parse --verify upstream/dev >/dev/null 2>&1; then
+ echo "Error: upstream/dev branch does not exist"
+ exit 1
+ fi
+
+ - name: Create and checkout temporary branch
+ run: |
+ TEMP_BRANCH="temp-sync-branch-${{ github.run_number }}"
+ git checkout -b "$TEMP_BRANCH" upstream/dev || exit 1
+ echo "TEMP_BRANCH=$TEMP_BRANCH" >> $GITHUB_ENV
+
+ - name: Sync directories and files
+ run: |
+ # Declare directories and files to sync
+ DIRS=(
+ "cmp-android"
+ "cmp-desktop"
+ "cmp-ios"
+ "cmp-web"
+ "cmp-shared"
+ "build-logic"
+ "fastlane"
+ "scripts"
+ "config"
+ ".github"
+ ".run"
+ )
+
+ FILES=(
+ "Gemfile"
+ "Gemfile.lock"
+ "ci-prepush.bat"
+ "ci-prepush.sh"
+ )
+
+ # Define exclusions
+ declare -A EXCLUSIONS=(
+ ["cmp-android"]="src/main/res dependencies src/main/ic_launcher-playstore.png google-services.json"
+ ["cmp-web"]="src/jsMain/resources src/wasmJsMain/resources"
+ ["cmp-desktop"]="icons"
+ ["cmp-ios"]="iosApp/Assets.xcassets"
+ )
+
+ # Function to check if path should be excluded
+ should_exclude() {
+ local dir=$1
+ local path=$2
+
+ if [[ -n "${EXCLUSIONS[$dir]}" ]]; then
+ local excluded_paths=(${EXCLUSIONS[$dir]})
+ for excluded in "${excluded_paths[@]}"; do
+ if [[ "$path" == *"$excluded"* ]]; then
+ return 0
+ fi
+ done
+ fi
+ return 1
+ }
+
+ # Function to preserve excluded paths
+ preserve_excluded() {
+ local dir=$1
+ if [[ -n "${EXCLUSIONS[$dir]}" ]]; then
+ local excluded_paths=(${EXCLUSIONS[$dir]})
+ for excluded in "${excluded_paths[@]}"; do
+ local full_path="$dir/$excluded"
+ if [[ -e "$full_path" ]]; then
+ echo "Preserving excluded path: $full_path"
+ local temp_path="temp_excluded/$full_path"
+ mkdir -p "$(dirname "$temp_path")"
+ cp -r "$full_path" "$(dirname "$temp_path")"
+ fi
+ done
+ fi
+ }
+
+ # Function to restore excluded paths
+ restore_excluded() {
+ local dir=$1
+ if [[ -n "${EXCLUSIONS[$dir]}" ]]; then
+ local excluded_paths=(${EXCLUSIONS[$dir]})
+ for excluded in "${excluded_paths[@]}"; do
+ local full_path="$dir/$excluded"
+ local temp_path="temp_excluded/$full_path"
+ if [[ -e "$temp_path" ]]; then
+ echo "Restoring excluded path: $full_path"
+ mkdir -p "$(dirname "$full_path")"
+ rm -rf "$full_path"
+ cp -r "$temp_path" "$(dirname "$full_path")"
+ fi
+ done
+ fi
+ }
+
+ # Create temp directory for exclusions
+ mkdir -p temp_excluded
+
+ # Switch to dev branch
+ git checkout dev
+
+ # Sync directories
+ for dir in "${DIRS[@]}"; do
+ if [ ! -d "$dir" ]; then
+ echo "Creating $dir..."
+ mkdir -p "$dir"
+ fi
+
+ # Preserve excluded paths before sync
+ if [[ -d "$dir" ]]; then
+ preserve_excluded "$dir"
+ fi
+
+ echo "Syncing $dir..."
+ git checkout "${{ env.TEMP_BRANCH }}" -- "$dir" || exit 1
+
+ # Restore excluded paths after sync
+ restore_excluded "$dir"
+ done
+
+ sync_files() {
+ # Sync files
+ for file in "${FILES[@]}"; do
+ local dir=$(dirname "$file")
+ if ! should_exclude "$dir" "$file"; then
+ echo "Syncing $file..."
+ git checkout "${{ env.TEMP_BRANCH }}" -- "$file" || true
+ else
+ echo "Skipping excluded file: $file"
+ fi
+ done
+ }
+
+ # Call the function if needed
+ sync_files
+
+ # Cleanup temp directory
+ rm -rf temp_excluded
+
+ - name: Clean up temporary branch
+ if: always()
+ run: git branch -D "${{ env.TEMP_BRANCH }}" || true
+
+ - name: Check for changes
+ id: check_changes
+ run: |
+ if [[ -n "$(git status --porcelain)" ]]; then
+ echo "has_changes=true" >> $GITHUB_OUTPUT
+ else
+ echo "has_changes=false" >> $GITHUB_OUTPUT
+ fi
+
+ - name: Create Pull Request
+ if: steps.check_changes.outputs.has_changes == 'true'
+ uses: peter-evans/create-pull-request@v7
+ with:
+ token: ${{ secrets.PAT_TOKEN }}
+ commit-message: "chore: Sync directories and files from upstream"
+ title: "chore: Sync directories and files from upstream"
+ body: |
+ Automated sync of directories and files from upstream repository.
+
+ Changes included in this sync:
+
+ Directories:
+ - cmp-android (excluding src/main/res, dependencies, ic_launcher-playstore.png, google-services.json)
+ - cmp-desktop (excluding icons)
+ - cmp-ios (excluding iosApp/Assets.xcassets)
+ - cmp-web (excluding src/jsMain/resources, src/wasmJsMain/resources)
+ - cmp-shared
+ - build-logic
+ - fastlane
+ - scripts
+ - config
+ - .github
+ - .run
+
+ Files:
+ - Gemfile
+ - Gemfile.lock
+ - ci-prepush.bat
+ - ci-prepush.sh
+
+ Workflow run: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
+ branch: sync-dirs-${{ github.run_number }}
+ delete-branch: true
+ labels: |
+ sync
+ automated pr
+ base: dev
\ No newline at end of file
diff --git a/.github/workflows/tag-weekly-release.yml b/.github/workflows/tag-weekly-release.yml
new file mode 100644
index 0000000000..9607410dbc
--- /dev/null
+++ b/.github/workflows/tag-weekly-release.yml
@@ -0,0 +1,115 @@
+# Weekly Release Tagging and Beta Deployment Workflow
+# ===================================================
+
+# Purpose:
+# - Automate weekly version tagging for consistent software versioning
+# - Trigger automated beta releases across multiple platforms
+# - Maintain a predictable release cycle
+
+# Workflow Overview:
+# - Runs automatically every Sunday at 4:00 AM UTC
+# - Supports manual triggering via workflow_dispatch
+# - Utilizes Gradle Reckon plugin for intelligent versioning
+# - Triggers multi-platform build and publish workflow
+
+# Key Features:
+# - Automatic semantic versioning
+# - Cross-platform release automation
+# - Configurable target branch for releases
+# - Full repository history checkout for accurate versioning
+
+# Versioning Strategy:
+# - Uses Reckon Gradle plugin for semantic versioning
+# - Generates production-ready (final) version tags
+# - Provides consistent and predictable version incrementation
+
+# Release Process:
+# 1. Checkout repository with full commit history
+# 2. Setup Java 17 development environment
+# 3. Create and push new version tag
+# 4. Trigger multi-platform build and publish workflow
+
+# Prerequisites:
+# - Gradle project configured with Reckon plugin
+# - Java 17 development environment
+# - Configured multi-platform build workflow
+# - GitHub Actions permissions for workflow dispatch
+
+# Workflow Inputs:
+# - target_branch: Branch to use for releases (default: 'dev')
+# Allows flexible release targeting across different branches
+
+# Security Considerations:
+# - Uses GitHub's native GITHUB_TOKEN for authentication
+# - Controlled workflow dispatch with specific inputs
+# - Limited to authorized repository members
+
+# Potential Use Cases:
+# - Regular software release cycles
+# - Automated beta testing distributions
+# - Consistent multi-platform deployment
+
+# Workflow Triggers:
+# - Scheduled weekly run (Sunday 4:00 AM UTC)
+# - Manual workflow dispatch
+# - Callable from other workflows
+
+# ##############################################################################
+# DON'T EDIT THIS FILE UNLESS NECESSARY #
+# ##############################################################################
+
+name: Tag Weekly Release
+
+on:
+ # Allow manual triggering of the workflow
+ workflow_dispatch:
+ # Schedule the workflow to run weekly
+ schedule:
+ # Runs at 04:00 UTC every Sunday
+ # Cron syntax: minute hour day-of-month month day-of-week
+ - cron: '0 4 * * 0'
+
+concurrency:
+ group: "weekly-release"
+ cancel-in-progress: false
+
+jobs:
+ tag:
+ name: Tag Weekly Release
+ runs-on: ubuntu-latest
+ steps:
+ # Checkout the repository with full history for proper versioning
+ - uses: actions/checkout@v4
+ with:
+ fetch-depth: 0
+
+ # Setup Java environment for Gradle operations
+ - name: Set up JDK 17
+ uses: actions/setup-java@v4.2.2
+ with:
+ distribution: 'temurin'
+ java-version: '17'
+
+ # Create and push a new version tag using Reckon
+ # This uses the 'final' stage for production-ready releases
+ - name: Tag Weekly Release
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ run: ./gradlew :reckonTagPush -Preckon.stage=final
+
+ # Trigger the build and publish workflow for beta release
+ # This starts the process of building and deploying the app to various platforms
+ - name: Trigger Workflow
+ uses: actions/github-script@v7
+ with:
+ script: |
+ github.rest.actions.createWorkflowDispatch({
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ workflow_id: 'multi-platform-build-and-publish.yml',
+ ref: 'dev',
+ inputs: {
+ "release_type": "beta",
+ },
+ })
+
diff --git a/.github/workflows/upload-demo-app-on-firebase.yaml b/.github/workflows/upload-demo-app-on-firebase.yaml
new file mode 100644
index 0000000000..f254a62ee1
--- /dev/null
+++ b/.github/workflows/upload-demo-app-on-firebase.yaml
@@ -0,0 +1,42 @@
+name: Upload Demo App on Firebase KMP
+
+on:
+ workflow_dispatch:
+ inputs:
+ tester_groups:
+ description: 'Comma-separated list of tester groups'
+ required: true
+ default: 'mifos-mobile-testers'
+ type: string
+
+ pull_request:
+ types: [ labeled ]
+ branches:
+ - 'kmp-impl'
+
+concurrency:
+ group: firebase-${{ github.ref }}
+ cancel-in-progress: true
+
+jobs:
+ upload_demo_app_on_firebase:
+ name: Upload Demo App on Firebase
+ runs-on: macos-latest
+ if: github.event.label.name == 'firebase-test-on' || github.event_name == 'workflow_dispatch'
+ steps:
+ - uses: actions/checkout@v4
+ with:
+ fetch-depth: 0
+
+ - name: ☁️ Deploy Android App on Firebase
+ uses: openMF/kmp-android-firebase-publish-action@v1.0.0
+ with:
+ release_type: 'demo'
+ android_package_name: 'cmp-android'
+ keystore_file: ${{ secrets.ORIGINAL_KEYSTORE_FILE }}
+ keystore_password: ${{ secrets.ORIGINAL_KEYSTORE_FILE_PASSWORD }}
+ keystore_alias: ${{ secrets.ORIGINAL_KEYSTORE_ALIAS }}
+ keystore_alias_password: ${{ secrets.ORIGINAL_KEYSTORE_ALIAS_PASSWORD }}
+ google_services: ${{ secrets.GOOGLESERVICES }}
+ firebase_creds: ${{ secrets.FIREBASECREDS }}
+ tester_groups: ${{ inputs.tester_groups }}
\ No newline at end of file
diff --git a/.github/workflows/weekly_release.yaml b/.github/workflows/weekly_release.yaml
deleted file mode 100644
index d314a1313f..0000000000
--- a/.github/workflows/weekly_release.yaml
+++ /dev/null
@@ -1,39 +0,0 @@
-name: Tag Weekly Release
-
-on:
- workflow_dispatch:
- schedule:
- - cron: '0 4 * * 0'
-jobs:
- tag:
- name: Tag Weekly Release
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v4
- with:
- fetch-depth: 0
-
- - name: Set up JDK 17
- uses: actions/setup-java@v4.2.2
- with:
- distribution: 'temurin'
- java-version: '17'
-
- - name: Tag Weekly Release
- env:
- GITHUB_TOKEN: ${{ secrets.TAG_PUSH_TOKEN }}
- run: ./gradlew :reckonTagPush -Preckon.stage=final
-
- - name: Trigger Workflow
- uses: actions/github-script@v7
- with:
- script: |
- github.rest.actions.createWorkflowDispatch({
- owner: context.repo.owner,
- repo: context.repo.repo,
- workflow_id: 'release_to_internal_or_beta.yml',
- ref: 'development',
- inputs: {
- "release_type": "beta",
- },
- })
diff --git a/.run/cmp-desktop.run.xml b/.run/cmp-desktop.run.xml
new file mode 100644
index 0000000000..32bd0b3af3
--- /dev/null
+++ b/.run/cmp-desktop.run.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+ true
+ true
+ false
+ false
+
+
+
\ No newline at end of file
diff --git a/.run/cmp-web-js.run.xml b/.run/cmp-web-js.run.xml
new file mode 100644
index 0000000000..89a8b9653b
--- /dev/null
+++ b/.run/cmp-web-js.run.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+ true
+ false
+ false
+
+
+
\ No newline at end of file
diff --git a/.run/cmp-web-wasm.run.xml b/.run/cmp-web-wasm.run.xml
new file mode 100644
index 0000000000..386b684f3c
--- /dev/null
+++ b/.run/cmp-web-wasm.run.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+ true
+ false
+ false
+
+
+
\ No newline at end of file
diff --git a/androidApp/README.md b/androidApp/README.md
deleted file mode 100644
index 0db5520f80..0000000000
--- a/androidApp/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# :androidApp module
-## Dependency graph
-
diff --git a/androidApp/debug_keystore.jks b/androidApp/debug_keystore.jks
deleted file mode 100644
index 84dfcf4516..0000000000
Binary files a/androidApp/debug_keystore.jks and /dev/null differ
diff --git a/androidApp/dependencies/releaseRuntimeClasspath.tree.txt b/androidApp/dependencies/releaseRuntimeClasspath.tree.txt
deleted file mode 100644
index d37a3da710..0000000000
--- a/androidApp/dependencies/releaseRuntimeClasspath.tree.txt
+++ /dev/null
@@ -1,1679 +0,0 @@
-+--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0
-| +--- org.jetbrains:annotations:13.0 -> 23.0.0
-| +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0 -> 2.1.0 (c)
-| +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0 -> 1.9.10 (c)
-| \--- org.jetbrains.kotlin:kotlin-stdlib-common:2.1.0 (c)
-+--- androidx.compose:compose-bom:2024.12.01
-| +--- androidx.compose.foundation:foundation:1.7.6 (c)
-| +--- androidx.compose.foundation:foundation-layout:1.7.6 (c)
-| +--- androidx.compose.material:material:1.7.6 (c)
-| +--- androidx.compose.material:material-icons-extended:1.7.6 (c)
-| +--- androidx.compose.material3:material3:1.3.1 (c)
-| +--- androidx.compose.runtime:runtime:1.7.6 (c)
-| +--- androidx.compose.ui:ui-tooling-preview:1.7.6 (c)
-| +--- androidx.compose.ui:ui-util:1.7.6 (c)
-| +--- androidx.compose.ui:ui:1.7.6 (c)
-| +--- androidx.compose.runtime:runtime-saveable:1.7.6 (c)
-| +--- androidx.compose.material3:material3-android:1.3.1 (c)
-| +--- androidx.compose.material:material-android:1.7.6 (c)
-| +--- androidx.compose.foundation:foundation-android:1.7.6 (c)
-| +--- androidx.compose.foundation:foundation-layout-android:1.7.6 (c)
-| +--- androidx.compose.material:material-icons-extended-android:1.7.6 (c)
-| +--- androidx.compose.runtime:runtime-android:1.7.6 (c)
-| +--- androidx.compose.ui:ui-tooling-preview-android:1.7.6 (c)
-| +--- androidx.compose.ui:ui-util-android:1.7.6 (c)
-| +--- androidx.compose.animation:animation:1.7.6 (c)
-| +--- androidx.compose.ui:ui-android:1.7.6 (c)
-| +--- androidx.compose.runtime:runtime-saveable-android:1.7.6 (c)
-| +--- androidx.compose.animation:animation-core:1.7.6 (c)
-| +--- androidx.compose.material:material-icons-core:1.7.6 (c)
-| +--- androidx.compose.material:material-ripple:1.7.6 (c)
-| +--- androidx.compose.ui:ui-text:1.7.6 (c)
-| +--- androidx.compose.ui:ui-unit:1.7.6 (c)
-| +--- androidx.compose.animation:animation-android:1.7.6 (c)
-| +--- androidx.compose.animation:animation-core-android:1.7.6 (c)
-| +--- androidx.compose.material:material-ripple-android:1.7.6 (c)
-| +--- androidx.compose.ui:ui-text-android:1.7.6 (c)
-| +--- androidx.compose.material:material-icons-core-android:1.7.6 (c)
-| +--- androidx.compose.ui:ui-unit-android:1.7.6 (c)
-| +--- androidx.compose.ui:ui-geometry:1.7.6 (c)
-| +--- androidx.compose.ui:ui-graphics:1.7.6 (c)
-| +--- androidx.compose.ui:ui-geometry-android:1.7.6 (c)
-| \--- androidx.compose.ui:ui-graphics-android:1.7.6 (c)
-+--- androidx.compose.ui:ui-tooling-preview -> 1.7.6
-| \--- androidx.compose.ui:ui-tooling-preview-android:1.7.6
-| +--- androidx.annotation:annotation:1.2.0 -> 1.8.1
-| | \--- androidx.annotation:annotation-jvm:1.8.1
-| | \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 -> 2.1.0 (*)
-| +--- androidx.compose.runtime:runtime:1.7.6
-| | \--- androidx.compose.runtime:runtime-android:1.7.6
-| | +--- androidx.annotation:annotation-experimental:1.4.1
-| | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 -> 2.1.0 (*)
-| | +--- androidx.collection:collection:1.4.4
-| | | \--- androidx.collection:collection-jvm:1.4.4
-| | | +--- androidx.annotation:annotation:1.8.1 (*)
-| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-| | | +--- androidx.collection:collection-ktx:1.4.4 (c)
-| | | \--- androidx.collection:collection-ktx:1.3.0 -> 1.4.4 (c)
-| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-| | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3 -> 1.10.1
-| | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.1
-| | | | \--- org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.10.1
-| | | | +--- org.jetbrains:annotations:23.0.0
-| | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.10.1
-| | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.10.1 (c)
-| | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.10.1 (c)
-| | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.1 (c)
-| | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-play-services:1.10.1 (c)
-| | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-test:1.10.1 (c)
-| | | | | \--- org.jetbrains.kotlinx:kotlinx-coroutines-test-jvm:1.10.1 (c)
-| | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
-| | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.10.1 (*)
-| | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
-| | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 -> 1.10.1 (*)
-| | \--- androidx.compose.runtime:runtime-saveable:1.7.6 (c)
-| +--- androidx.compose.ui:ui:1.7.6 (c)
-| +--- androidx.compose.ui:ui-text:1.7.6 (c)
-| +--- androidx.compose.ui:ui-unit:1.7.6 (c)
-| +--- androidx.compose.ui:ui-util:1.7.6 (c)
-| +--- androidx.compose.ui:ui-geometry:1.7.6 (c)
-| \--- androidx.compose.ui:ui-graphics:1.7.6 (c)
-+--- com.google.dagger:hilt-android:2.54
-| +--- com.google.dagger:dagger:2.54
-| | +--- jakarta.inject:jakarta.inject-api:2.0.1
-| | +--- javax.inject:javax.inject:1
-| | \--- org.jspecify:jspecify:1.0.0
-| +--- com.google.dagger:dagger-lint-aar:2.54
-| +--- com.google.dagger:hilt-core:2.54
-| | +--- com.google.dagger:dagger:2.54 (*)
-| | +--- com.google.code.findbugs:jsr305:3.0.2
-| | \--- javax.inject:javax.inject:1
-| +--- com.google.code.findbugs:jsr305:3.0.2
-| +--- androidx.activity:activity:1.5.1 -> 1.9.3
-| | +--- androidx.annotation:annotation:1.1.0 -> 1.8.1 (*)
-| | +--- androidx.collection:collection:1.0.0 -> 1.4.4 (*)
-| | +--- androidx.core:core:1.13.0 -> 1.15.0
-| | | +--- androidx.annotation:annotation:1.8.1 (*)
-| | | +--- androidx.annotation:annotation-experimental:1.4.1 (*)
-| | | +--- androidx.collection:collection:1.4.2 -> 1.4.4 (*)
-| | | +--- androidx.concurrent:concurrent-futures:1.0.0 -> 1.1.0
-| | | | +--- androidx.annotation:annotation:1.1.0 -> 1.8.1 (*)
-| | | | \--- com.google.guava:listenablefuture:1.0 -> 9999.0-empty-to-avoid-conflict-with-guava
-| | | +--- androidx.interpolator:interpolator:1.0.0
-| | | | \--- androidx.annotation:annotation:1.0.0 -> 1.8.1 (*)
-| | | +--- androidx.lifecycle:lifecycle-runtime:2.6.2 -> 2.8.7
-| | | | \--- androidx.lifecycle:lifecycle-runtime-android:2.8.7
-| | | | +--- androidx.annotation:annotation:1.8.0 -> 1.8.1 (*)
-| | | | +--- androidx.arch.core:core-common:2.2.0
-| | | | | \--- androidx.annotation:annotation:1.1.0 -> 1.8.1 (*)
-| | | | +--- androidx.arch.core:core-runtime:2.2.0
-| | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.8.1 (*)
-| | | | | \--- androidx.arch.core:core-common:2.2.0 (*)
-| | | | +--- androidx.lifecycle:lifecycle-common:2.8.7
-| | | | | \--- androidx.lifecycle:lifecycle-common-jvm:2.8.7
-| | | | | +--- androidx.annotation:annotation:1.8.1 (*)
-| | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-| | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 -> 1.10.1 (*)
-| | | | | +--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c)
-| | | | | +--- androidx.lifecycle:lifecycle-livedata:2.8.7 (c)
-| | | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (c)
-| | | | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7 (c)
-| | | | | +--- androidx.lifecycle:lifecycle-process:2.8.7 (c)
-| | | | | +--- androidx.lifecycle:lifecycle-runtime:2.8.7 (c)
-| | | | | +--- androidx.lifecycle:lifecycle-runtime-compose:2.8.7 (c)
-| | | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.8.7 (c)
-| | | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.7 (c)
-| | | | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (c)
-| | | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7 (c)
-| | | | | \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c)
-| | | | +--- androidx.profileinstaller:profileinstaller:1.3.1 -> 1.4.1
-| | | | | +--- androidx.annotation:annotation:1.8.1 (*)
-| | | | | +--- androidx.concurrent:concurrent-futures:1.1.0 (*)
-| | | | | +--- androidx.startup:startup-runtime:1.1.1
-| | | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.8.1 (*)
-| | | | | | \--- androidx.tracing:tracing:1.0.0 -> 1.2.0
-| | | | | | +--- androidx.annotation:annotation:1.2.0 -> 1.8.1 (*)
-| | | | | | \--- androidx.tracing:tracing-ktx:1.2.0 (c)
-| | | | | \--- com.google.guava:listenablefuture:1.0 -> 9999.0-empty-to-avoid-conflict-with-guava
-| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-| | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3 -> 1.10.1 (*)
-| | | | +--- androidx.lifecycle:lifecycle-common:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-livedata:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-process:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-runtime-compose:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7 (c)
-| | | | \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c)
-| | | +--- androidx.tracing:tracing:1.2.0 (*)
-| | | +--- androidx.versionedparcelable:versionedparcelable:1.1.1
-| | | | +--- androidx.annotation:annotation:1.1.0 -> 1.8.1 (*)
-| | | | \--- androidx.collection:collection:1.0.0 -> 1.4.4 (*)
-| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-| | | \--- androidx.core:core-ktx:1.15.0 (c)
-| | +--- androidx.lifecycle:lifecycle-runtime:2.6.1 -> 2.8.7 (*)
-| | +--- androidx.lifecycle:lifecycle-viewmodel:2.6.1 -> 2.8.7
-| | | \--- androidx.lifecycle:lifecycle-viewmodel-android:2.8.7
-| | | +--- androidx.annotation:annotation:1.8.0 -> 1.8.1 (*)
-| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-| | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3 -> 1.10.1 (*)
-| | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 -> 1.10.1 (*)
-| | | +--- androidx.lifecycle:lifecycle-common:2.8.7 (c)
-| | | +--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c)
-| | | +--- androidx.lifecycle:lifecycle-livedata:2.8.7 (c)
-| | | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (c)
-| | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7 (c)
-| | | +--- androidx.lifecycle:lifecycle-process:2.8.7 (c)
-| | | +--- androidx.lifecycle:lifecycle-runtime:2.8.7 (c)
-| | | +--- androidx.lifecycle:lifecycle-runtime-compose:2.8.7 (c)
-| | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.8.7 (c)
-| | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (c)
-| | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7 (c)
-| | | \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c)
-| | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.6.1 -> 2.8.7
-| | | +--- androidx.annotation:annotation:1.0.0 -> 1.8.1 (*)
-| | | +--- androidx.core:core-ktx:1.2.0 -> 1.15.0
-| | | | +--- androidx.annotation:annotation:1.8.1 (*)
-| | | | +--- androidx.core:core:1.15.0 (*)
-| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-| | | | \--- androidx.core:core:1.15.0 (c)
-| | | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.7
-| | | | +--- androidx.arch.core:core-common:2.2.0 (*)
-| | | | +--- androidx.arch.core:core-runtime:2.2.0 (*)
-| | | | +--- androidx.lifecycle:lifecycle-common:2.8.7 (*)
-| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-| | | | +--- androidx.lifecycle:lifecycle-common:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-livedata:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-process:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-runtime:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-runtime-compose:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7 (c)
-| | | | \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c)
-| | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.7 (*)
-| | | +--- androidx.savedstate:savedstate:1.2.1
-| | | | +--- androidx.annotation:annotation:1.1.0 -> 1.8.1 (*)
-| | | | +--- androidx.arch.core:core-common:2.1.0 -> 2.2.0 (*)
-| | | | +--- androidx.lifecycle:lifecycle-common:2.6.1 -> 2.8.7 (*)
-| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.10 -> 2.1.0 (*)
-| | | | \--- androidx.savedstate:savedstate-ktx:1.2.1 (c)
-| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-| | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3 -> 1.10.1 (*)
-| | | +--- androidx.lifecycle:lifecycle-common:2.8.7 (c)
-| | | +--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c)
-| | | +--- androidx.lifecycle:lifecycle-livedata:2.8.7 (c)
-| | | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (c)
-| | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7 (c)
-| | | +--- androidx.lifecycle:lifecycle-process:2.8.7 (c)
-| | | +--- androidx.lifecycle:lifecycle-runtime:2.8.7 (c)
-| | | +--- androidx.lifecycle:lifecycle-runtime-compose:2.8.7 (c)
-| | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.8.7 (c)
-| | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.7 (c)
-| | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (c)
-| | | \--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7 (c)
-| | +--- androidx.profileinstaller:profileinstaller:1.3.1 -> 1.4.1 (*)
-| | +--- androidx.savedstate:savedstate:1.2.1 (*)
-| | +--- androidx.tracing:tracing:1.0.0 -> 1.2.0 (*)
-| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-| | +--- androidx.activity:activity-compose:1.9.3 (c)
-| | \--- androidx.activity:activity-ktx:1.9.3 (c)
-| +--- androidx.annotation:annotation:1.3.0 -> 1.8.1 (*)
-| +--- androidx.annotation:annotation-experimental:1.3.1 -> 1.4.1 (*)
-| +--- androidx.fragment:fragment:1.5.1 -> 1.8.3
-| | +--- androidx.activity:activity:1.8.1 -> 1.9.3 (*)
-| | +--- androidx.annotation:annotation:1.1.0 -> 1.8.1 (*)
-| | +--- androidx.annotation:annotation-experimental:1.4.0 -> 1.4.1 (*)
-| | +--- androidx.collection:collection:1.1.0 -> 1.4.4 (*)
-| | +--- androidx.core:core-ktx:1.2.0 -> 1.15.0 (*)
-| | +--- androidx.lifecycle:lifecycle-livedata-core:2.6.1 -> 2.8.7 (*)
-| | +--- androidx.lifecycle:lifecycle-runtime:2.6.1 -> 2.8.7 (*)
-| | +--- androidx.lifecycle:lifecycle-viewmodel:2.6.1 -> 2.8.7 (*)
-| | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.6.1 -> 2.8.7 (*)
-| | +--- androidx.loader:loader:1.0.0
-| | | +--- androidx.annotation:annotation:1.0.0 -> 1.8.1 (*)
-| | | +--- androidx.core:core:1.0.0 -> 1.15.0 (*)
-| | | +--- androidx.lifecycle:lifecycle-livedata:2.0.0 -> 2.8.7
-| | | | +--- androidx.arch.core:core-common:2.2.0 (*)
-| | | | +--- androidx.arch.core:core-runtime:2.2.0 (*)
-| | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (*)
-| | | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7
-| | | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (*)
-| | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-| | | | | +--- androidx.lifecycle:lifecycle-common:2.8.7 (c)
-| | | | | +--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c)
-| | | | | +--- androidx.lifecycle:lifecycle-livedata:2.8.7 (c)
-| | | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (c)
-| | | | | +--- androidx.lifecycle:lifecycle-process:2.8.7 (c)
-| | | | | +--- androidx.lifecycle:lifecycle-runtime:2.8.7 (c)
-| | | | | +--- androidx.lifecycle:lifecycle-runtime-compose:2.8.7 (c)
-| | | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.8.7 (c)
-| | | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.7 (c)
-| | | | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (c)
-| | | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7 (c)
-| | | | | \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c)
-| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-| | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 -> 1.10.1 (*)
-| | | | +--- androidx.lifecycle:lifecycle-common:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-process:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-runtime:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-runtime-compose:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7 (c)
-| | | | \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c)
-| | | \--- androidx.lifecycle:lifecycle-viewmodel:2.0.0 -> 2.8.7 (*)
-| | +--- androidx.profileinstaller:profileinstaller:1.3.1 -> 1.4.1 (*)
-| | +--- androidx.savedstate:savedstate:1.2.1 (*)
-| | +--- androidx.viewpager:viewpager:1.0.0
-| | | +--- androidx.annotation:annotation:1.0.0 -> 1.8.1 (*)
-| | | +--- androidx.core:core:1.0.0 -> 1.15.0 (*)
-| | | \--- androidx.customview:customview:1.0.0
-| | | +--- androidx.annotation:annotation:1.0.0 -> 1.8.1 (*)
-| | | \--- androidx.core:core:1.0.0 -> 1.15.0 (*)
-| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-| | \--- androidx.fragment:fragment-ktx:1.8.3 (c)
-| +--- androidx.lifecycle:lifecycle-common:2.5.1 -> 2.8.7 (*)
-| +--- androidx.lifecycle:lifecycle-viewmodel:2.5.1 -> 2.8.7 (*)
-| +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.5.1 -> 2.8.7 (*)
-| +--- androidx.savedstate:savedstate:1.2.0 -> 1.2.1 (*)
-| +--- javax.inject:javax.inject:1
-| \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.21 -> 2.1.0 (*)
-+--- com.google.firebase:firebase-bom:33.7.0
-| +--- com.google.firebase:firebase-perf-ktx:21.0.3 (c)
-| +--- com.google.firebase:firebase-crashlytics-ktx:19.3.0 (c)
-| +--- com.google.firebase:firebase-analytics-ktx:22.1.2 (c)
-| +--- com.google.firebase:firebase-messaging-ktx:24.1.0 (c)
-| +--- com.google.firebase:firebase-perf:21.0.3 (c)
-| +--- com.google.firebase:firebase-common:21.0.0 (c)
-| +--- com.google.firebase:firebase-common-ktx:21.0.0 (c)
-| +--- com.google.firebase:firebase-crashlytics:19.3.0 (c)
-| +--- com.google.firebase:firebase-analytics:22.1.2 (c)
-| +--- com.google.firebase:firebase-messaging:24.1.0 (c)
-| +--- com.google.firebase:firebase-config:22.0.1 (c)
-| +--- com.google.firebase:firebase-installations:18.0.0 (c)
-| \--- com.google.firebase:firebase-encoders:17.0.0 (c)
-+--- com.google.firebase:firebase-analytics-ktx -> 22.1.2
-| +--- com.google.firebase:firebase-analytics:22.1.2
-| | +--- com.google.android.gms:play-services-measurement:22.1.2
-| | | +--- androidx.collection:collection:1.0.0 -> 1.4.4 (*)
-| | | +--- androidx.legacy:legacy-support-core-utils:1.0.0
-| | | | +--- androidx.annotation:annotation:1.0.0 -> 1.8.1 (*)
-| | | | +--- androidx.core:core:1.0.0 -> 1.15.0 (*)
-| | | | +--- androidx.documentfile:documentfile:1.0.0
-| | | | | \--- androidx.annotation:annotation:1.0.0 -> 1.8.1 (*)
-| | | | +--- androidx.loader:loader:1.0.0 (*)
-| | | | +--- androidx.localbroadcastmanager:localbroadcastmanager:1.0.0
-| | | | | \--- androidx.annotation:annotation:1.0.0 -> 1.8.1 (*)
-| | | | \--- androidx.print:print:1.0.0
-| | | | \--- androidx.annotation:annotation:1.0.0 -> 1.8.1 (*)
-| | | +--- com.google.android.gms:play-services-ads-identifier:18.0.0
-| | | | \--- com.google.android.gms:play-services-basement:18.0.0 -> 18.4.0
-| | | | +--- androidx.collection:collection:1.0.0 -> 1.4.4 (*)
-| | | | +--- androidx.core:core:1.2.0 -> 1.15.0 (*)
-| | | | \--- androidx.fragment:fragment:1.1.0 -> 1.8.3 (*)
-| | | +--- com.google.android.gms:play-services-basement:18.4.0 (*)
-| | | +--- com.google.android.gms:play-services-measurement-base:22.1.2
-| | | | \--- com.google.android.gms:play-services-basement:18.4.0 (*)
-| | | +--- com.google.android.gms:play-services-measurement-impl:22.1.2
-| | | | +--- androidx.collection:collection:1.0.0 -> 1.4.4 (*)
-| | | | +--- androidx.core:core:1.9.0 -> 1.15.0 (*)
-| | | | +--- androidx.privacysandbox.ads:ads-adservices:1.0.0-beta05
-| | | | | +--- androidx.annotation:annotation:1.6.0 -> 1.8.1 (*)
-| | | | | +--- androidx.core:core-ktx:1.8.0 -> 1.15.0 (*)
-| | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.21 -> 2.1.0 (*)
-| | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1 -> 1.10.1 (*)
-| | | | | \--- androidx.privacysandbox.ads:ads-adservices-java:1.0.0-beta05 (c)
-| | | | +--- androidx.privacysandbox.ads:ads-adservices-java:1.0.0-beta05
-| | | | | +--- androidx.annotation:annotation:1.2.0 -> 1.8.1 (*)
-| | | | | +--- androidx.concurrent:concurrent-futures:1.1.0 (*)
-| | | | | +--- androidx.core:core-ktx:1.8.0 -> 1.15.0 (*)
-| | | | | +--- androidx.privacysandbox.ads:ads-adservices:1.0.0-beta05 (*)
-| | | | | +--- com.google.guava:guava:31.1-android
-| | | | | | +--- com.google.guava:failureaccess:1.0.1
-| | | | | | +--- com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
-| | | | | | +--- com.google.code.findbugs:jsr305:3.0.2
-| | | | | | +--- org.checkerframework:checker-qual:3.12.0
-| | | | | | +--- com.google.errorprone:error_prone_annotations:2.11.0 -> 2.26.0
-| | | | | | \--- com.google.j2objc:j2objc-annotations:1.3
-| | | | | +--- com.google.guava:listenablefuture:1.0 -> 9999.0-empty-to-avoid-conflict-with-guava
-| | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.21 -> 2.1.0 (*)
-| | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1 -> 1.10.1 (*)
-| | | | | \--- androidx.privacysandbox.ads:ads-adservices:1.0.0-beta05 (c)
-| | | | +--- com.google.android.gms:play-services-ads-identifier:18.0.0 (*)
-| | | | +--- com.google.android.gms:play-services-base:18.5.0
-| | | | | +--- androidx.collection:collection:1.0.0 -> 1.4.4 (*)
-| | | | | +--- androidx.core:core:1.2.0 -> 1.15.0 (*)
-| | | | | +--- androidx.fragment:fragment:1.0.0 -> 1.8.3 (*)
-| | | | | +--- com.google.android.gms:play-services-basement:18.4.0 (*)
-| | | | | \--- com.google.android.gms:play-services-tasks:18.2.0
-| | | | | \--- com.google.android.gms:play-services-basement:18.4.0 (*)
-| | | | +--- com.google.android.gms:play-services-basement:18.4.0 (*)
-| | | | +--- com.google.android.gms:play-services-measurement-base:22.1.2 (*)
-| | | | +--- com.google.android.gms:play-services-stats:17.0.2
-| | | | | +--- androidx.legacy:legacy-support-core-utils:1.0.0 (*)
-| | | | | \--- com.google.android.gms:play-services-basement:18.0.0 -> 18.4.0 (*)
-| | | | +--- com.google.android.gms:play-services-tasks:18.2.0 (*)
-| | | | \--- com.google.guava:guava:31.1-android (*)
-| | | \--- com.google.android.gms:play-services-stats:17.0.2 (*)
-| | +--- com.google.android.gms:play-services-measurement-api:22.1.2
-| | | +--- com.google.android.gms:play-services-ads-identifier:18.0.0 (*)
-| | | +--- com.google.android.gms:play-services-basement:18.4.0 (*)
-| | | +--- com.google.android.gms:play-services-measurement-base:22.1.2 (*)
-| | | +--- com.google.android.gms:play-services-measurement-sdk-api:22.1.2
-| | | | +--- com.google.android.gms:play-services-basement:18.4.0 (*)
-| | | | \--- com.google.android.gms:play-services-measurement-base:22.1.2 (*)
-| | | +--- com.google.android.gms:play-services-tasks:18.2.0 (*)
-| | | +--- com.google.firebase:firebase-common:21.0.0
-| | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-play-services:1.6.4 -> 1.10.1
-| | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.1 (*)
-| | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.10.1 (*)
-| | | | | +--- com.google.android.gms:play-services-tasks:16.0.1 -> 18.2.0 (*)
-| | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
-| | | | +--- com.google.firebase:firebase-components:18.0.0
-| | | | | +--- com.google.firebase:firebase-annotations:16.2.0
-| | | | | | \--- javax.inject:javax.inject:1
-| | | | | +--- androidx.annotation:annotation:1.5.0 -> 1.8.1 (*)
-| | | | | \--- com.google.errorprone:error_prone_annotations:2.26.0
-| | | | +--- com.google.firebase:firebase-annotations:16.2.0 (*)
-| | | | +--- androidx.annotation:annotation:1.5.0 -> 1.8.1 (*)
-| | | | +--- androidx.concurrent:concurrent-futures:1.1.0 (*)
-| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-| | | | +--- com.google.android.gms:play-services-basement:18.3.0 -> 18.4.0 (*)
-| | | | \--- com.google.android.gms:play-services-tasks:18.1.0 -> 18.2.0 (*)
-| | | +--- com.google.firebase:firebase-common-ktx:21.0.0
-| | | | +--- com.google.firebase:firebase-common:21.0.0 (*)
-| | | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22 -> 1.9.10
-| | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.9.10 -> 2.1.0 (*)
-| | | | | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.10 -> 2.1.0
-| | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
-| | | | +--- com.google.firebase:firebase-components:18.0.0 (*)
-| | | | \--- com.google.firebase:firebase-annotations:16.2.0 (*)
-| | | +--- com.google.firebase:firebase-components:18.0.0 (*)
-| | | +--- com.google.firebase:firebase-installations:17.0.1 -> 18.0.0
-| | | | +--- com.google.android.gms:play-services-tasks:18.0.1 -> 18.2.0 (*)
-| | | | +--- com.google.firebase:firebase-annotations:16.2.0 (*)
-| | | | +--- com.google.firebase:firebase-common:21.0.0 (*)
-| | | | +--- com.google.firebase:firebase-common-ktx:21.0.0 (*)
-| | | | +--- com.google.firebase:firebase-components:18.0.0 (*)
-| | | | +--- com.google.firebase:firebase-installations-interop:17.1.1 -> 17.2.0
-| | | | | +--- com.google.android.gms:play-services-tasks:18.0.1 -> 18.2.0 (*)
-| | | | | \--- com.google.firebase:firebase-annotations:16.2.0 (*)
-| | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-| | | +--- com.google.firebase:firebase-installations-interop:17.0.0 -> 17.2.0 (*)
-| | | +--- com.google.firebase:firebase-measurement-connector:19.0.0 -> 20.0.1
-| | | | +--- com.google.android.gms:play-services-basement:18.0.0 -> 18.4.0 (*)
-| | | | \--- com.google.firebase:firebase-annotations:16.0.0 -> 16.2.0 (*)
-| | | +--- com.google.guava:guava:31.1-android (*)
-| | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 -> 2.1.0 (*)
-| | \--- com.google.android.gms:play-services-measurement-sdk:22.1.2
-| | +--- androidx.collection:collection:1.0.0 -> 1.4.4 (*)
-| | +--- com.google.android.gms:play-services-basement:18.4.0 (*)
-| | +--- com.google.android.gms:play-services-measurement-base:22.1.2 (*)
-| | \--- com.google.android.gms:play-services-measurement-impl:22.1.2 (*)
-| +--- com.google.firebase:firebase-common:21.0.0 (*)
-| +--- com.google.firebase:firebase-common-ktx:21.0.0 (*)
-| +--- com.google.firebase:firebase-components:18.0.0 (*)
-| \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 -> 2.1.0 (*)
-+--- com.google.firebase:firebase-perf-ktx -> 21.0.3
-| +--- com.google.firebase:firebase-perf:21.0.3
-| | +--- com.google.firebase:firebase-annotations:16.2.0 (*)
-| | +--- com.google.firebase:firebase-installations-interop:17.1.0 -> 17.2.0 (*)
-| | +--- com.google.firebase:protolite-well-known-types:18.0.0
-| | | \--- com.google.protobuf:protobuf-javalite:3.14.0 -> 3.25.5
-| | +--- com.google.firebase:firebase-common:21.0.0 (*)
-| | +--- com.google.firebase:firebase-common-ktx:21.0.0 (*)
-| | +--- com.google.firebase:firebase-components:18.0.0 (*)
-| | +--- com.google.firebase:firebase-config:21.5.0 -> 22.0.1
-| | | +--- com.google.firebase:firebase-config-interop:16.0.1
-| | | | +--- com.google.firebase:firebase-encoders-json:18.0.1
-| | | | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10 -> 1.9.10 (*)
-| | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.8.1 (*)
-| | | | | \--- com.google.firebase:firebase-encoders:17.0.0
-| | | | | \--- androidx.annotation:annotation:1.1.0 -> 1.8.1 (*)
-| | | | \--- com.google.firebase:firebase-encoders:17.0.0 (*)
-| | | +--- com.google.firebase:firebase-annotations:16.2.0 (*)
-| | | +--- com.google.firebase:firebase-installations-interop:17.1.0 -> 17.2.0 (*)
-| | | +--- com.google.firebase:firebase-abt:21.1.1
-| | | | +--- com.google.firebase:firebase-measurement-connector:18.0.0 -> 20.0.1 (*)
-| | | | \--- com.google.android.gms:play-services-basement:18.1.0 -> 18.4.0 (*)
-| | | +--- com.google.firebase:firebase-measurement-connector:18.0.0 -> 20.0.1 (*)
-| | | +--- com.google.firebase:firebase-common:21.0.0 (*)
-| | | +--- com.google.firebase:firebase-common-ktx:21.0.0 (*)
-| | | +--- com.google.firebase:firebase-components:18.0.0 (*)
-| | | +--- com.google.firebase:firebase-installations:17.2.0 -> 18.0.0 (*)
-| | | +--- com.google.android.gms:play-services-tasks:18.0.1 -> 18.2.0 (*)
-| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-| | | \--- androidx.annotation:annotation:1.1.0 -> 1.8.1 (*)
-| | +--- com.google.firebase:firebase-installations:17.2.0 -> 18.0.0 (*)
-| | +--- com.google.firebase:firebase-sessions:2.0.7
-| | | +--- com.google.firebase:firebase-common:21.0.0 (*)
-| | | +--- com.google.firebase:firebase-common-ktx:21.0.0 (*)
-| | | +--- com.google.firebase:firebase-components:18.0.0 (*)
-| | | +--- com.google.firebase:firebase-installations-interop:17.2.0 (*)
-| | | +--- com.google.firebase:firebase-annotations:16.2.0 (*)
-| | | +--- com.google.firebase:firebase-encoders:17.0.0 (*)
-| | | +--- com.google.firebase:firebase-encoders-json:18.0.1 (*)
-| | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22 -> 1.9.10 (*)
-| | | +--- com.google.firebase:firebase-installations:18.0.0 (*)
-| | | +--- com.google.firebase:firebase-datatransport:19.0.0
-| | | | +--- androidx.annotation:annotation:1.1.0 -> 1.8.1 (*)
-| | | | +--- com.google.android.datatransport:transport-api:3.1.0 -> 3.2.0
-| | | | | \--- androidx.annotation:annotation:1.1.0 -> 1.8.1 (*)
-| | | | +--- com.google.android.datatransport:transport-backend-cct:3.2.0 -> 3.3.0
-| | | | | +--- com.google.android.datatransport:transport-api:3.2.0 (*)
-| | | | | +--- com.google.android.datatransport:transport-runtime:3.3.0
-| | | | | | +--- com.google.android.datatransport:transport-api:3.2.0 (*)
-| | | | | | +--- androidx.annotation:annotation:1.3.0 -> 1.8.1 (*)
-| | | | | | +--- javax.inject:javax.inject:1
-| | | | | | +--- com.google.firebase:firebase-encoders:17.0.0 (*)
-| | | | | | \--- com.google.firebase:firebase-encoders-proto:16.0.0
-| | | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.8.1 (*)
-| | | | | | \--- com.google.firebase:firebase-encoders:17.0.0 (*)
-| | | | | +--- com.google.firebase:firebase-encoders:17.0.0 (*)
-| | | | | +--- com.google.firebase:firebase-encoders-json:18.0.0 -> 18.0.1 (*)
-| | | | | \--- androidx.annotation:annotation:1.1.0 -> 1.8.1 (*)
-| | | | +--- com.google.android.datatransport:transport-runtime:3.2.0 -> 3.3.0 (*)
-| | | | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22 -> 1.9.10 (*)
-| | | +--- androidx.datastore:datastore-preferences:1.0.0
-| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.5.10 -> 2.1.0 (*)
-| | | | +--- androidx.datastore:datastore:1.0.0
-| | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.5.10 -> 2.1.0 (*)
-| | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.0 -> 1.10.1 (*)
-| | | | | +--- androidx.annotation:annotation:1.2.0 -> 1.8.1 (*)
-| | | | | \--- androidx.datastore:datastore-core:1.0.0
-| | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.5.10 -> 2.1.0 (*)
-| | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.0 -> 1.10.1 (*)
-| | | | | \--- androidx.annotation:annotation:1.1.0 -> 1.8.1 (*)
-| | | | \--- androidx.datastore:datastore-preferences-core:1.0.0
-| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.5.10 -> 2.1.0 (*)
-| | | | \--- androidx.datastore:datastore-core:1.0.0 (*)
-| | | +--- com.google.android.datatransport:transport-api:3.2.0 (*)
-| | | \--- androidx.annotation:annotation:1.5.0 -> 1.8.1 (*)
-| | +--- com.google.firebase:firebase-datatransport:18.1.8 -> 19.0.0 (*)
-| | +--- androidx.annotation:annotation:1.5.0 -> 1.8.1 (*)
-| | +--- androidx.lifecycle:lifecycle-process:2.3.1 -> 2.8.7
-| | | +--- androidx.annotation:annotation:1.2.0 -> 1.8.1 (*)
-| | | +--- androidx.lifecycle:lifecycle-runtime:2.8.7 (*)
-| | | +--- androidx.startup:startup-runtime:1.1.1 (*)
-| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-| | | +--- androidx.lifecycle:lifecycle-common:2.8.7 (c)
-| | | +--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c)
-| | | +--- androidx.lifecycle:lifecycle-livedata:2.8.7 (c)
-| | | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (c)
-| | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7 (c)
-| | | +--- androidx.lifecycle:lifecycle-runtime:2.8.7 (c)
-| | | +--- androidx.lifecycle:lifecycle-runtime-compose:2.8.7 (c)
-| | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.8.7 (c)
-| | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.7 (c)
-| | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (c)
-| | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7 (c)
-| | | \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c)
-| | +--- com.google.android.gms:play-services-tasks:18.1.0 -> 18.2.0 (*)
-| | +--- com.google.protobuf:protobuf-javalite:3.25.5
-| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-| | +--- androidx.appcompat:appcompat:1.2.0 -> 1.7.0
-| | | +--- androidx.activity:activity:1.7.0 -> 1.9.3 (*)
-| | | +--- androidx.annotation:annotation:1.3.0 -> 1.8.1 (*)
-| | | +--- androidx.appcompat:appcompat-resources:1.7.0
-| | | | +--- androidx.annotation:annotation:1.2.0 -> 1.8.1 (*)
-| | | | +--- androidx.collection:collection:1.0.0 -> 1.4.4 (*)
-| | | | +--- androidx.core:core:1.6.0 -> 1.15.0 (*)
-| | | | +--- androidx.vectordrawable:vectordrawable:1.1.0
-| | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.8.1 (*)
-| | | | | +--- androidx.core:core:1.1.0 -> 1.15.0 (*)
-| | | | | \--- androidx.collection:collection:1.1.0 -> 1.4.4 (*)
-| | | | +--- androidx.vectordrawable:vectordrawable-animated:1.1.0
-| | | | | +--- androidx.vectordrawable:vectordrawable:1.1.0 (*)
-| | | | | +--- androidx.interpolator:interpolator:1.0.0 (*)
-| | | | | \--- androidx.collection:collection:1.1.0 -> 1.4.4 (*)
-| | | | \--- androidx.appcompat:appcompat:1.7.0 (c)
-| | | +--- androidx.collection:collection:1.0.0 -> 1.4.4 (*)
-| | | +--- androidx.core:core:1.13.0 -> 1.15.0 (*)
-| | | +--- androidx.core:core-ktx:1.13.0 -> 1.15.0 (*)
-| | | +--- androidx.cursoradapter:cursoradapter:1.0.0
-| | | | \--- androidx.annotation:annotation:1.0.0 -> 1.8.1 (*)
-| | | +--- androidx.drawerlayout:drawerlayout:1.0.0
-| | | | +--- androidx.annotation:annotation:1.0.0 -> 1.8.1 (*)
-| | | | +--- androidx.core:core:1.0.0 -> 1.15.0 (*)
-| | | | \--- androidx.customview:customview:1.0.0 (*)
-| | | +--- androidx.emoji2:emoji2:1.3.0
-| | | | +--- androidx.annotation:annotation:1.2.0 -> 1.8.1 (*)
-| | | | +--- androidx.collection:collection:1.1.0 -> 1.4.4 (*)
-| | | | +--- androidx.core:core:1.3.0 -> 1.15.0 (*)
-| | | | +--- androidx.lifecycle:lifecycle-process:2.4.1 -> 2.8.7 (*)
-| | | | +--- androidx.startup:startup-runtime:1.0.0 -> 1.1.1 (*)
-| | | | \--- androidx.emoji2:emoji2-views-helper:1.3.0 (c)
-| | | +--- androidx.emoji2:emoji2-views-helper:1.2.0 -> 1.3.0
-| | | | +--- androidx.collection:collection:1.1.0 -> 1.4.4 (*)
-| | | | +--- androidx.core:core:1.3.0 -> 1.15.0 (*)
-| | | | +--- androidx.emoji2:emoji2:1.3.0 (*)
-| | | | \--- androidx.emoji2:emoji2:1.3.0 (c)
-| | | +--- androidx.fragment:fragment:1.5.4 -> 1.8.3 (*)
-| | | +--- androidx.lifecycle:lifecycle-runtime:2.6.1 -> 2.8.7 (*)
-| | | +--- androidx.lifecycle:lifecycle-viewmodel:2.6.1 -> 2.8.7 (*)
-| | | +--- androidx.profileinstaller:profileinstaller:1.3.1 -> 1.4.1 (*)
-| | | +--- androidx.resourceinspection:resourceinspection-annotation:1.0.1
-| | | | \--- androidx.annotation:annotation:1.1.0 -> 1.8.1 (*)
-| | | +--- androidx.savedstate:savedstate:1.2.1 (*)
-| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-| | | \--- androidx.appcompat:appcompat-resources:1.7.0 (c)
-| | +--- com.google.android.datatransport:transport-api:3.0.0 -> 3.2.0 (*)
-| | +--- com.google.dagger:dagger:2.43.2 -> 2.54 (*)
-| | \--- com.squareup.okhttp3:okhttp:3.12.13 -> 4.12.0
-| | +--- com.squareup.okio:okio:3.6.0
-| | | \--- com.squareup.okio:okio-jvm:3.6.0
-| | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.10 (*)
-| | | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.9.10 -> 2.1.0
-| | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
-| | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.21 -> 1.9.10 (*)
-| +--- com.google.firebase:firebase-common:21.0.0 (*)
-| +--- com.google.firebase:firebase-common-ktx:21.0.0 (*)
-| +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22 -> 1.9.10 (*)
-| \--- com.google.firebase:firebase-components:18.0.0 (*)
-+--- com.google.firebase:firebase-crashlytics-ktx -> 19.3.0
-| +--- com.google.firebase:firebase-crashlytics:19.3.0
-| | +--- com.google.firebase:firebase-sessions:2.0.7 (*)
-| | +--- com.google.android.gms:play-services-tasks:18.1.0 -> 18.2.0 (*)
-| | +--- com.google.firebase:firebase-annotations:16.2.0 (*)
-| | +--- com.google.firebase:firebase-common:21.0.0 (*)
-| | +--- com.google.firebase:firebase-common-ktx:21.0.0 (*)
-| | +--- com.google.firebase:firebase-components:18.0.0 (*)
-| | +--- com.google.firebase:firebase-config-interop:16.0.1 (*)
-| | +--- com.google.firebase:firebase-encoders:17.0.0 (*)
-| | +--- com.google.firebase:firebase-encoders-json:18.0.1 (*)
-| | +--- com.google.firebase:firebase-installations:18.0.0 (*)
-| | +--- com.google.firebase:firebase-installations-interop:17.2.0 (*)
-| | +--- com.google.firebase:firebase-measurement-connector:20.0.1 (*)
-| | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22 -> 1.9.10 (*)
-| | +--- com.google.android.datatransport:transport-api:3.2.0 (*)
-| | +--- com.google.android.datatransport:transport-backend-cct:3.3.0 (*)
-| | +--- com.google.android.datatransport:transport-runtime:3.3.0 (*)
-| | \--- androidx.annotation:annotation:1.5.0 -> 1.8.1 (*)
-| +--- com.google.firebase:firebase-common:21.0.0 (*)
-| +--- com.google.firebase:firebase-common-ktx:21.0.0 (*)
-| +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22 -> 1.9.10 (*)
-| \--- com.google.firebase:firebase-components:18.0.0 (*)
-+--- com.google.firebase:firebase-messaging-ktx -> 24.1.0
-| +--- com.google.firebase:firebase-messaging:24.1.0
-| | +--- com.google.firebase:firebase-common:21.0.0 (*)
-| | +--- com.google.firebase:firebase-common-ktx:21.0.0 (*)
-| | +--- com.google.firebase:firebase-components:18.0.0 (*)
-| | +--- com.google.firebase:firebase-datatransport:18.2.0 -> 19.0.0 (*)
-| | +--- com.google.firebase:firebase-encoders:17.0.0 (*)
-| | +--- com.google.firebase:firebase-encoders-json:18.0.0 -> 18.0.1 (*)
-| | +--- com.google.firebase:firebase-encoders-proto:16.0.0 (*)
-| | +--- com.google.firebase:firebase-iid-interop:17.1.0
-| | | +--- com.google.android.gms:play-services-basement:17.0.0 -> 18.4.0 (*)
-| | | \--- com.google.android.gms:play-services-tasks:17.0.0 -> 18.2.0 (*)
-| | +--- com.google.firebase:firebase-installations:17.2.0 -> 18.0.0 (*)
-| | +--- com.google.firebase:firebase-installations-interop:17.1.0 -> 17.2.0 (*)
-| | +--- com.google.firebase:firebase-measurement-connector:19.0.0 -> 20.0.1 (*)
-| | +--- androidx.annotation:annotation:1.2.0 -> 1.8.1 (*)
-| | +--- com.google.android.datatransport:transport-api:3.1.0 -> 3.2.0 (*)
-| | +--- com.google.android.datatransport:transport-backend-cct:3.1.8 -> 3.3.0 (*)
-| | +--- com.google.android.datatransport:transport-runtime:3.1.8 -> 3.3.0 (*)
-| | +--- com.google.android.gms:play-services-base:18.0.1 -> 18.5.0 (*)
-| | +--- com.google.android.gms:play-services-basement:18.1.0 -> 18.4.0 (*)
-| | +--- com.google.android.gms:play-services-cloud-messaging:17.2.0
-| | | +--- com.google.android.gms:play-services-basement:18.3.0 -> 18.4.0 (*)
-| | | \--- com.google.android.gms:play-services-tasks:18.1.0 -> 18.2.0 (*)
-| | +--- com.google.android.gms:play-services-stats:17.0.2 (*)
-| | +--- com.google.android.gms:play-services-tasks:18.0.1 -> 18.2.0 (*)
-| | +--- com.google.errorprone:error_prone_annotations:2.9.0 -> 2.26.0
-| | \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-| +--- com.google.firebase:firebase-common:21.0.0 (*)
-| +--- com.google.firebase:firebase-common-ktx:21.0.0 (*)
-| +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22 -> 1.9.10 (*)
-| \--- com.google.firebase:firebase-components:18.0.0 (*)
-+--- project :shared
-| +--- org.jetbrains.compose.ui:ui-tooling-preview:1.6.11
-| | \--- androidx.compose.ui:ui-tooling-preview:1.6.7 -> 1.7.6 (*)
-| +--- androidx.activity:activity-compose:1.9.3
-| | +--- androidx.activity:activity-ktx:1.9.3
-| | | +--- androidx.activity:activity:1.9.3 (*)
-| | | +--- androidx.core:core-ktx:1.13.0 -> 1.15.0 (*)
-| | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.6.1 -> 2.8.7
-| | | | \--- androidx.lifecycle:lifecycle-runtime-ktx-android:2.8.7
-| | | | +--- androidx.annotation:annotation:1.8.0 -> 1.8.1 (*)
-| | | | +--- androidx.lifecycle:lifecycle-runtime:2.8.7 (*)
-| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-| | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3 -> 1.10.1 (*)
-| | | | +--- androidx.lifecycle:lifecycle-common:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-livedata:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-process:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-runtime:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-runtime-compose:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7 (c)
-| | | | \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c)
-| | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.1 -> 2.8.7
-| | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.7 (*)
-| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-| | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3 -> 1.10.1 (*)
-| | | | +--- androidx.lifecycle:lifecycle-common:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-livedata:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-process:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-runtime:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-runtime-compose:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (c)
-| | | | \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c)
-| | | +--- androidx.savedstate:savedstate-ktx:1.2.1
-| | | | +--- androidx.savedstate:savedstate:1.2.1 (*)
-| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.10 -> 2.1.0 (*)
-| | | | \--- androidx.savedstate:savedstate:1.2.1 (c)
-| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-| | | +--- androidx.activity:activity:1.9.3 (c)
-| | | \--- androidx.activity:activity-compose:1.9.3 (c)
-| | +--- androidx.compose.runtime:runtime:1.0.1 -> 1.7.6 (*)
-| | +--- androidx.compose.runtime:runtime-saveable:1.0.1 -> 1.7.6
-| | | \--- androidx.compose.runtime:runtime-saveable-android:1.7.6
-| | | +--- androidx.annotation:annotation:1.1.0 -> 1.8.1 (*)
-| | | +--- androidx.collection:collection:1.4.0 -> 1.4.4 (*)
-| | | +--- androidx.compose.runtime:runtime:1.7.6 (*)
-| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-| | | \--- androidx.compose.runtime:runtime:1.7.6 (c)
-| | +--- androidx.compose.ui:ui:1.0.1 -> 1.7.6
-| | | \--- androidx.compose.ui:ui-android:1.7.6
-| | | +--- androidx.activity:activity-ktx:1.7.0 -> 1.9.3 (*)
-| | | +--- androidx.annotation:annotation:1.8.0 -> 1.8.1 (*)
-| | | +--- androidx.annotation:annotation-experimental:1.4.0 -> 1.4.1 (*)
-| | | +--- androidx.autofill:autofill:1.0.0
-| | | | \--- androidx.core:core:1.1.0 -> 1.15.0 (*)
-| | | +--- androidx.collection:collection:1.0.0 -> 1.4.4 (*)
-| | | +--- androidx.collection:collection:1.4.0 -> 1.4.4 (*)
-| | | +--- androidx.compose.runtime:runtime:1.7.6 (*)
-| | | +--- androidx.compose.runtime:runtime-saveable:1.7.6 (*)
-| | | +--- androidx.compose.ui:ui-geometry:1.7.6
-| | | | \--- androidx.compose.ui:ui-geometry-android:1.7.6
-| | | | +--- androidx.annotation:annotation:1.1.0 -> 1.8.1 (*)
-| | | | +--- androidx.compose.runtime:runtime:1.7.6 (*)
-| | | | +--- androidx.compose.ui:ui-util:1.7.6
-| | | | | \--- androidx.compose.ui:ui-util-android:1.7.6
-| | | | | +--- androidx.annotation:annotation-experimental:1.4.0 -> 1.4.1 (*)
-| | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-| | | | | +--- androidx.compose.ui:ui:1.7.6 (c)
-| | | | | +--- androidx.compose.ui:ui-text:1.7.6 (c)
-| | | | | +--- androidx.compose.ui:ui-tooling-preview:1.7.6 (c)
-| | | | | +--- androidx.compose.ui:ui-unit:1.7.6 (c)
-| | | | | +--- androidx.compose.ui:ui-geometry:1.7.6 (c)
-| | | | | \--- androidx.compose.ui:ui-graphics:1.7.6 (c)
-| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-| | | | +--- androidx.compose.ui:ui:1.7.6 (c)
-| | | | +--- androidx.compose.ui:ui-graphics:1.7.6 (c)
-| | | | +--- androidx.compose.ui:ui-text:1.7.6 (c)
-| | | | +--- androidx.compose.ui:ui-tooling-preview:1.7.6 (c)
-| | | | +--- androidx.compose.ui:ui-unit:1.7.6 (c)
-| | | | \--- androidx.compose.ui:ui-util:1.7.6 (c)
-| | | +--- androidx.compose.ui:ui-graphics:1.7.6
-| | | | \--- androidx.compose.ui:ui-graphics-android:1.7.6
-| | | | +--- androidx.annotation:annotation:1.7.0 -> 1.8.1 (*)
-| | | | +--- androidx.annotation:annotation-experimental:1.4.0 -> 1.4.1 (*)
-| | | | +--- androidx.collection:collection:1.4.0 -> 1.4.4 (*)
-| | | | +--- androidx.compose.runtime:runtime:1.7.6 (*)
-| | | | +--- androidx.compose.ui:ui-unit:1.7.6
-| | | | | \--- androidx.compose.ui:ui-unit-android:1.7.6
-| | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.8.1 (*)
-| | | | | +--- androidx.annotation:annotation:1.8.0 -> 1.8.1 (*)
-| | | | | +--- androidx.annotation:annotation-experimental:1.4.0 -> 1.4.1 (*)
-| | | | | +--- androidx.collection:collection:1.4.0 -> 1.4.4 (*)
-| | | | | +--- androidx.collection:collection-ktx:1.2.0 -> 1.4.4
-| | | | | | +--- androidx.collection:collection:1.4.4 (*)
-| | | | | | \--- androidx.collection:collection:1.4.4 (c)
-| | | | | +--- androidx.compose.runtime:runtime:1.7.6 (*)
-| | | | | +--- androidx.compose.ui:ui-geometry:1.7.6 (*)
-| | | | | +--- androidx.compose.ui:ui-util:1.7.6 (*)
-| | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-| | | | | +--- androidx.compose.ui:ui:1.7.6 (c)
-| | | | | +--- androidx.compose.ui:ui-geometry:1.7.6 (c)
-| | | | | +--- androidx.compose.ui:ui-graphics:1.7.6 (c)
-| | | | | +--- androidx.compose.ui:ui-text:1.7.6 (c)
-| | | | | +--- androidx.compose.ui:ui-tooling-preview:1.7.6 (c)
-| | | | | \--- androidx.compose.ui:ui-util:1.7.6 (c)
-| | | | +--- androidx.compose.ui:ui-util:1.7.6 (*)
-| | | | +--- androidx.core:core:1.12.0 -> 1.15.0 (*)
-| | | | +--- androidx.graphics:graphics-path:1.0.1
-| | | | | +--- androidx.core:core:1.12.0 -> 1.15.0 (*)
-| | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-| | | | +--- androidx.compose.ui:ui:1.7.6 (c)
-| | | | +--- androidx.compose.ui:ui-geometry:1.7.6 (c)
-| | | | +--- androidx.compose.ui:ui-text:1.7.6 (c)
-| | | | +--- androidx.compose.ui:ui-tooling-preview:1.7.6 (c)
-| | | | +--- androidx.compose.ui:ui-unit:1.7.6 (c)
-| | | | \--- androidx.compose.ui:ui-util:1.7.6 (c)
-| | | +--- androidx.compose.ui:ui-text:1.7.6
-| | | | \--- androidx.compose.ui:ui-text-android:1.7.6
-| | | | +--- androidx.annotation:annotation:1.1.0 -> 1.8.1 (*)
-| | | | +--- androidx.annotation:annotation-experimental:1.4.0 -> 1.4.1 (*)
-| | | | +--- androidx.collection:collection:1.4.0 -> 1.4.4 (*)
-| | | | +--- androidx.compose.runtime:runtime:1.7.6 (*)
-| | | | +--- androidx.compose.runtime:runtime-saveable:1.7.6 (*)
-| | | | +--- androidx.compose.ui:ui-graphics:1.7.6 (*)
-| | | | +--- androidx.compose.ui:ui-unit:1.7.6 (*)
-| | | | +--- androidx.compose.ui:ui-util:1.7.6 (*)
-| | | | +--- androidx.core:core:1.7.0 -> 1.15.0 (*)
-| | | | +--- androidx.emoji2:emoji2:1.2.0 -> 1.3.0 (*)
-| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-| | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 -> 1.10.1 (*)
-| | | | +--- androidx.compose.ui:ui:1.7.6 (c)
-| | | | +--- androidx.compose.ui:ui-geometry:1.7.6 (c)
-| | | | +--- androidx.compose.ui:ui-graphics:1.7.6 (c)
-| | | | +--- androidx.compose.ui:ui-tooling-preview:1.7.6 (c)
-| | | | +--- androidx.compose.ui:ui-unit:1.7.6 (c)
-| | | | \--- androidx.compose.ui:ui-util:1.7.6 (c)
-| | | +--- androidx.compose.ui:ui-unit:1.7.6 (*)
-| | | +--- androidx.compose.ui:ui-util:1.7.6 (*)
-| | | +--- androidx.core:core:1.12.0 -> 1.15.0 (*)
-| | | +--- androidx.customview:customview-poolingcontainer:1.0.0
-| | | | +--- androidx.core:core-ktx:1.5.0 -> 1.15.0 (*)
-| | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 2.1.0 (*)
-| | | +--- androidx.emoji2:emoji2:1.2.0 -> 1.3.0 (*)
-| | | +--- androidx.lifecycle:lifecycle-runtime-compose:2.8.3 -> 2.8.7
-| | | | \--- androidx.lifecycle:lifecycle-runtime-compose-android:2.8.7
-| | | | +--- androidx.annotation:annotation:1.8.1 (*)
-| | | | +--- androidx.compose.runtime:runtime:1.7.1 -> 1.7.6 (*)
-| | | | +--- androidx.lifecycle:lifecycle-runtime:2.8.7 (*)
-| | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.8.7 (*)
-| | | | +--- androidx.lifecycle:lifecycle-common:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-livedata:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-process:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-runtime:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c)
-| | | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7 (c)
-| | | | \--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (c)
-| | | +--- androidx.lifecycle:lifecycle-viewmodel:2.6.1 -> 2.8.7 (*)
-| | | +--- androidx.profileinstaller:profileinstaller:1.3.1 -> 1.4.1 (*)
-| | | +--- androidx.savedstate:savedstate-ktx:1.2.1 (*)
-| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-| | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3 -> 1.10.1 (*)
-| | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 -> 1.10.1 (*)
-| | | +--- androidx.compose.ui:ui-geometry:1.7.6 (c)
-| | | +--- androidx.compose.ui:ui-graphics:1.7.6 (c)
-| | | +--- androidx.compose.ui:ui-text:1.7.6 (c)
-| | | +--- androidx.compose.ui:ui-tooling-preview:1.7.6 (c)
-| | | +--- androidx.compose.ui:ui-unit:1.7.6 (c)
-| | | +--- androidx.compose.ui:ui-util:1.7.6 (c)
-| | | \--- androidx.compose.foundation:foundation:1.7.6 (c)
-| | +--- androidx.lifecycle:lifecycle-viewmodel:2.6.1 -> 2.8.7 (*)
-| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-| | +--- androidx.activity:activity:1.9.3 (c)
-| | \--- androidx.activity:activity-ktx:1.9.3 (c)
-| +--- io.insert-koin:koin-android:4.0.0
-| | +--- io.insert-koin:koin-core:4.0.0
-| | | \--- io.insert-koin:koin-core-jvm:4.0.0
-| | | +--- org.jetbrains.kotlin:kotlin-stdlib:2.0.20 -> 2.1.0 (*)
-| | | +--- co.touchlab:stately-concurrency:2.1.0
-| | | | \--- co.touchlab:stately-concurrency-jvm:2.1.0
-| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.9.23 -> 2.1.0 (*)
-| | | | \--- co.touchlab:stately-strict:2.1.0
-| | | | \--- co.touchlab:stately-strict-jvm:2.1.0
-| | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.23 -> 2.1.0 (*)
-| | | \--- co.touchlab:stately-concurrent-collections:2.1.0
-| | | \--- co.touchlab:stately-concurrent-collections-jvm:2.1.0
-| | | +--- co.touchlab:stately-concurrency:2.1.0 (*)
-| | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.23 -> 2.1.0 (*)
-| | +--- io.insert-koin:koin-core-viewmodel:4.0.0
-| | | \--- io.insert-koin:koin-core-viewmodel-jvm:4.0.0
-| | | +--- io.insert-koin:koin-core:4.0.0 (*)
-| | | +--- org.jetbrains.androidx.lifecycle:lifecycle-viewmodel:2.8.0
-| | | | \--- androidx.lifecycle:lifecycle-viewmodel:2.8.0 -> 2.8.7 (*)
-| | | +--- org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.0
-| | | | \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.0 -> 2.8.7 (*)
-| | | +--- org.jetbrains.androidx.core:core-bundle:1.0.0
-| | | | \--- org.jetbrains.androidx.core:core-bundle-android:1.0.0
-| | | | +--- androidx.core:core-ktx:1.2.0 -> 1.15.0 (*)
-| | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.23 -> 2.1.0 (*)
-| | | +--- org.jetbrains.androidx.savedstate:savedstate:1.2.0
-| | | | \--- androidx.savedstate:savedstate:1.2.1 (*)
-| | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.20 -> 2.1.0 (*)
-| | +--- androidx.appcompat:appcompat:1.7.0 (*)
-| | +--- androidx.activity:activity-ktx:1.9.2 -> 1.9.3 (*)
-| | +--- androidx.fragment:fragment-ktx:1.8.3
-| | | +--- androidx.activity:activity-ktx:1.8.1 -> 1.9.3 (*)
-| | | +--- androidx.collection:collection-ktx:1.1.0 -> 1.4.4 (*)
-| | | +--- androidx.core:core-ktx:1.2.0 -> 1.15.0 (*)
-| | | +--- androidx.fragment:fragment:1.8.3 (*)
-| | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.6.1 -> 2.8.7 (*)
-| | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.1 -> 2.8.7 (*)
-| | | +--- androidx.savedstate:savedstate-ktx:1.2.1 (*)
-| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-| | | \--- androidx.fragment:fragment:1.8.3 (c)
-| | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.5 -> 2.8.7 (*)
-| | +--- androidx.lifecycle:lifecycle-common-java8:2.8.5 -> 2.8.7
-| | | +--- androidx.annotation:annotation:1.1.0 -> 1.8.1 (*)
-| | | +--- androidx.lifecycle:lifecycle-common:2.8.7 (*)
-| | | +--- androidx.lifecycle:lifecycle-common:2.8.7 (c)
-| | | +--- androidx.lifecycle:lifecycle-livedata:2.8.7 (c)
-| | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7 (c)
-| | | +--- androidx.lifecycle:lifecycle-process:2.8.7 (c)
-| | | +--- androidx.lifecycle:lifecycle-runtime:2.8.7 (c)
-| | | +--- androidx.lifecycle:lifecycle-runtime-compose:2.8.7 (c)
-| | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.8.7 (c)
-| | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.7 (c)
-| | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (c)
-| | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7 (c)
-| | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c)
-| | | \--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (c)
-| | \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.20 -> 2.1.0 (*)
-| +--- io.insert-koin:koin-androidx-compose:4.0.0
-| | +--- io.insert-koin:koin-android:4.0.0 (*)
-| | +--- io.insert-koin:koin-compose:4.0.0
-| | | \--- io.insert-koin:koin-compose-jvm:4.0.0
-| | | +--- io.insert-koin:koin-core:4.0.0 (*)
-| | | +--- org.jetbrains.compose.runtime:runtime:1.6.11
-| | | | \--- androidx.compose.runtime:runtime:1.6.7 -> 1.7.6 (*)
-| | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.20 -> 2.1.0 (*)
-| | +--- androidx.compose.runtime:runtime:1.6.8 -> 1.7.6 (*)
-| | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.5 -> 2.8.7
-| | | \--- androidx.lifecycle:lifecycle-viewmodel-compose-android:2.8.7
-| | | +--- androidx.annotation:annotation:1.8.0 -> 1.8.1 (*)
-| | | +--- androidx.compose.runtime:runtime:1.6.0 -> 1.7.6 (*)
-| | | +--- androidx.compose.ui:ui:1.6.0 -> 1.7.6 (*)
-| | | +--- androidx.lifecycle:lifecycle-common:2.8.7 (*)
-| | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.7 (*)
-| | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (*)
-| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-| | | +--- androidx.lifecycle:lifecycle-common:2.8.7 (c)
-| | | +--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c)
-| | | +--- androidx.lifecycle:lifecycle-livedata:2.8.7 (c)
-| | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7 (c)
-| | | +--- androidx.lifecycle:lifecycle-process:2.8.7 (c)
-| | | +--- androidx.lifecycle:lifecycle-runtime:2.8.7 (c)
-| | | +--- androidx.lifecycle:lifecycle-runtime-compose:2.8.7 (c)
-| | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.8.7 (c)
-| | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.7 (c)
-| | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7 (c)
-| | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c)
-| | | \--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (c)
-| | \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.20 -> 2.1.0 (*)
-| +--- io.insert-koin:koin-core:4.0.0 (*)
-| +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
-| +--- org.jetbrains.compose.material:material:1.6.11
-| | \--- androidx.compose.material:material:1.6.7 -> 1.7.6
-| | \--- androidx.compose.material:material-android:1.7.6
-| | +--- androidx.annotation:annotation:1.1.0 -> 1.8.1 (*)
-| | +--- androidx.annotation:annotation-experimental:1.4.0 -> 1.4.1 (*)
-| | +--- androidx.compose.animation:animation:1.7.6
-| | | \--- androidx.compose.animation:animation-android:1.7.6
-| | | +--- androidx.annotation:annotation:1.1.0 -> 1.8.1 (*)
-| | | +--- androidx.annotation:annotation-experimental:1.4.0 -> 1.4.1 (*)
-| | | +--- androidx.collection:collection:1.4.0 -> 1.4.4 (*)
-| | | +--- androidx.compose.animation:animation-core:1.7.6
-| | | | \--- androidx.compose.animation:animation-core-android:1.7.6
-| | | | +--- androidx.annotation:annotation:1.1.0 -> 1.8.1 (*)
-| | | | +--- androidx.collection:collection:1.4.0 -> 1.4.4 (*)
-| | | | +--- androidx.compose.runtime:runtime:1.7.6 (*)
-| | | | +--- androidx.compose.ui:ui:1.7.6 (*)
-| | | | +--- androidx.compose.ui:ui-graphics:1.7.6 (*)
-| | | | +--- androidx.compose.ui:ui-unit:1.7.6 (*)
-| | | | +--- androidx.compose.ui:ui-util:1.7.6 (*)
-| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-| | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 -> 1.10.1 (*)
-| | | | \--- androidx.compose.animation:animation:1.7.6 (c)
-| | | +--- androidx.compose.foundation:foundation-layout:1.7.6
-| | | | \--- androidx.compose.foundation:foundation-layout-android:1.7.6
-| | | | +--- androidx.annotation:annotation:1.1.0 -> 1.8.1 (*)
-| | | | +--- androidx.annotation:annotation-experimental:1.4.0 -> 1.4.1 (*)
-| | | | +--- androidx.collection:collection:1.4.0 -> 1.4.4 (*)
-| | | | +--- androidx.compose.animation:animation-core:1.2.1 -> 1.7.6 (*)
-| | | | +--- androidx.compose.runtime:runtime:1.7.6 (*)
-| | | | +--- androidx.compose.ui:ui:1.7.6 (*)
-| | | | +--- androidx.compose.ui:ui-unit:1.7.6 (*)
-| | | | +--- androidx.compose.ui:ui-util:1.7.6 (*)
-| | | | +--- androidx.core:core:1.7.0 -> 1.15.0 (*)
-| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-| | | | \--- androidx.compose.foundation:foundation:1.7.6 (c)
-| | | +--- androidx.compose.runtime:runtime:1.7.6 (*)
-| | | +--- androidx.compose.ui:ui:1.7.6 (*)
-| | | +--- androidx.compose.ui:ui-geometry:1.7.6 (*)
-| | | +--- androidx.compose.ui:ui-graphics:1.7.6 (*)
-| | | +--- androidx.compose.ui:ui-util:1.7.6 (*)
-| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-| | | \--- androidx.compose.animation:animation-core:1.7.6 (c)
-| | +--- androidx.compose.animation:animation-core:1.7.6 (*)
-| | +--- androidx.compose.foundation:foundation:1.7.6
-| | | \--- androidx.compose.foundation:foundation-android:1.7.6
-| | | +--- androidx.annotation:annotation:1.1.0 -> 1.8.1 (*)
-| | | +--- androidx.annotation:annotation-experimental:1.4.0 -> 1.4.1 (*)
-| | | +--- androidx.collection:collection:1.4.0 -> 1.4.4 (*)
-| | | +--- androidx.compose.animation:animation:1.7.6 (*)
-| | | +--- androidx.compose.foundation:foundation-layout:1.7.6 (*)
-| | | +--- androidx.compose.runtime:runtime:1.7.6 (*)
-| | | +--- androidx.compose.ui:ui:1.7.6 (*)
-| | | +--- androidx.compose.ui:ui-text:1.7.6 (*)
-| | | +--- androidx.compose.ui:ui-util:1.7.6 (*)
-| | | +--- androidx.core:core:1.13.1 -> 1.15.0 (*)
-| | | +--- androidx.emoji2:emoji2:1.3.0 (*)
-| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-| | | \--- androidx.compose.foundation:foundation-layout:1.7.6 (c)
-| | +--- androidx.compose.foundation:foundation-layout:1.7.6 (*)
-| | +--- androidx.compose.material:material-ripple:1.7.6
-| | | \--- androidx.compose.material:material-ripple-android:1.7.6
-| | | +--- androidx.collection:collection:1.4.0 -> 1.4.4 (*)
-| | | +--- androidx.compose.animation:animation:1.7.6 (*)
-| | | +--- androidx.compose.foundation:foundation:1.7.6 (*)
-| | | +--- androidx.compose.runtime:runtime:1.7.6 (*)
-| | | +--- androidx.compose.ui:ui-util:1.7.6 (*)
-| | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-| | +--- androidx.compose.runtime:runtime:1.7.6 (*)
-| | +--- androidx.compose.ui:ui:1.7.6 (*)
-| | +--- androidx.compose.ui:ui-text:1.7.6 (*)
-| | +--- androidx.compose.ui:ui-util:1.7.6 (*)
-| | +--- androidx.lifecycle:lifecycle-runtime:2.6.1 -> 2.8.7 (*)
-| | +--- androidx.lifecycle:lifecycle-viewmodel:2.6.1 -> 2.8.7 (*)
-| | +--- androidx.savedstate:savedstate:1.2.1 (*)
-| | \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-| +--- org.jetbrains.compose.material3:material3:1.6.11
-| | \--- androidx.compose.material3:material3:1.2.1 -> 1.3.1
-| | \--- androidx.compose.material3:material3-android:1.3.1
-| | +--- androidx.activity:activity-compose:1.8.2 -> 1.9.3 (*)
-| | +--- androidx.annotation:annotation:1.1.0 -> 1.8.1 (*)
-| | +--- androidx.annotation:annotation-experimental:1.4.0 -> 1.4.1 (*)
-| | +--- androidx.collection:collection:1.4.0 -> 1.4.4 (*)
-| | +--- androidx.compose.animation:animation-core:1.6.0 -> 1.7.6 (*)
-| | +--- androidx.compose.foundation:foundation:1.7.0 -> 1.7.6 (*)
-| | +--- androidx.compose.foundation:foundation-layout:1.7.0 -> 1.7.6 (*)
-| | +--- androidx.compose.material:material-icons-core:1.6.0 -> 1.7.6
-| | | \--- androidx.compose.material:material-icons-core-android:1.7.6
-| | | +--- androidx.compose.ui:ui:1.6.0 -> 1.7.6 (*)
-| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-| | | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.1.0 (*)
-| | +--- androidx.compose.material:material-ripple:1.7.0 -> 1.7.6 (*)
-| | +--- androidx.compose.runtime:runtime:1.7.0 -> 1.7.6 (*)
-| | +--- androidx.compose.ui:ui:1.6.0 -> 1.7.6 (*)
-| | +--- androidx.compose.ui:ui-text:1.6.0 -> 1.7.6 (*)
-| | +--- androidx.compose.ui:ui-util:1.6.0 -> 1.7.6 (*)
-| | \--- androidx.lifecycle:lifecycle-common-java8:2.6.1 -> 2.8.7 (*)
-| +--- io.insert-koin:koin-compose:4.0.0 (*)
-| \--- io.insert-koin:koin-compose-viewmodel:4.0.0
-| \--- io.insert-koin:koin-compose-viewmodel-jvm:4.0.0
-| +--- io.insert-koin:koin-compose:4.0.0 (*)
-| +--- io.insert-koin:koin-core-viewmodel:4.0.0 (*)
-| +--- org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-compose:2.8.0
-| | \--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.0 -> 2.8.7 (*)
-| \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.20 -> 2.1.0 (*)
-+--- project :core:logs
-| +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
-| +--- androidx.compose:compose-bom:2024.12.01 (*)
-| +--- androidx.compose.ui:ui-tooling-preview -> 1.7.6 (*)
-| +--- com.google.dagger:hilt-android:2.54 (*)
-| +--- androidx.compose.runtime:runtime -> 1.7.6 (*)
-| +--- com.google.firebase:firebase-bom:33.7.0 (*)
-| \--- com.google.firebase:firebase-analytics-ktx -> 22.1.2 (*)
-+--- project :core:common
-| +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
-| \--- com.google.dagger:hilt-android:2.54 (*)
-+--- project :core:model
-| +--- project :core:common (*)
-| +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:2.1.0 (*)
-| +--- org.jetbrains.kotlinx:kotlinx-serialization-json:1.8.0-RC
-| | \--- org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.8.0-RC
-| | +--- org.jetbrains.kotlinx:kotlinx-serialization-bom:1.8.0-RC
-| | | +--- org.jetbrains.kotlinx:kotlinx-serialization-core:1.8.0-RC (c)
-| | | +--- org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.8.0-RC (c)
-| | | +--- org.jetbrains.kotlinx:kotlinx-serialization-json:1.8.0-RC (c)
-| | | \--- org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.8.0-RC (c)
-| | +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
-| | \--- org.jetbrains.kotlinx:kotlinx-serialization-core:1.8.0-RC
-| | \--- org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.8.0-RC
-| | +--- org.jetbrains.kotlinx:kotlinx-serialization-bom:1.8.0-RC (*)
-| | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
-| +--- com.squareup.retrofit2:converter-gson:2.11.0
-| | +--- com.squareup.retrofit2:retrofit:2.11.0
-| | | \--- com.squareup.okhttp3:okhttp:3.14.9 -> 4.12.0 (*)
-| | \--- com.google.code.gson:gson:2.10.1
-| \--- org.jetbrains.kotlin:kotlin-parcelize-runtime:2.1.0
-| +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
-| \--- org.jetbrains.kotlin:kotlin-android-extensions-runtime:2.1.0
-| \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
-+--- project :core:data
-| +--- project :core:common (*)
-| +--- project :core:model (*)
-| +--- project :core:network
-| | +--- project :core:common (*)
-| | +--- project :core:model (*)
-| | +--- project :core:datastore
-| | | +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
-| | | +--- com.google.dagger:hilt-android:2.54 (*)
-| | | +--- project :core:common (*)
-| | | \--- project :core:model (*)
-| | +--- com.google.dagger:hilt-android:2.54 (*)
-| | +--- com.squareup.retrofit2:retrofit:2.11.0 (*)
-| | +--- com.squareup.retrofit2:adapter-rxjava2:2.11.0
-| | | +--- com.squareup.retrofit2:retrofit:2.11.0 (*)
-| | | +--- io.reactivex.rxjava2:rxjava:2.2.21
-| | | | \--- org.reactivestreams:reactive-streams:1.0.3 -> 1.0.4
-| | | \--- org.reactivestreams:reactive-streams:1.0.4
-| | +--- com.squareup.retrofit2:converter-gson:2.11.0 (*)
-| | +--- com.squareup.okhttp3:logging-interceptor:4.12.0
-| | | +--- com.squareup.okhttp3:okhttp:4.12.0 (*)
-| | | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.21 -> 1.9.10 (*)
-| | +--- com.squareup.okhttp3:okhttp:4.12.0 (*)
-| | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:2.1.0 (*)
-| | \--- org.mockito:mockito-core:5.6.0
-| | +--- net.bytebuddy:byte-buddy:1.14.8
-| | +--- net.bytebuddy:byte-buddy-agent:1.14.8
-| | \--- org.objenesis:objenesis:3.3
-| +--- project :core:database
-| | +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
-| | +--- androidx.room:room-runtime:2.6.1
-| | | +--- androidx.annotation:annotation-experimental:1.1.0-rc01 -> 1.4.1 (*)
-| | | +--- androidx.arch.core:core-runtime:2.2.0 (*)
-| | | +--- androidx.room:room-common:2.6.1
-| | | | +--- androidx.annotation:annotation:1.3.0 -> 1.8.1 (*)
-| | | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22 -> 1.9.10 (*)
-| | | | +--- androidx.room:room-ktx:2.6.1 (c)
-| | | | \--- androidx.room:room-runtime:2.6.1 (c)
-| | | +--- androidx.sqlite:sqlite:2.4.0
-| | | | +--- androidx.annotation:annotation:1.0.0 -> 1.8.1 (*)
-| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-| | | | \--- androidx.sqlite:sqlite-framework:2.4.0 (c)
-| | | +--- androidx.sqlite:sqlite-framework:2.4.0
-| | | | +--- androidx.annotation:annotation:1.2.0 -> 1.8.1 (*)
-| | | | +--- androidx.sqlite:sqlite:2.4.0 (*)
-| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-| | | | \--- androidx.sqlite:sqlite:2.4.0 (c)
-| | | +--- androidx.room:room-common:2.6.1 (c)
-| | | \--- androidx.room:room-ktx:2.6.1 (c)
-| | +--- androidx.room:room-ktx:2.6.1
-| | | +--- androidx.room:room-common:2.6.1 (*)
-| | | +--- androidx.room:room-runtime:2.6.1 (*)
-| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-| | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.1 -> 1.10.1 (*)
-| | | +--- androidx.room:room-common:2.6.1 (c)
-| | | \--- androidx.room:room-runtime:2.6.1 (c)
-| | +--- com.google.dagger:hilt-android:2.54 (*)
-| | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.1 (*)
-| | \--- org.jetbrains.kotlinx:kotlinx-serialization-json:1.8.0-RC (*)
-| +--- project :core:datastore (*)
-| +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
-| +--- com.google.dagger:hilt-android:2.54 (*)
-| +--- com.squareup.retrofit2:retrofit:2.11.0 (*)
-| +--- com.squareup.okhttp3:okhttp:4.12.0 (*)
-| +--- org.mockito:mockito-core:5.6.0 (*)
-| +--- app.cash.turbine:turbine:1.1.0
-| | \--- app.cash.turbine:turbine-jvm:1.1.0
-| | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.0 -> 1.10.1 (*)
-| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.9.22 -> 2.1.0 (*)
-| | \--- org.jetbrains.kotlinx:kotlinx-coroutines-test:1.8.0 -> 1.10.1
-| | \--- org.jetbrains.kotlinx:kotlinx-coroutines-test-jvm:1.10.1
-| | +--- org.jetbrains:annotations:23.0.0
-| | +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.10.1 (*)
-| | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.1 (*)
-| | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
-| \--- org.jetbrains.kotlin:kotlin-parcelize-runtime:2.1.0 (*)
-+--- project :core:database (*)
-+--- project :core:ui
-| +--- project :core:designsystem
-| | +--- androidx.compose.ui:ui -> 1.7.6 (*)
-| | +--- androidx.compose.foundation:foundation -> 1.7.6 (*)
-| | +--- androidx.compose.foundation:foundation-layout -> 1.7.6 (*)
-| | +--- androidx.compose.material:material-icons-extended -> 1.7.6
-| | | \--- androidx.compose.material:material-icons-extended-android:1.7.6
-| | | +--- androidx.compose.material:material-icons-core:1.7.6 (*)
-| | | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.8.22 -> 2.1.0 (*)
-| | +--- androidx.compose.material3:material3:1.3.1 (*)
-| | +--- androidx.compose.runtime:runtime -> 1.7.6 (*)
-| | +--- androidx.compose.ui:ui-util -> 1.7.6 (*)
-| | +--- androidx.activity:activity-compose:1.9.3 (*)
-| | +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
-| | +--- androidx.compose:compose-bom:2024.12.01 (*)
-| | +--- androidx.compose.ui:ui-tooling-preview -> 1.7.6 (*)
-| | \--- com.google.accompanist:accompanist-pager:0.34.0
-| | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4 -> 1.10.1 (*)
-| | +--- androidx.compose.foundation:foundation:1.6.0 -> 1.7.6 (*)
-| | +--- dev.chrisbanes.snapper:snapper:0.2.2
-| | | +--- androidx.compose.foundation:foundation:1.1.1 -> 1.7.6 (*)
-| | | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10 -> 1.9.10 (*)
-| | \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.22 -> 2.1.0 (*)
-| +--- project :core:model (*)
-| +--- project :core:common (*)
-| +--- androidx.metrics:metrics-performance:1.0.0-beta01
-| | +--- androidx.collection:collection:1.1.0 -> 1.4.4 (*)
-| | +--- androidx.core:core:1.5.0 -> 1.15.0 (*)
-| | \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-| +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
-| +--- androidx.compose:compose-bom:2024.12.01 (*)
-| \--- androidx.compose.ui:ui-tooling-preview -> 1.7.6 (*)
-+--- project :core:designsystem (*)
-+--- project :feature:loan
-| +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
-| +--- com.google.dagger:hilt-android:2.54 (*)
-| +--- project :core:designsystem (*)
-| +--- project :core:ui (*)
-| +--- project :core:data (*)
-| +--- project :core:model (*)
-| +--- project :core:common (*)
-| +--- org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.8
-| | \--- org.jetbrains.kotlinx:kotlinx-collections-immutable-jvm:0.3.8
-| | \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.21 -> 2.1.0 (*)
-| +--- androidx.hilt:hilt-navigation-compose:1.2.0
-| | +--- androidx.compose.runtime:runtime:1.0.1 -> 1.7.6 (*)
-| | +--- androidx.compose.ui:ui:1.0.1 -> 1.7.6 (*)
-| | +--- androidx.hilt:hilt-navigation:1.2.0
-| | | +--- androidx.annotation:annotation:1.1.0 -> 1.8.1 (*)
-| | | +--- androidx.navigation:navigation-runtime:2.5.1 -> 2.8.5
-| | | | +--- androidx.activity:activity-ktx:1.7.1 -> 1.9.3 (*)
-| | | | +--- androidx.annotation:annotation-experimental:1.4.1 (*)
-| | | | +--- androidx.collection:collection:1.4.2 -> 1.4.4 (*)
-| | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.6.2 -> 2.8.7 (*)
-| | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.2 -> 2.8.7 (*)
-| | | | +--- androidx.navigation:navigation-common:2.8.5
-| | | | | +--- androidx.annotation:annotation:1.8.1 (*)
-| | | | | +--- androidx.collection:collection-ktx:1.4.2 -> 1.4.4 (*)
-| | | | | +--- androidx.core:core-ktx:1.1.0 -> 1.15.0 (*)
-| | | | | +--- androidx.lifecycle:lifecycle-common:2.6.2 -> 2.8.7 (*)
-| | | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.6.2 -> 2.8.7 (*)
-| | | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.2 -> 2.8.7 (*)
-| | | | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.6.2 -> 2.8.7 (*)
-| | | | | +--- androidx.profileinstaller:profileinstaller:1.3.1 -> 1.4.1 (*)
-| | | | | +--- androidx.savedstate:savedstate-ktx:1.2.1 (*)
-| | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-| | | | | +--- org.jetbrains.kotlinx:kotlinx-serialization-core:1.6.3 -> 1.8.0-RC (*)
-| | | | | +--- androidx.navigation:navigation-common-ktx:2.8.5 (c)
-| | | | | +--- androidx.navigation:navigation-compose:2.8.5 (c)
-| | | | | +--- androidx.navigation:navigation-runtime:2.8.5 (c)
-| | | | | \--- androidx.navigation:navigation-runtime-ktx:2.8.5 (c)
-| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-| | | | +--- org.jetbrains.kotlinx:kotlinx-serialization-core:1.6.3 -> 1.8.0-RC (*)
-| | | | +--- androidx.navigation:navigation-common:2.8.5 (c)
-| | | | +--- androidx.navigation:navigation-common-ktx:2.8.5 (c)
-| | | | +--- androidx.navigation:navigation-compose:2.8.5 (c)
-| | | | \--- androidx.navigation:navigation-runtime-ktx:2.8.5 (c)
-| | | +--- com.google.dagger:hilt-android:2.49 -> 2.54 (*)
-| | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-| | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.6.1 -> 2.8.7 (*)
-| | +--- androidx.navigation:navigation-compose:2.5.1 -> 2.8.5
-| | | +--- androidx.activity:activity-compose:1.8.0 -> 1.9.3 (*)
-| | | +--- androidx.compose.animation:animation:1.7.2 -> 1.7.6 (*)
-| | | +--- androidx.compose.foundation:foundation-layout:1.7.2 -> 1.7.6 (*)
-| | | +--- androidx.compose.runtime:runtime:1.7.2 -> 1.7.6 (*)
-| | | +--- androidx.compose.runtime:runtime-saveable:1.7.2 -> 1.7.6 (*)
-| | | +--- androidx.compose.ui:ui:1.7.2 -> 1.7.6 (*)
-| | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.6.2 -> 2.8.7 (*)
-| | | +--- androidx.navigation:navigation-runtime-ktx:2.8.5
-| | | | +--- androidx.navigation:navigation-common-ktx:2.8.5
-| | | | | +--- androidx.navigation:navigation-common:2.8.5 (*)
-| | | | | +--- androidx.navigation:navigation-common:2.8.5 (c)
-| | | | | +--- androidx.navigation:navigation-compose:2.8.5 (c)
-| | | | | +--- androidx.navigation:navigation-runtime:2.8.5 (c)
-| | | | | \--- androidx.navigation:navigation-runtime-ktx:2.8.5 (c)
-| | | | +--- androidx.navigation:navigation-runtime:2.8.5 (*)
-| | | | +--- androidx.navigation:navigation-common-ktx:2.8.5 (c)
-| | | | +--- androidx.navigation:navigation-compose:2.8.5 (c)
-| | | | +--- androidx.navigation:navigation-runtime:2.8.5 (c)
-| | | | \--- androidx.navigation:navigation-common:2.8.5 (c)
-| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-| | | +--- org.jetbrains.kotlinx:kotlinx-serialization-core:1.6.3 -> 1.8.0-RC (*)
-| | | +--- androidx.navigation:navigation-runtime-ktx:2.8.5 (c)
-| | | +--- androidx.navigation:navigation-runtime:2.8.5 (c)
-| | | +--- androidx.navigation:navigation-common-ktx:2.8.5 (c)
-| | | \--- androidx.navigation:navigation-common:2.8.5 (c)
-| | \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-| +--- androidx.lifecycle:lifecycle-runtime-compose:2.8.7 (*)
-| +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (*)
-| +--- androidx.compose:compose-bom:2024.12.01 (*)
-| +--- androidx.compose.ui:ui-tooling-preview -> 1.7.6 (*)
-| \--- project :core:qrcode
-| +--- com.google.zxing:core:3.5.3
-| +--- com.squareup.retrofit2:converter-gson:2.11.0 (*)
-| +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
-| +--- androidx.compose:compose-bom:2024.12.01 (*)
-| +--- androidx.compose.ui:ui-tooling-preview -> 1.7.6 (*)
-| +--- project :core:model (*)
-| +--- androidx.compose.ui:ui -> 1.7.6 (*)
-| +--- androidx.camera:camera-camera2:1.4.1
-| | +--- androidx.annotation:annotation:1.2.0 -> 1.8.1 (*)
-| | +--- androidx.camera:camera-core:1.4.1
-| | | +--- androidx.annotation:annotation:1.2.0 -> 1.8.1 (*)
-| | | +--- androidx.annotation:annotation-experimental:1.4.1 (*)
-| | | +--- androidx.concurrent:concurrent-futures:1.1.0 (*)
-| | | +--- androidx.concurrent:concurrent-futures-ktx:1.1.0
-| | | | +--- androidx.concurrent:concurrent-futures:1.1.0 (*)
-| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.3.71 -> 2.1.0 (*)
-| | | | \--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.4 -> 1.10.1 (*)
-| | | +--- androidx.core:core:1.1.0 -> 1.15.0 (*)
-| | | +--- androidx.exifinterface:exifinterface:1.3.2
-| | | | \--- androidx.annotation:annotation:1.1.0 -> 1.8.1 (*)
-| | | +--- androidx.lifecycle:lifecycle-common:2.1.0 -> 2.8.7 (*)
-| | | +--- androidx.lifecycle:lifecycle-livedata:2.1.0 -> 2.8.7 (*)
-| | | +--- androidx.tracing:tracing:1.2.0 (*)
-| | | +--- com.google.auto.value:auto-value-annotations:1.6.3
-| | | +--- com.google.guava:listenablefuture:1.0 -> 9999.0-empty-to-avoid-conflict-with-guava
-| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
-| | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3 -> 1.10.1 (*)
-| | | +--- androidx.camera:camera-camera2:1.4.1 (c)
-| | | +--- androidx.camera:camera-lifecycle:1.4.1 (c)
-| | | +--- androidx.camera:camera-view:1.4.1 (c)
-| | | \--- androidx.camera:camera-video:1.4.1 (c)
-| | +--- androidx.concurrent:concurrent-futures:1.0.0 -> 1.1.0 (*)
-| | +--- androidx.core:core:1.1.0 -> 1.15.0 (*)
-| | +--- androidx.tracing:tracing:1.2.0 (*)
-| | +--- com.google.auto.value:auto-value-annotations:1.6.3
-| | +--- com.google.guava:listenablefuture:1.0 -> 9999.0-empty-to-avoid-conflict-with-guava
-| | +--- androidx.camera:camera-core:1.4.1 (c)
-| | +--- androidx.camera:camera-lifecycle:1.4.1 (c)
-| | +--- androidx.camera:camera-view:1.4.1 (c)
-| | \--- androidx.camera:camera-video:1.4.1 (c)
-| +--- androidx.camera:camera-lifecycle:1.4.1
-| | +--- androidx.camera:camera-core:1.4.1 (*)
-| | +--- androidx.concurrent:concurrent-futures:1.1.0 (*)
-| | +--- androidx.concurrent:concurrent-futures-ktx:1.1.0 (*)
-| | +--- androidx.core:core:1.1.0 -> 1.15.0 (*)
-| | +--- androidx.lifecycle:lifecycle-common:2.1.0 -> 2.8.7 (*)
-| | +--- androidx.tracing:tracing-ktx:1.2.0
-| | | +--- androidx.tracing:tracing:1.2.0 (*)
-| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.21 -> 2.1.0 (*)
-| | | \--- androidx.tracing:tracing:1.2.0 (c)
-| | +--- com.google.auto.value:auto-value-annotations:1.6.3
-| | +--- com.google.guava:listenablefuture:1.0 -> 9999.0-empty-to-avoid-conflict-with-guava
-| | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3 -> 1.10.1 (*)
-| | +--- androidx.camera:camera-camera2:1.4.1 (c)
-| | +--- androidx.camera:camera-core:1.4.1 (c)
-| | +--- androidx.camera:camera-view:1.4.1 (c)
-| | \--- androidx.camera:camera-video:1.4.1 (c)
-| +--- androidx.camera:camera-view:1.4.1
-| | +--- androidx.annotation:annotation:1.2.0 -> 1.8.1 (*)
-| | +--- androidx.annotation:annotation-experimental:1.4.1 (*)
-| | +--- androidx.appcompat:appcompat:1.1.0 -> 1.7.0 (*)
-| | +--- androidx.camera:camera-core:1.4.1 (*)
-| | +--- androidx.camera:camera-lifecycle:1.4.1 (*)
-| | +--- androidx.camera:camera-video:1.4.1
-| | | +--- androidx.annotation:annotation:1.2.0 -> 1.8.1 (*)
-| | | +--- androidx.camera:camera-core:1.4.1 (*)
-| | | +--- androidx.concurrent:concurrent-futures:1.0.0 -> 1.1.0 (*)
-| | | +--- androidx.core:core:1.1.0 -> 1.15.0 (*)
-| | | +--- com.google.auto.value:auto-value-annotations:1.6.3
-| | | +--- androidx.camera:camera-camera2:1.4.1 (c)
-| | | +--- androidx.camera:camera-core:1.4.1 (c)
-| | | +--- androidx.camera:camera-lifecycle:1.4.1 (c)
-| | | \--- androidx.camera:camera-view:1.4.1 (c)
-| | +--- androidx.concurrent:concurrent-futures:1.0.0 -> 1.1.0 (*)
-| | +--- androidx.core:core:1.3.2 -> 1.15.0 (*)
-| | +--- androidx.lifecycle:lifecycle-common:2.0.0 -> 2.8.7 (*)
-| | +--- com.google.auto.value:auto-value-annotations:1.6.3
-| | +--- com.google.guava:listenablefuture:1.0 -> 9999.0-empty-to-avoid-conflict-with-guava
-| | +--- androidx.camera:camera-camera2:1.4.1 (c)
-| | +--- androidx.camera:camera-core:1.4.1 (c)
-| | +--- androidx.camera:camera-lifecycle:1.4.1 (c)
-| | \--- androidx.camera:camera-video:1.4.1 (c)
-| \--- androidx.camera:camera-core:1.4.1 (*)
-+--- project :feature:beneficiary
-| +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
-| +--- com.google.dagger:hilt-android:2.54 (*)
-| +--- project :core:designsystem (*)
-| +--- project :core:ui (*)
-| +--- project :core:data (*)
-| +--- project :core:model (*)
-| +--- project :core:common (*)
-| +--- org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.8 (*)
-| +--- androidx.hilt:hilt-navigation-compose:1.2.0 (*)
-| +--- androidx.lifecycle:lifecycle-runtime-compose:2.8.7 (*)
-| +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (*)
-| +--- androidx.compose:compose-bom:2024.12.01 (*)
-| +--- androidx.compose.ui:ui-tooling-preview -> 1.7.6 (*)
-| \--- com.squareup.okhttp3:okhttp:4.12.0 (*)
-+--- project :feature:guarantor
-| +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
-| +--- com.google.dagger:hilt-android:2.54 (*)
-| +--- project :core:designsystem (*)
-| +--- project :core:ui (*)
-| +--- project :core:data (*)
-| +--- project :core:model (*)
-| +--- project :core:common (*)
-| +--- org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.8 (*)
-| +--- androidx.hilt:hilt-navigation-compose:1.2.0 (*)
-| +--- androidx.lifecycle:lifecycle-runtime-compose:2.8.7 (*)
-| +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (*)
-| +--- androidx.compose:compose-bom:2024.12.01 (*)
-| +--- androidx.compose.ui:ui-tooling-preview -> 1.7.6 (*)
-| \--- com.squareup.okhttp3:okhttp:4.12.0 (*)
-+--- project :feature:savings
-| +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
-| +--- com.google.dagger:hilt-android:2.54 (*)
-| +--- project :core:designsystem (*)
-| +--- project :core:ui (*)
-| +--- project :core:data (*)
-| +--- project :core:model (*)
-| +--- project :core:common (*)
-| +--- org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.8 (*)
-| +--- androidx.hilt:hilt-navigation-compose:1.2.0 (*)
-| +--- androidx.lifecycle:lifecycle-runtime-compose:2.8.7 (*)
-| +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (*)
-| +--- androidx.compose:compose-bom:2024.12.01 (*)
-| +--- androidx.compose.ui:ui-tooling-preview -> 1.7.6 (*)
-| +--- project :core:qrcode (*)
-| \--- org.jetbrains.kotlin:kotlin-parcelize-runtime:2.1.0 (*)
-+--- project :feature:qr
-| +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
-| +--- com.google.dagger:hilt-android:2.54 (*)
-| +--- project :core:designsystem (*)
-| +--- project :core:ui (*)
-| +--- project :core:data (*)
-| +--- project :core:model (*)
-| +--- project :core:common (*)
-| +--- org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.8 (*)
-| +--- androidx.hilt:hilt-navigation-compose:1.2.0 (*)
-| +--- androidx.lifecycle:lifecycle-runtime-compose:2.8.7 (*)
-| +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (*)
-| +--- androidx.compose:compose-bom:2024.12.01 (*)
-| +--- androidx.compose.ui:ui-tooling-preview -> 1.7.6 (*)
-| +--- project :core:qrcode (*)
-| +--- io.github.mr0xf00:easycrop:0.1.1
-| | +--- androidx.compose:compose-bom:2023.01.00 -> 2024.12.01 (*)
-| | +--- androidx.core:core-ktx:1.9.0 -> 1.15.0 (*)
-| | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.5.1 -> 2.8.7 (*)
-| | +--- androidx.activity:activity-compose:1.6.1 -> 1.9.3 (*)
-| | +--- androidx.compose.material:material -> 1.7.6 (*)
-| | +--- androidx.compose.ui:ui -> 1.7.6 (*)
-| | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0 -> 1.9.10 (*)
-| +--- com.google.accompanist:accompanist-permissions:0.34.0
-| | +--- androidx.activity:activity-compose:1.7.2 -> 1.9.3 (*)
-| | +--- androidx.compose.foundation:foundation:1.6.0 -> 1.7.6 (*)
-| | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4 -> 1.10.1 (*)
-| | \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.22 -> 2.1.0 (*)
-| \--- androidx.camera:camera-core:1.4.1 (*)
-+--- project :feature:transfer-process
-| +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
-| +--- com.google.dagger:hilt-android:2.54 (*)
-| +--- project :core:designsystem (*)
-| +--- project :core:ui (*)
-| +--- project :core:data (*)
-| +--- project :core:model (*)
-| +--- project :core:common (*)
-| +--- org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.8 (*)
-| +--- androidx.hilt:hilt-navigation-compose:1.2.0 (*)
-| +--- androidx.lifecycle:lifecycle-runtime-compose:2.8.7 (*)
-| +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (*)
-| +--- androidx.compose:compose-bom:2024.12.01 (*)
-| +--- androidx.compose.ui:ui-tooling-preview -> 1.7.6 (*)
-| \--- com.squareup.retrofit2:converter-gson:2.11.0 (*)
-+--- project :feature:account
-| +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
-| +--- com.google.dagger:hilt-android:2.54 (*)
-| +--- project :core:designsystem (*)
-| +--- project :core:ui (*)
-| +--- project :core:data (*)
-| +--- project :core:model (*)
-| +--- project :core:common (*)
-| +--- org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.8 (*)
-| +--- androidx.hilt:hilt-navigation-compose:1.2.0 (*)
-| +--- androidx.lifecycle:lifecycle-runtime-compose:2.8.7 (*)
-| +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (*)
-| +--- androidx.compose:compose-bom:2024.12.01 (*)
-| +--- androidx.compose.ui:ui-tooling-preview -> 1.7.6 (*)
-| +--- project :libs:pullrefresh
-| | +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
-| | +--- androidx.compose:compose-bom:2024.12.01 (*)
-| | +--- androidx.compose.ui:ui-tooling-preview -> 1.7.6 (*)
-| | +--- androidx.compose.animation:animation -> 1.7.6 (*)
-| | +--- androidx.compose.material3:material3:1.3.1 (*)
-| | +--- androidx.compose.runtime:runtime -> 1.7.6 (*)
-| | \--- androidx.compose.ui:ui-util -> 1.7.6 (*)
-| \--- com.google.accompanist:accompanist-pager:0.34.0 (*)
-+--- project :feature:client-charge
-| +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
-| +--- com.google.dagger:hilt-android:2.54 (*)
-| +--- project :core:designsystem (*)
-| +--- project :core:ui (*)
-| +--- project :core:data (*)
-| +--- project :core:model (*)
-| +--- project :core:common (*)
-| +--- org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.8 (*)
-| +--- androidx.hilt:hilt-navigation-compose:1.2.0 (*)
-| +--- androidx.lifecycle:lifecycle-runtime-compose:2.8.7 (*)
-| +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (*)
-| +--- androidx.compose:compose-bom:2024.12.01 (*)
-| \--- androidx.compose.ui:ui-tooling-preview -> 1.7.6 (*)
-+--- project :feature:recent-transaction
-| +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
-| +--- com.google.dagger:hilt-android:2.54 (*)
-| +--- project :core:designsystem (*)
-| +--- project :core:ui (*)
-| +--- project :core:data (*)
-| +--- project :core:model (*)
-| +--- project :core:common (*)
-| +--- org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.8 (*)
-| +--- androidx.hilt:hilt-navigation-compose:1.2.0 (*)
-| +--- androidx.lifecycle:lifecycle-runtime-compose:2.8.7 (*)
-| +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (*)
-| +--- androidx.compose:compose-bom:2024.12.01 (*)
-| \--- androidx.compose.ui:ui-tooling-preview -> 1.7.6 (*)
-+--- project :feature:third-party-transfer
-| +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
-| +--- com.google.dagger:hilt-android:2.54 (*)
-| +--- project :core:designsystem (*)
-| +--- project :core:ui (*)
-| +--- project :core:data (*)
-| +--- project :core:model (*)
-| +--- project :core:common (*)
-| +--- org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.8 (*)
-| +--- androidx.hilt:hilt-navigation-compose:1.2.0 (*)
-| +--- androidx.lifecycle:lifecycle-runtime-compose:2.8.7 (*)
-| +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (*)
-| +--- androidx.compose:compose-bom:2024.12.01 (*)
-| +--- androidx.compose.ui:ui-tooling-preview -> 1.7.6 (*)
-| \--- org.jetbrains.kotlin:kotlin-parcelize-runtime:2.1.0 (*)
-+--- project :feature:help
-| +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
-| +--- com.google.dagger:hilt-android:2.54 (*)
-| +--- project :core:designsystem (*)
-| +--- project :core:ui (*)
-| +--- project :core:data (*)
-| +--- project :core:model (*)
-| +--- project :core:common (*)
-| +--- org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.8 (*)
-| +--- androidx.hilt:hilt-navigation-compose:1.2.0 (*)
-| +--- androidx.lifecycle:lifecycle-runtime-compose:2.8.7 (*)
-| +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (*)
-| +--- androidx.compose:compose-bom:2024.12.01 (*)
-| \--- androidx.compose.ui:ui-tooling-preview -> 1.7.6 (*)
-+--- project :feature:notification
-| +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
-| +--- com.google.dagger:hilt-android:2.54 (*)
-| +--- project :core:designsystem (*)
-| +--- project :core:ui (*)
-| +--- project :core:data (*)
-| +--- project :core:model (*)
-| +--- project :core:common (*)
-| +--- org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.8 (*)
-| +--- androidx.hilt:hilt-navigation-compose:1.2.0 (*)
-| +--- androidx.lifecycle:lifecycle-runtime-compose:2.8.7 (*)
-| +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (*)
-| +--- androidx.compose:compose-bom:2024.12.01 (*)
-| \--- androidx.compose.ui:ui-tooling-preview -> 1.7.6 (*)
-+--- project :feature:location
-| +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
-| +--- com.google.dagger:hilt-android:2.54 (*)
-| +--- project :core:designsystem (*)
-| +--- project :core:ui (*)
-| +--- project :core:data (*)
-| +--- project :core:model (*)
-| +--- project :core:common (*)
-| +--- org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.8 (*)
-| +--- androidx.hilt:hilt-navigation-compose:1.2.0 (*)
-| +--- androidx.lifecycle:lifecycle-runtime-compose:2.8.7 (*)
-| +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (*)
-| +--- androidx.compose:compose-bom:2024.12.01 (*)
-| +--- androidx.compose.ui:ui-tooling-preview -> 1.7.6 (*)
-| \--- com.google.maps.android:maps-compose:4.4.1
-| +--- androidx.compose:compose-bom:2024.04.00 -> 2024.12.01 (*)
-| +--- androidx.core:core-ktx:1.12.0 -> 1.15.0 (*)
-| +--- androidx.compose.foundation:foundation -> 1.7.6 (*)
-| +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.23 -> 2.1.0 (*)
-| \--- com.google.maps.android:maps-ktx:5.0.0
-| +--- com.google.android.gms:play-services-maps:18.2.0
-| | +--- androidx.fragment:fragment:1.0.0 -> 1.8.3 (*)
-| | +--- com.google.android.gms:play-services-base:18.0.1 -> 18.5.0 (*)
-| | +--- com.google.android.gms:play-services-basement:18.0.0 -> 18.4.0 (*)
-| | \--- com.google.android.gms:play-services-tasks:18.0.1 -> 18.2.0 (*)
-| \--- androidx.databinding:viewbinding:7.4.2
-| \--- androidx.annotation:annotation:1.0.0 -> 1.8.1 (*)
-+--- project :feature:about
-| +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
-| +--- com.google.dagger:hilt-android:2.54 (*)
-| +--- project :core:designsystem (*)
-| +--- project :core:ui (*)
-| +--- project :core:data (*)
-| +--- project :core:model (*)
-| +--- project :core:common (*)
-| +--- org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.8 (*)
-| +--- androidx.hilt:hilt-navigation-compose:1.2.0 (*)
-| +--- androidx.lifecycle:lifecycle-runtime-compose:2.8.7 (*)
-| +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (*)
-| +--- androidx.compose:compose-bom:2024.12.01 (*)
-| \--- androidx.compose.ui:ui-tooling-preview -> 1.7.6 (*)
-+--- project :feature:settings
-| +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
-| +--- com.google.dagger:hilt-android:2.54 (*)
-| +--- project :core:designsystem (*)
-| +--- project :core:ui (*)
-| +--- project :core:data (*)
-| +--- project :core:model (*)
-| +--- project :core:common (*)
-| +--- org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.8 (*)
-| +--- androidx.hilt:hilt-navigation-compose:1.2.0 (*)
-| +--- androidx.lifecycle:lifecycle-runtime-compose:2.8.7 (*)
-| +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (*)
-| +--- androidx.compose:compose-bom:2024.12.01 (*)
-| +--- androidx.compose.ui:ui-tooling-preview -> 1.7.6 (*)
-| \--- androidx.appcompat:appcompat:1.7.0 (*)
-+--- project :feature:update-password
-| +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
-| +--- com.google.dagger:hilt-android:2.54 (*)
-| +--- project :core:designsystem (*)
-| +--- project :core:ui (*)
-| +--- project :core:data (*)
-| +--- project :core:model (*)
-| +--- project :core:common (*)
-| +--- org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.8 (*)
-| +--- androidx.hilt:hilt-navigation-compose:1.2.0 (*)
-| +--- androidx.lifecycle:lifecycle-runtime-compose:2.8.7 (*)
-| +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (*)
-| +--- androidx.compose:compose-bom:2024.12.01 (*)
-| +--- androidx.compose.ui:ui-tooling-preview -> 1.7.6 (*)
-| \--- com.squareup.okhttp3:okhttp:4.12.0 (*)
-+--- project :feature:home
-| +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
-| +--- com.google.dagger:hilt-android:2.54 (*)
-| +--- project :core:designsystem (*)
-| +--- project :core:ui (*)
-| +--- project :core:data (*)
-| +--- project :core:model (*)
-| +--- project :core:common (*)
-| +--- org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.8 (*)
-| +--- androidx.hilt:hilt-navigation-compose:1.2.0 (*)
-| +--- androidx.lifecycle:lifecycle-runtime-compose:2.8.7 (*)
-| +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (*)
-| +--- androidx.compose:compose-bom:2024.12.01 (*)
-| +--- androidx.compose.ui:ui-tooling-preview -> 1.7.6 (*)
-| \--- com.squareup.okhttp3:okhttp:4.12.0 (*)
-+--- project :feature:auth
-| +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
-| +--- com.google.dagger:hilt-android:2.54 (*)
-| +--- project :core:designsystem (*)
-| +--- project :core:ui (*)
-| +--- project :core:data (*)
-| +--- project :core:model (*)
-| +--- project :core:common (*)
-| +--- org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.8 (*)
-| +--- androidx.hilt:hilt-navigation-compose:1.2.0 (*)
-| +--- androidx.lifecycle:lifecycle-runtime-compose:2.8.7 (*)
-| +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (*)
-| +--- androidx.compose:compose-bom:2024.12.01 (*)
-| +--- androidx.compose.ui:ui-tooling-preview -> 1.7.6 (*)
-| +--- project :libs:country-code-picker
-| | +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
-| | +--- androidx.compose:compose-bom:2024.12.01 (*)
-| | +--- androidx.compose.ui:ui-tooling-preview -> 1.7.6 (*)
-| | +--- androidx.compose.foundation:foundation -> 1.7.6 (*)
-| | +--- androidx.compose.foundation:foundation-layout -> 1.7.6 (*)
-| | +--- androidx.compose.material:material-icons-extended -> 1.7.6 (*)
-| | +--- androidx.compose.material3:material3:1.3.1 (*)
-| | +--- androidx.compose.runtime:runtime -> 1.7.6 (*)
-| | +--- androidx.compose.ui:ui-util -> 1.7.6 (*)
-| | +--- org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.8 (*)
-| | \--- io.michaelrocks:libphonenumber-android:8.13.35
-| \--- com.squareup.okhttp3:okhttp:4.12.0 (*)
-+--- project :feature:user-profile
-| +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
-| +--- com.google.dagger:hilt-android:2.54 (*)
-| +--- project :core:designsystem (*)
-| +--- project :core:ui (*)
-| +--- project :core:data (*)
-| +--- project :core:model (*)
-| +--- project :core:common (*)
-| +--- org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.8 (*)
-| +--- androidx.hilt:hilt-navigation-compose:1.2.0 (*)
-| +--- androidx.lifecycle:lifecycle-runtime-compose:2.8.7 (*)
-| +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (*)
-| +--- androidx.compose:compose-bom:2024.12.01 (*)
-| +--- androidx.compose.ui:ui-tooling-preview -> 1.7.6 (*)
-| +--- com.squareup.okhttp3:okhttp:4.12.0 (*)
-| \--- org.jetbrains.kotlin:kotlin-parcelize-runtime:2.1.0 (*)
-+--- project :libs:mifos-passcode
-| +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
-| +--- androidx.compose:compose-bom:2024.12.01 (*)
-| +--- androidx.compose.ui:ui-tooling-preview -> 1.7.6 (*)
-| +--- com.google.dagger:hilt-android:2.54 (*)
-| +--- androidx.core:core-ktx:1.15.0 (*)
-| +--- androidx.compose.foundation:foundation -> 1.7.6 (*)
-| +--- androidx.compose.foundation:foundation-layout -> 1.7.6 (*)
-| +--- androidx.compose.material:material-icons-extended -> 1.7.6 (*)
-| +--- androidx.compose.material3:material3:1.3.1 (*)
-| +--- androidx.compose.runtime:runtime -> 1.7.6 (*)
-| +--- androidx.compose.ui:ui-util -> 1.7.6 (*)
-| +--- androidx.lifecycle:lifecycle-runtime-compose:2.8.7 (*)
-| +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (*)
-| +--- androidx.navigation:navigation-compose:2.8.5 (*)
-| \--- androidx.hilt:hilt-navigation-compose:1.2.0 (*)
-+--- androidx.appcompat:appcompat:1.7.0 (*)
-+--- androidx.activity:activity-ktx:1.9.3 (*)
-+--- androidx.activity:activity-compose:1.9.3 (*)
-+--- androidx.compose.material3:material3:1.3.1 (*)
-+--- androidx.compose.material:material:1.7.6 (*)
-+--- androidx.compose.foundation:foundation -> 1.7.6 (*)
-+--- androidx.compose.foundation:foundation-layout -> 1.7.6 (*)
-+--- androidx.compose.material:material-icons-extended -> 1.7.6 (*)
-+--- androidx.compose.runtime:runtime -> 1.7.6 (*)
-+--- androidx.compose.ui:ui-util -> 1.7.6 (*)
-+--- androidx.lifecycle:lifecycle-runtime-compose:2.8.7 (*)
-+--- androidx.hilt:hilt-navigation-compose:1.2.0 (*)
-+--- androidx.core:core-splashscreen:1.0.1
-| +--- androidx.annotation:annotation:1.2.0 -> 1.8.1 (*)
-| \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 2.1.0 (*)
-+--- androidx.tracing:tracing-ktx:1.2.0 (*)
-+--- androidx.profileinstaller:profileinstaller:1.4.1 (*)
-+--- com.google.android.gms:play-services-oss-licenses:17.1.0
-| +--- androidx.appcompat:appcompat:1.0.0 -> 1.7.0 (*)
-| +--- androidx.loader:loader:1.0.0 (*)
-| +--- com.google.android.gms:play-services-base:18.5.0 (*)
-| +--- com.google.android.gms:play-services-basement:18.4.0 (*)
-| \--- com.google.android.gms:play-services-tasks:18.2.0 (*)
-\--- androidx.multidex:multidex:2.0.1
diff --git a/androidApp/dependencies/releaseRuntimeClasspath.txt b/androidApp/dependencies/releaseRuntimeClasspath.txt
deleted file mode 100644
index 3f7ecb2b6e..0000000000
--- a/androidApp/dependencies/releaseRuntimeClasspath.txt
+++ /dev/null
@@ -1,291 +0,0 @@
-:core:common
-:core:data
-:core:database
-:core:datastore
-:core:designsystem
-:core:logs
-:core:model
-:core:network
-:core:qrcode
-:core:ui
-:feature:about
-:feature:account
-:feature:auth
-:feature:beneficiary
-:feature:client-charge
-:feature:guarantor
-:feature:help
-:feature:home
-:feature:loan
-:feature:location
-:feature:notification
-:feature:qr
-:feature:recent-transaction
-:feature:savings
-:feature:settings
-:feature:third-party-transfer
-:feature:transfer-process
-:feature:update-password
-:feature:user-profile
-:libs:country-code-picker
-:libs:mifos-passcode
-:libs:pullrefresh
-:shared
-androidx.activity:activity-compose:1.9.3
-androidx.activity:activity-ktx:1.9.3
-androidx.activity:activity:1.9.3
-androidx.annotation:annotation-experimental:1.4.1
-androidx.annotation:annotation-jvm:1.8.1
-androidx.annotation:annotation:1.8.1
-androidx.appcompat:appcompat-resources:1.7.0
-androidx.appcompat:appcompat:1.7.0
-androidx.arch.core:core-common:2.2.0
-androidx.arch.core:core-runtime:2.2.0
-androidx.autofill:autofill:1.0.0
-androidx.camera:camera-camera2:1.4.1
-androidx.camera:camera-core:1.4.1
-androidx.camera:camera-lifecycle:1.4.1
-androidx.camera:camera-video:1.4.1
-androidx.camera:camera-view:1.4.1
-androidx.collection:collection-jvm:1.4.4
-androidx.collection:collection-ktx:1.4.4
-androidx.collection:collection:1.4.4
-androidx.compose.animation:animation-android:1.7.6
-androidx.compose.animation:animation-core-android:1.7.6
-androidx.compose.animation:animation-core:1.7.6
-androidx.compose.animation:animation:1.7.6
-androidx.compose.foundation:foundation-android:1.7.6
-androidx.compose.foundation:foundation-layout-android:1.7.6
-androidx.compose.foundation:foundation-layout:1.7.6
-androidx.compose.foundation:foundation:1.7.6
-androidx.compose.material3:material3-android:1.3.1
-androidx.compose.material3:material3:1.3.1
-androidx.compose.material:material-android:1.7.6
-androidx.compose.material:material-icons-core-android:1.7.6
-androidx.compose.material:material-icons-core:1.7.6
-androidx.compose.material:material-icons-extended-android:1.7.6
-androidx.compose.material:material-icons-extended:1.7.6
-androidx.compose.material:material-ripple-android:1.7.6
-androidx.compose.material:material-ripple:1.7.6
-androidx.compose.material:material:1.7.6
-androidx.compose.runtime:runtime-android:1.7.6
-androidx.compose.runtime:runtime-saveable-android:1.7.6
-androidx.compose.runtime:runtime-saveable:1.7.6
-androidx.compose.runtime:runtime:1.7.6
-androidx.compose.ui:ui-android:1.7.6
-androidx.compose.ui:ui-geometry-android:1.7.6
-androidx.compose.ui:ui-geometry:1.7.6
-androidx.compose.ui:ui-graphics-android:1.7.6
-androidx.compose.ui:ui-graphics:1.7.6
-androidx.compose.ui:ui-text-android:1.7.6
-androidx.compose.ui:ui-text:1.7.6
-androidx.compose.ui:ui-tooling-preview-android:1.7.6
-androidx.compose.ui:ui-tooling-preview:1.7.6
-androidx.compose.ui:ui-unit-android:1.7.6
-androidx.compose.ui:ui-unit:1.7.6
-androidx.compose.ui:ui-util-android:1.7.6
-androidx.compose.ui:ui-util:1.7.6
-androidx.compose.ui:ui:1.7.6
-androidx.compose:compose-bom:2024.12.01
-androidx.concurrent:concurrent-futures-ktx:1.1.0
-androidx.concurrent:concurrent-futures:1.1.0
-androidx.core:core-ktx:1.15.0
-androidx.core:core-splashscreen:1.0.1
-androidx.core:core:1.15.0
-androidx.cursoradapter:cursoradapter:1.0.0
-androidx.customview:customview-poolingcontainer:1.0.0
-androidx.customview:customview:1.0.0
-androidx.databinding:viewbinding:7.4.2
-androidx.datastore:datastore-core:1.0.0
-androidx.datastore:datastore-preferences-core:1.0.0
-androidx.datastore:datastore-preferences:1.0.0
-androidx.datastore:datastore:1.0.0
-androidx.documentfile:documentfile:1.0.0
-androidx.drawerlayout:drawerlayout:1.0.0
-androidx.emoji2:emoji2-views-helper:1.3.0
-androidx.emoji2:emoji2:1.3.0
-androidx.exifinterface:exifinterface:1.3.2
-androidx.fragment:fragment-ktx:1.8.3
-androidx.fragment:fragment:1.8.3
-androidx.graphics:graphics-path:1.0.1
-androidx.hilt:hilt-navigation-compose:1.2.0
-androidx.hilt:hilt-navigation:1.2.0
-androidx.interpolator:interpolator:1.0.0
-androidx.legacy:legacy-support-core-utils:1.0.0
-androidx.lifecycle:lifecycle-common-java8:2.8.7
-androidx.lifecycle:lifecycle-common-jvm:2.8.7
-androidx.lifecycle:lifecycle-common:2.8.7
-androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7
-androidx.lifecycle:lifecycle-livedata-core:2.8.7
-androidx.lifecycle:lifecycle-livedata:2.8.7
-androidx.lifecycle:lifecycle-process:2.8.7
-androidx.lifecycle:lifecycle-runtime-android:2.8.7
-androidx.lifecycle:lifecycle-runtime-compose-android:2.8.7
-androidx.lifecycle:lifecycle-runtime-compose:2.8.7
-androidx.lifecycle:lifecycle-runtime-ktx-android:2.8.7
-androidx.lifecycle:lifecycle-runtime-ktx:2.8.7
-androidx.lifecycle:lifecycle-runtime:2.8.7
-androidx.lifecycle:lifecycle-viewmodel-android:2.8.7
-androidx.lifecycle:lifecycle-viewmodel-compose-android:2.8.7
-androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7
-androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7
-androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7
-androidx.lifecycle:lifecycle-viewmodel:2.8.7
-androidx.loader:loader:1.0.0
-androidx.localbroadcastmanager:localbroadcastmanager:1.0.0
-androidx.metrics:metrics-performance:1.0.0-beta01
-androidx.multidex:multidex:2.0.1
-androidx.navigation:navigation-common-ktx:2.8.5
-androidx.navigation:navigation-common:2.8.5
-androidx.navigation:navigation-compose:2.8.5
-androidx.navigation:navigation-runtime-ktx:2.8.5
-androidx.navigation:navigation-runtime:2.8.5
-androidx.print:print:1.0.0
-androidx.privacysandbox.ads:ads-adservices-java:1.0.0-beta05
-androidx.privacysandbox.ads:ads-adservices:1.0.0-beta05
-androidx.profileinstaller:profileinstaller:1.4.1
-androidx.resourceinspection:resourceinspection-annotation:1.0.1
-androidx.room:room-common:2.6.1
-androidx.room:room-ktx:2.6.1
-androidx.room:room-runtime:2.6.1
-androidx.savedstate:savedstate-ktx:1.2.1
-androidx.savedstate:savedstate:1.2.1
-androidx.sqlite:sqlite-framework:2.4.0
-androidx.sqlite:sqlite:2.4.0
-androidx.startup:startup-runtime:1.1.1
-androidx.tracing:tracing-ktx:1.2.0
-androidx.tracing:tracing:1.2.0
-androidx.vectordrawable:vectordrawable-animated:1.1.0
-androidx.vectordrawable:vectordrawable:1.1.0
-androidx.versionedparcelable:versionedparcelable:1.1.1
-androidx.viewpager:viewpager:1.0.0
-app.cash.turbine:turbine-jvm:1.1.0
-app.cash.turbine:turbine:1.1.0
-co.touchlab:stately-concurrency-jvm:2.1.0
-co.touchlab:stately-concurrency:2.1.0
-co.touchlab:stately-concurrent-collections-jvm:2.1.0
-co.touchlab:stately-concurrent-collections:2.1.0
-co.touchlab:stately-strict-jvm:2.1.0
-co.touchlab:stately-strict:2.1.0
-com.google.accompanist:accompanist-pager:0.34.0
-com.google.accompanist:accompanist-permissions:0.34.0
-com.google.android.datatransport:transport-api:3.2.0
-com.google.android.datatransport:transport-backend-cct:3.3.0
-com.google.android.datatransport:transport-runtime:3.3.0
-com.google.android.gms:play-services-ads-identifier:18.0.0
-com.google.android.gms:play-services-base:18.5.0
-com.google.android.gms:play-services-basement:18.4.0
-com.google.android.gms:play-services-cloud-messaging:17.2.0
-com.google.android.gms:play-services-maps:18.2.0
-com.google.android.gms:play-services-measurement-api:22.1.2
-com.google.android.gms:play-services-measurement-base:22.1.2
-com.google.android.gms:play-services-measurement-impl:22.1.2
-com.google.android.gms:play-services-measurement-sdk-api:22.1.2
-com.google.android.gms:play-services-measurement-sdk:22.1.2
-com.google.android.gms:play-services-measurement:22.1.2
-com.google.android.gms:play-services-oss-licenses:17.1.0
-com.google.android.gms:play-services-stats:17.0.2
-com.google.android.gms:play-services-tasks:18.2.0
-com.google.auto.value:auto-value-annotations:1.6.3
-com.google.code.findbugs:jsr305:3.0.2
-com.google.code.gson:gson:2.10.1
-com.google.dagger:dagger-lint-aar:2.54
-com.google.dagger:dagger:2.54
-com.google.dagger:hilt-android:2.54
-com.google.dagger:hilt-core:2.54
-com.google.errorprone:error_prone_annotations:2.26.0
-com.google.firebase:firebase-abt:21.1.1
-com.google.firebase:firebase-analytics-ktx:22.1.2
-com.google.firebase:firebase-analytics:22.1.2
-com.google.firebase:firebase-annotations:16.2.0
-com.google.firebase:firebase-bom:33.7.0
-com.google.firebase:firebase-common-ktx:21.0.0
-com.google.firebase:firebase-common:21.0.0
-com.google.firebase:firebase-components:18.0.0
-com.google.firebase:firebase-config-interop:16.0.1
-com.google.firebase:firebase-config:22.0.1
-com.google.firebase:firebase-crashlytics-ktx:19.3.0
-com.google.firebase:firebase-crashlytics:19.3.0
-com.google.firebase:firebase-datatransport:19.0.0
-com.google.firebase:firebase-encoders-json:18.0.1
-com.google.firebase:firebase-encoders-proto:16.0.0
-com.google.firebase:firebase-encoders:17.0.0
-com.google.firebase:firebase-iid-interop:17.1.0
-com.google.firebase:firebase-installations-interop:17.2.0
-com.google.firebase:firebase-installations:18.0.0
-com.google.firebase:firebase-measurement-connector:20.0.1
-com.google.firebase:firebase-messaging-ktx:24.1.0
-com.google.firebase:firebase-messaging:24.1.0
-com.google.firebase:firebase-perf-ktx:21.0.3
-com.google.firebase:firebase-perf:21.0.3
-com.google.firebase:firebase-sessions:2.0.7
-com.google.firebase:protolite-well-known-types:18.0.0
-com.google.guava:failureaccess:1.0.1
-com.google.guava:guava:31.1-android
-com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
-com.google.j2objc:j2objc-annotations:1.3
-com.google.maps.android:maps-compose:4.4.1
-com.google.maps.android:maps-ktx:5.0.0
-com.google.protobuf:protobuf-javalite:3.25.5
-com.google.zxing:core:3.5.3
-com.squareup.okhttp3:logging-interceptor:4.12.0
-com.squareup.okhttp3:okhttp:4.12.0
-com.squareup.okio:okio-jvm:3.6.0
-com.squareup.okio:okio:3.6.0
-com.squareup.retrofit2:adapter-rxjava2:2.11.0
-com.squareup.retrofit2:converter-gson:2.11.0
-com.squareup.retrofit2:retrofit:2.11.0
-dev.chrisbanes.snapper:snapper:0.2.2
-io.github.mr0xf00:easycrop:0.1.1
-io.insert-koin:koin-android:4.0.0
-io.insert-koin:koin-androidx-compose:4.0.0
-io.insert-koin:koin-compose-jvm:4.0.0
-io.insert-koin:koin-compose-viewmodel-jvm:4.0.0
-io.insert-koin:koin-compose-viewmodel:4.0.0
-io.insert-koin:koin-compose:4.0.0
-io.insert-koin:koin-core-jvm:4.0.0
-io.insert-koin:koin-core-viewmodel-jvm:4.0.0
-io.insert-koin:koin-core-viewmodel:4.0.0
-io.insert-koin:koin-core:4.0.0
-io.michaelrocks:libphonenumber-android:8.13.35
-io.reactivex.rxjava2:rxjava:2.2.21
-jakarta.inject:jakarta.inject-api:2.0.1
-javax.inject:javax.inject:1
-net.bytebuddy:byte-buddy-agent:1.14.8
-net.bytebuddy:byte-buddy:1.14.8
-org.checkerframework:checker-qual:3.12.0
-org.jetbrains.androidx.core:core-bundle-android:1.0.0
-org.jetbrains.androidx.core:core-bundle:1.0.0
-org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-compose:2.8.0
-org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.0
-org.jetbrains.androidx.lifecycle:lifecycle-viewmodel:2.8.0
-org.jetbrains.androidx.savedstate:savedstate:1.2.0
-org.jetbrains.compose.material3:material3:1.6.11
-org.jetbrains.compose.material:material:1.6.11
-org.jetbrains.compose.runtime:runtime:1.6.11
-org.jetbrains.compose.ui:ui-tooling-preview:1.6.11
-org.jetbrains.kotlin:kotlin-android-extensions-runtime:2.1.0
-org.jetbrains.kotlin:kotlin-parcelize-runtime:2.1.0
-org.jetbrains.kotlin:kotlin-stdlib-common:2.1.0
-org.jetbrains.kotlin:kotlin-stdlib-jdk7:2.1.0
-org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.10
-org.jetbrains.kotlin:kotlin-stdlib:2.1.0
-org.jetbrains.kotlinx:kotlinx-collections-immutable-jvm:0.3.8
-org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.8
-org.jetbrains.kotlinx:kotlinx-coroutines-android:1.10.1
-org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.10.1
-org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.10.1
-org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.1
-org.jetbrains.kotlinx:kotlinx-coroutines-play-services:1.10.1
-org.jetbrains.kotlinx:kotlinx-coroutines-test-jvm:1.10.1
-org.jetbrains.kotlinx:kotlinx-coroutines-test:1.10.1
-org.jetbrains.kotlinx:kotlinx-serialization-bom:1.8.0-RC
-org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.8.0-RC
-org.jetbrains.kotlinx:kotlinx-serialization-core:1.8.0-RC
-org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.8.0-RC
-org.jetbrains.kotlinx:kotlinx-serialization-json:1.8.0-RC
-org.jetbrains:annotations:23.0.0
-org.jspecify:jspecify:1.0.0
-org.mockito:mockito-core:5.6.0
-org.objenesis:objenesis:3.3
-org.reactivestreams:reactive-streams:1.0.4
diff --git a/androidApp/fabric.properties b/androidApp/fabric.properties
deleted file mode 100644
index f9a4089209..0000000000
--- a/androidApp/fabric.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-#Contains API Secret used to validate your application. Commit to internal source control; avoid making secret public.
-#Sat Mar 18 19:05:50 IST 2017
-apiSecret=b1223f313bc61fc21ddb9ebdc11b5237316b542747529b9ceb3e37336dc2f6cf
-apiKey=8ba36d680cc2cdc9b6e9c86e692b10c949ad0949
diff --git a/androidApp/google-services.json b/androidApp/google-services.json
deleted file mode 100644
index bf28d51798..0000000000
--- a/androidApp/google-services.json
+++ /dev/null
@@ -1,55 +0,0 @@
-{
- "project_info": {
- "project_number": "622027757397",
- "firebase_url": "https://mifosmaps.firebaseio.com",
- "project_id": "mifosmaps",
- "storage_bucket": "mifosmaps.appspot.com"
- },
- "client": [
- {
- "client_info": {
- "mobilesdk_app_id": "1:622027757397:android:29f731fdcd3a65a6",
- "android_client_info": {
- "package_name": "org.mifos.mobile.demo"
- }
- },
- "oauth_client": [
- {
- "client_id": "622027757397-ju1gahmo27fjfc39v5drlnn3838rleiq.apps.googleusercontent.com",
- "client_type": 1,
- "android_info": {
- "package_name": "org.mifos.mobile",
- "certificate_hash": "2f8ce9c728acf6b9c50750b328742d5391c0b303"
- }
- },
- {
- "client_id": "622027757397-k76e8mb3s75ktuj5c011ng0r7mnmbgkr.apps.googleusercontent.com",
- "client_type": 3
- }
- ],
- "api_key": [
- {
- "current_key": "AIzaSyCsoeQjAaAum-1VFKJL9vxOhGN8E9s0Plw"
- }
- ],
- "services": {
- "analytics_service": {
- "status": 1
- },
- "appinvite_service": {
- "status": 2,
- "other_platform_oauth_client": [
- {
- "client_id": "622027757397-o2k3acan0jdhf7t0uddd9o4fd72bedda.apps.googleusercontent.com",
- "client_type": 3
- }
- ]
- },
- "ads_service": {
- "status": 2
- }
- }
- }
- ],
- "configuration_version": "1"
-}
\ No newline at end of file
diff --git a/androidApp/lint-baseline.xml b/androidApp/lint-baseline.xml
deleted file mode 100644
index 230ed0be70..0000000000
--- a/androidApp/lint-baseline.xml
+++ /dev/null
@@ -1,46876 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/androidApp/proguard-rules.pro b/androidApp/proguard-rules.pro
deleted file mode 100644
index 9dbebd9c7f..0000000000
--- a/androidApp/proguard-rules.pro
+++ /dev/null
@@ -1,17 +0,0 @@
-# Add project specific ProGuard rules here.
-# By default, the flags in this file are appended to flags specified
-# in /Users/ishan/Library/Android/sdk/tools/proguard/proguard-android.txt
-# You can edit the include path and order by changing the proguardFiles
-# directive in build.gradle.kts.
-#
-# For more details, see
-# http://developer.android.com/guide/developing/tools/proguard.html
-
-# Add any project specific keep options here:
-
-# If your project uses WebView with JS, uncomment the following
-# and specify the fully qualified class name to the JavaScript interface
-# class:
-#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
-# public *;
-#}
diff --git a/androidApp/release-badging.txt b/androidApp/release-badging.txt
deleted file mode 100644
index 43dd966033..0000000000
--- a/androidApp/release-badging.txt
+++ /dev/null
@@ -1,136 +0,0 @@
-package: name='org.mifos.mobile' versionCode='1' versionName='2024.12.5-beta.0.5' platformBuildVersionName='14' platformBuildVersionCode='34' compileSdkVersion='34' compileSdkVersionCodename='14'
-sdkVersion:'26'
-targetSdkVersion:'34'
-uses-permission: name='android.permission.INTERNET'
-uses-permission: name='android.permission.READ_MEDIA_IMAGES'
-uses-permission: name='android.permission.CAMERA'
-uses-permission: name='android.permission.READ_PHONE_STATE'
-uses-permission: name='android.permission.WRITE_EXTERNAL_STORAGE'
-uses-permission: name='android.permission.READ_EXTERNAL_STORAGE'
-uses-permission: name='android.permission.ACCESS_NETWORK_STATE'
-uses-permission: name='android.permission.VIBRATE'
-uses-permission: name='android.permission.POST_NOTIFICATIONS'
-uses-permission: name='android.permission.WAKE_LOCK'
-uses-permission: name='com.google.android.c2dm.permission.RECEIVE'
-uses-permission: name='android.permission.ACCESS_ADSERVICES_ATTRIBUTION'
-uses-permission: name='android.permission.ACCESS_ADSERVICES_AD_ID'
-uses-permission: name='com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE'
-uses-permission: name='org.mifos.mobile.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION'
-application-label:'Mifos Mobile'
-application-label-af:'Mifos Mobile'
-application-label-am:'Mifos Mobile'
-application-label-ar:'ميفوس موبايل'
-application-label-as:'Mifos Mobile'
-application-label-az:'Mifos Mobile'
-application-label-be:'Mifos Mobile'
-application-label-bg:'Mifos Mobile'
-application-label-bn:'Mifos Mobile'
-application-label-bs:'Mifos Mobile'
-application-label-ca:'Mifos Mobile'
-application-label-cs:'Mifos Mobile'
-application-label-da:'Mifos Mobile'
-application-label-de:'Mifos Mobile'
-application-label-el:'Mifos Mobile'
-application-label-en-AU:'Mifos Mobile'
-application-label-en-CA:'Mifos Mobile'
-application-label-en-GB:'Mifos Mobile'
-application-label-en-IN:'Mifos Mobile'
-application-label-en-XC:'Mifos Mobile'
-application-label-es:'Mifos Mobile'
-application-label-es-US:'Mifos Mobile'
-application-label-et:'Mifos Mobile'
-application-label-eu:'Mifos Mobile'
-application-label-fa:'Mifos Mobile'
-application-label-fa-AF:'Mifos Mobile'
-application-label-fi:'Mifos Mobile'
-application-label-fr:'Mifos Mobile'
-application-label-fr-CA:'Mifos Mobile'
-application-label-gl:'Mifos Mobile'
-application-label-gu:'Mifos Mobile'
-application-label-hi:'Mifos Mobile'
-application-label-hr:'Mifos Mobile'
-application-label-hu:'Mifos Mobile'
-application-label-hy:'Mifos Mobile'
-application-label-in:'Mifos Mobile'
-application-label-is:'Mifos Mobile'
-application-label-it:'Mifos Mobile'
-application-label-it-IT:'Mifos Mobile'
-application-label-iw:'Mifos Mobile'
-application-label-ja:'Mifos Mobile'
-application-label-ka:'Mifos Mobile'
-application-label-kk:'Mifos Mobile'
-application-label-km:'Mifos Mobile'
-application-label-kn:'Mifos Mobile'
-application-label-ko:'Mifos Mobile'
-application-label-ky:'Mifos Mobile'
-application-label-lo:'Mifos Mobile'
-application-label-lt:'Mifos Mobile'
-application-label-lv:'Mifos Mobile'
-application-label-mk:'Mifos Mobile'
-application-label-ml:'Mifos Mobile'
-application-label-mn:'Mifos Mobile'
-application-label-mr:'Mifos Mobile'
-application-label-ms:'Mifos Mobile'
-application-label-my:'Mifos မိုဘိုင်း'
-application-label-nb:'Mifos Mobile'
-application-label-ne:'Mifos Mobile'
-application-label-nl:'Mifos Mobile'
-application-label-or:'Mifos Mobile'
-application-label-pa:'Mifos Mobile'
-application-label-pl:'Mifos Mobile'
-application-label-pt:'Mifos Mobile'
-application-label-pt-BR:'Mifos Mobile'
-application-label-pt-PT:'Mifos Mobile'
-application-label-ro:'Mifos Mobile'
-application-label-ru:'Mifos Mobile'
-application-label-ru-RU:'Mifos Mobile'
-application-label-si:'Mifos Mobile'
-application-label-sk:'Mifos Mobile'
-application-label-sl:'Mifos Mobile'
-application-label-so:'Mifos Mobile'
-application-label-sq:'Mifos Mobile'
-application-label-sr:'Mifos Mobile'
-application-label-sr-Latn:'Mifos Mobile'
-application-label-sv:'Mifos Mobile'
-application-label-sw:'Mifos Mobile'
-application-label-ta:'Mifos Mobile'
-application-label-te:'Mifos Mobile'
-application-label-th:'Mifos Mobile'
-application-label-tl:'Mifos Mobile'
-application-label-tr:'Mifos Mobile'
-application-label-tr-TR:'Mifos Mobile'
-application-label-uk:'Mifos Mobile'
-application-label-ur:'Mifos موبائل'
-application-label-uz:'Mifos Mobile'
-application-label-vi:'Mifos Mobile'
-application-label-zh:'Mifos Mobile'
-application-label-zh-CN:'Mifos Mobile'
-application-label-zh-HK:'Mifos Mobile'
-application-label-zh-TW:'Mifos Mobile'
-application-label-zu:'Mifos Mobile'
-application-icon-160:'res/mipmap-anydpi-v26/ic_launcher.xml'
-application-icon-240:'res/mipmap-anydpi-v26/ic_launcher.xml'
-application-icon-320:'res/mipmap-anydpi-v26/ic_launcher.xml'
-application-icon-480:'res/mipmap-anydpi-v26/ic_launcher.xml'
-application-icon-640:'res/mipmap-anydpi-v26/ic_launcher.xml'
-application-icon-65534:'res/mipmap-anydpi-v26/ic_launcher.xml'
-application: label='Mifos Mobile' icon='res/mipmap-anydpi-v26/ic_launcher.xml'
-launchable-activity: name='org.mifos.mobile.HomeActivity' label='' icon=''
-uses-library-not-required:'org.apache.http.legacy'
-property: name='android.adservices.AD_SERVICES_CONFIG' resource='res/xml/ga_ad_services_config.xml'
-uses-library-not-required:'android.ext.adservices'
-feature-group: label=''
- uses-gl-es: '0x20000'
- uses-feature-not-required: name='android.hardware.camera'
- uses-feature: name='android.hardware.camera.any'
- uses-feature: name='android.hardware.faketouch'
- uses-implied-feature: name='android.hardware.faketouch' reason='default feature for all apps'
-main
-other-activities
-other-receivers
-other-services
-supports-screens: 'small' 'normal' 'large' 'xlarge'
-supports-any-density: 'true'
-locales: '--_--' 'af' 'am' 'ar' 'as' 'az' 'be' 'bg' 'bn' 'bs' 'ca' 'cs' 'da' 'de' 'el' 'en-AU' 'en-CA' 'en-GB' 'en-IN' 'en-XC' 'es' 'es-US' 'et' 'eu' 'fa' 'fa-AF' 'fi' 'fr' 'fr-CA' 'gl' 'gu' 'hi' 'hr' 'hu' 'hy' 'in' 'is' 'it' 'it-IT' 'iw' 'ja' 'ka' 'kk' 'km' 'kn' 'ko' 'ky' 'lo' 'lt' 'lv' 'mk' 'ml' 'mn' 'mr' 'ms' 'my' 'nb' 'ne' 'nl' 'or' 'pa' 'pl' 'pt' 'pt-BR' 'pt-PT' 'ro' 'ru' 'ru-RU' 'si' 'sk' 'sl' 'so' 'sq' 'sr' 'sr-Latn' 'sv' 'sw' 'ta' 'te' 'th' 'tl' 'tr' 'tr-TR' 'uk' 'ur' 'uz' 'vi' 'zh' 'zh-CN' 'zh-HK' 'zh-TW' 'zu'
-densities: '160' '240' '320' '480' '640' '65534'
-native-code: 'arm64-v8a' 'armeabi-v7a' 'x86' 'x86_64'
diff --git a/androidApp/src/androidTest/kotlin/org/mifos/mobile/ApplicationTest.kt b/androidApp/src/androidTest/kotlin/org/mifos/mobile/ApplicationTest.kt
deleted file mode 100644
index fed7a4073c..0000000000
--- a/androidApp/src/androidTest/kotlin/org/mifos/mobile/ApplicationTest.kt
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright 2024 Mifos Initiative
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at https://mozilla.org/MPL/2.0/.
- *
- * See https://github.com/openMF/mobile-mobile/blob/master/LICENSE.md
- */
-package org.mifos.mobile
-
-import androidx.test.InstrumentationRegistry
-import androidx.test.runner.AndroidJUnit4
-import org.junit.Assert
-import org.junit.Test
-import org.junit.runner.RunWith
-
-/**
- * [Testing Fundamentals](http://d.android.com/tools/testing/testing_android.html)
- */
-@RunWith(AndroidJUnit4::class)
-class ApplicationTest {
- @Test
- fun useAppContext() {
- // Context of the app under test.
- val appContext = InstrumentationRegistry.getTargetContext()
- Assert.assertEquals("org.mifos.mobile", appContext.packageName)
- }
-}
diff --git a/androidApp/src/main/AndroidManifest.xml b/androidApp/src/main/AndroidManifest.xml
deleted file mode 100644
index a7eb8a7797..0000000000
--- a/androidApp/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/androidApp/src/main/ic_launcher-playstore.png b/androidApp/src/main/ic_launcher-playstore.png
deleted file mode 100644
index a09ac89ad9..0000000000
Binary files a/androidApp/src/main/ic_launcher-playstore.png and /dev/null differ
diff --git a/androidApp/src/main/kotlin/org/mifos/mobile/HomeActivity.kt b/androidApp/src/main/kotlin/org/mifos/mobile/HomeActivity.kt
deleted file mode 100644
index 66d7682cbd..0000000000
--- a/androidApp/src/main/kotlin/org/mifos/mobile/HomeActivity.kt
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Copyright 2024 Mifos Initiative
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at https://mozilla.org/MPL/2.0/.
- *
- * See https://github.com/openMF/mobile-mobile/blob/master/LICENSE.md
- */
-package org.mifos.mobile
-
-import android.os.Bundle
-import androidx.activity.ComponentActivity
-import androidx.activity.compose.setContent
-import androidx.activity.enableEdgeToEdge
-import androidx.activity.viewModels
-import androidx.compose.foundation.isSystemInDarkTheme
-import androidx.compose.runtime.CompositionLocalProvider
-import androidx.compose.runtime.DisposableEffect
-import androidx.compose.runtime.getValue
-import androidx.compose.runtime.mutableStateOf
-import androidx.compose.runtime.setValue
-import androidx.compose.ui.graphics.toArgb
-import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen
-import androidx.lifecycle.Lifecycle
-import androidx.lifecycle.lifecycleScope
-import androidx.lifecycle.repeatOnLifecycle
-import androidx.navigation.compose.rememberNavController
-import dagger.hilt.android.AndroidEntryPoint
-import kotlinx.coroutines.flow.collect
-import kotlinx.coroutines.flow.onEach
-import kotlinx.coroutines.launch
-import org.mifos.mobile.HomeActivityUiState.Success
-import org.mifos.mobile.core.data.utils.NetworkMonitor
-import org.mifos.mobile.core.designsystem.theme.MifosMobileTheme
-import org.mifos.mobile.core.designsystem.theme.darkScrim
-import org.mifos.mobile.core.designsystem.theme.lightScrim
-import org.mifos.mobile.navigation.MifosNavGraph.AUTH_GRAPH
-import org.mifos.mobile.navigation.MifosNavGraph.PASSCODE_GRAPH
-import org.mifos.mobile.navigation.RootNavGraph
-import org.mifos.mobile.ui.rememberMifosMobileState
-import javax.inject.Inject
-
-@AndroidEntryPoint
-class HomeActivity : ComponentActivity() {
-
- @Inject
- lateinit var networkMonitor: NetworkMonitor
-
- private val viewModel: HomeActivityViewModel by viewModels()
-
- override fun onCreate(savedInstanceState: Bundle?) {
- val splashScreen = installSplashScreen()
- super.onCreate(savedInstanceState)
- var uiState: HomeActivityUiState by mutableStateOf(HomeActivityUiState.Loading)
-
- // Update the uiState
- lifecycleScope.launch {
- lifecycle.repeatOnLifecycle(Lifecycle.State.STARTED) {
- viewModel.uiState
- .onEach { uiState = it }
- .collect()
- }
- }
-
- splashScreen.setKeepOnScreenCondition {
- when (uiState) {
- HomeActivityUiState.Loading -> true
- is Success -> false
- }
- }
-
- enableEdgeToEdge()
-
- setContent {
- val navController = rememberNavController()
-
- val appState = rememberMifosMobileState(networkMonitor = networkMonitor)
- val darkTheme = isSystemInDarkTheme()
- val navDestination = when (uiState) {
- is Success -> if ((uiState as Success).userData.isAuthenticated) {
- PASSCODE_GRAPH
- } else {
- AUTH_GRAPH
- }
-
- else -> AUTH_GRAPH
- }
-
- DisposableEffect(darkTheme) {
- window?.statusBarColor = if (darkTheme) darkScrim.toArgb() else lightScrim.toArgb()
- window?.navigationBarColor = if (darkTheme) darkScrim.toArgb() else lightScrim.toArgb()
- onDispose {}
- }
-
- CompositionLocalProvider {
- MifosMobileTheme {
- RootNavGraph(
- appState = appState,
- navHostController = navController,
- startDestination = navDestination,
- onClickLogout = {
- viewModel.logOut()
- navController.navigate(AUTH_GRAPH) {
- popUpTo(navController.graph.id) {
- inclusive = true
- }
- }
- },
- )
- }
- }
- }
- }
-}
diff --git a/androidApp/src/main/kotlin/org/mifos/mobile/HomeActivityViewModel.kt b/androidApp/src/main/kotlin/org/mifos/mobile/HomeActivityViewModel.kt
deleted file mode 100644
index fdfc7e533e..0000000000
--- a/androidApp/src/main/kotlin/org/mifos/mobile/HomeActivityViewModel.kt
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright 2024 Mifos Initiative
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at https://mozilla.org/MPL/2.0/.
- *
- * See https://github.com/openMF/mobile-mobile/blob/master/LICENSE.md
- */
-package org.mifos.mobile
-
-import androidx.lifecycle.ViewModel
-import androidx.lifecycle.viewModelScope
-import dagger.hilt.android.lifecycle.HiltViewModel
-import kotlinx.coroutines.flow.SharingStarted
-import kotlinx.coroutines.flow.StateFlow
-import kotlinx.coroutines.flow.map
-import kotlinx.coroutines.flow.stateIn
-import kotlinx.coroutines.launch
-import org.mifos.library.passcode.data.PasscodeManager
-import org.mifos.mobile.core.data.repository.UserDataRepository
-import org.mifos.mobile.core.model.UserData
-import javax.inject.Inject
-
-@HiltViewModel
-class HomeActivityViewModel @Inject constructor(
- private val userDataRepository: UserDataRepository,
- private val passcodeManager: PasscodeManager,
-) : ViewModel() {
-
- val uiState: StateFlow = userDataRepository.userData.map {
- HomeActivityUiState.Success(it)
- }.stateIn(
- scope = viewModelScope,
- initialValue = HomeActivityUiState.Loading,
- started = SharingStarted.WhileSubscribed(5_000),
- )
-
- fun logOut() {
- viewModelScope.launch {
- userDataRepository.logOut()
- passcodeManager.clearPasscode()
- }
- }
-}
-
-sealed interface HomeActivityUiState {
- data object Loading : HomeActivityUiState
- data class Success(val userData: UserData) : HomeActivityUiState
-}
diff --git a/androidApp/src/main/kotlin/org/mifos/mobile/MifosSelfServiceApp.kt b/androidApp/src/main/kotlin/org/mifos/mobile/MifosSelfServiceApp.kt
deleted file mode 100644
index 2d961f23fb..0000000000
--- a/androidApp/src/main/kotlin/org/mifos/mobile/MifosSelfServiceApp.kt
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Copyright 2024 Mifos Initiative
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at https://mozilla.org/MPL/2.0/.
- *
- * See https://github.com/openMF/mobile-mobile/blob/master/LICENSE.md
- */
-package org.mifos.mobile
-
-import androidx.multidex.MultiDex
-import androidx.multidex.MultiDexApplication
-import dagger.hilt.android.HiltAndroidApp
-import org.mifos.mobile.core.datastore.PreferencesHelper
-import org.mifos.mobile.feature.settings.applySavedTheme
-
-@HiltAndroidApp
-class MifosSelfServiceApp : MultiDexApplication() {
- override fun onCreate() {
- super.onCreate()
- MultiDex.install(this)
- PreferencesHelper(this).applySavedTheme()
- }
-}
diff --git a/androidApp/src/main/kotlin/org/mifos/mobile/navigation/MifosNavHost.kt b/androidApp/src/main/kotlin/org/mifos/mobile/navigation/MifosNavHost.kt
deleted file mode 100644
index e161cd4483..0000000000
--- a/androidApp/src/main/kotlin/org/mifos/mobile/navigation/MifosNavHost.kt
+++ /dev/null
@@ -1,281 +0,0 @@
-/*
- * Copyright 2024 Mifos Initiative
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at https://mozilla.org/MPL/2.0/.
- *
- * See https://github.com/openMF/mobile-mobile/blob/master/LICENSE.md
- */
-package org.mifos.mobile.navigation
-
-import android.app.Activity
-import android.content.Context
-import android.content.Intent
-import android.net.Uri
-import android.provider.Settings
-import android.widget.Toast
-import androidx.compose.runtime.Composable
-import androidx.compose.ui.Modifier
-import androidx.compose.ui.platform.LocalContext
-import androidx.navigation.NavHostController
-import androidx.navigation.compose.NavHost
-import androidx.navigation.compose.rememberNavController
-import com.google.android.gms.oss.licenses.OssLicensesMenuActivity
-import org.mifos.mobile.HomeActivity
-import org.mifos.mobile.R
-import org.mifos.mobile.core.common.Constants.TRANSFER_PAY_TO
-import org.mifos.mobile.core.model.enums.AccountType
-import org.mifos.mobile.core.model.enums.ChargeType
-import org.mifos.mobile.feature.about.navigation.aboutUsNavGraph
-import org.mifos.mobile.feature.about.navigation.navigateToAboutUsScreen
-import org.mifos.mobile.feature.account.navigation.clientAccountsNavGraph
-import org.mifos.mobile.feature.account.navigation.navigateToClientAccountsScreen
-import org.mifos.mobile.feature.auth.navigation.navigateToLoginScreen
-import org.mifos.mobile.feature.beneficiary.navigation.beneficiaryNavGraph
-import org.mifos.mobile.feature.beneficiary.navigation.navigateToAddBeneficiaryScreen
-import org.mifos.mobile.feature.beneficiary.navigation.navigateToBeneficiaryApplicationScreen
-import org.mifos.mobile.feature.beneficiary.navigation.navigateToBeneficiaryListScreen
-import org.mifos.mobile.feature.charge.navigation.clientChargeNavGraph
-import org.mifos.mobile.feature.charge.navigation.navigateToClientChargeScreen
-import org.mifos.mobile.feature.guarantor.navigation.guarantorNavGraph
-import org.mifos.mobile.feature.guarantor.navigation.navigateToGuarantorScreen
-import org.mifos.mobile.feature.help.navigation.helpNavGraph
-import org.mifos.mobile.feature.help.navigation.navigateToHelpScreen
-import org.mifos.mobile.feature.home.navigation.HomeDestinations
-import org.mifos.mobile.feature.home.navigation.HomeNavigation
-import org.mifos.mobile.feature.home.navigation.homeNavGraph
-import org.mifos.mobile.feature.loan.navigation.loanNavGraph
-import org.mifos.mobile.feature.loan.navigation.navigateToLoanApplication
-import org.mifos.mobile.feature.loan.navigation.navigateToLoanDetailScreen
-import org.mifos.mobile.feature.location.navigation.locationsNavGraph
-import org.mifos.mobile.feature.location.navigation.navigateToLocationsScreen
-import org.mifos.mobile.feature.notification.navigation.navigateToNotificationScreen
-import org.mifos.mobile.feature.notification.navigation.notificationNavGraph
-import org.mifos.mobile.feature.qr.navigation.navigateToQrDisplayScreen
-import org.mifos.mobile.feature.qr.navigation.navigateToQrImportScreen
-import org.mifos.mobile.feature.qr.navigation.navigateToQrReaderScreen
-import org.mifos.mobile.feature.qr.navigation.qrNavGraph
-import org.mifos.mobile.feature.savings.navigation.navigateToSavingsApplicationScreen
-import org.mifos.mobile.feature.savings.navigation.navigateToSavingsDetailScreen
-import org.mifos.mobile.feature.savings.navigation.navigateToSavingsMakeTransfer
-import org.mifos.mobile.feature.savings.navigation.savingsNavGraph
-import org.mifos.mobile.feature.settings.navigation.navigateToSettings
-import org.mifos.mobile.feature.settings.navigation.settingsNavGraph
-import org.mifos.mobile.feature.third.party.transfer.navigation.navigateToThirdPartyTransfer
-import org.mifos.mobile.feature.third.party.transfer.navigation.thirdPartyTransferNavGraph
-import org.mifos.mobile.feature.transaction.navigation.navigateToRecentTransaction
-import org.mifos.mobile.feature.transaction.navigation.recentTransactionNavGraph
-import org.mifos.mobile.feature.transfer.process.navigation.navigateToTransferProcessScreen
-import org.mifos.mobile.feature.transfer.process.navigation.transferProcessNavGraph
-import org.mifos.mobile.feature.update.password.navigation.navigateToUpdatePassword
-import org.mifos.mobile.feature.update.password.navigation.updatePasswordNavGraph
-import org.mifos.mobile.feature.user.profile.navigation.navigateToUserProfile
-import org.mifos.mobile.feature.user.profile.navigation.userProfileNavGraph
-
-@Composable
-fun MifosNavHost(
- onClickLogout: () -> Unit,
- modifier: Modifier = Modifier,
-) {
- val context = LocalContext.current
- val navController = rememberNavController()
-
- NavHost(
- navController = navController,
- route = MifosNavGraph.MAIN_GRAPH,
- startDestination = HomeNavigation.HomeBase.route,
- modifier = modifier,
- ) {
- homeNavGraph(
- onNavigate = { handleHomeNavigation(navController, it, onClickLogout, context) },
- callHelpline = { callHelpline(context) },
- mailHelpline = { mailHelpline(context) },
- )
-
- guarantorNavGraph(navController = navController)
-
- loanNavGraph(
- navController = navController,
- viewQr = navController::navigateToQrDisplayScreen,
- viewGuarantor = navController::navigateToGuarantorScreen,
- viewCharges = navController::navigateToClientChargeScreen,
- makePayment = navController::navigateToSavingsMakeTransfer,
- )
-
- userProfileNavGraph(
- navigateBack = navController::popBackStack,
- navigateToChangePassword = navController::navigateToUpdatePassword,
- )
-
- updatePasswordNavGraph(navigateBack = navController::popBackStack)
-
- thirdPartyTransferNavGraph(
- navigateBack = navController::popBackStack,
- addBeneficiary = navController::navigateToAddBeneficiaryScreen,
- reviewTransfer = navController::navigateToTransferProcessScreen,
- )
-
- settingsNavGraph(
- navigateBack = navController::popBackStack,
- changePassword = navController::navigateToUpdatePassword,
- changePasscode = {},
- navigateToLoginScreen = navController::navigateToLoginScreen,
- languageChanged = { startActivity(context, HomeActivity::class.java) },
- )
-
- recentTransactionNavGraph(navigateBack = navController::popBackStack)
-
- notificationNavGraph(navigateBack = navController::popBackStack)
-
- locationsNavGraph()
-
- helpNavGraph(
- findLocations = navController::navigateToLocationsScreen,
- navigateBack = navController::popBackStack,
- callHelpline = { callHelpline(context) },
- mailHelpline = { mailHelpline(context) },
- )
-
- clientChargeNavGraph(navigateBack = navController::popBackStack)
-
- aboutUsNavGraph(
- navController = navController,
- navigateToOssLicense = {
- context.startActivity(Intent(context, OssLicensesMenuActivity::class.java))
- },
- )
-
- transferProcessNavGraph(navigateBack = navController::popBackStack)
-
- beneficiaryNavGraph(
- navController = navController,
- openQrImportScreen = navController::navigateToQrImportScreen,
- openQrReaderScreen = navController::navigateToQrReaderScreen,
- )
-
- qrNavGraph(
- navController = navController,
- openBeneficiaryApplication = navController::navigateToBeneficiaryApplicationScreen,
- )
-
- savingsNavGraph(
- navController = navController,
- viewCharges = navController::navigateToClientChargeScreen,
- viewQrCode = navController::navigateToQrDisplayScreen,
- callHelpline = { callHelpline(context) },
- reviewTransfer = navController::navigateToTransferProcessScreen,
- )
-
- clientAccountsNavGraph(
- navController = navController,
- navigateToLoanApplicationScreen = navController::navigateToLoanApplication,
- navigateToSavingsApplicationScreen = navController::navigateToSavingsApplicationScreen,
- navigateToAccountDetail = { accountType, id ->
- when (accountType) {
- AccountType.SAVINGS -> navController.navigateToSavingsDetailScreen(savingsId = id)
- AccountType.LOAN -> navController.navigateToLoanDetailScreen(loanId = id)
- AccountType.SHARE -> {}
- }
- },
- )
- }
-}
-
-fun handleHomeNavigation(
- navController: NavHostController,
- homeDestinations: HomeDestinations,
- onClickLogout: () -> Unit,
- context: Context,
-) {
- when (homeDestinations) {
- HomeDestinations.HOME -> Unit
- HomeDestinations.ACCOUNTS -> navController.navigateToClientAccountsScreen()
- HomeDestinations.LOAN_ACCOUNT -> {
- navController.navigateToClientAccountsScreen(accountType = AccountType.LOAN)
- }
-
- HomeDestinations.SAVINGS_ACCOUNT -> {
- navController.navigateToClientAccountsScreen(accountType = AccountType.SAVINGS)
- }
-
- HomeDestinations.RECENT_TRANSACTIONS -> navController.navigateToRecentTransaction()
- HomeDestinations.CHARGES -> navController.navigateToClientChargeScreen(ChargeType.CLIENT)
- HomeDestinations.THIRD_PARTY_TRANSFER -> navController.navigateToThirdPartyTransfer()
- HomeDestinations.SETTINGS -> navController.navigateToSettings()
- HomeDestinations.ABOUT_US -> navController.navigateToAboutUsScreen()
- HomeDestinations.HELP -> navController.navigateToHelpScreen()
- HomeDestinations.SHARE -> {
- shareApp(context)
- }
-
- HomeDestinations.APP_INFO -> {
- openAppInfo(context)
- }
-
- HomeDestinations.LOGOUT -> onClickLogout.invoke()
- HomeDestinations.TRANSFER -> navController.navigateToSavingsMakeTransfer(
- accountId = 1,
- transferType = TRANSFER_PAY_TO,
- )
-
- HomeDestinations.BENEFICIARIES -> navController.navigateToBeneficiaryListScreen()
- HomeDestinations.SURVEY -> Unit
- HomeDestinations.NOTIFICATIONS -> navController.navigateToNotificationScreen()
- HomeDestinations.PROFILE -> navController.navigateToUserProfile()
- }
-}
-
-fun startActivity(context: Context, clazz: Class) {
- context.startActivity(Intent(context, clazz))
-}
-
-private fun callHelpline(context: Context) {
- val intent = Intent(Intent.ACTION_DIAL)
- intent.data =
- Uri.parse("tel:" + context.getString(org.mifos.mobile.feature.home.R.string.help_line_number))
- context.startActivity(intent)
-}
-
-private fun mailHelpline(context: Context) {
- val intent = Intent(Intent.ACTION_SENDTO).apply {
- data = Uri.parse("mailto:")
- putExtra(
- Intent.EXTRA_EMAIL,
- arrayOf(context.getString(org.mifos.mobile.feature.home.R.string.contact_email)),
- )
- putExtra(
- Intent.EXTRA_SUBJECT,
- context.getString(org.mifos.mobile.feature.home.R.string.user_query),
- )
- }
- try {
- context.startActivity(intent)
- } catch (e: Exception) {
- Toast.makeText(
- context,
- context.getString(org.mifos.mobile.feature.home.R.string.no_app_to_support_action),
- Toast.LENGTH_SHORT,
- ).show()
- }
-}
-
-private fun openAppInfo(context: Context) {
- val intent = Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS).apply {
- data = Uri.parse("package:${context.packageName}")
- }
- context.startActivity(intent)
-}
-
-private fun shareApp(context: Context) {
- val shareText = context.getString(
- R.string.playstore_link,
- context.getString(R.string.share_msg),
- context.packageName,
- )
- val intent = Intent(Intent.ACTION_SEND).apply {
- type = "text/plain"
- putExtra(Intent.EXTRA_TEXT, shareText)
- }
- context.startActivity(Intent.createChooser(intent, context.getString(R.string.choose)))
-}
diff --git a/androidApp/src/main/kotlin/org/mifos/mobile/navigation/PasscodeNavGraph.kt b/androidApp/src/main/kotlin/org/mifos/mobile/navigation/PasscodeNavGraph.kt
deleted file mode 100644
index b9be8e6934..0000000000
--- a/androidApp/src/main/kotlin/org/mifos/mobile/navigation/PasscodeNavGraph.kt
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright 2024 Mifos Initiative
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at https://mozilla.org/MPL/2.0/.
- *
- * See https://github.com/openMF/mobile-mobile/blob/master/LICENSE.md
- */
-package org.mifos.mobile.navigation
-
-import androidx.navigation.NavGraphBuilder
-import androidx.navigation.NavHostController
-import androidx.navigation.navigation
-import org.mifos.library.passcode.PASSCODE_SCREEN
-import org.mifos.library.passcode.passcodeRoute
-
-internal fun NavGraphBuilder.passcodeNavGraph(navController: NavHostController) {
- navigation(
- route = MifosNavGraph.PASSCODE_GRAPH,
- startDestination = PASSCODE_SCREEN,
- ) {
- passcodeRoute(
- onForgotButton = {
- navController.popBackStack()
- navController.navigate(MifosNavGraph.MAIN_GRAPH)
- },
- onSkipButton = {
- navController.popBackStack()
- navController.navigate(MifosNavGraph.MAIN_GRAPH)
- },
- onPasscodeConfirm = {
- navController.popBackStack()
- navController.navigate(MifosNavGraph.MAIN_GRAPH)
- },
- onPasscodeRejected = {
- navController.popBackStack()
- navController.navigate(MifosNavGraph.MAIN_GRAPH)
- },
- )
- }
-}
diff --git a/androidApp/src/main/kotlin/org/mifos/mobile/navigation/RootNavGraph.kt b/androidApp/src/main/kotlin/org/mifos/mobile/navigation/RootNavGraph.kt
deleted file mode 100644
index cc8d007da9..0000000000
--- a/androidApp/src/main/kotlin/org/mifos/mobile/navigation/RootNavGraph.kt
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright 2024 Mifos Initiative
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at https://mozilla.org/MPL/2.0/.
- *
- * See https://github.com/openMF/mobile-mobile/blob/master/LICENSE.md
- */
-package org.mifos.mobile.navigation
-
-import androidx.compose.runtime.Composable
-import androidx.compose.ui.Modifier
-import androidx.navigation.NavHostController
-import androidx.navigation.compose.NavHost
-import androidx.navigation.compose.composable
-import org.mifos.library.passcode.navigateToPasscodeScreen
-import org.mifos.mobile.feature.auth.navigation.authenticationNavGraph
-import org.mifos.mobile.navigation.MifosNavGraph.AUTH_GRAPH
-import org.mifos.mobile.ui.MifosApp
-import org.mifos.mobile.ui.MifosMobileState
-
-@Composable
-internal fun RootNavGraph(
- appState: MifosMobileState,
- navHostController: NavHostController,
- startDestination: String,
- onClickLogout: () -> Unit,
- modifier: Modifier = Modifier,
-) {
- NavHost(
- navController = navHostController,
- startDestination = startDestination,
- route = MifosNavGraph.ROOT_GRAPH,
- modifier = modifier,
- ) {
- authenticationNavGraph(
- navController = navHostController,
- route = AUTH_GRAPH,
- navigateToPasscodeScreen = navHostController::navigateToPasscodeScreen,
- )
-
- passcodeNavGraph(navHostController)
-
- composable(MifosNavGraph.MAIN_GRAPH) {
- MifosApp(
- appState = appState,
- onClickLogout = onClickLogout,
- )
- }
- }
-}
diff --git a/androidApp/src/main/res/mipmap-hdpi/ic_launcher.webp b/androidApp/src/main/res/mipmap-hdpi/ic_launcher.webp
deleted file mode 100644
index 2ab722b856..0000000000
Binary files a/androidApp/src/main/res/mipmap-hdpi/ic_launcher.webp and /dev/null differ
diff --git a/androidApp/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp b/androidApp/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp
deleted file mode 100644
index dbcdb77594..0000000000
Binary files a/androidApp/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp and /dev/null differ
diff --git a/androidApp/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/androidApp/src/main/res/mipmap-hdpi/ic_launcher_round.webp
deleted file mode 100644
index 67e766a4ee..0000000000
Binary files a/androidApp/src/main/res/mipmap-hdpi/ic_launcher_round.webp and /dev/null differ
diff --git a/androidApp/src/main/res/mipmap-mdpi/ic_launcher.webp b/androidApp/src/main/res/mipmap-mdpi/ic_launcher.webp
deleted file mode 100644
index 902978b809..0000000000
Binary files a/androidApp/src/main/res/mipmap-mdpi/ic_launcher.webp and /dev/null differ
diff --git a/androidApp/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp b/androidApp/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp
deleted file mode 100644
index 6cedd733bb..0000000000
Binary files a/androidApp/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp and /dev/null differ
diff --git a/androidApp/src/main/res/mipmap-mdpi/ic_launcher_round.webp b/androidApp/src/main/res/mipmap-mdpi/ic_launcher_round.webp
deleted file mode 100644
index 2a6d454d9f..0000000000
Binary files a/androidApp/src/main/res/mipmap-mdpi/ic_launcher_round.webp and /dev/null differ
diff --git a/androidApp/src/main/res/mipmap-xhdpi/ic_launcher.webp b/androidApp/src/main/res/mipmap-xhdpi/ic_launcher.webp
deleted file mode 100644
index 488bfc88ab..0000000000
Binary files a/androidApp/src/main/res/mipmap-xhdpi/ic_launcher.webp and /dev/null differ
diff --git a/androidApp/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp b/androidApp/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp
deleted file mode 100644
index 9f4fb0fd0f..0000000000
Binary files a/androidApp/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp and /dev/null differ
diff --git a/androidApp/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/androidApp/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
deleted file mode 100644
index 91d6f36d59..0000000000
Binary files a/androidApp/src/main/res/mipmap-xhdpi/ic_launcher_round.webp and /dev/null differ
diff --git a/androidApp/src/main/res/mipmap-xxhdpi/ic_launcher.webp b/androidApp/src/main/res/mipmap-xxhdpi/ic_launcher.webp
deleted file mode 100644
index 6e2e93e946..0000000000
Binary files a/androidApp/src/main/res/mipmap-xxhdpi/ic_launcher.webp and /dev/null differ
diff --git a/androidApp/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp b/androidApp/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp
deleted file mode 100644
index fa30b40fe7..0000000000
Binary files a/androidApp/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp and /dev/null differ
diff --git a/androidApp/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp b/androidApp/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
deleted file mode 100644
index 797fa51e26..0000000000
Binary files a/androidApp/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp and /dev/null differ
diff --git a/androidApp/src/main/res/mipmap-xxxhdpi/ic_launcher.webp b/androidApp/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
deleted file mode 100644
index 9591870edc..0000000000
Binary files a/androidApp/src/main/res/mipmap-xxxhdpi/ic_launcher.webp and /dev/null differ
diff --git a/androidApp/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp b/androidApp/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp
deleted file mode 100644
index 0f923702c3..0000000000
Binary files a/androidApp/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp and /dev/null differ
diff --git a/androidApp/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp b/androidApp/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
deleted file mode 100644
index 1c6a1ddf9c..0000000000
Binary files a/androidApp/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp and /dev/null differ
diff --git a/androidApp/src/main/res/values-ar/strings.xml b/androidApp/src/main/res/values-ar/strings.xml
deleted file mode 100644
index fc9dfe802d..0000000000
--- a/androidApp/src/main/res/values-ar/strings.xml
+++ /dev/null
@@ -1,456 +0,0 @@
-
-
-
- ميفوس موبايل
- تسجيل الدخول
- %1$s أهلا بك
- غير متصل بالإنترنت
- الأساسية
- اسم المستخدم
- تسجيل الدخول
- جار التحميل
- كلمه السر
- البريد الإلكتروني
- حسابات
- عملاء
- تحويل رصيد
- التحويلات الاخيرة
- شحنة
- استطلاع
- معلومات عنا
- حفظ تفاصيل الحساب
- حساب التوفير
- خطأ في تحميل تفاصيل حسابات القروض
- معدل الفائدة الاسمي
- رقم حساب
- رصيد الحساب
- مجموع الودائع
- افتح الدرج
- أغلق الدرج
- الصفحة الرئيسية
- نص متوسط
- نص صغير
- حسابات العملاء
- دفقة
- إنقاذ
- قرض
- حساب القرض
- شارك
- حصة الحساب
- شيء العميل
- العمل
- صورة الحالة
- جدول الدفع
- آخر معاملة
- صنع على
- إجراء تحويل
- اختر منتج القرض *
- الغرض من القرض*
- المبلغ الرئيسي *
- كمية
- تعليق
- تاريخ الصرف المتوقع
- تاريخ التقديم
- قدمت
- إنفاق
- تاريخ التحويل
- التقدم بطلب للحصول على قرض
- تحديث القرض
- سحب القرض
- سبب سحب القرض
- سحب حساب القرض بنجاح
- تقديم القرض
- طلب قرض جديد
- تحديث طلب القرض
- نوع الفائدة
- الإطفاء
- فترة احتساب الفائدة
- استراتيجية السداد
- دفع إلى
- ادفع من
- إلغاء
- إعادة النظر
- حول إلى
- تحويل من
- جعل النقل
- الوديعة
- أدخل المبلغ
- ملاحظة إلزامية
- وافق
- قيد الانتظار
- دفع
- توازن
- مرفوض
- انتظار
- زائدة
- في المتأخرات
- حدد كل ما تريد تطبيقه
- تصفية حسابات التوفير
- تصفية حسابات القروض
- تصفية حصة الحسابات
- بحث
- حدد الحساب للدفع إلى
- اختر الحساب للدفع من
- أدخل ملاحظات للنقل
- حدد المستفيد
- استمر
- قريب
- اختر نوع النقل
- نقل الى الادخار
- نقل من الادخار
- رسوم القرض
- رسوم الادخار
- نشيط
- مغلق
- سحب
- تحتاج الى موافقة
- قيد الانتظار
- نضجت
- انشئ حساب
- الاسم الاول
- الكنية
- رقم الهاتف
- تسجيل
- طلب معرف
- رمز المصادقة
- التحقق
- التحقق
- توقيع
- تم التحقق من المستخدم بنجاح
- التليفون المحمول
- البريد الإلكتروني
- وضع التحقق
-
- استيراد QR
- عرض الضامن
- إضافة الضامن
- حذف الضامن
- تحديث الضامن
- نوع الضامن
- لا ضمانات
- انقر لإضافة الضامن
- تفاصيل الضامن
- تاريخ الانضمام
- خضع
-
- يجب أن يكون الحساب نشطًا لتنفيذ الوديعة
- يجب أن يكون الحساب نشطًا لتنفيذ نقل
-
- لا يوجد حساب SavingsAccount مرتبط بك
- لا يوجد LoanAccount مرتبط بك
- لا يوجد ShareAccount مرتبط بك
- لا توجد معاملات مرتبطة بك
- لا يوجد جدول سداد مرتبط بك
- لا مزيد من المعاملات المتاحة
- لا صفقة
- لم يتم العثور على DOB.
- غير معين مع أي مجموعة
-
- اسم المتسخدم / كلمة المرور غير صحيحة
- خطأ في تحميل الاستجابة من الخادم
- %1$s لا يمكن أن يكون فارغًا
- لا يمكن أن يكون %1$s أقل من %2$d من الأحرف
- لا يمكن أن تحتوي %1$s على %2$s
- لا يمكن بد %1$s أو
- نهاية مع مساحة فارغة
-
- خطأ في الخادم الداخلي ، يرجى المحاولة مرة أخرى
- خطأ في تحميل قائمة العملاء
- خطأ في تحميل قائمة حسابات القروض
- حدث خطأ في تحميل قائمة الحسابات
- حدث خطأ في تحميل تفاصيل الحسابات
- حدث خطأ في التحميل في المعاملات الحديثة
- خطأ في تحميل رسوم العميل
- لا توجد رسوم
- العميل غير موجود
- فشل جلب العميل
- فشل إحضار ملف تعريف المستخدم
- فشل جلب الحسابات
- فشل في جلب جدول السداد
- لا يمكن نقل مع في نفس الحساب
- خطأ في جلب تحويل الحساب قالب
- فشل في جلب المستفيدين
- فشل في جلب قالب المستفيد
- فشل جلب القالب
- فشل في إنشاء المستفيد
- فشل تحديث المستفيد
- فشل في حذف المستفيد
- خطأ في سحب حساب القرض
- خطأ في إحضار نقل طرف ثالث قالب
- في الوقت الحالي ، ليس لديك أي مستفيد. يرجى إضافة المستفيد
-
- أنك غير مخول
- رمز الاستجابة السريعة
- شارك رمز الاستجابة السريعة
- مراقب
- إختر خيارا
- عرض المعاملات
- عرض الرسوم
- عرض ملخص القرض
- عرض جدول السداد
- عرض رمز QR لهذا الحساب
- آخر تفاصيل العملية
- يجب أن يكون اسم المستخدم أكبر من 6 أحرف
- معرف البريد الإلكتروني غير صالح
- اسفل الخادم ، حاول بعد بعض الوقت
- رسوم العميل
- خطأ أثناء قراءة QR ، تأكد من تحديد المنطقة المناسبة
- خطأ في جلب الصورة
- جلب العميل
-
- المساحات
- اسم العميل
- حالة الحساب
- اسم المنتج
- مجموع السحوبات
- دقيقة. مطلوب
- اسم المنتج
- الغرض من القرض
- المالك
- رأس المال المصروف
- آن. سعر الفائدة
- الفائدة مشحونة
- الفائدة المدفوعة
- تفاصيل حساب القرض
- ملخص القرض
- اسم القرض
- فائدة
- رسوم
- ضربات الجزاء
- مجموع السداد المتوقع
- مجموع المبالغ المدفوعة
- مصلحة التنازل
- العقوبات تنازلت
- رسوم التنازل
- توازن رائع
- القسط التالي
- تاريخ الاستحقاق
- قم بالدفع
- نوع القرض
- دقة
- جدول الدفع
- المعاملات
- نقل
- في انتظار الموافقة
- في انتظار الصرف
- مغلقة بسبب بعض الالتزامات
- القرض مغلق
- تاريخ الاستحقاق:
- بسبب:
- دفع:
- لوح:
- أمتياز:
- مثال
- إضافة القطعة
- مساعدة
- مبادرة Mifos
- مبادرة Mifos ، سياتل ، واشنطن 98121
- سياتل
- موطن لصناعة التكنولوجيا الكبيرة
- تفاصيل حساب القرض
- تقديم طلب القرض بنجاح
- تم تحديث طلب القرض بنجاح
- طلب قرض ينسحب بنجاح
- لا شيء
- الكل
- 4 أسابيع
- 3 اشهر
- 6 اشهر
- منقي
- تاريخ البدء
- تاريخ الانتهاء
- مصفى
- يرجى تحديد تاريخ البدء وتاريخ الانتهاء
- يجب أن يكون تاريخ الانتهاء أكبر من تاريخ البدء
- حفظ معاملات الحساب
- لا اتصال إنترنت
- تاريخ صرف
- عدد الدفعات
- تاريخ
- رصيد القرض
- السداد
- سداد القروض
- نقل سريع
- يرجى التأكد من اتصالك بالإنترنت
- المستفيد
- إدارة المستفيدين
- المستفيدون
- تفاصيل المستفيد
- أسم المستفيد
- نوع الحساب
- حد النقل
- أضف المستفيد
- اسم المكتب
- اختر نوع الحساب *
- تقديم المستفيد
- أدخل اسم مكتب المستفيد
- أدخل اسم المستفيد
- أدخل حد النقل
- أدخل رقم حساب المستفيد
- حدد نوع الحساب من القائمة المنسدلة
- المستفيد تم إنشاؤه بنجاح
- تم تحديث المستفيد بنجاح
- تحديث المستفيد
- حذف المستفيد
- هل أنت متأكد أنك تريد حذف هذا المستفيد
- حذف
- المستفيد المحذوف بنجاح
- نقل طرف ثالث
- إجمالي القرض
- مجموع المدخرات
- نظرة عامة على الحساب
- إظهار أو إخفاء إجمالي مبلغ القرض
- *****
- الدراسات الاستقصائية
- تفعيل التسجيل
- المجموعات
- بيانات المستخدم
- نوع العميل
- تصنيف العميل
- حدد الوضع
- إضافة المستفيدين من الأطراف الثالثة إلى حسابك. n\ أدخل يدويا أو مسح رمز الاستجابة السريعة حساب
- لا يمكنك اتخاذ إجراء في حسابك ، يرجى مسح مستخدم آخر حساب الادخار والقروض QRCode
- إضافة
- تفحص
- أدخل رمز المرور المكون من 4 أرقام
- يجب أن يكون رمز المرور من 4 أرقام
- رمز المرور غير صحيح
- لقد أدخلت رمز المرور غير صحيح أكثر من ثلاث مرات
- تخطى
- حفظ
- قم بإعداد رمز مرور لتسجيل الدخول
- يرجى إعادة إدخال رمز المرور الخاص بك
- رمز المرور غير متطابق.
- نسيت رمز المرور ، ادخل يدويا
- تقدم
- يجب أن يكون المبلغ أكبر من الصفر
- من نحن تحت الإنشاء
- مساعدة تحت الإنشاء
- الخروج
- تنزيل تطبيق الخدمة الذاتية هنا: https://play.google.com/store/apps/details؟id=
- اختر التطبيق
- NA
- تحميل QR
- اختر المنطقة مع رمز الاستجابة السريعة
-
- اتصل بنا
-
- تم نقله بنجاح
-
- مجموع:
-
- A / C
- منتج القرض
- غير نشط
- نشيط
- غير نشط
-
-
- هل أنت متأكد أنك تريد تسجيل الخروج؟
- حسنا
- إلغاء
- الى الخلف
- طلب الاذن مرفوض
- انا متاكد
- إعادة المحاولة
- إعدادات التطبيقات
- بدون إذن الكاميرا سوف لن تتمكن من مسح رمز الاستجابة السريعة ضوئيًا لإضافة المستفيد.هل تريد بالتأكيد رفض هذا الإذن؟
- لقد رفضت الحصول على إذن استخدام الكاميرا ، بدون هذا الإذن لن تتمكن من إضافة المستفيدين باستخدام رمز الاستجابة السريعة. يرجى تمكينها في الإعدادات
- بدون إذن التخزين سوف لا يمكنك تحميل رمز الاستجابة السريعة لإضافة المستفيد.هل تريد بالتأكيد رفض هذا الإذن؟
- لقد رفضت الحصول على إذن قراءة التخزين ، بدون هذا الإذن لن تتمكن من إضافة المستفيدين باستخدام QR Code. يرجى تمكينها في الإعدادات
- لقد رفضت الحصول على إذن الكتابة إلى التخزين ، بدون هذا الإذن لن تتمكن من إضافة المستفيدين باستخدام رمز الاستجابة السريعة. يرجى تمكينها في الإعدادات
- هذا الإذن مطلوب لعرض العملة وفقًا لبلدك.هل تريد بالتأكيد إنكارها؟
- لقد رفضت الإذن لجلب حالة الهاتف ، بدون هذا الإذن ، قد لا تظهر العملة بالشكل الصحيح. يرجى تمكينها في الإعدادات
- حدث خطأ ما في العثور على نشاط الإعدادات. n\ انتقل إلى \ "الإعدادات \" ومنح الإذن يدويًا.
- تم رفض الإذن للتخزين
- هل أنت متأكد أنك تريد %1$s؟
-
-
- %1$s ،مرحبا
- %1$.2f
- %2$s %1$.2f
- %2$s %1$s
- %2$.2f %1$s
- %2$d :%1$s
- مبلغ غير صحيح
- اضغط مرة أخرى للخروج
-
- تم رفض الإذن باستخدام الكاميرا
- ١
- ٢
- ٣
- ٤
- ٥
- ٦
- ٧
- ٨
- ٩
- ٠
-
- أسئلة مكررة
- استعلام المستخدم
- اتصل الان
- اترك بريدًا إلكترونيًا
- البحث عن المواقع
- لا انسحابات
- مسح مرشحات
- إدارة الحسابات
- أكثر من
- الإعدادات
- لغة
- اختر لغتك
- إخطارات
- عنوان URL الأساسي
- مستأجر
-
-
- - كيف أتقدم بطلب للحصول على حساب قرض جديد؟
- - أين يمكنني مشاهدة معلومات ملفي الشخصي؟
- - أين يمكنني رؤية معاملات حسابات التوفير الخاصة بي؟
- - ما هو استخدام رمز الاستجابة السريعة؟
- - كيفية إنشاء المستفيد باستخدام رمز الاستجابة السريعة؟
- - كيفية إجراء الدفع لحساب القرض؟
-
-
-
- - لتقديم طلب للحصول على حساب القرض ، انقر على \ "تقديم طلب للحصول على قرض \" على الشاشة الرئيسية.
- - يمكنك عرض معلومات ملف التعريف الخاص بك بالنقر فوق "صورة المستخدم" الموجودة على Home شاشة.
- - لعرض معاملات حساب التوفير الخاص بك ، انتقل إلى "أقسام الحسابات" ، انقر فوق حساب التوفير المطلوب ، انقر على ثلاث نقاط موجودة في أعلى اليمين واختر خيار المعاملات.
- - يمكن تقاسم QrCode لأي قرض أو حسابات التوفير مع المستخدمين الآخرين والتي سوف السماح لهم بإنشاء المستفيد.
- - لإنشاء مستفيد ، انتقل إلى خيار المستفيد من الشاشة الرئيسية ، ثم انقر فوق على الزر الدائري الموجود في أسفل اليمين ، اختر خيار المسح الضوئي الذي يفتح كاميرا جهازك ، ومسح رمز الاستجابة السريعة للشخص الآخر الذي تريد إنشاء المستفيد ، بعد ملء التفاصيل المطلوبة الأخرى ، ستتمكن من إنشاء المستفيد باستخدام رمز الاستجابة السريعة.
- - لإجراء دفع لحساب قرض ، انتقل إلى "أقسام الحسابات" ، واختر "القرض" ثم افتح حساب القرض المطلوب الخاص بك وانقر على خيار "إجراء الدفع".
-
-
-
- مجموع رصيد المدخرات
- مجموع رصيد القرض
- فوق رصيد القرض والادخار هي تحسب نيابة عن جميع حسابات الادخار والحسابات الخاصة بك.
- هل أنت متأكد من أنك تريد إلغاء التحويل؟
- نعم فعلا
- تأكيد كلمة المرور
- كلمة السر غير متطابقة.
- %1$s الإصدار
- ©2016-%1$s Mifos Initiative.
- كل الحقوق محفوظة.
- تراخيص
- يتعذر إكمال النقل ، يرجى المحاولة مرة أخرى في وقت لاحق
- ارجوك انتظر…
- رسالة
- لا يوجد إشعارات
-
- تحديث نقطة النهاية
- انقر هنا لتغيير تكوينات نقطة النهاية
- أدخل عنوان URL الأساسي
- أدخل المستأجر
- معلومات التطبيق
- إظهار أو إخفاء إجمالي مبلغ التوفير
- فشل تسجيل الدخول يرجى المحاولة مرة أخرى في وقت لاحق.
-
\ No newline at end of file
diff --git a/androidApp/src/main/res/values-bn/strings.xml b/androidApp/src/main/res/values-bn/strings.xml
deleted file mode 100644
index 3b469b8fc0..0000000000
--- a/androidApp/src/main/res/values-bn/strings.xml
+++ /dev/null
@@ -1,444 +0,0 @@
-
-
-
- লগ ইন করুন
- হ্যালো, %1$s।
- কোন ইন্টারনেট সংযোগ নেই
- প্রাথমিক
- ব্যবহারকারীর নাম
- লগিন করো
- বোঝাই
- পাসওয়ার্ড
- ই-মেল ঠিকানা
- অ্যাকাউন্ট
- গ্রাহকদের
- তহবিল স্থানান্তর
- সাম্প্রতিক লেনদেন
- ফি
- প্রশ্নাবলী
- আমাদের সম্পর্কে
- অ্যাকাউন্ট বিবরণ সংরক্ষণ করা হচ্ছে
- সঞ্চয় অ্যাকাউন্ট
- ক্রেডিট অ্যাকাউন্ট তথ্য লোড করার সময় ত্রুটি
- নামমাত্র সুদের হার
- অ্যাকাউন্ট নম্বর
- অ্যাকাউন্ট ভারসাম্য
- মোট আমানত
- ন্যাভিগেশন প্যানেল খুলুন
- পুনরুদ্ধারের প্যানেল বন্ধ করুন
- হোম পেজ
- মাঝারি টেক্সট
- ছোট টেক্সট
- গ্রাহক অ্যাকাউন্ট
- স্বাগতম পর্দা
- সঞ্চয়
- ঋণ
- ক্রেডিট অ্যাকাউন্ট
- শেয়ার
- আপনার অ্যাকাউন্ট শেয়ার করুন
- একটি গ্রাহক চয়ন করুন
- কাজ
- রাষ্ট্রের ছবি
- পরিশোধের সময়সূচী
- শেষ লেনদেন
- উপর তৈরি
- একটি স্থানান্তর করুন
- একটি ক্রেডিট পণ্য চয়ন করুন *
- ঋণ উদ্দেশ্য *
- প্রধান পরিমাণ *
- সংখ্যা
- সতর্কতা
- প্রত্যাশিত বেতন তারিখ
- জমা দেওয়ার জন্য নির্দিষ্ট সময়সীমা
- আপলোড
- ব্যয়
- স্থানান্তর তারিখ
- একটি ঋণ জন্য আবেদন করুন
- ঋণ আপডেট করুন
- ঋণ মুক্তি
- ঋণ পরিশোধ করার কারণ
- ঋণ অ্যাকাউন্ট সফলভাবে প্রত্যাহার করা হয়েছে
- একটি ঋণ জমা দিন
- নতুন ঋণ ক্রেডিট আবেদন
- আপনার ক্রেডিট আবেদন আপডেট করুন
- আগ্রহের ধরন
- ঘাত-শোষণ
- সুদের সময়
- ঋণ পরিশোধের কৌশল
- পেমেন্ট
- থেকে পেমেন্ট
- বাতিল
- পূর্বরূপ
- স্থানান্তর
- থেকে স্থানান্তর
- একটি স্থানান্তর করা
- আমানত
- পরিমাণ লিখুন
- নোট বাধ্যতামূলক
- অনুমোদিত
- প্রত্যাশা
- অর্থ প্রদান
- ভারসাম্য
- প্রত্যাখ্যাত
- প্রতীক্ষা
- অতিরিক্ত
- বকেয়া
- আপনি আবেদন করতে চান সবকিছু চয়ন করুন
- ফিল্টার সঞ্চয় অ্যাকাউন্ট
- ফিল্টার ক্রেডিট অ্যাকাউন্ট
- ফিল্টার অ্যাকাউন্ট শেয়ারিং
- অনুসন্ধান
- পরিশোধ বিকল্প হতে অ্যাকাউন্ট নির্বাচন করুন
- সঙ্গে একটি অ্যাকাউন্ট চয়ন করুন
- স্থানান্তর নোট লিখুন
- সুবিধাভোগী নির্বাচন করুন
- অধিকতর
- ঘনিষ্ঠ
- স্থানান্তর ধরনের নির্বাচন করুন
- সঞ্চয় স্থানান্তর
- সঞ্চয় থেকে স্থানান্তর
- ঋণের জন্য ফি
- জমা
- সক্রিয়
- বন্ধ
- অপসারিত
- অনুমোদন প্রয়োজন
- প্রত্যাশা
- পরিণত
- একটি অ্যাকাউন্ট তৈরি করুন
- নাম
- নাম
- ফোন নম্বর
- রেজিস্টার
- আইডি অনুরোধ
- প্রমাণীকরণ টোকেন
- যাচাই করুন
- যাচাই করা হচ্ছে
- লগিন করো
- ব্যবহারকারী সফলভাবে যাচাই করা হয়েছে
- মোবাইল
- ই-মেল ঠিকানা
- যাচাই মোড
- খালি
- ইমপোর্ট QR
- গ্যারান্টি দেখুন
- একটি গ্যারান্টি যোগ করুন
- গ্যারান্টি সরান
- গ্যারান্টি আপডেট করুন
- গ্যারান্টি টাইপ
- কোন গ্যারান্টি
- একটি গ্যারান্টি যোগ করার জন্য আলতো চাপুন
- গ্যারান্টি বিস্তারিত
- সংযুক্তি তারিখ
- জমা দিন
-
- অ্যাকাউন্ট একটি আমানত করতে সক্রিয় করা উচিত
- অ্যাকাউন্ট একটি স্থানান্তর করতে সক্রিয় করা উচিত
-
- আপনার সাথে সংযুক্ত কোন সঞ্চয় অ্যাকাউন্ট আছে
- আপনার সাথে যুক্ত কোন ঋণ অ্যাকাউন্ট আছে
- আপনার সাথে যুক্ত কোন ভাগ অ্যাকাউন্ট আছে
- আপনার সাথে কোন লেনদেন আছে
- আপনার সাথে যুক্ত কোন পরিশোধের সময়সূচী নেই
- কোন লেনদেন উপলব্ধ নেই
- কোন লেনদেন
- DOB পাওয়া যায় নি।
- কোন গ্রুপ থেকে unassigned
-
- ভুল ব্যবহারকারীর নাম / পাসওয়ার্ড
- সার্ভার থেকে একটি প্রতিক্রিয়া পেয়ে যখন ত্রুটি
- %1$s খালি থাকতে পারে না
- %1$s %2$d অক্ষরের চেয়ে কম হতে পারে না
- %1$s এর মধ্যে %2$s থাকতে পারে না
- %1$s একটি স্থান দিয়ে শুরু বা শেষ করতে পারে না
- অভ্যন্তরীণ সার্ভারে ত্রুটি, পরে আবার চেষ্টা করুন
- গ্রাহক তালিকা লোড করার সময় একটি ত্রুটি ঘটেছে
- ঋণ অ্যাকাউন্ট তালিকা লোড হচ্ছে
- সঞ্চয় অ্যাকাউন্টের তালিকা লোড করার সময় ত্রুটি
- সঞ্চয় অ্যাকাউন্ট সম্পর্কে বিস্তারিত লোড করার সময় ত্রুটি
- সাম্প্রতিক লেনদেনে লোড করার সময় একটি ত্রুটি ঘটেছে
- অ্যাকাউন্ট গ্রহণযোগ্য ত্রুটি লোড হচ্ছে
- গ্রাহক পাওয়া যায় নি
- ক্লায়েন্ট ডাউনলোড করা যাবে না
- ব্যবহারকারী প্রোফাইল ডাউনলোড করতে অক্ষম
- অ্যাকাউন্ট ডাউনলোড করতে অক্ষম
- পরিশোধের সময়সূচী পুনরুদ্ধার করা যাবে না
- আপনি নিজের অ্যাকাউন্টে স্থানান্তর করতে পারবেন না
- স্থানান্তর টেমপ্লেট ডাউনলোড করা যাবে না
- ক্রেডিট প্রাপ্ত করা যায়নি
- উত্তরাধিকারী এর টেমপ্লেট ডাউনলোড করা যাবে না
- টেমপ্লেট ডাউনলোড করা যাবে না
- উত্তরাধিকারী সফল হয়নি
- উত্তরাধিকারী আপডেট করা হয়েছে
- উত্তরাধিকারী অপসারণ করা সম্ভব ছিল না
- ঋণ অ্যাকাউন্ট প্রত্যাহার করা যাবে না
- তৃতীয় পক্ষের স্থানান্তর টেমপ্লেট ডাউনলোড ত্রুটি
- আপনি বর্তমানে কোন উত্তরাধিকারী আছে। উত্তরাধিকার যোগ করুন
-
- আপনি অনুমোদিত হয় না
- QR কোড
- QR কোড শেয়ার করুন
- মনিটর
- একটি বিকল্প চয়ন করুন
- লেনদেন দেখুন
- ফি দেখুন
- ঋণ সারসংক্ষেপ দেখুন
- পরিশোধের সময়সূচী দেখুন
- এই অ্যাকাউন্টের জন্য QR কোড দেখুন
- শেষ লেনদেনের বিবরণ
- ব্যবহারকারীর নাম 6 অক্ষর চেয়ে বড় হওয়া উচিত
- অবৈধ ইমেইল আইডি
- সার্ভার ডাউন, কিছু সময় পরে চেষ্টা করুন
- গ্রাহক ফি
- QR পড়তে ত্রুটি, আপনি সঠিক অঞ্চল নির্বাচন করুন তা নিশ্চিত করুন
- ইমেজ ডাউনলোড করার সময় ত্রুটি
- ক্লায়েন্ট ডাউনলোড
-
- শূন্যস্থানের
- গ্রাহক নাম
- অ্যাকাউন্টের অবস্থা
- পণ্যের নাম
- মোট পেমেন্ট
- ন্যূনতম প্রয়োজনীয় ব্যালেন্স
- পণ্যের নাম
- ঋণ উদ্দেশ্য
- পরিচালক
- প্রিন্সিপাল পরিশোধ আউট
- বার্ষিক সুদের হার
- সুদ অর্জন
- সুদ দেওয়া
- ক্রেডিট অ্যাকাউন্টের বিবরণ
- ঋণ সংক্ষিপ্তসার
- ঋণের নাম
- সুদ
- ফি
- জরিমানা
- মোট প্রত্যাশিত পেমেন্ট
- মোট পরিশোধ
- সুদ waived
- পেনাল্টি ভাঙ্গা
- ফি ক্ষমা করা হয়
- অসামান্য ভারসাম্য
- পরবর্তী কিস্তি
- পেমেন্ট সময়সীমা
- একটি পেমেন্ট করুন
- ঋণের ধরন
- মুদ্রা
- পরিশোধের সময়সূচী
- লেনদেন
- হস্তান্তর
- অগ্রগতি অনুমোদন
- পেমেন্ট জন্য অপেক্ষা করছে
- কিছু বাধ্যবাধকতা কারণে বন্ধ
- ঋণ বন্ধ
- তারিখ অনুসারে:
- দ্বারা:
- অর্থ প্রদান:
- সমর্পিত:
- বিলম্বিত:
- EXAMPLE টি
- উইজেট যোগ করুন
- সাহায্য
- বড় প্রযুক্তিগত শিল্পের স্থান
- ঋণ হিসাব বিবরণী
- ক্রেডিট আবেদন সফলভাবে পাঠানো হয়েছে
- ঋণ আবেদন সফলভাবে আপডেট করা হয়েছে
- ঋণ আবেদন সফলভাবে প্রত্যাহার
- কিছু না
- সব
- ৪ সপ্তাহ
- ৩ মাস
- ৬ মাস
- ফিল্টার
- শুরু তারিখ
- সমাপ্তির তারিখ
- ফিল্টার
- শুরু এবং শেষ তারিখ চয়ন করুন
- শেষ তারিখ শুরু তারিখের চেয়ে বড় হতে হবে
- আপনার অ্যাকাউন্টে লেনদেন সংরক্ষণ
- কোন ইন্টারনেট সংযোগ নেই
- পেমেন্ট তারিখ
- পেমেন্ট সংখ্যা
- তারিখ
- ঋণের ভারসাম্য
- পরিশোধ
- ঋণ পরিশোধের
- দ্রুত স্থানান্তর
- আপনি একটি ইন্টারনেট সংযোগ আছে তা নিশ্চিত করুন
- উত্তরাধিকারী
- উত্তরাধিকার পরিচালনা করুন
- সুবিধাভোগী
- উত্তরাধিকার বিবরণ
- উত্তরাধিকারীর নাম
- অ্যাকাউন্ট টাইপ
- স্থানান্তর সীমা
- উত্তরাধিকার যোগ করুন
- অফিসের নাম
- অ্যাকাউন্ট টাইপ নির্বাচন করুন *
- একটি উত্তরাধিকার জমা দিন
- উত্তরাধিকারী অফিসের নাম লিখুন
- উত্তরাধিকারীর নাম লিখুন
- স্থানান্তর সীমা লিখুন
- উত্তরাধিকারী অ্যাকাউন্ট নম্বর লিখুন
- ড্রপ ডাউন মেনু থেকে অ্যাকাউন্ট টাইপ নির্বাচন করুন
- উত্তরাধিকার সফলভাবে তৈরি করা হয়েছে
- উত্তরাধিকার সফলভাবে আপডেট করা হয়েছে
- আপনার উত্তরাধিকার আপডেট করুন
- উত্তরাধিকারী সরান
- আপনি এই উত্তরাধিকারী অপসারণ করতে চান আপনি কি নিশ্চিত?
- মুছতে
- উত্তরাধিকারী মুছে ফেলা হয়েছে
- একটি তৃতীয় পক্ষের স্থানান্তর
- মোট ঋণ
- মোট সঞ্চয়
- অ্যাকাউন্ট ওভারভিউ
- মোট ঋণের পরিমাণ দেখান বা লুকান
- *****
- সার্ভে
- অ্যাক্টিভেশন তারিখ
- গ্রুপ
- ব্যবহারকারীর তথ্য
- গ্রাহক টাইপ
- গ্রাহক শ্রেণীবিভাগ
- মোড নির্বাচন করুন
- আপনার অ্যাকাউন্টে বাইরের উত্তরাধিকার যোগ করুন। \nম্যানুয়ালি লিখুন অথবা আপনার অ্যাকাউন্টের QR কোডটি স্ক্যান করুন
- আপনি আপনার অ্যাকাউন্টে কর্ম সঞ্চালন করতে পারবেন না, সঞ্চয় অ্যাকাউন্ট থেকে QR কোড স্ক্যান করুন অথবা অন্য ব্যবহারকারীর ঋণ অ্যাকাউন্ট স্ক্যান করুন
- যোগ
- স্ক্যান
- ৪ সংখ্যার অ্যাক্সেস কোডটি প্রবেশ করান
- অ্যাক্সেস কোড ৪ ডিজিট হওয়া উচিত
- ভুল অ্যাক্সেস কোড
- আপনি 3 বার বেশি ভুল অ্যাক্সেস কোড প্রবেশ করেছেন
- এড়িয়ে যান
- সংরক্ষণ করুন
- লগ ইন পিন সেট করুন
- পিন পুনরায় লিখুন
- অ্যাক্সেস কোড মেলে না।
- আমি পিন ভুলে গেছি, আমি পাসওয়ার্ড দিয়ে লগ ইন করব
- অবিরত
- পরিমাণ শূন্য চেয়ে বড় হওয়া উচিত
- বুকমার্ক নির্মাণ অধীনে আমাদের সম্পর্কে
- নির্মাণ ট্যাব অধীনে সহায়তা
- লগ আউট করুন
- এখানে স্ব পরিষেবা অ্যাপ্লিকেশনটি ডাউনলোড করুন: https://play.google.com/store/apps/details?id=
- আবেদন নির্বাচন করুন
- পাওয়া যায় না
- QR জমা দিন
- QR কোড সঙ্গে অঞ্চল নির্বাচন করুন
-
- আমাদের সাথে যোগাযোগ করুন
- সফল স্থানান্তর
-
- মোট:
-
- এবং/সি
- ঋণ পণ্য
- নিষ্ক্রিয়
- সক্রিয়
- নিষ্ক্রিয়
-
-
- আপনি কি লগ আউট করতে চান?
- ঠিক আছে
- বাতিল
- প্রত্যাবর্তন
- প্রবেশ অস্বীকার
- আমি নিশ্চিত
- আবার চেষ্টা করুন
- অ্যাপ্লিকেশন সেটিংস
- ক্যামেরা ব্যবহার করার অনুমতি ছাড়া, আপনি উত্তরাধিকার যোগ করার জন্য QR কোড স্ক্যান করতে পারবেন না। আপনি এই বৈশিষ্ট্য নিষিদ্ধ করতে চান আপনি কি নিশ্চিত?
- আপনি ক্যামেরা ব্যবহার করার অনুমতি প্রত্যাখ্যান করেছেন, এই অনুমতি ব্যতিরেকে আপনি QR কোড ব্যবহার করে উত্তরাধিকার যুক্ত করতে পারবেন না। সেটিংস এটি চালু করুন
- মেমরি থেকে পড়ার অনুমতি ছাড়া, আপনি উত্তরাধিকার যোগ করার জন্য একটি QR কোড পাঠাতে পারবেন না। আপনি এই বৈশিষ্ট্য নিষিদ্ধ করতে চান আপনি কি নিশ্চিত?
- আপনি ডিভাইসের মেমরি থেকে পড়ার অনুমতি প্রত্যাখ্যান করেছেন, এই অনুমতি ব্যতিরেকে আপনি QR কোড ব্যবহার করে উত্তরাধিকার যুক্ত করতে পারবেন না। সেটিংস এটি চালু করুন
- আপনি ডিভাইসের মেমরিতে লিখতে অস্বীকার করেছেন, এই অনুমতি ব্যতীত আপনি QR কোড ব্যবহার করে উত্তরাধিকার যোগ করতে পারবেন না। সেটিংস এটি চালু করুন
- এই অনুমতি দেশের উপর নির্ভর করে মুদ্রা প্রদর্শন করতে হবে। আপনি এই বৈশিষ্ট্য নিষিদ্ধ করতে চান আপনি কি নিশ্চিত?
- আপনি অনুমতি ছাড়াই ডিভাইসের অবস্থা পড়ার অনুমতি প্রত্যাখ্যান করেছেন, অনুমতি ছাড়া মুদ্রা সঠিক বিন্যাসে প্রদর্শিত হতে পারে না। সেটিংস এটি চালু করুন
- সেটিংস কার্যকলাপ খুঁজে বের করার সময় কিছু ভুল হয়েছে। \n \'সেটিংস\' এ যান এবং ম্যানুয়ালি অনুমতি দিন।
- স্টোরেজ refusesals প্রত্যাখ্যান করা হয়
- আপনি কি নিশ্চিত %1$s চান?
-
-
- হ্যালো, %1$s
- অবৈধ পরিমাণ
- প্রস্থান করার জন্য আবার চাপুন
-
- ক্যামেরা ব্যবহার করার অনুমতি প্রত্যাখ্যান
-
- প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী
- ব্যবহারকারী অনুরোধ
- এখন কল করুন
- একটি ইমেইল বার্তা ছেড়ে দিন
- অবস্থান খুঁজুন
- কোন পেমেন্ট
- ফিল্টার সাফ করুন
- অ্যাকাউন্ট পরিচালনা করুন
- অধিক
- সেটিংস
- ভাষা
- আপনার ভাষা চয়ন করুন
- বিজ্ঞপ্তিগুলি
- প্রাথমিক ইউআরএল
- ভাড়াটিয়া
-
-
- - একটি নতুন ক্রেডিট অ্যাকাউন্টের জন্য কিভাবে আবেদন করবেন?
- - আমি কোথায় আমার প্রোফাইল সম্পর্কে তথ্য দেখতে পারি?
- - আমি কোথায় আমার সঞ্চয় অ্যাকাউন্ট লেনদেন দেখতে পারেন?
- - একটি QR কোড ব্যবহার কি?
- - কিভাবে একটি QR কোড ব্যবহার করে একটি সুবিধাভোগী তৈরি করতে?
- - কিভাবে একটি ক্রেডিট অ্যাকাউন্টের জন্য একটি পেমেন্ট করতে?
-
-
-
- - ক্রেডিট অ্যাকাউন্টের জন্য আবেদন করতে, হোম স্ক্রীনে \"ঋণের আবেদন প্রতিবেদন করুন\" ক্লিক করুন।
- - আপনি প্রধান অ্যাপ্লিকেশন পৃষ্ঠায় প্রোফাইল ছবিতে ক্লিক করে আপনার প্রোফাইল তথ্য দেখতে পারেন।
- - আপনার সঞ্চয় অ্যাকাউন্টে লেনদেন দেখতে, অ্যাকাউন্ট বিভাগে যান, প্রয়োজনীয় সঞ্চয় অ্যাকাউন্টটি ক্লিক করুন, উপরের ডান কোণে উপস্থিত তিনটি বিন্দু ক্লিক করুন এবং লেনদেন বিকল্পটি নির্বাচন করুন।
- - সমস্ত ক্রেডিট বা সঞ্চয় অ্যাকাউন্টগুলির জন্য QR কোডটি অন্যান্য ব্যবহারকারীদের সাথে ভাগ করা যেতে পারে যারা তাদের উত্তরাধিকারী তৈরি করতে পারবে
- - একটি উত্তরাধিকারী তৈরি করতে হলে, হোম পেজে আবেদন উত্তরাধিকারী যান, এবং তারপর নীচের ডান কোণায় থাকা বোতামে ক্লিক করুন, স্ক্যান, যা ক্যামেরা ডিভাইস খুলবে নির্বাচন QR কোড ব্যক্তির জন্য আপনি একটি উত্তরাধিকারী তৈরি করতে চান স্ক্যান প্রয়োজনীয় তথ্য পূরণ করতে সক্ষম হবে পরে, একটি QR কোড ব্যবহার উত্তরাধিকারী তৈরি
- - ঋণের অ্যাকাউন্টের জন্য অর্থ প্রদান করতে, অ্যাকাউন্ট বিভাগে যান, LOAN বিকল্পটি নির্বাচন করুন, তারপরে লক্ষ্য ক্রেডিট অ্যাকাউন্ট খুলুন এবং একটি পেমেন্ট বিকল্পটি ক্লিক করুন।
-
-
-
- সঞ্চয় মোট ভারসাম্য
- মোট ঋণ ভারসাম্য
- সর্বোপরি ব্যাংক অ্যাকাউন্ট এবং সঞ্চয় অ্যাকাউন্টের ব্যালেন্স সমস্ত সঞ্চয় এবং ঋণ অ্যাকাউন্টের ভিত্তিতে হিসাব করা হয়
- আপনি কি হস্তান্তর বাতিল করতে চান?
- সুতরাং
- পাসওয়ার্ড নিশ্চিত করুন
- পাসওয়ার্ড মেলে না।
- সংস্করণ %1$s
- সমস্ত অধিকার সংরক্ষিত।
- লাইসেন্সকরণ
- একটি স্থানান্তর করতে পারবেন না, পরে আবার চেষ্টা করুন
- অনুগ্রহ করে অপেক্ষা করুন …
- বার্তা
- কোন বিজ্ঞপ্তি নেই
-
- শেষ বিন্দু আপডেট করুন
- Endpoint কনফিগারেশন পরিবর্তন করতে এখানে ক্লিক করুন
- প্রাথমিক URL লিখুন
- ভাড়াটে যান
- কোন অভিযোগ পাওয়া যায় নি
- সিয়াটেল
- ১
- ২
- ৩
- ৪
- ৫
- ৬
- ৭
- ৮
- ৯
- ০
- অ্যাপের তথ্য
- মোট সঞ্চয় পরিমাণ দেখান বা লুকান
- পরে আবার চেষ্টা করুন ব্যর্থ লগইন.
-
diff --git a/androidApp/src/main/res/values-es/strings.xml b/androidApp/src/main/res/values-es/strings.xml
deleted file mode 100644
index 10af9cd67a..0000000000
--- a/androidApp/src/main/res/values-es/strings.xml
+++ /dev/null
@@ -1,433 +0,0 @@
-
-
-
- Iniciar sesión
- Hola, %1$s.
- Falta conexión internet
- Primario
- Nombre de usuario
- Acceder
- Carga
- Contraseña
- Dirección de correo electrónico
- Cuentas
- Clientes
- Transferencia de fondos
- Transacciones recientes
- Honorarios
- Cuestionario
- Sobre nosotros
- Guardar detalles de la cuenta
- Cuenta de ahorros
- Error al cargar la información de la cuenta de crédito
- Tasas de interés nominales
- Numero de cuenta
- Saldo de cuenta
- Depósitos totales
- Abre el panel de navegación
- Cerrar el panel de navegación
- Página de inicio
- Texto medio
- Texto pequeño
- Cuentas de clientes
- Pantalla de bienvenida
- Ahorro
- Préstamo
- Cuenta de credito
- Cuota
- Comparte tu cuenta
- Elige un cliente
- Laboral
- Imagen del estado
- Calendario de reembolso
- Ultima transaccion
- Hecho en
- Hacer una transferencia
- Elija un producto de crédito *
- Propósito del préstamo *
- La cantidad principal *
- Número
- Precaución
- Fecha de pago esperada
- Plazo de presentación.
- Subidas
- Gasto
- Fecha de transferencia
- Solicitar un préstamo
- Actualizar el prestamo
- Liberar el prestamo
- La razón para pagar el préstamo.
- La cuenta del préstamo ha sido retirada con éxito.
- Presentar un préstamo
- Nueva solicitud de crédito para
- Actualice su solicitud de crédito para
- Tipo de interés
- Amortización
- Período de interés
- Estrategia de pago
- Pago a
- Pago desde
- Cancelar
- Preestreno
- Transferir a
- Transferencia de
- Haciendo una transferencia
- Depósito
- Introduce la cantidad
- Nota es obligatoria
- Aprobado
- En anticipación
- Pagado
- Equilibrio
- Rechazado
- Espera
- Pagado en exceso
- En mora
- Elige todo lo que quieras aplicar.
- Filtrar cuentas de ahorro.
- Filtrar cuentas de crédito
- Filtrar el intercambio de cuentas
- Búsqueda
- Seleccione la opción Cuenta a pagar.
- Elija una cuenta para pagar con
- Introduce notas para transferir
- Seleccione el beneficiario
- Además
- Cerca
- Elija el tipo de transferencia
- Transferencia a ahorros
- Transferencia de ahorros
- Cargos por préstamos
- Ahorros
- Activo
- Cerrado
- Retirado
- Requiere aprobación
- En anticipación
- Maduro
- Crear una cuenta
- Nombre
- Nombre
- Numero de telefono
- Registro
- Solicitud de identificación
- Token de autenticación
- Verificar
- Verificación
- Acceder
- El usuario ha sido verificado exitosamente.
- Móvil
- Dirección de correo electrónico
- Modo de verificación
- Vacía
- Importar QR
- Ver el Garante
- Añadir un garante
- Quitar el garante
- Actualizar el garante
- Tipo de garante
- Sin garantes
- Toque para agregar un garante
- Detalles del garante.
- Fecha de apego
- Presentar
-
- La cuenta debe estar activa para hacer un depósito.
- La cuenta debe estar activa para realizar una transferencia.
-
- No hay cuentas de ahorro vinculadas a usted.
- No hay cuentas de préstamo asociadas con usted
- No hay cuentas compartidas asociadas con usted
- No hay transacciones relacionadas con usted.
- No hay un calendario de pago asociado con usted
- No hay transacciones disponibles
- Ninguna transacción
- DOB no encontrado.
- Sin asignar a ningún grupo.
-
- Nombre de usuario / contraseña incorrectos
- Error al obtener una respuesta del servidor.
- %1$s no puede estar vacío
- %1$s no puede tener menos de %2$d caracteres
- %1$s no puede contener %2$s
- %1$s no puede comenzar o terminar con un espacio
- Error en el servidor interno, intente de nuevo más tarde
- Se ha producido un error al cargar la lista de clientes.
- Error al cargar la lista de cuentas de préstamo
- Error al cargar la lista de cuentas de ahorro
- Error al cargar detalles sobre cuentas de ahorro
- Se produjo un error al cargar en transacciones recientes
- Error al cargar las cuentas por cobrar
- Cliente no encontrado
- El cliente no pudo ser descargado
- No se puede descargar el perfil de usuario
- No se pueden descargar cuentas
- El calendario de reembolso no puede ser recuperado
- No puedes hacer una transferencia a tu propia cuenta.
- La plantilla de transferencia no se pudo descargar
- No se pudieron obtener créditos.
- No se pudo descargar la plantilla del heredero.
- No se pudo descargar la plantilla.
- El heredero no tuvo éxito.
- El heredero no ha sido actualizado.
- El heredero no pudo ser removido.
- La cuenta del préstamo no pudo ser retirada.
- Error al descargar la plantilla de transferencia de terceros
- Actualmente no tienes heredero. Añadir heredero
-
- No estas autorizado
- Código QR
- Comparte el código QR
- Monitor
- Elige una opción
- Ver transacciones
- Ver tarifas
- Ver el resumen del préstamo.
- Ver el calendario de amortización.
- Ver el código QR para esta cuenta
- Detalles de la última transacción
- El nombre de usuario debe tener más de 6 caracteres.
- ID de correo electrónico no válido
- Servidor abajo, intente después de un tiempo
- Honorarios del cliente
- Error al leer QR, asegúrate de elegir la región correcta
- Error al descargar la imagen.
- Descarga de cliente
-
- Espacios
- Nombre del cliente
- Estado de la cuenta
- Nombre del producto
- Pago total
- Min. Bola requerida.
- Nombre del producto
- Propósito del préstamo
- Director
- Director pagado
- Tasa de interes anual
- Intereses acumulados
- Intereses pagados
- Detalles de la cuenta de crédito.
- Resumen del préstamo
- El nombre del prestamo
- Interés
- Honorarios
- Sanciones
- Pago total esperado
- Total pagado
- Interés no cobrado
- Pena rota
- No se cobra la tarifa.
- Saldo pendiente
- Próxima entrega
- Plazo de pago
- Hacer un pago
- El tipo de prestamo
- Moneda
- Calendario de reembolso
- Transacciones
- Transferencia
- Aprobación en curso
- Esperando el pago
- Cerrado debido a algunas obligaciones.
- Préstamo cerrado
- Por fecha:
- Por:
- Pagado:
- Cedido:
- Atrasados:
- Ejemplo
- Añadir widget
- Ayudar
- El lugar de las grandes industrias tecnológicas.
- Detalles de la cuenta del préstamo.
- Solicitud de crédito enviada con éxito.
- La solicitud de préstamo ha sido actualizada con éxito.
- Solicitud de préstamo retirada exitosamente
- Nada
- Todos
- 4 semanas
- Tres meses
- 6 meses
- Filtro
- Fecha de inicio
- Fecha de finalización
- Filtrado
- Elija fecha de inicio y final
- La fecha de finalización debe ser mayor que la fecha de inicio.
- Guardando transacciones en su cuenta
- Sin conexión a internet
- Fecha de pago
- El numero de pagos
- Fecha
- Saldo de prestamo
- Reembolso
- Amortización del préstamo
- Transferencia rápida
- Asegúrate de tener conexión a internet
- Heredero
- Administrar herederos
- Los descendientes
- Detalles del heredero
- Nombre del heredero
- Tipo de cuenta
- Límite de transferencia
- Añadir heredero
- El nombre de la oficina
- Elija el tipo de cuenta *
- Presentar un heredero
- Ingrese el nombre de la oficina del heredero
- Introduce el nombre del heredero
- Ingrese el límite de transferencia
- Ingrese el número de cuenta del heredero
- Seleccione el tipo de cuenta en el menú desplegable
- El heredero ha sido creado con éxito.
- El heredero ha sido actualizado exitosamente.
- Actualiza tu heredero
- Remover al heredero
- ¿Estás seguro de que quieres eliminar a este heredero?
- Borrar
- El heredero ha sido removido.
- Transferencia de un tercero
- Préstamo total
- Ahorro total
- Resumen de cuenta
- Mostrar u ocultar la cantidad total de ahorro
- Mostrar u ocultar el monto total del préstamo
- *****
- Encuestas
- Fecha de activación
- Grupo
- Datos de usuario
- Tipo de cliente
- Clasificación de clientes
- Elige el modo
- Agregue herederos externos a su cuenta. \nIngrese manualmente o escanee el código QR de su cuenta
- No puede realizar acciones en su cuenta, escanear el código QR de la cuenta de ahorros o la cuenta de préstamo de otro usuario
- Añadir
- Tomografía
- Ingrese el código de acceso de 4 dígitos
- El código de acceso debe constar de 4 dígitos.
- Código de acceso incorrecto
- Ha ingresado el código de acceso incorrecto más de 3 veces
- Omitir
- Guardar
- Establecer el pin para iniciar sesión
- Vuelva a introducir el pin
- El código de acceso no coincide.
- Olvidé el pin, iniciaré sesión con la contraseña.
- Continuar
- La cantidad debe ser mayor que cero
- Bookmark acerca de nosotros en construcción
- Ayuda en la ficha construcción
- Finalizar la sesión
- Descargue la aplicación de autoservicio aquí: https://play.google.com/store/apps/details?id=
- Seleccione la aplicación
- LA
- Enviar QR
- Elija región con código QR
-
- Contactanos
-
- Transferencia exitosa
-
- Total:
-
- A/C
- Producto de préstamo
- Inactivo
- ACTIVO
- INACTIVO
-
-
- ¿Estás seguro de que quieres cerrar sesión?
- Bueno
- Cancelar
- Regreso
- Acceso denegado
- Estoy seguro
- Por favor intente de nuevo
- Configuración de la aplicación
- Sin el permiso para usar la cámara, no podrá escanear el código QR para agregar el heredero. ¿Estás seguro de que quieres prohibir esta función?
- Ha rechazado el permiso para usar la cámara, sin este permiso no podrá agregar herederos utilizando el código QR. Encenderlo en la configuración
- Sin el permiso para leer de la memoria, no podrá enviar un código QR para agregar el heredero. ¿Estás seguro de que quieres prohibir esta función?
- Ha rechazado el permiso para leer de la memoria del dispositivo, sin este permiso no podrá agregar herederos utilizando el código QR. Encenderlo en la configuración
- Se ha negado a escribir en la memoria del dispositivo, sin este permiso no podrá agregar herederos utilizando el código QR. Encenderlo en la configuración
- Este permiso es requerido para mostrar la moneda dependiendo del país. ¿Estás seguro de que quieres prohibir esta función?
- Ha rechazado el permiso para leer el estado del dispositivo; sin este permiso, es posible que la moneda no se muestre en el formato correcto. Encenderlo en la configuración
- Algo salió mal al encontrar actividad en la configuración. \nVaya a \'Configuración\' y conceda permisos manualmente.
- Las denegaciones de almacenamiento fueron rechazadas.
- ¿Estás seguro de que quieres %1$s?
-
-
- Hola, %1$s.
- Cantidad inválida
- Presione de nuevo para salir
-
- Rechazo del permiso para utilizar la cámara.
-
- Preguntas frecuentes
- Solicitud del usuario
- Llama ahora
- Deja un mensaje de correo electrónico
- Encontrar ubicaciones
- Sin pagos
- Borrar filtros
- Administrar cuentas
- Más
- Ajustes
- Idioma
- Elige tu idioma
- Notificaciones
- URL principal
- Inquilino
-
-
- - ¿Cómo solicitar una nueva cuenta de crédito?
- - ¿Dónde puedo ver información sobre mi perfil?
- - ¿Dónde puedo ver las transacciones de mi cuenta de ahorros?
- - ¿Cuál es el uso de un código QR?
- - ¿Cómo crear un beneficiario utilizando un código QR?
- - ¿Cómo hacer un pago para una cuenta de crédito?
-
-
-
- - Para solicitar una cuenta de crédito, haga clic en \"Informe de solicitud de préstamo\" en la pantalla de inicio.
- - Puede ver la información de su perfil haciendo clic en la imagen del perfil en la página principal de la aplicación.
- - Para ver las transacciones en su cuenta de ahorros, vaya a la sección Cuentas, haga clic en la cuenta de ahorros requerida, haga clic en los tres puntos presentes en la esquina superior derecha y seleccione la opción Transacción.
- - El código QR para todas las cuentas de crédito o de ahorro puede compartirse con otros usuarios que les permitirán crear un heredero
- - Para crear un heredero, vaya al heredero en la página principal de la aplicación, luego haga clic en el botón en la esquina inferior derecha, seleccione la opción de escaneo que abrirá la cámara del dispositivo, escanee el código QR de la persona para la que desea crear un heredero, después de completar los datos requeridos, crear herederos utilizando el código QR
- - Para realizar un pago de una cuenta de préstamo, vaya a la sección Cuentas, seleccione la opción PRÉSTAMO, luego abra la cuenta de crédito objetivo y haga clic en la opción Realizar un pago.
-
-
-
- El saldo total del ahorro.
- El saldo total del préstamo.
- Más arriba está el saldo de la cuenta bancaria y la cuenta de ahorros calculada sobre la base de todas las cuentas de ahorros y préstamos.
- ¿Seguro que quieres cancelar la transferencia?
- Tan
- Confirmar contraseña
- La contraseña no coincide.
- Versión%1$s
- Todos los derechos reservados.
- La concesión de licencias
- No se puede hacer una transferencia, por favor intente de nuevo más tarde
- Por favor espere₀
- Mensaje
- Sin notificación
-
- Actualizar punto final
- Haga clic aquí para cambiar las configuraciones de punto final.
- Introduce la URL principal
- Ir al inquilino
- Informacion de la applicacion
- No se pudo entrar Inténtelo más tarde.
-
\ No newline at end of file
diff --git a/androidApp/src/main/res/values-fa-rAF/strings.xml b/androidApp/src/main/res/values-fa-rAF/strings.xml
deleted file mode 100644
index ea2f3b877c..0000000000
--- a/androidApp/src/main/res/values-fa-rAF/strings.xml
+++ /dev/null
@@ -1,437 +0,0 @@
-
-
-
- Mifos Mobile
- درباره ما
- "درباره ما در ساخت و ساز "
- موجودی حساب
- شناسه حساب
- برای انجام سپرده باید حساب فعال باشد
- برای انجام انتقال باید حساب کاربری فعال باشد
- شماره حساب
- A/C
- وضعیت حساب
- نوع حساب
- حساب ها
- نمای کلی حساب
- تاریخ فعال سازی
- فعال
- فعال
- اضافه کردن
- ذینفع اضافه کنید
- ذینفعان شخص ثالث را به حساب خود اضافه کد.ی را وارد کنید یا کد QR حساب را اسکن کنید
- ضمانت را اضافه کنید
- ویجت را اضافه کنید
- همه
- کلیه حقوق محفوظ است
- استهلاک
- مقدار
- مقتضی:
- مقدار باید بیشتر از صفر باشد
- برجسته:
- پرداخت شده:
- موج دار:
- نرخ بهره سالانه
- درخواست دادن
- درخواست وام دهید
- درخواست حساب پس انداز
- در انتظار تایید
- تایید شده
- مثال
- تأیید اعتبار
- تعادل
- پایه ای
- بهره بردار
- ذینفع
- ذینفع با موفقیت ایجاد شد
- ذینفع با موفقیت حذف شد
- جزئیات بهره بردار
- نام ذینفع
- ذینفع با موفقیت به روز شد
- تماس بگیر
- لغو
- آیا مطمئن هستید که می خواهید انتقال را لغو کنید؟
- گذرواژه حساب خود را تغییر دهید
- تغییر کد عبور برنامه
- تغییر کد عبور
- تغییر رمز عبور
- هزینه ها
- برنامه را انتخاب کنید
- نوع حساب راانتخاب کنید
- زبان خود را انتخاب کنید
- گزینه را انتخاب کنید
- نوع انتقال را انتخاب کنید
- فیلترها را پاک کنید
- حساب های مشتری
- هزینه مشتری
- طبقه بندی مشتری
- نام مشتری
- نوع مشتری
- مشتری
- مشتری را انتخاب کنید
- بستن
- کشو را ببندید
- بسته شد
- به دلیل برخی تعهدات بسته شد
- رمز عبور را تأیید کنید
- ادامه هید
- ایجاد یک حساب کاربری
- واحد پول
- گذرواژه فعلی
- تاریخ
- حذف
- ذینفع را حذف کنید
- مطمئن هستید که می خواهید این مزایا را حذف کنید
- ضمانت را حذف کنید
- سپرده
- جزئیات
- تنظیمات برنامه
- بازگشت
- لغو
- من مطمئن هستم
- تأیید
- دوباره امتحان کنید
- آیا برای خارج شدن مطمئن هستید؟
- بدون مجوز دوربین شما قادر به اسکن کد QR برای اضافه کردن ذینفع نخواهید بود. آیا مطمئن هستید که می خواهید این مجوز را انکار کنید؟
- شما مجوز استفاده از دوربین را رد کرده اید ، بدون این مجوز قادر نخواهید بود با استفاده از QR Code ذینفعان اضافه کنید. لطفاً آن را در تنظیمات فعال کنید
- این مجوز برای نشان دادن ارز با توجه به کشور شما لازم است. آیا مطمئن هستید که می خواهید آن را انکار کنید؟
- شما اجازه واکشی حالت تلفن را رد کرده اید ، بدون این مجوز ممکن است ارز با فرمت مناسب نشان داده نشود. لطفاً آن را در تنظیمات فعال کنید
- شما مجوز خواندن ذخیره سازی را رد کرده اید ، بدون این مجوز قادر نخواهید بود با استفاده از QR Code ذینفعان اضافه کنید. لطفاً آن را در تنظیمات فعال کنید
- بدون اجازه ذخیره نمی توانید کد QR را برای اضافه کردن ذینفع بارگذاری کنید. آیا مطمئن هستید که می خواهید این مجوز را انکار کنید؟
- شما مجوز نوشتن در انبار را رد کرده اید ، بدون این مجوز قادر نخواهید بود با استفاده از QR Code ذینفع اضافه کنید. لطفاً آن را در تنظیمات فعال کنید
- اجازه رد شد
- پرداخت
- تاریخ پرداخت
- پرداخت سود سهام
- سر رسید
- سر رسید:
- ویرایش
- پست الکترونیک
- هیچ حساب قرضه مربوط به شما وجود ندارد
- هیچ برنامه ای بازپرداخت وجود ندارد
- هیچ حساب پس انداز مرتبط با شما وجود ندارد
- هیچ حساب اشتراکی مربوط به شما وجود ندارد
- هیچ معاملات مربوط به شما وجود ندارد
- تاریخ پایان
- تاریخ پایان باید بیشتر از تاریخ شروع باشد
- شماره حساب ذینفع را وارد کنید
- مقدار را وارد کنید
- URL Base را وارد کنید
- نام ذینفع را وارد کنید
- نام دفتر ذینفع را وارد کنید
- کد عبور 4 رقمی را وارد کنید
- اظهارات را برای انتقال وارد کنید
- مستاجر را وارد کنید
- حد انتقال را وارد کنید
- خطا در بارگیری در هزینه مشتری
- خطا در بارگیری لیست مشتری
- مشتری یافت نشد
- ایجاد ذینفع انجام نشد
- حذف ذینفع انجام نشد
- "خطا در واگذاری قالب حساب انتقال "
- واگذاری حساب ها انجام نشد
- واگذاری مجوزها انجام نشد
- واگذاری قالب ذینفع انجام نشد
- واگذاری مشتری انجام نشد
- خطا در واگذاری تصویر
- واگذاری برنامه بازپرداخت انجام نشد
- قالب بارگیری نشد
- خطا در بارگیری قالب انتقال شخص سوم
- بارگیری نمایه کاربر انجام نشد
- خطایی در سرور داخلی ، لطفاً دوباره امتحان کنید
- ایمیل نامعتبر است
- خطا در بارگیری در جزئیات حساب قرضه
- خطایی در برداشت حساب قرضه
- خطا در بارگیری در لیست حساب های قرضه
- خطا در بارگیری پاسخ از سرور
- اتهامی یافت نشد
- کد عبور باید 4 رقمی باشد
- رمز عبور مطابقت ندارد.
- هنگام خواندن QR خطایی وجود دارد ، مطمئن شوید منطقه مناسبی را انتخاب کرده اید
- خطا در بارگیری در معاملات اخیر
- با همان حساب قابل انتقال نیست
- خطا در بارگیری در ذخیره جزئیات حساب
- خطا در بارگیری در ذخیره لیست حساب ها
- " سرور از کار افتاد ، بعد از مدتی امتحان کنید "
- نام کاربری / رمز عبور نامعتبر است
- به روزرسانی ذینفع انجام نشد
- نام کاربری باید از 6 الفبا بیشتر باشد
- دوباره به عقب فشار دهید تا خارج شوید
- تاریخ پرداخت پیش بینی شده
- سوالات متداول
- کسر هزینه
- هزینه
- هزینه پرداخت
- واگذاری مشتری
- فیلتر
- حساب های قرضه را فیلتر کنید
- حساب های پس انداز را فیلتر کنید
- حساب اشتراکی را فیلتر کنید
- فیلتر شده
- یافتن مکان
- نام
- رمز عبور را فراموش کرده اید؟ ، به صورت دستی وارد شوید
- یافت
- 4 هفته
- انتقال سرمایه
- جنسیت
- گروه ها
- جزئیات ضامن
- نوع ضمانت
- کمک
- راهنما در دست ساخت
- خانه
- وارد QR
- در عقب افتادگی ها
- غیر فعال
- غیر فعال
- وام تولید درآمد
- کد عبور نادرست
- شما بیش از 3 بار گذرواژه اشتباه را وارد کرده اید
- علاقه
- دوره محاسبه ای سود
- نرخ سود متهم شد
- سود پرداخت شد
- ارسال علاقه
- امتناع کرد از سود
- لطفاً مطمئن شوید که به اینترنت متصل هستید
- مقدار نامعتبر است
- شما نمی توانید وارد حساب خود شوید ، لطفاً کد QR حساب پس انداز و وام کاربر را اسکن کنید
- تاریخ عضویت
- زبان
- متن بزرگ
- نام خانوادگی
- آخرین جزئیات معامله
- آخرین معامله
- یک ایمیل بگذارید
- مجوزها
- قرضه
- حساب قرضه
- جزئیات حساب قرضه
- حساب قرضه با موفقیت برداشت شد
- پرداخت شده
- درخواست قرضه با موفقیت ارسال شد
- برنامه قرضه با موفقیت به روز شد
- برنامه قرضه با موفقیت برداشت شد
- توازن قرض
- هزینه های قرضه
- قرضه بسته شد
- نوع سود
- نام قرضه
- محصول قرضه
- نام محصول
- هدف قرضه
- ارائه نشده است
- بازپرداخت قرضه
- برنامه بازپرداخت
- خلاصه قرضه
- جزئیات حساب قرضه
- نوع قرضه
- ورود به سیستم
- آیا مطمئن هستید که می خواهید با استفاده از رمز ورود به سیستم وارد شوید؟
- خروج
- ساخته شده در
- پرداخت
- انتقال
- انجام انتقال
- مدیریت حسابها
- ذینفعان را مدیریت کنید
- خانه به صنعت بزرگ فناوری
- سیاتل
- بالغ
- متن متوسط
- پیام
- حداقل تعادل مورد نیاز
- مانیتور
- هنگام یافتن فعالیت تنظیمات ، مشکلی پیش آمد. به \"تنظیمات\" بروید و به صورت دستی مجوز دهید.
- به تأیید احتیاج دارید
- با ما تماس بگیرید
- درخواست قرضه جدید برای
- رمز عبور جدید
- برنامه جدید حساب پس انداز
- حساب پس انداز جدید با موفقیت ایجاد شد.
- اقساط بعدی
- نه
- در حال حاضر ، هیچ مزایایی ندارید. لطفاً ذینفع اضافه کنید
- هیچ DOB یافت نشد.
- بدون ضمانت
- بدون اتصال به اینترنت
- حساب قرضه
- معاملات بیشتری در دسترس نیست
- بدون اطلاع رسانی
- تعداد پرداخت ها
- ذخیره حساب
- اشتراک حساب
- بدون معامله
- بدون برداشت
- نرخ سود اسمی
- هیچ کدام
- قابل اجرا نیست
- با هیچ گروهی واگذار نشده است
- فاصله
- اطلاعیه
- نام دفتر
- کشوی باز
- دیگر
- "مقدار پرداخت نا شده "
- هزینه اضافه برداشت
- اضافه پرداخت
- کد عبور
- کد عبور مطابقت ندارد.
- یک رمز عبور برای ورود به سیستم تنظیم کنید
- رمز عبور
- متوسط
- قوی
- بسیار قوی
- ضعیف
- پرداخت از
- پرداخت به
- مجازات
- مجازات برداشته شدند
- در انتظار
- اجازه استفاده از دوربین رد شد
- اجازه ذخیره سازی رد شد
- شماره تلفن
- لطفا صبر کنید...
- برای تغییر تنظیمات Endpoint خود اینجا را کلیک کنید
- Endpoint را به روز کنید
- " اصلی"
- مقدار اصلی*
- اصلی پرداخت شده
- سیاست حفظ حریم خصوصی
- ادامه دهید
- تولید - محصول
- بارگیری
- ورود به سیستم
- هدف قرضه *
- پرسشنامه
- کد QR
- انتقال سریع
- پست الکترونیک
- تلفن
- معاملات اخیر
- لطفا کد عبور خود را دوباره وارد کنید
- تازه کردن
- ثبت نام
- رد شد
- انتقال رد شد
- اظهار نظریه
- اظهار نظر اجباری است
- بازپرداخت
- برنامه بازپرداخت
- استراتژی بازپرداخت
- درخواست شناسه
- مرور
- مرور
- ذخيره
- " اطلاعات صرفه جویی "
- معاملات در حساب صرفه جوی
- " حساب پس انداز با موفقیت به روز شد "
- نام محصول
- پس انداز
- حساب پس انداز
- معاملات حساب پس انداز
- حساب پس انداز برداشت موفقیت آمیز است
- هزینه های پس انداز
- اسکن
- جستجو کردن
- نوع حساب را انتخاب کنید *
- ذینفع را انتخاب کنید
- لطفا تاریخ شروع و تاریخ پایان را انتخاب کنید
- انتخاب محصول قرضه *
- حالت را انتخاب کنید
- حساب پرداخت را انتخاب کنید
- برای پرداخت به حساب خود را انتخاب کنید
- شناسه محصول را انتخاب کنید *
- منطقه ای را با کد QR انتخاب کنید
- تمام آنچه را که می خواهید درخواست کنید را انتخاب کنید
- تنظیمات
- اشتراک گذاری
- حساب اشتراکی
- کد QR را به اشتراک بگذارید
- در انتظار
- ثبت نام
- 6 ماه
- جست
- متن کوچک
- تاریخ شروع
- تصویر وضعیت
- تاریخ ارسال
- ارسال
- ارسال ذینفع
- " ارسال قرض"
- ارسال شده
- نمایش یا پنهان کردن کل مبلغ پس انداز
- نمایش یا پنهان کردن کل مبلغ وام
- *****
- بررسی ها
- برای افزودن ضمانت بر روی ضربه بزنید
- مستاجر
- انتقال شخص ثالث
- 3 ماه
- جمع:
- کل سپرده ها
- مجموع قروض
- بيلانس مجموعي قروض
- مانده حساب وام و پس انداز از طرف تمام حساب پس انداز و قرضه شما محاسبه می شود.
- مجموع پرداختی
- بازپرداخت کل پیش بینی شده
- مجموع پس انداز
- مجموع موجودی پس انداز
- مجموع برداشت ها
- دوره معامله
- نوع معامله
- معاملات
- انتقال
- تاریخ انتقال
- انتقال نا موفق بود، لطفا بعدا دوباره امتحان کنید
- انتقال از
- انتقال از پس انداز
- حد انتقال
- انتقال به
- انتقال به پس انداز
- با موفقیت منتقل شد
- به اینترنت متصل نیست
- شما حق استفاده را ندارید
- به روز رسانی
- ذینفع را به روز کنید
- ضمانت را به روز کنید
- قرضه را به روز کنید
- به روزرسانی برنامه قرضه برای
- حساب پس انداز را به روز کنید
- QR را بارگذاری کنید
- جزئیات کاربر
- پرسش کاربر
- نام کاربری
- حالت تأیید
- کاربر با موفقیت تأیید شد
- تأیید کنید
- تأیید
- مشاهده هزینه ها
- ضمانت را مشاهده کنید
- مشاهده خلاصه قرضه
- کد QR را برای این حساب مشاهده کنید
- مشاهده برنامه بازپرداخت
- معاملات را مشاهده کنید
- در انتظار
- منتظر اعزام
- برداشت قرضه
- دلیل برداشت قرضه
- برداشت حساب پس انداز
- برداشت از حساب
- تاریخ برداشت
- انتقال برداشت
- برداشت
- کار کردن
- بلي
- اطلاعات برنامه
- ورود ناموفق بود، لطفاً بعداً دوباره امتحان کنید.
-
\ No newline at end of file
diff --git a/androidApp/src/main/res/values-fr/strings.xml b/androidApp/src/main/res/values-fr/strings.xml
deleted file mode 100644
index eb067a45d2..0000000000
--- a/androidApp/src/main/res/values-fr/strings.xml
+++ /dev/null
@@ -1,431 +0,0 @@
-
-
-
- Se connecter
- Bonjour, %1$s.
- Pas de connexion internet
- Primaire
- Nom d\'utilisateur
- Se connecter
- Chargement
- Mot de passe
- Adresse e-mail
- Comptes
- Clientèle
- Transfert de fonds
- Transactions récentes
- Honoraires
- Questionnaire
- À propos de nous
- Enregistrer les détails du compte
- Compte d\'épargne
- Erreur lors du chargement des informations du compte de crédit
- Taux d\'intérêt nominaux
- Numéro de compte
- Solde du compte
- Total des dépôts
- Ouvrez le panneau de navigation
- Fermez le panneau de récupération
- Page d\'accueil
- Texte moyen
- Petit texte
- Comptes clients
- Écran de bienvenue
- Économie
- Prêt
- Compte créditeur
- Part
- Partagez votre compte
- Choisissez un client
- Travail
- Image de l\'état
- Calendrier de remboursement
- Dernière transaction
- Fabriqué sur
- Faire un transfert
- Choisissez un produit de crédit *
- Objet du prêt *
- Le montant principal *
- Nombre
- Prudence
- Date de paiement attendue
- Date limite de soumission
- Uploads
- Frais
- Date de transfert
- Demander un prêt
- Mettre à jour le prêt
- Libérer le prêt
- La raison pour payer le prêt
- Le compte de prêt a été retiré avec succès
- Soumettre un prêt
- Nouvelle demande de crédit pour
- Mettez à jour votre demande de crédit pour
- Type d\'intérêt
- Amortissement
- Période d\'intérêt
- Stratégie de remboursement
- Paiement à
- Paiement de
- Annuler
- Avant-première
- Transférer à
- Transfert de
- Faire un transfert
- Dépôt
- Entrez la quantité
- La note est obligatoire
- Approuvé
- Par anticipation
- Payé
- Équilibre
- Rejeté
- Attente
- Surpayé
- En retard
- Choisissez tout ce que vous voulez appliquer
- Filtrer les comptes d\'épargne
- Filtrer les comptes de crédit
- Filtrer le partage de compte
- Recherche
- Sélectionnez l\'option Compte à payer
- Choisissez un compte pour payer avec
- Entrer les notes à transférer
- Sélectionnez le bénéficiaire
- Plus
- Près
- Choisissez le type de transfert
- Virement à l\'épargne
- Virement d\'épargne
- Frais de prêt
- Épargnes
- Actif
- Fermé
- Retiré
- Nécessite l\'approbation
- Par anticipation
- Mature
- Créer un compte
- Nom
- Nom
- Numéro de téléphone
- S\'inscrire
- Demande d\'identité
- Jeton d\'authentification
- Vérifier
- Vérification
- Se connecter
- L\'utilisateur a été vérifié avec succès
- Mobile
- Adresse e-mail
- Mode de vérification
- Vide
- Importer QR
- Voir le garant
- Ajouter un garant
- Retirer le garant
- Mettre à jour le garant
- Type de garant
- Pas de garants
- Appuyez sur pour ajouter un garant
- Détails du garant
- Date de fixation
- Soumettre
-
- Le compte doit être actif pour effectuer un dépôt
- Le compte doit être actif pour effectuer un transfert
-
- Il n\'y a pas de compte d\'épargne lié à vous
- Aucun compte de prêt ne vous est associé.
- Aucun compte partagé ne vous est associé.
- Il n\'y a aucune transaction liée à vous
- Aucun calendrier de remboursement ne vous est associé.
- Aucune transaction disponible
- Aucune transaction
- Date de naissance non trouvée.
- Non affecté à un groupe
-
- Nom d\'utilisateur / mot de passe incorrect
- Erreur lors de l\'obtention d\'une réponse du serveur
- %1$s ne peut pas être vide
- %1$s ne peut pas être inférieur à %2$d caractères
- %1$s ne peut pas contenir %2$s
- %1$s ne peut pas commencer ou se terminer par un espace
- Erreur sur le serveur interne, réessayez plus tard
- Une erreur s\'est produite lors du chargement de la liste de clients
- Erreur lors du chargement de la liste des comptes de prêt
- Erreur lors du chargement de la liste des comptes d\'épargne
- Erreur lors du chargement des détails sur les comptes d\'épargne
- Une erreur s\'est produite lors du chargement dans les transactions récentes
- Erreur lors du chargement des comptes clients
- Client non trouvé
- Le client n\'a pas pu être téléchargé
- Impossible de télécharger le profil de l\'utilisateur
- Impossible de télécharger des comptes
- Le calendrier de remboursement ne peut pas être récupéré
- Vous ne pouvez pas effectuer de transfert sur votre propre compte
- Le modèle de transfert n\'a pas pu être téléchargé
- Les crédits n\'ont pas pu être obtenus
- Le modèle de l\'héritier n\'a pas pu être téléchargé
- Le modèle n\'a pas pu être téléchargé
- L\'héritier n\'a pas réussi
- L\'héritier n\'a pas été mis à jour
- L\'héritier n\'a pas pu être enlevé
- Le compte de prêt n\'a pas pu être retiré
- Erreur lors du téléchargement du modèle de transfert tiers
- Vous n\'avez actuellement aucun héritier. Ajouter l\'héritier
-
- Vous n\'êtes pas autorisé
- Code QR
- Partager le code QR
- Moniteur
- Choisissez une option
- Voir les transactions
- Voir les frais
- Voir le résumé du prêt
- Voir le calendrier de remboursement
- Voir le code QR pour ce compte
- Détails de la dernière transaction
- Le nom d\'utilisateur doit comporter plus de 6 caractères.
- Identifiant email invalide
- Serveur en panne, essayez après un certain temps
- Frais de client
- Erreur de lecture du code QR, assurez-vous de choisir la bonne région.
- Erreur lors du téléchargement de l\'image
- Téléchargement du client
-
- Espaces
- Nom du client
- État du compte
- Nom du produit
- Paiement total
- Balle minimale requise.
- Nom du produit
- But du prêt
- Directeur
- Principal payé
- Taux d\'intérêt annuel
- Intérêts courus
- Intérêts payés
- Détails du compte de crédit
- Résumé du prêt
- Le nom du prêt
- Intérêt
- Honoraires
- Pénalités
- Paiement total attendu
- Total payé
- Intérêt renoncé
- Pénalité brisée
- La taxe est levée
- Solde exceptionnel
- Prochain versement
- Date limite de paiement
- Faire un paiement
- Le type de prêt
- Monnaie
- Calendrier de remboursement
- Transactions
- Transfert
- Approbation en cours
- En attente de paiement
- Fermé en raison d\'obligations
- Prêt fermé
- Par date:
- Par:
- Payés:
- Cédé:
- En retard:
- EXEMPLE
- Ajouter un widget
- Aider
- Détails du compte de prêt
- Demande de crédit envoyée avec succès
- La demande de prêt a été mise à jour avec succès
- Demande de prêt retirée avec succès
- Rien
- Tous
- 4 semaines
- Trois mois
- 6 mois
- Filtre
- Date de début
- Date de fin
- Filtré
- Choisissez la date de début et de fin
- La date de fin doit être supérieure à la date de début
- Enregistrement des transactions sur votre compte
- Pas de connexion internet
- Date de paiement
- Le nombre de paiements
- Date
- Solde du prêt
- Remboursement
- Remboursement de prêt
- Transfert rapide
- Assurez-vous d\'avoir une connexion internet
- Héritier
- Gérer les héritiers
- Les descendants
- Détails de l\'héritier
- Nom de l\'héritier
- Type de compte
- Limite de transfert
- Ajouter l\'héritier
- Le nom du bureau
- Choisissez le type de compte *
- Soumettre un héritier
- Entrez le nom du bureau de l\'héritier
- Entrez le nom de l\'héritier
- Entrez la limite de transfert
- Entrez le numéro de compte de l\'héritier
- Sélectionnez le type de compte dans le menu déroulant.
- L\'héritier a été créé avec succès
- L\'héritier a été mis à jour avec succès
- Mettez à jour votre héritier
- Enlever l\'héritier
- Êtes-vous sûr de vouloir supprimer cet héritier?
- Effacer
- L\'héritier a été enlevé
- Transfert d\'un tiers
- Prêt total
- Total épargne
- Aperçu du compte
- Afficher ou masquer le montant total du prêt
- *****
- Enquêtes
- Date d\'activation
- Groupe
- Données utilisateur
- Type de client
- Classement client
- Choisissez le mode
- Ajoutez des héritiers externes à votre compte. \ nEntrer manuellement ou scanner le code QR du compte
- Vous ne pouvez pas effectuer d\'actions sur votre compte, scanner le code QR du compte d\'épargne ou du compte de prêt d\'un autre utilisateur
- Ajouter
- Balayage
- Entrez le code d\'accès à 4 chiffres
- Le code d\'accès doit être composé de 4 chiffres
- Code d\'accès incorrect
- Vous avez entré le mauvais code d\'accès plus de 3 fois
- Sauter
- Enregistrer
- Définissez le code PIN pour vous connecter
- Re-entrer la broche
- Le code d\'accès ne correspond pas.
- J\'ai oublié le code PIN, je vais me connecter avec le mot de passe
- Continuer
- Le montant doit être supérieur à zéro
- Bookmark A propos de nous en construction
- Assistance en construction
- Deconnexion
- Téléchargez l\'application Self Service ici: https://play.google.com/store/apps/details?id=
- Sélectionnez l\'application
- LA
- Soumettre un QR
- Choisissez une région avec un code QR
-
- Nous contacter
- Transfert réussi
-
- Total:
-
- A / C
- Produit de prêt
- Inactif
- ACTIVE
- INACTIVE
-
-
- Êtes-vous sûr de vouloir vous déconnecter?
- Bien
- Annuler
- Retour
- Accès refusé
- Je suis sur
- Veuillez réessayer
- Paramètres de l\'application
- Sans la permission d\'utiliser l\'appareil photo, vous ne pourrez pas scanner le code QR pour ajouter l\'héritier. Êtes-vous sûr de vouloir interdire cette fonctionnalité?
- Vous avez refusé la permission d\'utiliser la caméra. Sans cette permission, vous ne pourrez pas ajouter d\'héritiers à l\'aide du code QR. Activer dans les paramètres
- Sans la permission de lire de la mémoire, vous ne pourrez pas envoyer de code QR pour ajouter l\'héritier. Êtes-vous sûr de vouloir interdire cette fonctionnalité?
- Vous avez refusé la permission de lire dans la mémoire de l\'appareil. Sans cette permission, vous ne pourrez pas ajouter d\'héritiers à l\'aide du code QR. Activer dans les paramètres
- Vous avez refusé d\'écrire dans la mémoire de l\'appareil. Sans cette autorisation, vous ne pourrez pas ajouter d\'héritiers à l\'aide du code QR. Activer dans les paramètres
- Cette autorisation est nécessaire pour afficher la devise en fonction du pays. Êtes-vous sûr de vouloir interdire cette fonctionnalité?
- Vous avez refusé la permission de lire le statut du périphérique. Sans cette permission, la devise pourrait ne pas s\'afficher au format correct. Activer dans les paramètres
- Une erreur s\'est produite lors de la recherche d\'activité dans les paramètres. \ nAccédez à "Paramètres" et accordez les autorisations manuellement.
- Les refus de stockage ont été refusés
- Êtes-vous sûr de vouloir %1$s?
-
-
- Bonjour, %1$s
- Montant invalide
- Appuyez à nouveau pour quitter
-
- Refus de l\'autorisation d\'utiliser l\'appareil photo
-
- Foire Aux Questions
- Demande de l\'utilisateur
- Appelez maintenant
- Laisser un message électronique
- Trouver des lieux
- Aucun paiement
- Effacer les filtres
- Gérer les comptes
- Plus
- Paramètres
- Langue
- Choisissez votre langue
- Notifications
- URL primaire
- Locataire
-
-
- - Comment demander un nouveau compte de crédit?
- - Où puis-je voir les informations sur mon profil?
- - Où puis-je voir les transactions de mon compte d\'épargne?
- - Quelle est l\'utilisation d\'un code QR?
- - Comment créer un bénéficiaire à l\'aide d\'un code QR?
- - Comment faire un paiement pour un compte de crédit?
-
-
-
- - Pour demander un compte de crédit, cliquez sur \ "Signaler la demande de prêt \" sur l\'écran d\'accueil.
- - Vous pouvez afficher les informations de votre profil en cliquant sur l’image de profil sur la page principale de l’application.
- - Pour afficher les transactions dans votre compte d\'épargne, allez à la section Comptes, cliquez sur le compte d\'épargne requis, cliquez sur les trois points présents dans le coin supérieur droit et sélectionnez l\'option Transaction.
- - Le code QR de tous les comptes de crédit ou d’épargne peut être partagé avec d’autres utilisateurs qui leur permettront de créer un héritier
- - Pour créer un héritier, allez à l\'héritier sur la page principale de l\'application, puis cliquez sur le bouton dans le coin inférieur droit, sélectionnez l\'option de numérisation qui ouvrira la caméra de l\'appareil, scannez le code QR de la personne pour laquelle vous souhaitez créer un héritier, après avoir rempli les données requises, créer des héritiers en utilisant le code QR
- - Pour effectuer un paiement pour un compte de prêt, allez à la section Comptes, sélectionnez l\'option PRÊT, ouvrez le compte de crédit cible et cliquez sur l\'option Effectuer un paiement.
-
-
-
- Le solde total de l\'épargne
- Le solde total du prêt
- Ci-dessus le solde du compte bancaire et du compte d’épargne calculé sur la base de tous les comptes d’épargne et de prêt
- Êtes-vous sûr de vouloir annuler le transfert?
- Si
- Confirmer le mot de passe
- Le mot de passe ne correspond pas.
- Version %1$s
- Tous droits réservés.
- Licence
- Impossible d\'effectuer un transfert, veuillez réessayer ultérieurement
- S\'il vous plaît attendez…
- Message
- Aucune notification
-
- Mettre à jour le point final
- Cliquez ici pour modifier les configurations de point final
- Entrez l\'URL primaire
- Aller au locataire
- Informations sur l\'application
- Afficher ou masquer le montant total de l\'épargne
- Authentification échouée, essayez plus tard.
-
\ No newline at end of file
diff --git a/androidApp/src/main/res/values-hi/strings.xml b/androidApp/src/main/res/values-hi/strings.xml
deleted file mode 100644
index 74c44b9c9f..0000000000
--- a/androidApp/src/main/res/values-hi/strings.xml
+++ /dev/null
@@ -1,546 +0,0 @@
-
-
-
- Mifos Mobile
- लॉग इन करें
- स्वागत हे %1$s
- इंटरनेट से कनेक्ट नहीं है
- बुनियादी
- उपयोगकर्ता का नाम
- लॉगिन हो रहा है
- लोड हो रहा है
- पासवर्ड
- ईमेल
- खाता
- ग्राहकों
- फंड ट्रांसफर
- हाल ही के लेनदेन
- प्रभार
- प्रश्नावली
- हमारे बारे में
- बचत खाते का विवरण
- बचत खाता
- ऋण खातों के विवरण में लोड करने में त्रुटि
- मामूली ब्याज दर
- खाता बनाएं
- खाता संख्या
- खाते में शेष
- कुल जमा
- Open Drawer
- Close Drawer
- होम
- Medium Text
- Small Text
- ग्राहक खाते
- Splash
- बचत
- ऋण
- ऋण खाता
- बचत प्रभार
- शेयर
- शेयर खाता
- एक ग्राहक चुनें
- काम कर रहे
- जमा किया गया
- अदायगी
- स्थिति छवि
- पुनः भुगतान कार्यक्रम
- पिछले लेनदेन
- बनाया गया
- ट्रांसफर करें
- अंतिम नाम
- फ़ोन नंबर
- ईमेल
- मोबाइल
- सत्यापन मोड
- ऋण उत्पाद चुनें*
- ऋण का उद्देश्य*
- मुख्य राशि*
- रकम
- टिप्पणी
- अपेक्षित वितरण तिथि
- जमा की तारीख
- ट्रांसफर की तारीख
- ऋण के लिए आवेदन करें
- ऋण को अपडेट करें
- ऋण वापस ले लें
- ऋण वापस लेने का कारण
- ऋण खाता सफलतापूर्वक वापस ले लिया गया
- समीक्षा करें
- ऋण जमा करें
- नया ऋण आवेदन:
- ऋण आवेदन अपडेट करें:
- ब्याज प्रकार
- ऋणपरिशोध
- ब्याज गणना अवधि
- चुकौती रणनीति
- को भुगतान करें
- से भुगतान करें
- रद्द करें
- ट्रांसफर की समीक्षा
- के लिए ट्रांसफर
- इससे ट्रांसफर करें
- ट्रांसफर कर रहे हैं
- जमा
- राशी डालें
- ट्रांसफर के लिए टिप्पणी दर्ज करें
- लाभार्थी का चयन करें
- टिप्पणी अनिवार्य है
- मंजूर
- अपूर्ण
- भुगतान किया गया
- शेष
- अस्वीकृत
- इंतज़ार
- रजिस्टर
- अनुरोध आईडी
- अधिक भुगतान
- बकाया राशि में
- उन सभी का चयन करें जिन्हें आप आवेदन करना चाहते हैं
- बचत खाते को फ़िल्टर करें
- ऋण खातों को फ़िल्टर करें
- शेयर खाते फ़िल्टर करें
- खोजें
- ट्रांसफर टाइप चुनें
- सक्रिय
- बन्द है
- अनुमोदन आवश्यक
- अपूर्ण
- परिपक्व
- आगे बढ़ें
- बंद करें
- बचत खाते में स्थानांतरण
- बचत खाते से स्थानांतरण
- Withdrawn
-
- क्यूआर आयात करें
- प्रमाणीकरण चिह्न
- प्रमाणित करे
- प्रमाणित किया जा रहा है
- साइन उप हो रहा है
- उपयोगकर्ता को सफलतापूर्वक सत्यापित किया गया है
- टच आईडी का प्रयोग करें
- गारंटर देखें
- गारंटर जोड़ें
- गारंटर हटाएं
- गारंटर को अद्यतन करें
- गारंटर का प्रकार
- कोई गारंटर नहीं
- गारंटर जोड़ने के लिए टैप करें
- गारंटर विवरण
- शामिल होने की तारीख
- जमा करे
- उत्पाद आईडी चुनें
- खाता आईडी
- नया बचत खाता आवेदन
- बचत खाता अद्यतन करें
- बचत खाता निकालें
- वापसी की तारीख
- नया बचत खाता सफलतापूर्वक बनाया गया।
- बचत खाता सफलतापूर्वक अपडेट किया गया
- बचत खाते से निकासी सफल
- %1$s बचत खाता
- लागू करे
- बचत खाता लागू करें
- अद्यतन करे
- संपादित करें
- पासकोड
- अन्य
- लिंग
- नहीं
- मिलाx
-
- आपके पास कोई बचत खाता नहीं है
- आपके पास कोई ऋण खाता नहीं है
- आपके साथ कोई साझा खाता नहीं है
- आपके साथ कोई लेन-देन जुड़े नहीं है
- आपके साथ संबद्ध कोई भी पुनर्भुगतान शेड्यूल नहीं है
- कोई और लेनदेन उपलब्ध नहीं है
- कोई लेनदेन नहीं
- कोई जन्मतिथि नहीं मिली.
- किसी भी समूह के साथ नियुक्त नहीं
-
- स्थानांतरण पूर्ण करने में असमर्थ, कृपया बाद में फिर से प्रयास करेंं
-
- अमान्य उपयोगकर्ता नाम / पासवर्ड
- सर्वर से प्रतिक्रिया लोड करने में त्रुटि
- %1$s खाली नहीं हो सकता है
- %1$s %2$d वर्णों से कम नहीं हो सकता
- %1$s में %2$s शामिल नहीं हो सकते
- आंतरिक सर्वर में त्रुटि, कृपया फिर से प्रयास करें
- क्लाइंट सूची को लोड करने में त्रुटि
- ऋण खातों की सूची में लोड करने में त्रुटि
- बचत खातों की सूची को सहेजने में त्रुटि हो रही है
- बचत खातों की विवरण में लोड करने में त्रुटि
-
-
- क्यूआर कोड
- हालिया लेनदेन में लोड करने में त्रुटि
- क्लाइंट शुल्क में लोड करने में त्रुटि
- कोई शुल्क नहीं मिला
- ग्राहक नहीं मिला
- ग्राहक लाने में विफल
- उपयोगकर्ता प्रोफ़ाइल लाने में विफल
- खाते को लाने में विफल
- चुकौती कार्यक्रम प्राप्त करने में विफल
- एक ही खाते में ट्रांसफर नहीं कर सकते
- खाता ट्रांसफर टेम्पलेट को लाने में त्रुटि
- लाभार्थियों को लाने में असफल
- लाभार्थी टेम्प्लेट लाने में विफल
- उपयोगकर्ता विवरण
- सक्रियण दिनांक
- क्लाइंट टाइप
- समूह
- क्लाइंट वर्गीकरण
- टेम्पलेट को लाने में विफल
- लाभार्थी बनाने में विफल
- लाभार्थी को अपडेट करने में विफल
- लाभार्थी को हटाने में विफल
- ऋण खाता वापस लेने में त्रुटि
-
-वर्तमान में, आपके पास कोई लाभार्थी नहीं है। कृपया लाभार्थी जोड़ें
-
- आप अधिकृत नहीं है
-
- आप अपने खाते में कार्रवाई नहीं कर सकते हैं, कृपया अन्य उपयोगकर्ता के बचत और ऋण
- खाते के क्यूआर को स्कैन करें
- जोड़ें
- स्कैन
- मोड का चयन करें
- यहां सेल्फ सर्विस ऐप डाउनलोड करें: https://play.google.com/store/apps/details?id=
- 4 अंकों का पासकोड दर्ज करें
- पासकोड 4 अंकों का होनी चाहिए
- पासकोड गलत है
- आपने 3 बार से अधिक गलत पासकोड दर्ज किया है
- पासकोड भूल गए, मैन्युअल रूप से लॉगिन करें
- आगे बढ़ें
- छोड़ दें
- सहेजें
- राशि शून्य से अधिक होनी चाहिए
- निर्माण के तहत सहायता
- लॉग आउट
- ऋण प्रभार
- लेनदेन देखें
- प्रभार देखें
- ऋण सारांश देखें
- पुनर्भुगतान शेड्यूल देखें
- क्यूआर कोड साझा करें
- निगरानी करें
- विकल्प चुनें
- इस खाते के लिए क्यूआर कोड देखें
- पिछले लेनदेन का विवरण
- लॉगिन करने के लिए एक पासकोड सेटअप करें
- कृपया अपना पासकोड दोबारा दर्ज करें
- पासकोड मेल नहीं खा रहा है
-
- थर्ड पार्टी ट्रांसफर टेम्प्लेट को लाने में त्रुटि
- एप्लिकेशन चुनें
- क्यूआर अपलोड करें
- क्यूआर कोड वाले क्षेत्र का चयन करें
-
- उपयोगकर्ता नाम 6 अक्षरों से अधिक होना चाहिए
- अमान्य ईमेल आईडी
- सर्वर डाउन है, कुछ देर बाद प्रयास करें
- ग्राहक शुल्क
- क्यूआर पढ़ते समय त्रुटि हुई, सुनिश्चित करें कि आपने उचित क्षेत्र का चयन किया है
- तस्वीर लाने में त्रुटि
- अमान्य फोन नंबर
-
- क्लाइंट ला रहा है
-
- Spaces
- ग्राहक का नाम
- खाते की स्थिति
- उत्पाद का नाम
- कुल निकासी
- न्यूनतम आवश्यक शेष राशि
- उत्पाद का नाम
- ऋण का उद्देश्य
- मुख्य राशि
- मुख्य संवितरित राशि
- वार्षिक ब्याज दर
- ब्याज लगाया
- ब्याज भुगतान
- ऋण खाते का विवरण
- ऋण सारांश
- ऋण का नाम
- ब्याज
- फीस
- दंड
- कुल अपेक्षित पुनर्भुगतान
- कुल भुगतान
- ब्याज पर छूट
- दंड पर छूट
- फीस पर छूट
- बकाया राशि
- अगली किस्त
- नियत तारीख
- भुगतान करो
- ऋण प्रकार
- मुद्रा
- पुनः भुगतान कार्यक्रम
- लेन-देन
- ट्रांसफर
- स्वीकृति लंबित
- व्यय की प्रतीक्षा की जा रही है
- कुछ दायित्वों के कारण बंद
- ऋण बंद
- नियत तारीख:
- देय राशि:
- भुगतान:
- छूट दी गई राशि:
- बकाया:
- EXAMPLE
- Add widget
- मदद
- मिफोस इनिशिएटिव
- मिफोस इनिशिएटिव , सिएटल, वॉशिंगटन 98121
- सिएटल
- बड़े तकनीक उद्योग के लिए घर
- ऋण खाते का विवरण
- लोन आवेदन सफलतापूर्वक जमा
- ऋण आवेदन सफलतापूर्वक अपडेट किया गया
- ऋण आवेदन पत्र सफलतापूर्वक वापस लिया गया
- कोई नहीं
- सब
- 4 सप्ताह
- 3 महीने
- 6 महीने
- फिल्टर
- आरंभ करने की तिथि
- अंतिम तिथि
- फ़िल्टर दकर िया गया
- प्रारंभ तिथि और समाप्ति तिथि का चयन करें
- समाप्ति तारीख आरंभ तारीख से बड़ी होनी चाहिए
- बचत खाते का लेनदेन
- कोई इंटरनेट कनेक्शन नहीं
- संवितरण तिथि
- भुगतान की संख्या
- तारीख
- ऋण की शेष राशि
- चुकौती
- ऋण भुगतान
- शीघ्र ट्रांसफर
- कृपया सुनिश्चित करें कि आप इंटरनेट से कनेक्ट हैं
- लाभार्थी
- लाभार्थियों को प्रबंधित करें
- लाभार्थी
- लाभार्थी विवरण
- लाभार्थी का नाम
- खाते का प्रकार
- ट्रांसफर सीमा
- लाभार्थी को जोड़ें
- कार्यालय का नाम
- अपने खाते में तीसरे पक्ष के लाभार्थी जोड़ें या तो मैन्युअल रूप से दर्ज करें या
- खाता क्यूआर कोड को स्कैन करें
- आय सृजन ऋण
- लागू नहीं
- 143.00
- खाता प्रकार चुनें*
- लाभार्थी जमा करें
- लाभार्थी कार्यालय का नाम दर्ज करें
- लाभार्थी का नाम दर्ज करें
- ट्रांसफर सीमा दर्ज करें
- लाभार्थी की खाता संख्या दर्ज करें
- ड्रॉपडाउन से खाता प्रकार चुनें
- लाभार्थी सफलतापूर्वक बनाया
- लाभार्थी सफलतापूर्वक अद्यतन
- लाभार्थी को अपडेट करें
- लाभार्थी को हटाएं
- कुल ऋण
- कुल बचत
- खाता निरीक्षण
- कुल बचत राशि दिखाएँ या छुपाएँ
- कुल ऋण राशि दिखाएं या छुपाएं
- *****
- सर्वेक्षण
- पहला नाम
- क्या आप वाकई इस लाभार्थी को हटाना चाहते हैं
- क्या आप वाकई पासवर्ड का उपयोग करके लॉगिन करना चाहते हैं?
- हटा दें
- "हमारे बारे में" निर्माणाधीन
- लाभार्थी सफलतापूर्वक हटा दिया गया
- तृतीय पक्ष हस्तांतरण
-
-
- हमसे संपर्क करें
-
- सफलतापूर्वक ट्रांसफर किया गया
-
- कुल:
-
- खाता
- ऋण उत्पाद
- िष्क्रिय
- सक्रिय
- निष्क्रिय
-
-
- क्या आप लॉग आउट करना चाहते हैं?
- ठीक
- रद्द करें
- वापस जाएं
- अनुमति नहीं मिली
- मुझे यकीन है
- पुन: प्रयास करें
- एप्लिकेशन सेटिंग
- कैमरा अनुमति के बिना आप लाभार्थी को जोड़ने के
- लिए क्यूआर कोड स्कैन नहीं कर पाएंगे। क्या आप वाकई इस अनुमति से इनकार करना चाहते हैं?
- स्टोरेज की अनुमति के बिना आप लाभार्थी को जोड़ने के लिए क्यूआर कोड अपलोड नहीं कर पाएंगे। क्या आप वाकई इस अनुमति को अस्वीकार करना चाहते हैं?
- आपने स्टोरेज को पढ़ने की अनुमति से इनकार कर दिया है, इस अनुमति के बिना आप क्यूआर कोड का उपयोग करके लाभार्थियों को नहीं जोड़ पाएंगे। कृपया इसे सेटिंग्स में सक्षम करें
- आपने स्टोरेज को लिखने की अनुमति से इनकार कर दिया है, इस अनुमति के बिना आप क्यूआर कोड का उपयोग करके लाभार्थियों को नहीं जोड़ पाएंगे। कृपया इसे सेटिंग्स में सक्षम करें
-
- इस अनुमति के बिना, आप कैमरे का उपयोग
- करने की अनुमति से वंचित हैं, आप क्यूआर कोड का उपयोग कर लाभार्थियों को नहीं जोड़ पाएंगे।
- कृपया इसे सेटिंग्स में सक्षम करें
- आपके देश के अनुसार मुद्रा दिखाने के
- लिए इस अनुमति की आवश्यकता है। क्या आप वाकई इसे अस्वीकार करना चाहते हैं?
- आपने फोन स्टेट को लाने की अनुमति
- से इनकार कर दिया है, इस अनुमति के बिना उचित प्रारूप में दिखाया जा सकता है। कृपया इसे सेटिंग्स में सक्षम करें
- सेटिंग गतिविधि ढूंढने में कुछ गलत हो गया
- सेटिंग पर जाएं और स्वयं को अनुमति दें।
-
- स्टोरेज की अनुमति नहीं दी गयी
- क्या आप निश्चित हैं कि आप ऐसा करना चाहते हैं %1$s?
- लॉगिन के दौरान त्रुटि
-
-
-
- नमस्ते, %1$s
- %1$.2f %2$s
- %1$s %2$s
- %1$s: %2$.2f
- %1$s: %2$d
- अवैध राशि
- बाहर निकलने के लिए वापस बटन फिर से दबाएं
-
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 0
-
- अक्सर पूछे जाने वाले प्रश्न
- उपयोगकर्ता क्वेरी
- कॉल करें
- एक ईमेल छोड़ दो
- स्थान ढूंढें
- सेटिंग्स
- भाषा
- अपनी भाषा चुनिए
-
- कैमरे का उपयोग करने के लिए अनुमति अस्वीकृत
- No withdrawals
- फ़िल्टर हटाएँ
- सूचनाएं
- आधार यूआरएल
- किराएदार
- बचत खाता
- ऋण खाते
- Sharing Accounts
-
- ऋण उत्पाद चुनें
- फ़िंगरप्रिंट का उपयोग करके साइन इन करें
- अपना फ़िंगरप्रिंट स्कैन करें
-
-
- Manage Accounts
- More
- Total Savings Balance
- Total Loan Balance
- Above Loan and Savings accout balance are
- calculated on behalf of your all savings and loan accounts.
-
- क्या आप वाकई हस्तांतरण रद्द करना चाहते हैं?
- हाँ
- Confirm Password
- Password doesnot match.
- Version %1$s
- ©2016-%1$s Mifos Initiative.
- All rights reserved.
- Licenses
- गोपनीयता नीति
- पासकोड बदलें
- ऐप पासवर्ड बदलें
- पासवर्ड बदलें
- अपना खाता पासवर्ड बदलें
- वर्तमान पासवर्ड
- नया पासवर्ड
- %1$s सफलतापूर्वक बदला गया
- संदेश
- कोई अधिसूचना नहीं
-
- जमा करने के लिए खाता सक्रिय होना चाहिए
- स्थानांतरण करने के लिए खाता सक्रिय होना चाहिए
-
-
- - मैं नए ऋण खाते के लिए आवेदन कैसे करूं?
- - मैं अपना प्रोफ़ाइल विवरण कहां देख सकता हूं?
- - मैं अपने बचत खातों के लेन-देन कहां देख सकता हूं?
- - क्यूआर कोड का क्या उपयोग है?
- - क्यूआर कोड का उपयोग करने के लिए लाभार्थी कैसे बना सकते हैं?
- - किसी ऋण खाते के लिए भुगतान कैसे करें?
-
-
-
- - लोन अकाउंट के लिए आवेदन करने के लिए होम स्क्रीन पर दी गई \ "ऋण के लिए आवेदन करें \" पर क्लिक करें
- - आप होम स्क्रीन पर मौजूद उपयोगकर्ता छवि उपस्थिति पर क्लिक करके अपनी प्रोफ़ाइल जानकारी देख सकते हैं
- - अपने बचत खाते के लेन-देन को देखने के लिए, खाता अनुभाग पर जाएं, आवश्यक बचत खाते पर क्लिक करें, ऊपर दायीं
- ओर मौजूद तीन बिंदुओं पर क्लिक करें और लेनदेन विकल्प चुनें
- - किसी भी ऋण या बचत खातों के लिए क्यूआरकोड अन्य उपयोगकर्ताओं के साथ साझा किया जा सकता है जो
- उन्हें लाभार्थी बनाने की अनुमति देगा।
- - लाभार्थी बनाने के लिए, होम स्क्रीन से लाभार्थी विकल्प पर क्लिक करें, नीचे दाईं ओर स्थित परिपत्र बटन पर क्लिक करें,
- स्कैन करने का विकल्प चुनें, जो आपके डिवाइस के कैमरे को खोलता है, उस अन्य व्यक्ति के क्यूआर कोड को स्कैन करें जिसके
- लिए आप लाभार्थी बनाना चाहते हैं, अन्य आवश्यक विवरणों को भरने के बाद, आप क्यूआर कोड का उपयोग कर लाभार्थी बनाने
- में सक्षम होंगे
- - ऋण खाते के लिए भुगतान करने के लिए, खाता अनुभाग पर जाएं, ऋण चुनें और आवश्यक ऋण खाता खोलें
- और भुगतान करें विकल्प पर क्लिक करें।
-
- कृपया प्रतीक्षा करें
- अनुप्रयोग की जानकारी
- विफल प्रवेश कृपया बाद में पुन: प्रयास करें।
- समापन बिंदु अद्यतन करें
- अपने समापन बिंदु कॉन्फ़िगरेशन को बदलने के लिए यहां क्लिक करें
- बेस यूआरएल दर्ज करें
- किरायेदार दर्ज करें
- Refresh
-
-
- कमज़ोर
- मध्यम
- मज़बूत
- बहुत मजबूत
- उपलब्ध नहीं कराया
- विवरण
- उत्पाद
-
- लाभांश भुगतान
- निकासी
- रुचि पोस्टिंग
- शुल्क कटौती
- निकासी स्थानांतरण
- अस्वीकृत स्थानांतरण
- ओवरड्राफ्ट शुल्क
- बचत खाता लेनदेन
- लेन-देन की अवधि
- सौदे का प्रकार
- प्रशन
- सफलतापूर्वक लॉग आउट हो गए
-
- क्या आप नये खाते का पंजीकरण रद्द करना चाहते हैं?
- पंजीकरण रद्द करें
-
-
\ No newline at end of file
diff --git a/androidApp/src/main/res/values-in/strings.xml b/androidApp/src/main/res/values-in/strings.xml
deleted file mode 100644
index 95b39ad04d..0000000000
--- a/androidApp/src/main/res/values-in/strings.xml
+++ /dev/null
@@ -1,432 +0,0 @@
-
-
-
- Masuk
- Halo, %1$s.
- Tidak ada koneksi internet
- Primer
- Nama pengguna
- Login
- Pemuatan
- Kata sandi
- E-mail address
- Account
- Pelanggan
- Transfer dana
- Transaksi terbaru
- Biaya
- Daftar pertanyaan
- Tentang kami
- Menyimpan detail akun
- Rekening Tabungan
- Kesalahan memuat informasi akun kredit
- Suku bunga nominal
- Nomor akun
- Saldo akun
- Total deposit
- Buka Panel Navigasi
- Tutup panel pemulihan
- Halaman rumah
- Teks sedang
- Teks kecil
- Akun pelanggan
- Layar selamat datang
- Hemat
- Pinjaman
- Akun kredit
- Saham
- Bagikan akun Anda
- Pilih pelanggan
- Kerja
- Citra negara
- Jadwal pembayaran kembali
- Transaksi terakhir
- Dibuat
- Lakukan transfer
- Pilih produk kredit *
- Tujuan pinjaman *
- Jumlah utama *
- Jumlah
- Hati-hati
- Tanggal pembayaran yang diharapkan
- Batas waktu untuk pengiriman
- Upload
- Biaya
- Tanggal transfer
- Ajukan pinjaman
- Perbarui pinjaman
- Bebaskan pinjaman
- Alasan membayar pinjaman
- Rekening pinjaman telah berhasil ditarik
- Kirim pinjaman
- Aplikasi kredit baru untuk
- Perbarui aplikasi kredit Anda untuk
- Jenis minat
- Amortisasi
- Periode bunga
- Strategi pembayaran kembali
- Pembayaran ke
- Pembayaran dari
- Membatalkan
- Preview
- Transfer ke
- Transfer dari
- Melakukan transfer
- Deposito
- Masukkan jumlahnya
- Catatan adalah wajib
- Disetujui
- Dalam antisipasi
- Dibayar
- Keseimbangan
- Ditolak
- Menunggu
- Membayar lebih
- Tunggakan
- Pilih semua yang ingin Anda terapkan
- Filter rekening tabungan
- Filter akun kredit
- Filter berbagi akun
- Pencarian
- Pilih opsi Akun yang akan dibayar
- Pilih akun untuk membayar
- Masukkan catatan untuk ditransfer
- Pilih penerima
- Lebih lanjut
- Dekat
- Pilih jenis transfer
- Transfer ke tabungan
- Transfer dari tabungan
- Biaya pinjaman
- Tabungan
- Aktif
- Tertutup
- Pendiam
- Membutuhkan persetujuan
- Dalam antisipasi
- Dewasa
- Buat akun
- Nama
- Nama
- Nomor telepon
- Mendaftarkan
- Permintaan ID
- Token autentikasi
- Memeriksa
- Memverifikasi
- Login
- Pengguna telah berhasil diverifikasi
- Mobil
- E-mail address
- Mode verifikasi
- Kosong
- Impor QR
- Lihat Penjamin
- Tambahkan penjamin
- Hapus penjaminnya
- Perbarui penjamin
- Jenis penjamin
- Tanpa Jaminan
- Ketuk untuk menambahkan penjamin
- Rincian penjamin
- Tanggal lampiran
- Menyerahkan
-
- Akun harus aktif untuk melakukan setoran
- Akun harus aktif untuk melakukan transfer
-
- Tidak ada rekening tabungan yang terhubung dengan Anda
- Tidak ada rekening pinjaman yang terkait dengan Anda
- Tidak ada akun bersama yang dikaitkan dengan Anda
- Tidak ada transaksi yang terkait dengan Anda
- Tidak ada jadwal pembayaran kembali yang terkait dengan Anda
- Tidak ada transaksi yang tersedia
- Tidak ada transaksi
- DOB tidak ditemukan.
- Tidak ditetapkan ke grup mana pun
-
- Nama pengguna / kata sandi salah
- Kesalahan saat mendapatkan respons dari server
- %1$s tidak boleh kosong
- %1$s tidak boleh kurang dari %2$d karakter
- %1$s tidak boleh berisi %2$s
- %1$s tidak dapat memulai atau mengakhiri dengan spasi
- Kesalahan pada server internal, coba lagi nanti
- Terjadi kesalahan saat memuat daftar pelanggan
- Kesalahan memuat daftar akun pinjaman
- Kesalahan memuat daftar rekening tabungan
- Kesalahan memuat detail tentang rekening tabungan
- Terjadi kesalahan saat memuat dalam transaksi terkini
- Kesalahan saat memuat piutang
- Pelanggan tidak ditemukan
- Klien tidak dapat diunduh
- Tidak dapat mengunduh profil pengguna
- Tidak dapat mengunduh akun
- Jadwal pembayaran tidak dapat diambil
- Anda tidak dapat melakukan transfer ke akun Anda sendiri
- Template transfer tidak dapat diunduh
- Kredit tidak dapat diperoleh
- Template pewaris tidak dapat diunduh
- Template tidak dapat diunduh
- Ahli waris tidak berhasil
- Ahli waris belum diperbarui
- Pewaris tidak bisa dihapus
- Rekening pinjaman tidak dapat ditarik
- Kesalahan mengunduh template transfer pihak ketiga
- Anda saat ini tidak memiliki pewaris. Tambahkan pewaris
-
- Anda tidak berwenang
- Kode QR
- Bagikan kode QR
- Monitor
- Pilih satu opsi
- Lihat transaksi
- Lihat biaya
- Lihat ringkasan pinjaman
- Lihat jadwal pembayaran kembali
- Lihat kode QR untuk akun ini
- Detail transaksi terakhir
- Nama pengguna harus lebih dari 6 karakter
- ID email tidak valid
- Server turun, coba setelah beberapa saat
- Biaya pelanggan
- Kesalahan saat membaca QR, pastikan Anda memilih wilayah yang tepat
- Kesalahan saat mengunduh gambar
- Unduhan klien
-
- Spasi
- Nama pelanggan
- Status akun
- Nama produk
- Pembayaran total
- Min. Bola yang Diperlukan.
- Nama produk
- Tujuan pinjaman
- Direktur
- Pokok dibayarkan
- Suku bunga tahunan
- Bunga terkumpul
- Bunga dibayar
- Detail akun kredit
- Ringkasan pinjaman
- Nama pinjaman
- Bunga
- Biaya
- Hukuman
- Total pembayaran yang diharapkan
- Total dibayar
- Bunga dibebaskan
- Hukuman rusak
- Biaya tersebut dibebaskan
- Keseimbangan luar biasa
- Angsuran berikutnya
- Batas waktu pembayaran
- Lakukan pembayaran
- Jenis pinjaman
- Mata uang
- Jadwal pembayaran kembali
- Transaksi
- Transfer
- Persetujuan sedang berlangsung
- Menunggu pembayaran
- Ditutup karena beberapa kewajiban
- Pinjaman ditutup
- Menurut tanggal:
- Oleh:
- Dibayar:
- Menyerahkan:
- Terlambat:
- CONTOH
- Tambahkan widget
- Membantu
- Tempat industri teknologi besar
- Detail dari akun pinjaman
- Aplikasi kredit berhasil dikirim
- Aplikasi pinjaman telah berhasil diperbarui
- Aplikasi pinjaman berhasil ditarik
- Tidak ada
- Semua
- 4 minggu
- Tiga bulan
- 6 bulan
- Filter
- Tanggal mulai
- Tanggal berakhir
- Tersaring
- Pilih tanggal mulai dan akhir
- Tanggal akhir harus lebih besar dari tanggal mulai
- Menyimpan transaksi di akun Anda
- Tidak ada koneksi internet
- Tanggal pembayaran
- Jumlah pembayaran
- Tanggal
- Saldo pinjaman
- Pembayaran kembali
- Pembayaran pinjaman
- Transfer cepat
- Pastikan Anda memiliki koneksi internet
- Pewaris
- Kelola ahli waris
- The Descendants
- Rincian ahli waris
- Nama ahli waris
- Tipe akun
- Batas transfer
- Tambahkan pewaris
- Nama kantornya
- Pilih jenis akun *
- Kirim pewaris
- Masukkan nama kantor pewaris
- Masukkan nama ahli waris
- Masukkan batas transfer
- Masukkan nomor rekening ahli waris
- Pilih Jenis akun dari menu drop-down
- Pewaris telah berhasil dibuat
- Ahli waris telah berhasil diperbarui
- Perbarui pewaris Anda
- Hapus pewarisnya
- Anda yakin ingin menghapus pewaris ini?
- Hapus
- Pewaris telah dihapus
- Transfer dari pihak ketiga
- Total pinjaman
- Penghematan total
- Ikhtisar akun
- Tampilkan atau sembunyikan jumlah total tabungan
- Tampilkan atau sembunyikan jumlah total pinjaman
- *****
- Survei
- Tanggal aktivasi
- Kelompok
- Data pengguna
- Jenis pelanggan
- Klasifikasi pelanggan
- Pilih mode
- Tambahkan pewaris eksternal ke akun Anda. \ nMasukkan secara manual atau pindai kode QR akun
- Anda tidak dapat melakukan tindakan di akun Anda, memindai kode QR dari rekening tabungan atau akun pinjaman pengguna lain
- Menambahkan
- Pindai
- Masukkan kode akses 4-digit
- Kode akses harus terdiri dari 4 digit
- Kode akses salah
- Anda telah memasukkan kode akses yang salah lebih dari 3 kali
- Melewatkan
- Simpan
- Setel pin untuk masuk
- Masukkan kembali pin
- Kode akses tidak cocok.
- Saya lupa pin, saya akan masuk dengan kata sandi
- Terus
- Jumlahnya harus lebih besar dari nol
- Bookmark Tentang kami sedang dibangun
- Bantuan dalam tab konstruksi
- Log out
- Download aplikasi Self Service di sini: https://play.google.com/store/apps/details?id=
- Pilih aplikasi
- THE
- Kirim QR
- Pilih wilayah dengan kode QR
-
- Hubungi kami
- Transfer berhasil
-
- Total:
-
- A/C
- Produk pinjaman
- Non-aktif
- AKTIF
- NON-AKTIF
-
-
- Anda yakin ingin keluar?
- Oke
- Membatalkan
- Kembali
- Akses ditolak
- Aku yakin
- Silakan coba lagi
- Pengaturan aplikasi
- Tanpa izin untuk menggunakan kamera, Anda tidak akan dapat memindai kode QR untuk menambahkan pewaris. Anda yakin ingin mencekal fitur ini?
- Anda telah menolak izin untuk menggunakan kamera, tanpa izin ini Anda tidak akan dapat menambahkan ahli waris menggunakan kode QR. Aktifkan dalam pengaturan
- Tanpa izin untuk membaca dari memori, Anda tidak akan dapat mengirim kode QR untuk menambahkan pewaris. Anda yakin ingin mencekal fitur ini?
- Anda telah menolak izin untuk membaca dari memori perangkat, tanpa izin ini Anda tidak akan dapat menambahkan ahli waris menggunakan kode QR. Aktifkan dalam pengaturan
- Anda telah menolak untuk menulis ke memori perangkat, tanpa izin ini Anda tidak akan dapat menambahkan ahli waris menggunakan kode QR. Aktifkan dalam pengaturan
- Izin ini diperlukan untuk menunjukkan mata uang tergantung pada negara. Anda yakin ingin mencekal fitur ini?
- Anda telah menolak izin untuk membaca status perangkat, tanpa izin ini mata uang tidak dapat ditampilkan dalam format yang benar. Aktifkan dalam pengaturan
- Terjadi kesalahan saat mencari aktivitas di setelan. \nBuka \'Pengaturan \' dan berikan izin secara manual.
- Penolakan penyimpanan ditolak
- Anda yakin ingin %1$s?
-
-
- Halo, %1$s.
- Jumlah tidak valid
- Tekan lagi untuk keluar
-
- Penolakan izin untuk menggunakan kamera
-
- Pertanyaan yang Sering Diajukan
- Permintaan pengguna
- Hubungi sekarang
- Tinggalkan pesan e-mail
- Temukan lokasi
- Tidak ada pembayaran
- Hapus filter
- Kelola akun
- Lebih
- Pengaturan
- Bahasa
- Pilih bahasa Anda
- Pemberitahuan
- URL utama
- Penyewa
-
-
- - Bagaimana cara mengajukan permohonan untuk akun kredit baru?
- - Di mana saya dapat melihat informasi tentang profil saya?
- - Di mana saya dapat melihat transaksi rekening tabungan saya?
- - Apa gunanya kode QR?
- - Bagaimana cara membuat penerima menggunakan kode QR?
- - Bagaimana cara melakukan pembayaran untuk akun kredit?
-
-
-
- - Untuk mengajukan permohonan akun kredit, klik \ "Laporkan aplikasi pinjaman \" di layar beranda.
- - Anda dapat melihat informasi profil Anda dengan mengklik pada gambar profil di halaman aplikasi utama.
- - Untuk melihat transaksi di rekening tabungan Anda, buka bagian Akun, klik rekening tabungan yang diperlukan, klik tiga titik yang ada di sudut kanan atas dan pilih Opsi transaksi.
- - Kode QR untuk semua kredit atau rekening tabungan dapat dibagikan dengan pengguna lain yang akan memungkinkan mereka untuk membuat ahli waris
- - Untuk membuat penggantinya, pergi ke ahli waris dari aplikasi halaman rumah, dan kemudian klik pada tombol di pojok kanan bawah, pilih scan, yang akan membuka perangkat kamera, memindai kode QR orang untuk siapa Anda ingin membuat ahli waris, setelah mengisi data yang dibutuhkan akan dapat membuat ahli waris menggunakan kode QR
- - Untuk melakukan pembayaran untuk akun pinjaman, buka bagian Akun, pilih opsi PINDAH, lalu buka akun kredit target dan klik opsi Lakukan pembayaran.
-
-
-
- Total saldo tabungan
- Total saldo pinjaman
- Di atas adalah saldo rekening bank dan rekening tabungan yang dihitung berdasarkan semua tabungan dan rekening pinjaman
- Anda yakin ingin membatalkan transfer?
- Jadi
- Konfirmasi kata sandi
- Kata Sandi Tidak cocok.
- Versi %1$s
- Hak cipta dilindungi.
- Perizinan
- Tidak dapat melakukan transfer, silakan coba lagi nanti
- Tolong tunggu…
- Pesan
- Tanpa pemberitahuan
-
- Perbarui Endpoint
- Klik di sini untuk mengubah konfigurasi Endpoint
- Masukkan URL utama
- Pergi ke Tenant
- Info Aplikasi
- Login Gagal, Silakan Coba Lagi Nanti.
-
diff --git a/androidApp/src/main/res/values-km/strings.xml b/androidApp/src/main/res/values-km/strings.xml
deleted file mode 100644
index 839a28e33c..0000000000
--- a/androidApp/src/main/res/values-km/strings.xml
+++ /dev/null
@@ -1,432 +0,0 @@
-
-
-
- ចូល
- សួស្តី, %1$s ។
- គ្មានការតភ្ជាប់អ៊ីនធឺណិត
- បឋម
- ឈ្មោះអ្នកប្រើ
- ចូល
- ផ្ទុក
- ការពាក្យសម្ងាត់
- អាសយដ្ឋានអ៊ីមែល
- គណនី
- អតិថិជន
- ផ្ទេរមូលនិធិ
- ប្រតិបត្តិការថ្មីៗ
- ថ្លៃសេវា
- សំណួរ
- អំពីយើង
- ការរក្សាទុកព័ត៌មានលម្អិតគណនី
- គណនីសន្សំ
- កំហុសក្នុងការផ្ទុកព័ត៌មានគណនីឥណទាន
- អត្រាការប្រាក់នាមករណ៍
- លេខគណនី
- សមតុល្យគណនី
- ប្រាក់បញ្ញើសរុប
- បើកបន្ទះរុករក
- បិទបន្ទះស្តារឡើងវិញ
- ទំព័រដើម
- អត្ថបទមធ្យម
- អត្ថបទតូច
- គណនីអតិថិជន
- អេក្រង់ស្វាគមន៍
- ការរក្សាទុក
- ប្រាក់កម្ចី
- គណនីឥណទាន
- ចែករំលែក
- ចែករំលែកគណនីរបស់អ្នក
- ជ្រើសរើសអតិថិជន
- ធ្វើការ
- រូបភាពរបស់រដ្ឋ
- កាលវិភាគសងប្រាក់
- កិច្ចការចុងក្រោយ
- បានធ្វើឡើង
- ធ្វើការផ្ទេរ
- ជ្រើសរើសផលិតផលឥណទាន *
- គោលបំណងនៃប្រាក់កម្ចី *
- ចំនួនទឹកប្រាក់សំខាន់ *
- ចំនួន
- ការប្រុងប្រយ័ត្ន
- កាលបរិច្ឆេទទូទាត់ដែលរំពឹងទុក
- ថ្ងៃផុតកំណត់សម្រាប់ការដាក់ស្នើ
- ផ្ទុកឡើង
- ចំណាយ
- កាលបរិច្ឆេទផ្ទេរ
- ដាក់ពាក្យសុំប្រាក់កម្ចី
- ធ្វើបច្ចុប្បន្នភាពប្រាក់កម្ចី
- បញ្ចេញប្រាក់កម្ចី
- ហេតុផលសម្រាប់ការបង់ប្រាក់កម្ចី
- គណនីប្រាក់កម្ចីត្រូវបានដកចេញដោយជោគជ័យ
- ដាក់ប្រាក់កម្ចី
- កម្មវិធីឥណទានថ្មីសម្រាប់
- ធ្វើបច្ចុប្បន្នភាពកម្មវិធីឥណទានរបស់អ្នក
- ប្រភេទនៃការប្រាក់
- រំលស់
- រយៈពេលការប្រាក់
- យុទ្ធសាស្ត្រសងប្រាក់
- ការទូទាត់ទៅ
- ការទូទាត់ពី
- បោះបង់
- មើលជាមុន
- ផ្ទេរទៅ
- ផ្ទេរពី
- ធ្វើការផ្ទេរ
- ការដាក់ប្រាក់
- បញ្ចូលបរិមាណ
- ចំណាំគឺជាកាតព្វកិច្ច
- បានអនុម័ត
- នៅក្នុងការស្មានទុកជាមុន
- បានបង់ប្រាក់
- តុល្យភាព
- ច្រានចោល
- ការរង់ចាំ
- ប្រាក់
- នៅបំណុល
- ជ្រើសរើសអ្វីគ្រប់យ៉ាងដែលអ្នកចង់អនុវត្ត
- ត្រងគណនីសន្សំ
- ត្រងគណនីឥណទាន
- តម្រងការចែករំលែកគណនី
- ស្វែងរក
- ជ្រើសជម្រើសគណនីត្រូវបង់
- ជ្រើសរើសគណនីដើម្បីទូទាត់ប្រាក់ជាមួយ
- បញ្ចូលកំណត់សម្គាល់ដើម្បីផ្ទេរ
- ជ្រើសអ្នកទទួលអត្ថប្រយោជន៍
- បន្ថែមទៀត
- ការជិតស្និទ្ធ
- ជ្រើសរើសប្រភេទនៃការផ្ទេរ
- ផ្ទេរទៅសន្សំ
- ផ្ទេរពីការសន្សំ
- កម្រៃសម្រាប់ប្រាក់កម្ចី
- សន្សំ
- សកម្ម
- បិទ
- ដក
- តម្រូវឱ្យមានការយល់ព្រម
- នៅក្នុងការស្មានទុកជាមុន
- ចាស់ទុំ
- បង្កើតគណនី
- ឈ្មោះ
- ឈ្មោះ
- លេខទូរស័ព្ទ
- ចុះឈ្មោះ
- សំណើលេខសម្គាល់
- និមិត្តសញ្ញាផ្ទៀងផ្ទាត់
- ផ្ទៀងផ្ទាត់
- ការផ្ទៀងផ្ទាត់
- ចូល
- អ្នកប្រើត្រូវបានផ្ទៀងផ្ទាត់ដោយជោគជ័យ
- ទូរស័ព្ទដៃ
- អាសយដ្ឋានអ៊ីមែល
- របៀបផ្ទៀងផ្ទាត់
- ទទេ
- នាំចូល QR
- មើលធានា
- បន្ថែមអ្នកធានា
- យកអ្នកធានាចេញ
- ធ្វើបច្ចុប្បន្នភាពអ្នកធានា
- ប្រភេទអ្នកធានា
- គ្មានអ្នកធានា
- ប៉ះដើម្បីបន្ថែមអ្នកធានា
- ព័ត៌មានលម្អិតអំពីអ្នកធានា
- កាលបរិច្ឆេទនៃឯកសារភ្ជាប់
- ដាក់ស្នើ
-
- គណនីគួរតែសកម្មដើម្បីដាក់ប្រាក់
- គណនីគួរតែសកម្មដើម្បីធ្វើការផ្ទេរ
-
- មិនមានគណនីសន្សំមានទំនាក់ទំនងជាមួយអ្នកទេ
- មិនមានគណនីប្រាក់កម្ចីដែលជាប់ទាក់ទងជាមួយអ្នកទេ
- មិនមានគណនីចែករំលែកត្រូវបានភ្ជាប់ជាមួយអ្នកទេ
- មិនមានប្រតិបត្តិការទាក់ទងនឹងអ្នកទេ
- មិនមានកាលវិភាគសងប្រាក់ដែលជាប់ទាក់ទងជាមួយអ្នកទេ
- មិនមានប្រតិបត្តិការទេ
- គ្មានប្រតិបត្តិការ
- រកមិនឃើញ DOB ។
- មិនបានចាត់ចែងទៅក្រុមណាមួយទេ
-
- ឈ្មោះអ្នកប្រើប្រាស់ / ពាក្យសម្ងាត់មិនត្រឹមត្រូវ
- កំហុសនៅពេលទទួលបានការឆ្លើយតបពីម៉ាស៊ីនមេ
- %1$s មិនអាចទទេបានទេ
- %1$s មិនអាចតិចជាង %2$d តួអក្សរ
- %1$s មិនអាចមាន %2$s
- %1$s មិនអាចចាប់ផ្តើមឬបញ្ចប់ដោយដកឃ្លាបានទេ
- កំហុសនៅលើម៉ាស៊ីនមេខាងក្នុងសូមព្យាយាមម្តងទៀតពេលក្រោយ
- កំហុសបានកើតឡើងនៅពេលផ្ទុកបញ្ជីអតិថិជន
- កំហុសក្នុងការផ្ទុកបញ្ជីគណនីប្រាក់កម្ចី
- កំហុសក្នុងការផ្ទុកបញ្ជីគណនីសន្សំ
- កំហុសក្នុងការផ្ទុកព័ត៌មានលម្អិតអំពីគណនីសន្សំ
- កំហុសបានកើតឡើងនៅពេលផ្ទុកនៅក្នុងប្រតិបត្តិការថ្មីៗ
- កំហុសក្នុងការផ្ទុកគណនីដែលត្រូវទទួល
- អតិថិជនមិនត្រូវបានរកឃើញ
- មិនអាចទាញយកម៉ាស៊ីនកូន
- មិនអាចទាញយកទម្រង់អ្នកប្រើ
- មិនអាចទាញយកគណនី
- មិនអាចទាញយកកាលវិភាគការសងប្រាក់
- អ្នកមិនអាចធ្វើការផ្ទេរទៅគណនីផ្ទាល់ខ្លួនរបស់អ្នកបានទេ
- មិនអាចទាញយកពុម្ពផ្ទេរបានទេ
- មិនអាចទទួលបានឥណទាន
- គំរូរបស់អ្នកស្នងមរតកមិនអាចទាញយកបានទេ
- មិនអាចទាញយកពុម្ពបានទេ
- អ្នកគ្រងមរតកមិនបានជោគជ័យទេ
- អ្នកស្នងមរតកមិនទាន់បានធ្វើបច្ចុប្បន្នភាពទេ
- អ្នកស្នងមរតកមិនអាចយកចេញបានទេ
- គណនីប្រាក់កម្ចីមិនអាចដកបាន
- កំហុសក្នុងការទាញយកគំរូផ្ទេរភាគីទីបី
- បច្ចុប្បន្នអ្នកមិនមានអ្នកស្នងទេ។ បន្ថែមអ្នកស្នង
-
- អ្នកមិនត្រូវបានអនុញ្ញាត
- QR code
- ចែករំលែកលេខកូដ QR
- ម៉ូនីទ័រ
- ជ្រើសរើសជម្រើស
- មើលប្រតិបត្តិការ
- មើលថ្លៃ
- សូមមើលសេចក្តីសង្ខេបប្រាក់កម្ចី
- សូមមើលកាលវិភាគសង
- មើលកូដ QR សម្រាប់គណនីនេះ
- ព័ត៌មានលម្អិតនៃប្រតិបត្តិការចុងក្រោយ
- ឈ្មោះអ្នកប្រើប្រាស់គួរតែធំជាង 6 តួអក្សរ
- លេខសម្គាល់អ៊ីម៉ែលមិនត្រឹមត្រូវ
- ម៉ាស៊ីនបម្រើចុះ, ព្យាយាមពេលក្រោយ
- ថ្លៃសេវាអតិថិជន
- កំហុសក្នុងការអាន QR ត្រូវប្រាកដថាអ្នកជ្រើសរើសតំបន់ត្រឹមត្រូវ
- កំហុសក្នុងការទាញយករូបភាព
- ទាញយកអតិថិជន
-
- ចន្លោះ
- ឈ្មោះអតិថិជន
- ស្ថានភាពគណនី
- ឈ្មោះផលិតផល
- ការទូទាត់សរុប
- គ្រាប់បាល់ចាំបាច់។
- ឈ្មោះផលិតផល
- គោលបំណងនៃប្រាក់កម្ចី
- នាយក
- នាយកចំណាយ
- អត្រាការប្រាក់ប្រចាំឆ្នាំ
- ការប្រាក់បានកើនឡើង
- ការប្រាក់ដែលបានបង់
- ព័ត៌មានលម្អិតនៃគណនីឥណទាន
- សង្ខេបនៃប្រាក់កម្ចី
- ឈ្មោះប្រាក់កម្ចី
- អត្រាការប្រាក់
- ថ្លៃសេវា
- ពិន័យ
- ការទូទាត់ដែលរំពឹងទុកសរុប
- សរុបបង់
- ការចាប់អារម្មណ៍បានត្រូវផ្អាក
- ពិន័យជាប្រាក់
- តម្លៃនេះត្រូវបានលើកលែង
- សមតុល្យឆ្នើម
- ការដំឡើងបន្ទាប់
- ថ្ងៃផុតកំណត់
- ធ្វើការទូទាត់
- ប្រភេទនៃប្រាក់កម្ចី
- រូបិយប័ណ្ណ
- កាលវិភាគសងប្រាក់
- ប្រតិបតិ្តការ
- ការផ្ទេរប្រាក់
- ការអនុម័តនៅក្នុងដំណើរការ
- រង់ចាំការទូទាត់
- បានបិទដោយសារតែកាតព្វកិច្ចមួយចំនួន
- ឥណទានបានបិទ
- តាមកាលបរិច្ឆេទ:
- ដោយ:
- បង់ប្រាក់:
- ប្រគល់:
- ហួសកាលកំណត់:
- គំរូ
- បន្ថែមធាតុក្រាហ្វិក
- ជួយ
- កន្លែងនៃឧស្សាហកម្មបច្ចេកវិទ្យាធំ ៗ
- ព័ត៌មានលម្អិតអំពីគណនីប្រាក់កម្ចី
- កម្មវិធីឥណទានត្រូវបានផ្ញើដោយជោគជ័យ
- កម្មវិធីឥណទានត្រូវបានធ្វើបច្ចុប្បន្នភាពដោយជោគជ័យ
- បានដកប្រាក់ឥណទានដោយជោគជ័យ
- គ្មានអ្វី
- ទាំងអស់
- 4 សប្តាហ៍
- បីខែ
- 6 ខែ
- តម្រង
- កាលបរិច្ឆេទចាប់ផ្ដើម
- កាលបរិច្ឆេទបញ្ចប់
- ត្រង
- ជ្រើសកាលបរិច្ឆេទចាប់ផ្ដើមនិងបញ្ចប់
- កាលបរិច្ឆេទបញ្ចប់ត្រូវតែធំជាងកាលបរិច្ឆេទចាប់ផ្តើម
- ការរក្សាទុកប្រតិបត្តិការលើគណនីរបស់អ្នក
- គ្មានការតភ្ជាប់អ៊ីនធឺណិត
- កាលបរិច្ឆេទនៃការបង់ប្រាក់
- ចំនួននៃការបង់ប្រាក់
- កាលបរិច្ឆេទ
- សមតុល្យឥណទាន
- ការទូទាត់សង
- ការសងប្រាក់កម្ចី
- បញ្ជូនរហ័ស
- ត្រូវប្រាកដថាអ្នកមានអ៊ីនធឺណិត
- ទាយាទ
- គ្រប់គ្រងអ្នកគ្រងមរតក
- កូនចៅ
- ព័ត៌មានលម្អិតអំពីអ្នកស្នងមរតក
- ឈ្មោះរបស់អ្នកស្នង
- ប្រភេទគណនី
- ដែនកំណត់ផ្ទេរ
- បន្ថែមអ្នកស្នង
- ឈ្មោះការិយាល័យ
- ជ្រើសរើសប្រភេទគណនី *
- ដាក់ស្នើអ្នកស្នងរាជ្យ
- បញ្ចូលឈ្មោះការិយាល័យរបស់អ្នកស្នង
- បញ្ចូលឈ្មោះរបស់អ្នកស្នង
- បញ្ចូលដែនកំណត់ផ្ទេរ
- បញ្ចូលលេខគណនីរបស់អ្នកស្នង
- ជ្រើសប្រភេទគណនីពីម៉ឺនុយទម្លាក់ចុះ
- អ្នកគ្រងមរតកត្រូវបានបង្កើតដោយជោគជ័យ
- អ្នកស្នងមរតកត្រូវបានធ្វើបច្ចុប្បន្នភាពដោយជោគជ័យ
- ធ្វើបច្ចុប្បន្នភាពអ្នកស្នងរបស់អ្នក
- យកអ្នកស្នងមរតកទៅ
- តើអ្នកប្រាកដថាអ្នកចង់ដកអ្នកនេះចេញទេ?
- លុប
- អ្នកស្នងមរតកត្រូវបានដកចេញ
- ផ្ទេរភាគីទីបី
- ឥណទានសរុប
- ការសន្សំសរុប
- ទិដ្ឋភាពគណនី
- បង្ហាញ ឬលាក់ចំនួនទឹកប្រាក់សន្សំសរុប
- បង្ហាញ ឬលាក់ចំនួនប្រាក់កម្ចីសរុប
- *****
- ការស្ទង់មតិ
- កាលបរិច្ឆេទសកម្ម
- ក្រុម
- ទិន្នន័យអ្នកប្រើ
- ប្រភេទអតិថិជន
- ការបែងចែកអតិថិជន
- ជ្រើសរបៀប
- បន្ថែម heirs ខាងក្រៅទៅគណនីរបស់អ្នក។ \n បញ្ចូលដោយដៃឬស្កេនកូដ QR នៃគណនីរបស់អ្នក
- អ្នកមិនអាចធ្វើសកម្មភាពនៅលើគណនីរបស់អ្នកស្កេនកូដ QR ពីគណនីសន្សំឬគណនីប្រាក់កម្ចីអ្នកប្រើផ្សេងទៀត
- បន្ថែម
- វិភាគ
- បញ្ចូលលេខកូដចូល 4 ខ្ទង់
- កូដចូលដំណើរការគួរតែមាន 4 ខ្ទង់
- កូដចូលដំណើរការមិនត្រឹមត្រូវ
- អ្នកបានបញ្ចូលកូដចូលខុសច្រើនជាង 3 ដង
- រំលង
- រក្សាទុក
- កំណត់ដំបងដើម្បីចូល
- បញ្ចូលម្ជុលម្តងទៀត
- លេខកូដចូលមិនដូចគ្នាទេ។
- ខ្ញុំភ្លេចលេខកូដសម្ងាត់ខ្ញុំនឹងចូលជាមួយពាក្យសម្ងាត់
- បន្ត
- ចំនួនទឹកប្រាក់គួរតែធំជាងសូន្យ
- ចំណាំអំពីយើងកំពុងសាងសង់
- ជំនួយនៅក្រោមផ្ទាំងសំណង់
- ចេញ
- ទាញយកកម្មវិធីសេវាដោយខ្លួនឯងនៅទីនេះ: https://play.google.com/store/apps/details?id=
- ជ្រើសកម្មវិធី
- នេះ
- ដាក់ស្នើ QR
- ជ្រើសរើសតំបន់ដែលមានកូដ QR
-
- ទាក់ទងយើង
- ផ្ទេរជោគជ័យ
-
- ចំនួនសរុប:
-
- A / C
- ផលិតផលឥណទាន
- អសកម្ម
- សកម្ម
- អសកម្ម
-
-
- តើអ្នកប្រាកដថាអ្នកចង់ចាកចេញមែនទេ?
- យល់ព្រម
- បោះបង់
- ត្រឡប់មកវិញ
- បានបដិសេធការចូល
- ខ្ញុំប្រាកដ
- សូមព្យាយាមម្តងទៀត
- ការកំណត់កម្មវិធី
- ដោយគ្មានការអនុញ្ញាតឱ្យប្រើកាមេរ៉ាអ្នកនឹងមិនអាចស្កេនកូដ QR ដើម្បីបន្ថែមអ្នកស្នងបានទេ។ តើអ្នកប្រាកដថាអ្នកចង់ហាមវាទេ?
- អ្នកបានបដិសេធមិនអនុញ្ញាតប្រើកាមេរ៉ាដោយគ្មានការអនុញ្ញាតនេះអ្នកនឹងមិនអាចបន្ថែមអ្នកទទួលបានដោយប្រើកូដ QR ទេ។ បើកវានៅក្នុងការកំណត់
- ដោយគ្មានការអនុញ្ញាតអានពីការចងចាំអ្នកនឹងមិនអាចផ្ញើលេខកូដ QR ដើម្បីបន្ថែមអ្នកស្នងបានទេ។ តើអ្នកប្រាកដថាអ្នកចង់ហាមវាទេ?
- អ្នកបានបដិសេធការអនុញ្ញាតិឱ្យអានពីការចងចាំរបស់ឧបករណ៍ដោយគ្មានការអនុញ្ញាតនេះអ្នកនឹងមិនអាចបន្ថែមអ្នកទទួលមរតកបានទេដោយប្រើលេខកូដ QR ។ បើកវានៅក្នុងការកំណត់
- អ្នកបានបដិសេធមិនសរសេរទៅការចងចាំរបស់ឧបករណ៍ដោយគ្មានការអនុញ្ញាតនេះអ្នកនឹងមិនអាចបន្ថែមអ្នកទទួលបានដោយប្រើលេខកូដ QR នោះទេ។ បើកវានៅក្នុងការកំណត់
- ការអនុញ្ញាតនេះតម្រូវឱ្យបង្ហាញរូបិយប័ណ្ណអាស្រ័យលើប្រទេស។ តើអ្នកប្រាកដថាអ្នកចង់ហាមវាទេ?
- អ្នកបានបដិសេធការអនុញ្ញាតិឱ្យអានស្ថានភាពឧបករណ៍ដោយគ្មានការអនុញ្ញាតនេះរូបិយប័ណ្ណប្រហែលជាមិនត្រូវបានបង្ហាញក្នុងទំរង់ត្រឹមត្រូវទេ។ បើកវានៅក្នុងការកំណត់
- មានអ្វីមួយមិនប្រក្រតីខណៈដែលកំពុងស្វែងរកសកម្មភាពនៅក្នុងការកំណត់។ \n ទៅ \'ការកំណត់\' និងផ្តល់សិទ្ធិដោយដៃ។
- ការបដិសេធការផ្ទុកត្រូវបានបដិសេធ
- តើអ្នកប្រាកដជាចង់បាន %1$s មែនទេ?
-
-
- សួស្តី, %1$s
- ចំនួនទឹកប្រាក់មិនត្រឹមត្រូវ
- ចុចម្តងទៀតដើម្បីចេញ
-
- ការបដិសេធមិនអនុញ្ញាតឱ្យប្រើកាមេរ៉ា
-
- សំណួរដែលសួរជាញឹកញាប់
- សំណើរសុំរបស់អ្នកប្រើ
- ហៅមកឥឡូវ
- ទុកសារអេឡិចត្រូនិច
- រកទីតាំង
- គ្មានការទូទាត់
- ជម្រះតម្រង
- គ្រប់គ្រងគណនី
- ច្រើនទៀត
- ការកំណត់
- ភាសា
- ជ្រើសរើសភាសារបស់អ្នក
- ការជូនដំណឹង
- URL ចម្បង
- ជួល
-
-
- - របៀបដាក់ពាក្យស្នើសុំគណនីថ្មី?
- - តើខ្ញុំអាចមើលព័ត៌មានអំពីប្រវត្តិរូបរបស់ខ្ញុំនៅឯណា?
- - តើខ្ញុំអាចមើលឃើញពីប្រតិបត្តិការគណនីសន្សំរបស់ខ្ញុំនៅឯណា?
- - តើអ្វីទៅជាការប្រើកូដ QR មួយ?
- - តើធ្វើដូចម្តេចដើម្បីបង្កើតអ្នកទទួលផលដោយប្រើកូដ QR មួយ?
- - តើធ្វើដូចម្តេចដើម្បីធ្វើឱ្យការទូទាត់សម្រាប់គណនីឥណទាន?
-
-
-
- - ដើម្បីស្នើសុំគណនីឥណទានសូមចុច \"រាយការណ៍ពីកម្មវិធីឥណទាន\" នៅលើអេក្រង់ដើម។
- - អ្នកអាចមើលព័ត៌មានប្រវត្តិរូបរបស់អ្នកដោយចុចលើរូបភាពប្រវត្តិរូបនៅលើទំព័រកម្មវិធីចម្បង។
- - ដើម្បីមើលប្រតិបត្តិការនៅក្នុងគណនីសន្សំរបស់អ្នកចូលទៅផ្នែកគណនីចុចលើគណនីសន្សំដែលត្រូវការចុចចំណុចបីដែលមាននៅជ្រុងខាងស្តាំហើយជ្រើសជម្រើសប្រតិបត្តិការ។
- - កូដ QR សម្រាប់គណនីឥណទានឬគណនីសន្សំទាំងអស់អាចត្រូវបានចែករំលែកជាមួយអ្នកប្រើផ្សេងទៀតដែលនឹងអនុញ្ញាតឱ្យពួកគេបង្កើតអ្នកស្នង
- - ដើម្បីបង្កើតស្នងតំណែងមួយទៅកាន់អ្នកទទួលមរតកនៃកម្មវិធីទំព័រផ្ទះ, ហើយបន្ទាប់មកចុចលើប៊ូតុងនៅជ្រុងខាងស្តាំជ្រើសស្កេនដែលនឹងបើកឧបករណ៍កាមេរ៉ា, ស្កេនលេខកូដ QR មនុស្សម្នាក់ដែលអ្នកចង់បង្កើតទាយាទមួយ, បន្ទាប់ពីការបំពេញនៅក្នុងទិន្នន័យដែលបានទាមទារនឹងអាច បង្កើតអ្នកទទួលមរតកដោយប្រើកូដ QR
- - ដើម្បីទូទាត់គណនីប្រាក់កម្ចីសូមចូលទៅផ្នែកគណនីជ្រើសជម្រើសកម្ចីបន្ទាប់មកបើកគណនីឥណទានគោលដៅហើយចុចជម្រើសបង់ប្រាក់។
-
-
-
- សមតុល្យសរុបនៃការសន្សំ
- សមតុល្យឥណទានសរុប
- ខាងលើគឺជាសមតុល្យនៃគណនីធនាគារនិងគណនីសន្សំដែលត្រូវបានគណនាដោយផ្អែកលើគណនីសន្សំនិងគណនីប្រាក់កម្ចីទាំងអស់
- តើអ្នកប្រាកដថាអ្នកចង់លុបចោលការផ្ទេរប្រាក់ទេ?
- ដូច្នេះ
- បញ្ជាក់ពាក្យសម្ងាត់
- ពាក្យសម្ងាត់មិនត្រូវគ្នា។
- កំណែ %1$s
- រក្សាសិទ្ធិគ្រប់យ៉ាង។
- អាជ្ញាបណ្ណ
- មិនអាចផ្ទេរបានសូមព្យាយាមម្តងទៀតពេលក្រោយ
- សូមរង់ចាំ…
- សារ
- គ្មានការជូនដំណឹង
-
- បញ្ចប់ចំណុចបញ្ចប់
- សូមចុចទីនេះដើម្បីប្តូរការកំណត់រចនាសម្ព័ន្ធ ចំណុចបញ្ចប់
- បញ្ចូល URL ចម្បង
- ចូលទៅកាន់ភតិកៈ
- ព័ត៌មានកម្មវិធី
- ការចូលបានបរាជ័យ សូមព្យាយាមម្តងទៀតនៅពេលក្រោយ។
-
diff --git a/androidApp/src/main/res/values-kn/strings.xml b/androidApp/src/main/res/values-kn/strings.xml
deleted file mode 100644
index 47c9e6fb72..0000000000
--- a/androidApp/src/main/res/values-kn/strings.xml
+++ /dev/null
@@ -1,432 +0,0 @@
-
-
-
- ಲಾಗ್ ಇನ್ ಮಾಡಿ
- ಹಲೋ, %1$s.
- ಇಂಟರ್ನೆಟ್ ಸಂಪರ್ಕವಿಲ್ಲ
- ಪ್ರಾಥಮಿಕ
- ಬಳಕೆದಾರಹೆಸರು
- ಲಾಗ್
- ಲೋಡ್
- ಪಾಸ್ವರ್ಡ್
- ಇ ಮೇಲ್
- ಖಾತೆಗಳನ್ನು
- ಗ್ರಾಹಕರಿಗೆ
- ಹಣದ ವರ್ಗಾವಣೆ
- ಇತ್ತೀಚಿನ ವಹಿವಾಟುಗಳು
- ಶುಲ್ಕ
- ಪ್ರಶ್ನಾವಳಿಯನ್ನು
- ನಮ್ಮ ಬಗ್ಗೆ
- ಖಾತೆ ವಿವರಗಳನ್ನು ಉಳಿಸಲಾಗುತ್ತಿದೆ
- ಉಳಿತಾಯ ಖಾತೆ
- ಕ್ರೆಡಿಟ್ ಖಾತೆ ಮಾಹಿತಿಯನ್ನು ಲೋಡ್ ಮಾಡುವಲ್ಲಿ ದೋಷ
- ನಾಮಮಾತ್ರ ಬಡ್ಡಿ ದರಗಳು
- ಖಾತೆ ಸಂಖ್ಯೆ
- ಖಾತೆ ಬಾಕಿ
- ಒಟ್ಟು ಠೇವಣಿಗಳು
- ನ್ಯಾವಿಗೇಷನ್ ಪ್ಯಾನಲ್ ತೆರೆಯಿರಿ
- ಮರುಪಡೆಯುವಿಕೆ ಫಲಕವನ್ನು ಮುಚ್ಚಿ
- ಮುಖಪುಟ
- ಮಧ್ಯಮ ಪಠ್ಯ
- ಸಣ್ಣ ಪಠ್ಯ
- ಗ್ರಾಹಕ ಖಾತೆಗಳು
- ಸ್ವಾಗತ ಪರದೆಯ
- ಉಳಿಸುವ
- ಸಾಲ
- ಕ್ರೆಡಿಟ್ ಖಾತೆ
- ಹಂಚಿಕೊಳ್ಳಿ
- ನಿಮ್ಮ ಖಾತೆಯನ್ನು ಹಂಚಿಕೊಳ್ಳಿ
- ಗ್ರಾಹಕರನ್ನು ಆಯ್ಕೆ ಮಾಡಿ
- ಕೆಲಸ
- ರಾಜ್ಯದ ಚಿತ್ರ
- ಮರುಪಾವತಿಯ ವೇಳಾಪಟ್ಟಿ
- ಕೊನೆಯ ವಹಿವಾಟು
- ಮೇಡ್ ಆನ್
- ವರ್ಗಾವಣೆ ಮಾಡಿ
- ಕ್ರೆಡಿಟ್ ಉತ್ಪನ್ನವನ್ನು ಆಯ್ಕೆಮಾಡಿ *
- ಸಾಲದ ಉದ್ದೇಶ *
- ಮುಖ್ಯ ಮೊತ್ತ *
- ಸಂಖ್ಯೆ
- ಎಚ್ಚರಿಕೆ
- ನಿರೀಕ್ಷಿತ ಪಾವತಿಯ ದಿನಾಂಕ
- ಸಲ್ಲಿಕೆಗಾಗಿ ಅಂತಿಮ ದಿನಾಂಕ
- ಅಪ್ಲೋಡ್ಗಳನ್ನು
- ವೆಚ್ಚದಲ್ಲಿ
- ವರ್ಗಾವಣೆಯ ದಿನಾಂಕ
- ಸಾಲದ ಅರ್ಜಿ
- ಸಾಲವನ್ನು ನವೀಕರಿಸಿ
- ಸಾಲವನ್ನು ಬಿಡುಗಡೆ ಮಾಡಿ
- ಸಾಲವನ್ನು ಪಾವತಿಸಲು ಕಾರಣ
- ಸಾಲ ಖಾತೆಯನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಹಿಂತೆಗೆದುಕೊಳ್ಳಲಾಗಿದೆ
- ಸಾಲವನ್ನು ಸಲ್ಲಿಸಿ
- ಗಾಗಿ ಹೊಸ ಕ್ರೆಡಿಟ್ ಅಪ್ಲಿಕೇಶನ್
- ಗಾಗಿ ನಿಮ್ಮ ಕ್ರೆಡಿಟ್ ಅರ್ಜಿಯನ್ನು ನವೀಕರಿಸಿ
- ಆಸಕ್ತಿಯ ಪ್ರಕಾರ
- ಭೋಗ್ಯ
- ಆಸಕ್ತಿ ಅವಧಿ
- ಮರುಪಾವತಿ ತಂತ್ರ
- ಗೆ ಪಾವತಿ
- ನಿಂದ ಪಾವತಿ
- ರದ್ದು
- ಮುನ್ನೋಟ
- ವರ್ಗಾಯಿಸಿ
- ರಿಂದ ವರ್ಗಾಯಿಸಿ
- ವರ್ಗಾವಣೆ ಮಾಡುವುದು
- ಠೇವಣಿ
- ಪ್ರಮಾಣವನ್ನು ನಮೂದಿಸಿ
- ಗಮನಿಸಿ ಕಡ್ಡಾಯವಾಗಿದೆ
- ಅನುಮೋದನೆ
- ನಿರೀಕ್ಷೆಯಲ್ಲಿ
- ಹಣ
- ಸಮತೋಲನ
- ತಿರಸ್ಕರಿಸಿದರು
- ಕಾಯುವ
- ಓವರ್ಪೇಯ್ಡ್
- ಬಾಕಿಗಳಲ್ಲಿ
- ನೀವು ಅನ್ವಯಿಸಲು ಬಯಸುವ ಎಲ್ಲವನ್ನೂ ಆಯ್ಕೆ ಮಾಡಿ
- ಫಿಲ್ಟರ್ ಉಳಿತಾಯ ಖಾತೆಗಳು
- ಕ್ರೆಡಿಟ್ ಖಾತೆಗಳನ್ನು ಫಿಲ್ಟರ್ ಮಾಡಿ
- ಫಿಲ್ಟರ್ ಖಾತೆ ಹಂಚಿಕೆ
- ಹುಡುಕು
- ಪಾವತಿಸಬೇಕಾದ ಆಯ್ಕೆಯನ್ನು ಆಯ್ಕೆ ಮಾಡಿ
- ಪಾವತಿಸಲು ಖಾತೆ ಆಯ್ಕೆಮಾಡಿ
- ವರ್ಗಾಯಿಸಲು ಟಿಪ್ಪಣಿಗಳನ್ನು ನಮೂದಿಸಿ
- ಫಲಾನುಭವಿ ಆಯ್ಕೆಮಾಡಿ
- ಮತ್ತಷ್ಟು
- ನಿಕಟ
- ವರ್ಗಾವಣೆಯ ಪ್ರಕಾರವನ್ನು ಆರಿಸಿ
- ಉಳಿತಾಯಕ್ಕೆ ವರ್ಗಾಯಿಸಿ
- ಉಳಿತಾಯದಿಂದ ವರ್ಗಾವಣೆ
- ಸಾಲಗಳಿಗೆ ಶುಲ್ಕ
- ಉಳಿತಾಯ
- ಸಕ್ರಿಯ
- ಮುಚ್ಚಲಾಗಿದೆ
- ಹಿಂದಕ್ಕೆ
- ಅನುಮೋದನೆ ಅಗತ್ಯವಿದೆ
- ನಿರೀಕ್ಷೆಯಲ್ಲಿ
- ಪ್ರೌಢ
- ಖಾತೆಯನ್ನು ರಚಿಸಿ
- ಹೆಸರು
- ಹೆಸರು
- ಫೋನ್ ಸಂಖ್ಯೆ
- ನೋಂದಣಿ
- ID ವಿನಂತಿಯನ್ನು
- ದೃಢೀಕರಣ ಟೋಕನ್
- ಪರಿಶೀಲಿಸಿ
- ಪರಿಶೀಲಿಸಲಾಗುತ್ತಿದೆ
- ಲಾಗ್
- ಬಳಕೆದಾರರನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಪರಿಶೀಲಿಸಲಾಗಿದೆ
- ಮೊಬೈಲ್
- ಇ ಮೇಲ್
- ಪರಿಶೀಲನೆ ಮೋಡ್
- ಖಾಲಿ
- ಆಮದು QR
- ಖಾತರಿಯನ್ನು ವೀಕ್ಷಿಸಿ
- ಖಾತರಿದಾರರನ್ನು ಸೇರಿಸಿ
- ಗ್ಯಾರಂಜರ್ ತೆಗೆದುಹಾಕಿ
- ಗ್ಯಾರಂಜರ್ ಅನ್ನು ನವೀಕರಿಸಿ
- ಖಾತರಿ ಪ್ರಕಾರ
- ಯಾವುದೇ ಭರವಸೆಗಳಿಲ್ಲ
- ಗ್ಯಾರಂಟರನ್ನು ಸೇರಿಸಲು ಟ್ಯಾಪ್ ಮಾಡಿ
- ಖಾತರಿಯ ವಿವರಗಳು
- ಲಗತ್ತು ದಿನಾಂಕ
- ಸಲ್ಲಿಸಿ
-
- ಠೇವಣಿ ಮಾಡಲು ಖಾತೆ ಸಕ್ರಿಯವಾಗಿರಬೇಕು
- ವರ್ಗಾವಣೆ ಮಾಡಲು ಖಾತೆ ಸಕ್ರಿಯವಾಗಿರಬೇಕು
-
- ನಿಮ್ಮೊಂದಿಗೆ ಯಾವುದೇ ಉಳಿತಾಯ ಖಾತೆಗಳಿಲ್ಲ
- ನಿಮ್ಮೊಂದಿಗೆ ಯಾವುದೇ ಸಾಲ ಖಾತೆಗಳಿಲ್ಲ
- ನಿಮ್ಮೊಂದಿಗೆ ಸಂಯೋಜಿತವಾಗಿರುವ ಯಾವುದೇ ಖಾತೆಗಳಿಲ್ಲ
- ನಿಮಗೆ ಸಂಬಂಧಿಸಿದ ಯಾವುದೇ ವಹಿವಾಟುಗಳಿಲ್ಲ
- ನಿಮ್ಮೊಂದಿಗೆ ಯಾವುದೇ ಮರುಪಾವತಿಯ ವೇಳಾಪಟ್ಟಿ ಇಲ್ಲ
- ಯಾವುದೇ ವ್ಯವಹಾರ ಲಭ್ಯವಿಲ್ಲ
- ವ್ಯವಹಾರ ಇಲ್ಲ
- DOB ಕಂಡುಬಂದಿಲ್ಲ.
- ಯಾವುದೇ ಗುಂಪಿಗೆ ನಿಯೋಜಿಸಲಾಗಿಲ್ಲ
-
- ತಪ್ಪಾದ ಬಳಕೆದಾರಹೆಸರು / ಪಾಸ್ವರ್ಡ್
- ಸರ್ವರ್ನಿಂದ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಪಡೆದಾಗ ದೋಷ
- %1$s ಖಾಲಿಯಾಗಿರಬಾರದು
- %1$s %2$d ಅಕ್ಷರಗಳಿಗಿಂತ ಕಡಿಮೆ ಇರುವಂತಿಲ್ಲ
- %1$s %2$s ಅನ್ನು ಒಳಗೊಂಡಿರಬಾರದು
- %1$s ಸ್ಥಳಾವಕಾಶದೊಂದಿಗೆ ಪ್ರಾರಂಭಿಸುವುದಿಲ್ಲ ಅಥವಾ ಕೊನೆಗೊಳ್ಳುವುದಿಲ್ಲ
- ಆಂತರಿಕ ಸರ್ವರ್ನಲ್ಲಿ ದೋಷ, ನಂತರ ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ
- ಗ್ರಾಹಕರ ಪಟ್ಟಿಯನ್ನು ಲೋಡ್ ಮಾಡುವಾಗ ದೋಷ ಸಂಭವಿಸಿದೆ
- ಸಾಲದ ಖಾತೆಗಳ ಪಟ್ಟಿಯನ್ನು ಲೋಡ್ ಮಾಡುವಲ್ಲಿ ದೋಷ
- ಉಳಿತಾಯ ಖಾತೆಗಳ ಪಟ್ಟಿಯನ್ನು ಲೋಡ್ ಮಾಡುವಲ್ಲಿ ದೋಷ
- ಉಳಿತಾಯ ಖಾತೆಗಳ ಬಗ್ಗೆ ವಿವರಗಳನ್ನು ಲೋಡ್ ಮಾಡುವಲ್ಲಿ ದೋಷ
- ಇತ್ತೀಚಿನ ವ್ಯವಹಾರಗಳಲ್ಲಿ ಲೋಡ್ ಮಾಡುವಾಗ ದೋಷ ಸಂಭವಿಸಿದೆ
- ಖಾತೆಗಳನ್ನು ಸ್ವೀಕರಿಸುವಲ್ಲಿ ದೋಷ ಕಂಡುಬಂದಿದೆ
- ಗ್ರಾಹಕ ಕಂಡುಬಂದಿಲ್ಲ
- ಗ್ರಾಹಕನನ್ನು ಡೌನ್ಲೋಡ್ ಮಾಡಲಾಗಲಿಲ್ಲ
- ಬಳಕೆದಾರರ ಪ್ರೊಫೈಲ್ ಅನ್ನು ಡೌನ್ಲೋಡ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ
- ಖಾತೆಗಳನ್ನು ಡೌನ್ಲೋಡ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ
- ಮರುಪಾವತಿಯ ವೇಳಾಪಟ್ಟಿ ಮರುಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ
- ನಿಮ್ಮ ಸ್ವಂತ ಖಾತೆಗೆ ನೀವು ವರ್ಗಾವಣೆ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ
- ವರ್ಗಾವಣೆ ಟೆಂಪ್ಲೆಟ್ ಡೌನ್ಲೋಡ್ ಮಾಡಲಾಗಲಿಲ್ಲ
- ಕ್ರೆಡಿಟ್ಗಳನ್ನು ಪಡೆಯಲಾಗಲಿಲ್ಲ
- ಉತ್ತರಾಧಿಕಾರಿ ಟೆಂಪ್ಲೇಟ್ ಡೌನ್ಲೋಡ್ ಮಾಡಲಾಗಲಿಲ್ಲ
- ಟೆಂಪ್ಲೇಟ್ ಡೌನ್ಲೋಡ್ ಮಾಡಲಾಗಲಿಲ್ಲ
- ಉತ್ತರಾಧಿಕಾರಿ ಯಶಸ್ವಿಯಾಗಲಿಲ್ಲ
- ಉತ್ತರಾಧಿಕಾರಿ ಅನ್ನು ನವೀಕರಿಸಲಾಗಿಲ್ಲ
- ಉತ್ತರಾಧಿಕಾರಿ ತೆಗೆದುಹಾಕಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ
- ಸಾಲ ಖಾತೆಯನ್ನು ಹಿಂಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ
- ಮೂರನೇ ವ್ಯಕ್ತಿಯ ವರ್ಗಾವಣೆ ಟೆಂಪ್ಲೆಟ್ ಅನ್ನು ಡೌನ್ಲೋಡ್ ಮಾಡುವಲ್ಲಿ ದೋಷ
- ನಿಮಗೆ ಪ್ರಸ್ತುತ ಉತ್ತರಾಧಿಕಾರಿ ಇಲ್ಲ. ಉತ್ತರಾಧಿಕಾರಿ ಸೇರಿಸಿ
-
- ನಿಮಗೆ ಅಧಿಕಾರ ಇಲ್ಲ
- QR ಕೋಡ್
- QR ಕೋಡ್ ಹಂಚಿಕೊಳ್ಳಿ
- ಮಾನಿಟರ್
- ಒಂದು ಆಯ್ಕೆಯನ್ನು ಆರಿಸಿ
- ವಹಿವಾಟುಗಳನ್ನು ವೀಕ್ಷಿಸಿ
- ಶುಲ್ಕಗಳು ನೋಡಿ
- ಸಾಲ ಸಾರಾಂಶವನ್ನು ನೋಡಿ
- ಮರುಪಾವತಿಯ ವೇಳಾಪಟ್ಟಿ ನೋಡಿ
- ಈ ಖಾತೆಗಾಗಿ QR ಕೋಡ್ ಅನ್ನು ವೀಕ್ಷಿಸಿ
- ಕೊನೆಯ ವಹಿವಾಟಿನ ವಿವರಗಳು
- ಬಳಕೆದಾರಹೆಸರು 6 ಅಕ್ಷರಗಳಿಗಿಂತ ಹೆಚ್ಚಿರಬೇಕು
- ಅಮಾನ್ಯ ಇಮೇಲ್ ID
- ಸರ್ವರ್ ಕೆಳಗೆ, ಸ್ವಲ್ಪ ಸಮಯದ ನಂತರ ಪ್ರಯತ್ನಿಸಿ
- ಗ್ರಾಹಕ ಶುಲ್ಕ
- QR ಓದುವಲ್ಲಿ ದೋಷ, ನೀವು ಸರಿಯಾದ ಪ್ರದೇಶವನ್ನು ಆಯ್ಕೆ ಮಾಡಿಕೊಳ್ಳಿ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ
- ಚಿತ್ರವನ್ನು ಡೌನ್ಲೋಡ್ ಮಾಡುವಾಗ ದೋಷ ಸಂಭವಿಸಿದೆ
- ಗ್ರಾಹಕ ಡೌನ್ಲೋಡ್
-
- ಸ್ಪೇಸಸ್
- ಗ್ರಾಹಕ ಹೆಸರು
- ಖಾತೆ ಸ್ಥಿತಿ
- ಉತ್ಪನ್ನದ ಹೆಸರು
- ಒಟ್ಟು ಪಾವತಿ
- ಕನಿಷ್ಠ ಬಾಲ್ ಅಗತ್ಯವಿದೆ.
- ಉತ್ಪನ್ನದ ಹೆಸರು
- ಸಾಲದ ಉದ್ದೇಶ
- ನಿರ್ದೇಶಕ
- ಪ್ರಧಾನ ಪಾವತಿಸಿತು
- ವಾರ್ಷಿಕ ಬಡ್ಡಿ ದರ
- ಆಸಕ್ತಿ ಹೆಚ್ಚಿದೆ
- ಆಸಕ್ತಿ ನೀಡಲಾಗಿದೆ
- ಕ್ರೆಡಿಟ್ ಖಾತೆಯ ವಿವರಗಳು
- ಸಾಲದ ಸಾರಾಂಶ
- ಸಾಲದ ಹೆಸರು
- ಆಸಕ್ತಿ
- ಶುಲ್ಕ
- ದಂಡ
- ಒಟ್ಟು ನಿರೀಕ್ಷಿತ ಪಾವತಿ
- ಒಟ್ಟು ಪಾವತಿಸಲಾಗಿದೆ
- ಆಸಕ್ತಿಯುಂಟಾಯಿತು
- ಪೆನಾಲ್ಟಿ ಮುರಿದಿದೆ
- ಶುಲ್ಕವನ್ನು ಮನ್ನಾ ಮಾಡಲಾಗಿದೆ
- ಅತ್ಯುತ್ತಮ ಸಮತೋಲನ
- ಮುಂದಿನ ಕಂತು
- ಪಾವತಿ ಗಡುವು
- ಪಾವತಿ ಮಾಡಿ
- ಸಾಲದ ಪ್ರಕಾರ
- ಕರೆನ್ಸಿ
- ಮರುಪಾವತಿಯ ವೇಳಾಪಟ್ಟಿ
- ವ್ಯವಹಾರ
- ವರ್ಗಾವಣೆ
- ಅನುಮೋದನೆ ಪ್ರಗತಿಯಲ್ಲಿದೆ
- ಪಾವತಿಗಾಗಿ ನಿರೀಕ್ಷಿಸಲಾಗುತ್ತಿದೆ
- ಕೆಲವು ಜವಾಬ್ದಾರಿಗಳಿಂದಾಗಿ ಮುಚ್ಚಲಾಗಿದೆ
- ಸಾಲ ಮುಚ್ಚಲಾಗಿದೆ
- ದಿನಾಂಕದಂದು:
- ಮೂಲಕ:
- ಸಲ್ಲಿಸುತ್ತಾ:
- ಬಿಟ್ಟುಕೊಟ್ಟಿತು:
- ಮಿತಿಮೀರಿದ:
- ಉದಾಹರಣೆಗೆ
- ವಿಜೆಟ್ ಸೇರಿಸಿ
- ಸಹಾಯ
- ದೊಡ್ಡ ತಾಂತ್ರಿಕ ಕೈಗಾರಿಕೆಗಳ ಸ್ಥಳ
- ಸಾಲ ಖಾತೆಯ ವಿವರಗಳು
- ಕ್ರೆಡಿಟ್ ಅಪ್ಲಿಕೇಶನ್ ಯಶಸ್ವಿಯಾಗಿ ಕಳುಹಿಸಲಾಗಿದೆ
- ಸಾಲದ ಅರ್ಜಿಯನ್ನು ಯಶಸ್ವಿಯಾಗಿ ನವೀಕರಿಸಲಾಗಿದೆ
- ಸಾಲ ಅರ್ಜಿಯನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಹಿಂಪಡೆಯಲಾಗಿದೆ
- ನಥಿಂಗ್
- ಎಲ್ಲಾ
- 4 ವಾರಗಳು
- ಮೂರು ತಿಂಗಳು
- 6 ತಿಂಗಳು
- ಫಿಲ್ಟರ್
- ಪ್ರಾರಂಭ ದಿನಾಂಕ
- ಅಂತ್ಯದ ದಿನಾಂಕ
- ಫಿಲ್ಟರ್
- ಪ್ರಾರಂಭ ಮತ್ತು ಅಂತಿಮ ದಿನಾಂಕವನ್ನು ಆರಿಸಿ
- ಅಂತಿಮ ದಿನಾಂಕವು ಪ್ರಾರಂಭ ದಿನಾಂಕಕ್ಕಿಂತ ಹೆಚ್ಚಿನದಾಗಿರಬೇಕು
- ನಿಮ್ಮ ಖಾತೆಯಲ್ಲಿ ವ್ಯವಹಾರಗಳನ್ನು ಉಳಿಸಲಾಗುತ್ತಿದೆ
- ಇಂಟರ್ನೆಟ್ ಸಂಪರ್ಕವಿಲ್ಲ
- ಪಾವತಿ ದಿನಾಂಕ
- ಪಾವತಿಗಳ ಸಂಖ್ಯೆ
- ದಿನಾಂಕ
- ಸಾಲದ ಬಾಕಿ
- ಮರುಪಾವತಿಯ
- ಸಾಲ ಮರುಪಾವತಿ
- ಫಾಸ್ಟ್ ವರ್ಗಾವಣೆ
- ನಿಮಗೆ ಇಂಟರ್ನೆಟ್ ಸಂಪರ್ಕವಿದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ
- ಉತ್ತರಾಧಿಕಾರಿ
- ಉತ್ತರಾಧಿಕಾರಿಗಳನ್ನು ನಿರ್ವಹಿಸಿ
- ವಂಶಸ್ಥರು
- ಉತ್ತರಾಧಿಕಾರಿ ವಿವರಗಳು
- ಉತ್ತರಾಧಿಕಾರಿ ಹೆಸರು
- ಖಾತೆ ಪ್ರಕಾರ
- ವರ್ಗಾವಣೆ ಮಿತಿ
- ಉತ್ತರಾಧಿಕಾರಿ ಸೇರಿಸಿ
- ಕಚೇರಿಯ ಹೆಸರು
- ಖಾತೆಯ ಪ್ರಕಾರವನ್ನು ಆರಿಸಿ *
- ಉತ್ತರಾಧಿಕಾರಿಯನ್ನು ಸಲ್ಲಿಸಿ
- ಉತ್ತರಾಧಿಕಾರಿ ಕಚೇರಿಯ ಹೆಸರನ್ನು ನಮೂದಿಸಿ
- ಉತ್ತರಾಧಿಕಾರಿ ಹೆಸರನ್ನು ನಮೂದಿಸಿ
- ವರ್ಗಾವಣೆ ಮಿತಿಯನ್ನು ನಮೂದಿಸಿ
- ಉತ್ತರಾಧಿಕಾರಿಯ ಖಾತೆ ಸಂಖ್ಯೆಯನ್ನು ನಮೂದಿಸಿ
- ಡ್ರಾಪ್-ಡೌನ್ ಮೆನುವಿನಿಂದ ಖಾತೆ ಪ್ರಕಾರವನ್ನು ಆಯ್ಕೆಮಾಡಿ
- ಉತ್ತರಾಧಿಕಾರಿ ಯಶಸ್ವಿಯಾಗಿ ರಚಿಸಲಾಗಿದೆ
- ಉತ್ತರಾಧಿಕಾರಿ ಅನ್ನು ಯಶಸ್ವಿಯಾಗಿ ನವೀಕರಿಸಲಾಗಿದೆ
- ನಿಮ್ಮ ಉತ್ತರಾಧಿಕಾರಿಗಳನ್ನು ನವೀಕರಿಸಿ
- ಉತ್ತರಾಧಿಕಾರಿ ತೆಗೆದುಹಾಕಿ
- ಈ ಉತ್ತರಾಧಿಕಾರಿಗಳನ್ನು ತೆಗೆದುಹಾಕಲು ನೀವು ಖಚಿತವಾಗಿ ಬಯಸುವಿರಾ?
- ಅಳಿಸಿ
- ಉತ್ತರಾಧಿಕಾರಿ ತೆಗೆದುಹಾಕಲಾಗಿದೆ
- ಮೂರನೇ ವ್ಯಕ್ತಿಯ ವರ್ಗಾವಣೆ
- ಒಟ್ಟು ಸಾಲ
- ಒಟ್ಟು ಉಳಿತಾಯ
- ಖಾತೆ ಅವಲೋಕನ
- ಒಟ್ಟು ಉಳಿತಾಯದ ಮೊತ್ತವನ್ನು ತೋರಿಸಿ ಅಥವಾ ಮರೆಮಾಡಿ
- ಒಟ್ಟು ಸಾಲದ ಮೊತ್ತವನ್ನು ತೋರಿಸಿ ಅಥವಾ ಮರೆಮಾಡಿ
- *****
- ಸಮೀಕ್ಷೆಗಳು
- ಸಕ್ರಿಯಗೊಳಿಸುವ ದಿನಾಂಕ
- ಗುಂಪು
- ಬಳಕೆದಾರ ಡೇಟಾ
- ಗ್ರಾಹಕ ಪ್ರಕಾರ
- ಗ್ರಾಹಕ ವರ್ಗೀಕರಣ
- ಮೋಡ್ ಅನ್ನು ಆರಿಸಿ
- ನಿಮ್ಮ ಖಾತೆಗೆ ಬಾಹ್ಯ ಉತ್ತರಾಧಿಕಾರಿಗಳನ್ನು ಸೇರಿಸಿ. \nಖಾತೆಯ QR ಕೋಡ್ ಅನ್ನು ಹಸ್ತಚಾಲಿತವಾಗಿ ಸ್ಕ್ಯಾನ್ ಮಾಡಿ ಅಥವಾ ಸ್ಕ್ಯಾನ್ ಮಾಡಿ
- ನಿಮ್ಮ ಖಾತೆಯಲ್ಲಿ ನೀವು ಕ್ರಮಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ, ಉಳಿತಾಯ ಖಾತೆ ಅಥವಾ ಇನ್ನೊಂದು ಬಳಕೆದಾರನ ಸಾಲದ ಖಾತೆಯಿಂದ QR ಕೋಡ್ ಅನ್ನು ಸ್ಕ್ಯಾನ್ ಮಾಡಬಹುದು
- ಸೇರಿಸಿ
- ಸ್ಕ್ಯಾನ್
- 4-ಅಂಕಿಯ ಪ್ರವೇಶ ಕೋಡ್ ನಮೂದಿಸಿ
- ಪ್ರವೇಶ ಕೋಡ್ 4 ಅಂಕಿಗಳನ್ನು ಒಳಗೊಂಡಿರಬೇಕು
- ತಪ್ಪಾದ ಪ್ರವೇಶ ಕೋಡ್
- ನೀವು ತಪ್ಪಾದ ಪ್ರವೇಶ ಕೋಡ್ ಅನ್ನು 3 ಕ್ಕೂ ಹೆಚ್ಚು ಬಾರಿ ನಮೂದಿಸಿದ್ದೀರಿ
- ಸ್ಕಿಪ್
- ಉಳಿಸಿ
- ಲಾಗ್ ಇನ್ ಮಾಡಲು ಪಿನ್ ಹೊಂದಿಸಿ
- ಪಿನ್ ಅನ್ನು ಮತ್ತೆ ನಮೂದಿಸಿ
- ಪ್ರವೇಶ ಕೋಡ್ ಹೊಂದಿಕೆಯಾಗುವುದಿಲ್ಲ.
- ನಾನು ಪಿನ್ ಅನ್ನು ಮರೆತಿದ್ದೇನೆ, ನಾನು ಪಾಸ್ವರ್ಡ್ನೊಂದಿಗೆ ಪ್ರವೇಶಿಸುತ್ತೇನೆ
- ಮುಂದುವರಿಸಲು
- ಮೊತ್ತ ಶೂನ್ಯಕ್ಕಿಂತ ಹೆಚ್ಚಿನದಾಗಿರಬೇಕು
- ಬುಕ್ಮಾರ್ಕ್ ನಮ್ಮ ಬಗ್ಗೆ ನಿರ್ಮಾಣ ಹಂತದಲ್ಲಿದೆ
- ನಿರ್ಮಾಣ ಟ್ಯಾಬ್ ಅಡಿಯಲ್ಲಿ ಸಹಾಯ
- ಲಾಗ್ ಔಟ್
- ಇಲ್ಲಿ ಸ್ವಯಂ ಸೇವಾ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಡೌನ್ಲೋಡ್ ಮಾಡಿ: https://play.google.com/store/apps/details?id=
- ಅಪ್ಲಿಕೇಶನ್ ಆಯ್ಕೆಮಾಡಿ
- ದಿ
- QR ಸಲ್ಲಿಸಿ
- QR ಕೋಡ್ನೊಂದಿಗೆ ಪ್ರದೇಶವನ್ನು ಆರಿಸಿ
-
- ನಮ್ಮನ್ನು ಸಂಪರ್ಕಿಸಿ
- ಯಶಸ್ವಿ ವರ್ಗಾವಣೆ
-
- ಒಟ್ಟು:
-
- ಎ/ಸಿ
- ಸಾಲದ ಉತ್ಪನ್ನ
- ನಿಷ್ಕ್ರಿಯ
- ಸಕ್ರಿಯ
- ನಿಷ್ಕ್ರಿಯ
-
-
- ಲಾಗ್ ಔಟ್ ಮಾಡಲು ನೀವು ಖಚಿತವಾಗಿ ಬಯಸುವಿರಾ?
- ಸರಿ
- ರದ್ದು
- ರಿಟರ್ನ್
- ಪ್ರವೇಶವನ್ನು ನಿರಾಕರಿಸಲಾಗಿದೆ
- ನನಗೆ ಖಚಿತವಾಗಿದೆ
- ದಯವಿಟ್ಟು ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ
- ಅಪ್ಲಿಕೇಶನ್ ಸೆಟ್ಟಿಂಗ್ಗಳು
- ಕ್ಯಾಮರಾವನ್ನು ಬಳಸಲು ಅನುಮತಿಯಿಲ್ಲದೆ, ಉತ್ತರಾಧಿಕಾರಿಗಳನ್ನು ಸೇರಿಸಲು ನೀವು QR ಕೋಡ್ ಅನ್ನು ಸ್ಕ್ಯಾನ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ. ಈ ವೈಶಿಷ್ಟ್ಯವನ್ನು ನಿಷೇಧಿಸಲು ನೀವು ಖಚಿತವಾಗಿ ಬಯಸುವಿರಾ?
- ಕ್ಯಾಮರಾ ಬಳಸಲು ಅನುಮತಿಯನ್ನು ನಿರಾಕರಿಸಿದ್ದೀರಿ, ಈ ಅನುಮತಿಯಿಲ್ಲದೆ ನೀವು QR ಕೋಡ್ ಬಳಸಿ ಉತ್ತರಾಧಿಕಾರಿಗಳನ್ನು ಸೇರಿಸಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ. ಸೆಟ್ಟಿಂಗ್ಗಳಲ್ಲಿ ಅದನ್ನು ಆನ್ ಮಾಡಿ
- ಮೆಮೊರಿಯಿಂದ ಓದಲು ಅನುಮತಿಯಿಲ್ಲದೆ, ಉತ್ತರಾಧಿಕಾರಿ ಸೇರಿಸಲು ನೀವು QR ಕೋಡ್ ಕಳುಹಿಸಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ. ಈ ವೈಶಿಷ್ಟ್ಯವನ್ನು ನಿಷೇಧಿಸಲು ನೀವು ಖಚಿತವಾಗಿ ಬಯಸುವಿರಾ?
- ಸಾಧನದ ಮೆಮೊರಿಯಿಂದ ಓದಲು ಅನುಮತಿಯನ್ನು ನೀವು ನಿರಾಕರಿಸಿದ್ದೀರಿ, ಈ ಅನುಮತಿಯಿಲ್ಲದೆ ನೀವು QR ಕೋಡ್ ಬಳಸಿಕೊಂಡು ಉತ್ತರಾಧಿಕಾರಿಗಳನ್ನು ಸೇರಿಸಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ. ಸೆಟ್ಟಿಂಗ್ಗಳಲ್ಲಿ ಅದನ್ನು ಆನ್ ಮಾಡಿ
- ಸಾಧನದ ಮೆಮೊರಿಗೆ ಬರೆಯಲು ನೀವು ನಿರಾಕರಿಸಿದ್ದೀರಿ, ಈ ಅನುಮತಿಯಿಲ್ಲದೆ ನೀವು QR ಕೋಡ್ ಬಳಸಿ ಉತ್ತರಾಧಿಕಾರಿಗಳನ್ನು ಸೇರಿಸಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ. ಸೆಟ್ಟಿಂಗ್ಗಳಲ್ಲಿ ಅದನ್ನು ಆನ್ ಮಾಡಿ
- ದೇಶವನ್ನು ಅವಲಂಬಿಸಿ ಕರೆನ್ಸಿ ತೋರಿಸಲು ಈ ಅನುಮತಿ ಅಗತ್ಯವಿದೆ. ಈ ವೈಶಿಷ್ಟ್ಯವನ್ನು ನಿಷೇಧಿಸಲು ನೀವು ಖಚಿತವಾಗಿ ಬಯಸುವಿರಾ?
- ಈ ಅನುಮತಿಯಿಲ್ಲದೆ, ಸರಿಯಾದ ಸ್ಥಿತಿಯಲ್ಲಿ ಕರೆನ್ಸಿ ಪ್ರದರ್ಶಿಸದೆ ಇರಬಹುದು, ಸಾಧನ ಸ್ಥಿತಿಯನ್ನು ಓದಲು ನೀವು ಅನುಮತಿಯನ್ನು ನಿರಾಕರಿಸಿದ್ದೀರಿ. ಸೆಟ್ಟಿಂಗ್ಗಳಲ್ಲಿ ಅದನ್ನು ಆನ್ ಮಾಡಿ
- ಸೆಟ್ಟಿಂಗ್ಗಳಲ್ಲಿ ಚಟುವಟಿಕೆಯನ್ನು ಹುಡುಕುತ್ತಿರುವಾಗ ಯಾವುದೋ ತಪ್ಪು ಸಂಭವಿಸಿದೆ. \n \'ಸೆಟ್ಟಿಂಗ್ಗಳು\' ಗೆ ಹೋಗಿ ಮತ್ತು ಅನುಮತಿಗಳನ್ನು ಹಸ್ತಚಾಲಿತವಾಗಿ ನೀಡಿ.
- ಶೇಖರಣಾ ನಿರಾಕರಣೆಗಳು ನಿರಾಕರಿಸಲ್ಪಟ್ಟವು
- %1$s ಅನ್ನು ನೀವು ಖಚಿತವಾಗಿ ಬಯಸುವಿರಾ?
-
-
- ಹಲೋ, %1$s
- ಅಮಾನ್ಯವಾದ ಮೊತ್ತ
- ನಿರ್ಗಮಿಸಲು ಮತ್ತೆ ಒತ್ತಿರಿ
-
- ಕ್ಯಾಮೆರಾ ಬಳಸಲು ಅನುಮತಿ ನಿರಾಕರಣೆ
-
- ಪದೇ ಪದೇ ಕೇಳಲಾಗುವ ಪ್ರಶ್ನೆಗಳು
- ಬಳಕೆದಾರ ವಿನಂತಿಯನ್ನು
- ಈಗ ಕಾಲ್
- ಇ-ಮೇಲ್ ಸಂದೇಶವನ್ನು ಬಿಡಿ
- ಸ್ಥಳಗಳನ್ನು ಹುಡುಕಿ
- ಪಾವತಿಗಳು ಇಲ್ಲ
- ಫಿಲ್ಟರ್ಗಳನ್ನು ತೆರವುಗೊಳಿಸಿ
- ಖಾತೆಗಳನ್ನು ನಿರ್ವಹಿಸಿ
- ಹೆಚ್ಚು
- ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು
- ಭಾಷೆಯನ್ನು
- ನಿಮ್ಮ ಭಾಷೆಯನ್ನು ಆರಿಸಿ
- ಸೂಚನೆಗಳು
- ಪ್ರಾಥಮಿಕ URL
- ಹಿಡುವಳಿದಾರನು
-
-
- - ಹೊಸ ಕ್ರೆಡಿಟ್ ಖಾತೆಗೆ ಹೇಗೆ ಅರ್ಜಿ ಸಲ್ಲಿಸುವುದು?
- - ನನ್ನ ಪ್ರೊಫೈಲ್ ಬಗ್ಗೆ ನಾನು ಎಲ್ಲಿ ಮಾಹಿತಿಯನ್ನು ನೋಡಬಹುದು?
- - ನನ್ನ ಉಳಿತಾಯ ಖಾತೆ ವ್ಯವಹಾರಗಳನ್ನು ನಾನು ಎಲ್ಲಿ ನೋಡಬಹುದು?
- - QR ಕೋಡ್ನ ಬಳಕೆ ಏನು?
- - QR ಕೋಡ್ ಬಳಸಿಕೊಂಡು ಫಲಾನುಭವಿಗಳನ್ನು ಹೇಗೆ ರಚಿಸುವುದು?
- - ಕ್ರೆಡಿಟ್ ಖಾತೆಗೆ ಪಾವತಿ ಮಾಡುವುದು ಹೇಗೆ?
-
-
-
- - ಕ್ರೆಡಿಟ್ ಅಕೌಂಟ್ಗಾಗಿ ಅರ್ಜಿ ಮಾಡಲು, ಹೋಮ್ ಪರದೆಯಲ್ಲಿ \"ಸಾಲದ ಅರ್ಜಿಯನ್ನು ವರದಿ ಮಾಡಿ\" ಕ್ಲಿಕ್ ಮಾಡಿ.
- - ಮುಖ್ಯ ಅಪ್ಲಿಕೇಶನ್ ಪುಟದಲ್ಲಿನ ಪ್ರೊಫೈಲ್ ಚಿತ್ರದ ಮೇಲೆ ಕ್ಲಿಕ್ ಮಾಡುವುದರ ಮೂಲಕ ನಿಮ್ಮ ಪ್ರೊಫೈಲ್ ಮಾಹಿತಿಯನ್ನು ನೀವು ವೀಕ್ಷಿಸಬಹುದು.
- - ನಿಮ್ಮ ಉಳಿತಾಯ ಖಾತೆಯಲ್ಲಿನ ವ್ಯವಹಾರಗಳನ್ನು ವೀಕ್ಷಿಸಲು, ಖಾತೆಗಳ ವಿಭಾಗಕ್ಕೆ ಹೋಗಿ, ಅಗತ್ಯವಾದ ಉಳಿತಾಯ ಖಾತೆ ಕ್ಲಿಕ್ ಮಾಡಿ, ಮೇಲಿನ ಬಲ ಮೂಲೆಯಲ್ಲಿರುವ ಮೂರು ಚುಕ್ಕೆಗಳನ್ನು ಕ್ಲಿಕ್ ಮಾಡಿ ಮತ್ತು ವಹಿವಾಟು ಆಯ್ಕೆಯನ್ನು ಆರಿಸಿ.
- - ಎಲ್ಲಾ ಕ್ರೆಡಿಟ್ ಅಥವಾ ಉಳಿತಾಯ ಖಾತೆಗಳಿಗಾಗಿನ QR ಕೋಡ್ ಅನ್ನು ಇತರ ಬಳಕೆದಾರರೊಂದಿಗೆ ಹಂಚಿಕೊಳ್ಳಬಹುದಾಗಿದೆ, ಅವರು ಉತ್ತರಾಧಿಕಾರಿಗಳನ್ನು ರಚಿಸಲು ಅವಕಾಶ ನೀಡುತ್ತಾರೆ
- - , ಉತ್ತರಾಧಿಕಾರಿ ರಚಿಸಲು ಮುಖಪುಟ ಅಪ್ಲಿಕೇಶನ್ ಉತ್ತರಾಧಿಕಾರಿಗಳನ್ನು ಗೆ ಹೋಗಿ, ನಂತರ ಬಲ ಕಡಿಮೆ ಮೂಲೆಯಲ್ಲಿ ಬಟನ್ ಕ್ಲಿಕ್ ಮಾಡಿ, ಕ್ಯಾಮರಾ ತೆರೆಯುವಂತಹ ಸ್ಕ್ಯಾನ್, ಆಯ್ಕೆ ಅಗತ್ಯ ದಶಮಾಂಶ ತುಂಬುವ ಸಾಧ್ಯವಾಗುತ್ತದೆ ನಂತರ, QR ಕೋಡ್ ನೀವು ಉತ್ತರಾಧಿಕಾರಿ ರಚಿಸಲು ಬಯಸುವ ಅವರಲ್ಲಿ ವ್ಯಕ್ತಿಯ ಸ್ಕ್ಯಾನ್ QR ಕೋಡ್ ಬಳಸಿಕೊಂಡು ಉತ್ತರಾಧಿಕಾರಿಗಳನ್ನು ರಚಿಸಲು
- - ಸಾಲ ಖಾತೆಗೆ ಪಾವತಿಯನ್ನು ಮಾಡಲು, ಖಾತೆಗಳ ವಿಭಾಗಕ್ಕೆ ಹೋಗಿ, ಸಾಲ ಆಯ್ಕೆಯನ್ನು ಆರಿಸಿ, ನಂತರ ಗುರಿ ಕ್ರೆಡಿಟ್ ಖಾತೆಯನ್ನು ತೆರೆಯಿರಿ ಮತ್ತು ಪಾವತಿ ಆಯ್ಕೆಯನ್ನು ಮಾಡಿ ಕ್ಲಿಕ್ ಮಾಡಿ.
-
-
-
- ಉಳಿತಾಯದ ಒಟ್ಟು ಸಮತೋಲನ
- ಒಟ್ಟು ಸಾಲದ ಬಾಕಿ
- ಎಲ್ಲಾ ಉಳಿತಾಯ ಮತ್ತು ಸಾಲದ ಖಾತೆಗಳ ಆಧಾರದ ಮೇಲೆ ಲೆಕ್ಕಹಾಕಲ್ಪಟ್ಟ ಬ್ಯಾಂಕಿನ ಖಾತೆ ಮತ್ತು ಉಳಿತಾಯ ಖಾತೆಯ ಸಮತೋಲನವು ಮೇಲಿರುತ್ತದೆ
- ವರ್ಗಾವಣೆಯನ್ನು ರದ್ದುಗೊಳಿಸಲು ನೀವು ಖಚಿತವಾಗಿ ಬಯಸುವಿರಾ?
- ಆದ್ದರಿಂದ
- ಪಾಸ್ವರ್ಡ್ ದೃಢೀಕರಿಸಿ
- ಪಾಸ್ವರ್ಡ್ ಹೊಂದುತ್ತಿಲ್ಲ.
- ಆವೃತ್ತಿ%1$s
- ಎಲ್ಲಾ ಹಕ್ಕುಗಳನ್ನು ಕಾಯ್ದಿರಿಸಲಾಗಿದೆ.
- ಪರವಾನಗಿ
- ವರ್ಗಾವಣೆ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ, ದಯವಿಟ್ಟು ನಂತರ ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ
- ದಯವಿಟ್ಟು ನಿರೀಕ್ಷಿಸಿ…
- ಸಂದೇಶ
- ಅಧಿಸೂಚನೆಯಿಲ್ಲ
-
- ಎಂಡ್ಪೋಯಿಂಟ್ ನವೀಕರಿಸಿ
- ಎಂಡ್ಪೋಯಿಂಟ್ ಸಂರಚನೆಗಳನ್ನು ಬದಲಾಯಿಸಲು ಇಲ್ಲಿ ಕ್ಲಿಕ್ ಮಾಡಿ
- ಪ್ರಾಥಮಿಕ URL ಅನ್ನು ನಮೂದಿಸಿ
- ಟೆನಂಟ್ಗೆ ಹೋಗಿ
- ಅಪ್ಲಿಕೇಶನ್ ಮಾಹಿತಿ
- ಲಾಗಿನ್ ವಿಫಲವಾಗಿದೆ ದಯವಿಟ್ಟು ನಂತರ ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ.
-
diff --git a/androidApp/src/main/res/values-my/strings.xml b/androidApp/src/main/res/values-my/strings.xml
deleted file mode 100644
index ac34907d1a..0000000000
--- a/androidApp/src/main/res/values-my/strings.xml
+++ /dev/null
@@ -1,455 +0,0 @@
-
-
-
- Mifos မိုဘိုင်း
- လော့ဂ်အင်
- %1$s ကိုမှလှိုက်လှဲစွာကြိုဆိုပါသည်
- အင်တာနက်ချိတ်ဆက်မ
- အခြေခံပညာ
- username
- ဝင်ရောက်သည်
- loading
- Password ကို
- အီးမေးလ်ပို့ရန်
- accounts ကို
- clients
- ရန်ပုံငွေလွှဲပြောင်း
- မကြာမီကအရောင်းအဝယ်
- စွဲချက်
- မေးခွန်းပုံစံ
- ကျွန်ုပ်တို့အကြောင်း
- အကောင့်အသေးစိတ်ကိုသိမ်းဆည်းနေ
- ငွေစုဘဏ်စာရင်း
- ချေးငွေအတွက်တင်ပေးမှုအမှားအသေးစိတ်အကောင့်
- အမည်ခံအတိုးနှုန်း
- အကောင့်နံပါတ်
- အကောင့် Balance
- စုစုပေါင်းစာရင်း
- ပွင့်လင်းအံဆွဲမီနူး
- အနီးကပ်အံဆွဲမီနူး
- နေအိမ်
- အလတ်စားစာသား
- အသေးစားစာသား
- client Accounts ကို
- ရေပက်
- သိမ်းဆည်းနေ
- ခြေးငှေ
- ချေးငွေအကောင့်
- ဝေစု
- ဝေမျှမယ်အကောင့်
- တစ်ဦးကို client ကို ရွေးချယ်.
- အလုပ်အဖွဲ့
- အဆင့်အတန်းပုံရိပ်
- ပြန်ဆပ်ဇယား
- နောက်ဆုံးငွေသွင်းငွေထုတ်
- အပေါ်ကိုဖန်ဆင်း
- တစ်ဦးလွှဲပြောင်း Make
- * ချေးငွေထုတ်ကုန်ပစ္စည်းကို Select လုပ်ပါ
- ချေးငွေ၏ရည်ရွယ်ချက် *
- ကျောင်းအုပ်ကြီးငွေပမာဏ *
- ငွေပမာဏ
- ပွောဆို
- မျှော်လင့်ထားသည့်ငွေပေးချေနေ့စွဲ
- တင်သွင်းခဲ့တဲ့နေ့စွဲ
- Submitted
- ငွေပေးချေ
- လွှဲပြောင်းနေ့စွဲ
- ချေးငွေအဘို့အ Apply
- Update ကိုချေးငွေ
- ချေးငွေထုတ်ယူ
- ချေးငွေငွေထုတ်ဖို့အကြောင်းရင်း
- ချေးငွေအကောင့်ကိုအောင်မြင်စွာဆုတ်ခွာ
- ချေးငွေ Submit
- အသစ်ချေးငွေလျှောက်လွှာ
- များအတွက် Update ကိုချေးငွေလျှောက်လွှာ
- အကျိုးစီးပွားအမျိုးအစား
- Amortization
- အကျိုးစီးပွားတွက်ချက်မှုကာလ
- ပြန်ဆပ်မဟာဗျူဟာ
- ရန်ပေးဆောင်
- မှစ. ပေးဆောင်
- Cancel
- ဆန်းစစ်ခြင်း
- ရန်လွှဲပြောင်း
- မှစ. လွှဲပြောင်း
- လွှဲပြောင်း Making
- အပျငှေ
- ငွေပမာဏကိုရိုက်ထည့်
- မှတ်ချက်မဖြစ်မနေဖြစ်ပါသည်
- approved
- လာမည့်
- paid
- ချိန်ခွင်လျှာ
- ပယ်ချ
- စောင့်ဆိုင်းနေ
- Overpaid
- ကြွေးကျန်အတွက်
- သငျသညျလျှောက်ထားချင်အားလုံးကို Select လုပ်ပါ
- ချွေတာသုံးစွဲ Accounts ကို Filter
- ချေးငွေ Accounts ကို Filter
- filter ဝေမျှမယ် Accounts ကို
- ရှာဖှေ
- ရန်ငွေပေးချေရန်အကောင့်ကိုရွေးချယ်ပါ
- မှစ. ငွေပေးချေရန်အကောင့်ကိုရွေးချယ်ပါ
- လွှဲပြောင်းမှတ်ချက် Enter
- အကျိုးခံစား Select လုပ်ပါ
- ဆက်လက်
- ပိတ်
- လွှဲပြောင်းအမျိုးအစားကိုရွေးချယ်ပါ
- ချွေတာသုံးစွဲနိုင်ရန်လွှဲပြောင်း
- ချွေတာသုံးစွဲရာမှလွှဲပြောင်း
- ချေးငွေစွပ်စွဲချက်
- ချွေတာသုံးစွဲစွပ်စွဲချက်
- active
- ပိတ်သိမ်း
- ဆုတ်ခွာ
- အတည်ပြုချက်လိုအပ်
- လာမည့်
- ရင့်ကျက်
- အကောင့်တစ်ခုဖန်တီးသည်
- နာမည်
- မျိုးနွယ်အမည်
- ဖုန်းနံပါတ်
- စာရင်း
- တောင်းဆိုမှု Id
- authentication တိုကင်
- Verify
- အတည်ပြု
- တက်လက်မှတ်ထိုး
- အသုံးပြုသူကိုအောင်မြင်စွာအတည်ပြုလိုက်ပါပြီ
- မိုဘိုင်း
- အီးမေးလ်က
- verification Mode ကို
-
- သွင်းကုန် QR
- ကြည့်ရန်အာမခံ
- အာမခံ Add
- အာမခံကိုဖျက်မည်
- Update ကိုအာမခံ
- အာမခံအမျိုးအစား
- အဘယ်သူမျှမအာမခံ
- အာမခံ Add ရန်ကိုအသာပုတ်
- အာမခံအသေးစိတ်
- ဝင်ရောက်ခဲ့ပြီးနေ့စွဲ
- Submit
-
- အကောင့်တစ်ခုဖျော်ဖြေဖို့ Active ကိုဖြစ်သင့်တယ်အပျငှေ
- အကောင့်တစ်ခုဖျော်ဖြေဖို့ Active ကိုဖြစ်သင့်တယ်လွှဲပြောင်း
-
- သင်နှင့်အတူဆက်နွယ်ခြင်းမရှိ SavingsAccount ရှိပါတယ်
- သင်နှင့်အတူဆက်နွယ်ခြင်းမရှိ LoanAccount ရှိပါတယ်
- သင်နှင့်အတူဆက်နွယ်ခြင်းမရှိ ShareAccount ရှိပါတယ်
- သင်နှင့်အတူဆက်နွယ်ခြင်းမရှိငွေကြေးလွှဲပြောင်းမှုမှာရှိပါတယ်
- သင်နှင့်အတူဆက်နွယ်ခြင်းမရှိပြန်ဆပ်အချိန်ဇယားရှိပါတယ်
- ရရှိနိုင်ပါကပိုအရောင်းအဘယ်သူမျှမက
- အဘယ်သူမျှမငွေသွင်းငွေထုတ်
- DOB မတွေ့ပါ။
- မည်သည့်အဖွဲ့တစ်ဖွဲ့နှင့်အတူ Assigned မဟုတ်
-
- မှားနေသောအသုံးပြုသူအမည် / Password ကို
- server ကနေတင်ပေးမှုအမှားတုန့်ပြန်
- %1$s ကိုအလွတ်မဖွစျနိုငျ
- %1$s ကို %2$d ဃဇာတ်ကောင်ထက်လျော့နည်းမဖွစျနိုငျ
- %1$s ကို %2$s ကိုဆံ့မခံနိုင်သည်
- ကိုစတင်မနိုင် %1$s သို့မဟုတ်ဗလာဖြင့်အဆုံး
- ပြည်တွင်းရေး server ကိုအမှား,ျေးဇူးပြု.ထပ်ကြိုးစား
- မှားယွင်းနေသည်တင်clientကိုစာရင်း
- ချေးငွေအကောင့်စာရင်းထဲတွင်တင်ပေးမှုအမှား
- အကောင့်စာရင်းချွေတာအတွက်တင်ပေးမှုအမှား
- ချွေတာရေးအတွက်တင်ပေးမှုအမှားအသေးစိတ်အကောင
- လတ်တလောအရောင်းအဝယ်အတွက်တင်ပေးမှုအမှား
- client ကိုစွဲချက်အတွက်တင်ပေးမှုအမှား
- စွဲချက်မျှမတွေ့
- client တွေ့မ
- လိုင်းဆွဲယူရန်မအောင်မြင်ခဲ့ပါ
- အသုံးပြုသူပရိုဖိုင်ဆွဲယူရန်မအောင်မြင်ခဲ့ပါ
- Accounts ကိုဆွဲယူရန်မအောင်မြင်ခဲ့ပါ
- ပြန်ဆပ်အချိန်ဇယားကိုဆွဲယူနိုင်ရန် Failed
- တူညီသောအကောင့်အတွင်းလွှဲပြောင်းမပေးနိုင်
- ရယူအကောင့်လွှဲပြောင်းရန်မှားယွင်းနေသည်template ကို
- အကျိုးခံစားရသူများဆွဲယူရန်မအောင်မြင်ခဲ့ပါ
- အကျိုးခံစား Template ကိုဆွဲယူရန်မအောင်မြင်ခဲ့ပါ
- template ကိုဆွဲယူရန်မအောင်မြင်ခဲ့ပါ
- အကျိုးခံစားဖန်တီးရန်မအောင်မြင်ခဲ့ပါ
- အကျိုးခံစားအပ်ဒိတ်လုပ်ရန်မအောင်မြင်ခဲ့ပါ
- အကျိုးခံစား delete ရန်မအောင်မြင်ခဲ့ပါ
- ချေးငွေအကောင့်ဆုတ်ခွာအတွက်မှားယွင်းနေသည်
- တတိယပါတီလွှဲပြောင်းယူခဲ့ပါရန်မှားယွင်းနေသည်template ကို
- လောလောဆယ်ကသင်သည်မည်သည့်အကျိုးခံစားစရာမလိုပါ။ အကျိုးခံစား add ပေးပါ
-
- သငျသညျအခွင့်မရှိပါ
- QR Code ကို
- ဝေမျှမယ်ဖို့အတွက် QR Code ကို
- စောငျ့ရှောကျ
- option ကိုရှေးခယျြပါ
- ကြည့်ရန်အရောင်းအဝယ်
- ကြည့်ရန်စွပ်စွဲချက်
- ကြည့်ရန်ချေးငွေအကျဉ်းချုပ်
- ကြည့်ရန်ပြန်ဆပ်ဇယား
- ဒီအကောင့်ဖို့အတွက် QR Code ကို View
- နောက်ဆုံးငွေသွင်းငွေထုတ်အသေးစိတ်
- username 6 အက္ခရာစဉ်တွေထက် သာ. ကြီးမြတ်ဖြစ်သင
- မှားနေသောအီးမေးလ်ကအိုင်ဒီ
- Server ကို Down, အခြို့အချိန်ပြီးနောက်ကြိုးစားပါ
- client စွပ်စွဲချက်
- မှားယွင်းနေသည် QR ဖတ်နေစဉ်တွင်သေချာသငျသညျသငျ့လျြောသောဒေသကို select လုပ
- ရယူမှုအမှားပုံရိပ်ကို
- ရယူလိုင်း
-
- spaces
- client အမည်
- အကောင့်အခြေအနေ
- ထုတ်ကုန်အမည်
- စုစုပေါင်းရုပ်သိမ်းပေးရန်
- min ။ လိုအပ်တဲ့ Bal ။
- ထုတ်ကုန်အမည်
- ချေးငွေရည်ရွယ်ချက်
- ကြောငျးအုပျကွီး
- ကျောင်းအုပ်ကြီးထုတ်ချေး
- အမ်း။ အတိုးနှုန်း
- အကျိုးစီးပွားအားသွင်းပြီး
- အကျိုးစီးပွား Paid
- ချေးငွေအကောင့်အသေးစိတ်
- ချေးငွေအကျဉ်းချုပ်
- ချေးငွေအမည်
- စိတ်ဝင်စားမှု
- အဖိုးအခ
- ပြစ်ဒဏ်များ
- စုစုပေါင်းမျှော်လင့်ထားပြန်ဆပ်
- Paid စုစုပေါင်း
- အကျိုးစီးပွားသက်ညှာ
- သက်ညှာပြစ်ဒဏ်များ
- အခကြေးငွေ Waived
- ထူးချွန် Balance
- next ကို installation
- နောက်ဆုံးရက်
- ငွေပေးချေမှုရမည့် Make
- ချေးငွေအမျိုးအစား
- ငွေကြေးစနစ်
- ပြန်ဆပ်ဇယား
- အရောင်းအ
- လွှဲပြောင်း
- ခွင့်ပြုချက်ဆိုင်းငံ့ထား
- ငွေပေးချေဘို့စောင့်ဆိုင်းနေ
- ဘာဖြစ်လို့လဲဆိုတော့တချို့တာဝန်၏အပိတ်
- ချေးငွေပိတ်သည်
- နောက်ဆုံးရက်:
- ကြောင့်:
- paid:
- ချီလွှဲ:
- ထူးချွန်:
- ဥပမာ
- ဝစ်ဂျက်ကို Add
- ကူညီပါ
- Mifos Initiative
- Mifos Initiative မှ, ဆီယက်တဲလ်ဝါရှင်တန် 98121
- ဆီယက်တဲလ်
- ကြီးမားသောနည်းပညာစက်မှုလုပ်ငန်းမှနေအိမ်
- ချေးငွေအကောင့်အသေးစိတ်
- အောင်မြင်စွာ Submitted ချေးငွေလျှောက်လွှာ
- ချေးငွေလျှောက်လွှာအောင်မြင်စွာနောက်ဆုံးရေးသားချိန်
- ချေးငွေလျှောက်လွှာအောင်မြင်စွာရုတ်သိမ်း
- အဘယ်သူမျှမ
- အားလုံး
- ၄ သီတင်းပါတ်
- ၃ လ
- ၆ လ
- ရေစစ်
- စတင်သည့်ရက်စွဲ
- အဆုံးနေ့စွဲ
- စစ်ထုတ်သည်
- စတင်ရက်စွဲနှင့်အဆုံးသည့်ရက်စွဲကို select ပေးပါ
- အဆုံးနေ့စွဲ Start ကိုရက်စွဲထက် သာ. ကြီးမြတ်ဖြစ်ရမည်
- အကောင့်အရောင်းအဝယ်သိမ်းဆည်းနေ
- အဘယ်သူမျှမအင်တာနက်ကော်နက်ရှင်
- ငွေပေးချေနေ့စွဲ
- ငွေပေးချေမှုအရေအတွက်
- နေ့စှဲ
- ချေးငွေ Balance
- ပြန်ဆပ်ခြင်း
- ချေးငွေပြန်ဆပ်
- လျင်မြန်စွာလွှဲပြောင်း
- သေချာသင်အင်တာနက်ချိတ်ဆက်ထားသေချာအောင်လုပ်ပါ
- အသကျမှေးမှုကြေးဇူးခံစားရသူ
- အကျိုးခံစားရသူများစီမံခန့်ခွဲရန်
- အကျိုးခံစားခွင့်
- အကျိုးခံစားအသေးစိတ်
- Beneficiary အမည်
- အကောင့်အမျိုးအစား
- လွှဲပြောင်းကန့်သတ်
- အကျိုးခံစား Add
- Office ကိုအမည်
- * အကောင့်အမျိုးအစားကိုရွေးချယ်ပါ
- အကျိုးခံစား Submit
- အကျိုးခံစားရုံးမှအမည် Enter
- အကျိုးခံစားအမည် Enter
- လွှဲပြောင်းကန့်သတ် Enter
- အကျိုးခံစားအကောင့်နံပါတ်ရိုက်ထည့်ပါ
- Dropdown မှအကောင့်အမျိုးအစားကိုရွေးချယ်ပါ
- အောင်မြင်စွာဖန်တီးအကျိုးခံစား
- အကျိုးခံစားအောင်မြင်စွာ updated
- Update ကိုအကျိုးခံစား
- အကျိုးခံစားဖျက်ပစ်ပါ
- သင်ဤပယ်ဖျက်ဖို့လိုတာသေချာအသကျမှေးမှုကြေးဇူးခံစားရသူ
- ဖျက်ပစ်ပါ
- အကျိုးခံစားအောင်မြင်စွာဖျက်ပစ်
- တတိယပါတီလွှဲပြောင်း
- စုစုပေါင်းချေးငွေ
- စုစုပေါင်းချွေတာသုံးစွဲ
- အကောင့်ခြုံငုံသုံးသပ်ချက်
- စုစုပေါင်းချေးငွေပမာဏကို ပြပါ သို့မဟုတ် ဝှက်ပါ။
- *****
- စစ်တမ်းများ
- activation နေ့စွဲ
- အဖွဲ့များ
- အသုံးပြုသူအသေးစိတျ
- client အမျိုးအစား
- client ခွဲခြားရေး
- ကို Select လုပ်ပါ Mode ကို
- သင့်အကောင့်မှတတိယပါတီအကျိုးခံစားရသူများ Add ။ \ မဟုတ် ကိုယ်တိုင်ရိုက်ထည့်ပါသို့မဟုတ်အကောင့် QR ကုဒ်ကိုစကင်ဖတ်စစ်ဆေး
- သင်သည်သင်၏အကောင့်သို့အရေးယူမှုလုပ်မပေးနိုငျသညျ, အခြားအသုံးပြုသူချွေတာသုံးစွဲခြင်းနှင့်ချေးငွေအကောင့်ဖို့အတွက် QR Code ကို scan ကျေးဇူးပြုပြီး
- ပေါင်း
- scan
- ၄ ဂဏန်း passcode ကိုရိုက်ထည့်
- passcode ၄ ဂဏန်း၏ဖြစ်သင့်
- မှားယွင်းနေ passcode
- သင်ပိုမိုထက်မမှန်ကန်ကြောင်း passcode ထဲသို့ဝင်ခဲ့ကြကြိမ်
- ကြိုးခုန်
- ကြော်ငြာကို Save လုပ်ရန်
- login မှ Setup ကိုတစ်ပတ်စ်ကုတ်
- re-ရိုက်ထည့်ပေးပါသင့်ရဲ့ပတ်စ်ကုတ်
- passcode မကိုက်ညီပါဘူး။
- ပတ်စ်ကုတ်မေ့နေ, ကိုယ်တိုင် login
- ဆက်လက်ဆောင်ရွက်
- ငွေပမာဏသုညထက်ကြီးမြတ်ဖြစ်သင့်
- ဆောက်လုပ်ရေးလက်အောက်တွင်ကြှနျုပျတို့အကွောငျး
- ဆောက်လုပ်ရေးလက်အောက်တွင်အကူအညီ
- logout
- ကိုယ်ပိုင်ဝန်ဆောင်မှု App ကိုဒီနေရာမှာ Download: https://play.google.com/store/apps/details?id=
- လျှောက်လွှာကိုရွေးချယ်ပါ
- NA
- QR Upload လုပ်ပါ
- QR ကုဒ်ကိုနှင့်အတူဒေသကိုရွေးချယ်ပါ
-
- ကြှနျုပျတို့ကိုဆကျသှယျရနျ
-
- အောင်မြင်စွာလွှဲပြောင်း
-
- စုစုပေါင်း:
-
- A / C
- ချေးငွေထုတ်ကုန်ပစ္စည်း
- မလှုပ်ရှားတတ်သော
- ACTIVE
- မလှုပ်မရှား
-
-
- သငျသညျထွက်ပြီးချင်သင်သေချာပါသလား?
- အဆင်ပြေလား
- Cancel
- ပြန်.
- ခွင့်တောင်းမှုငြင်းဆိုခြင်း
- သေချာပါတယ်
- ပြန်ကြိုးစားမည်
- App ကိုချိန်ညှိမှုများ
- ကင်မရာကိုခွင့်ပြုချက်မရှိဘဲသင်လိမ့်မည်သင်ဤငြင်းပယ်ဖို့လိုတာသေချာ beneficiary.Are ထည့်သွင်းဖို့ QR ကုဒ်ကိုစကင်ဖတ်စစ်ဆေးနိုင်မည်မဟုတ်ပါခွင့်ပြုချက်?
- သငျသညျမှခွင့်ပြုချက်ကိုငြင်းပယ်ကြပါပြီသငျသညျဖို့အတွက် QR Code ကိုသုံးပြီးအကျိုးခံစားခွင့်ရှိသူများကိုထည့်သွင်းနိုင်ပါလိမ့်မည်မဟုတ်ဒီခွင့်ပြုချက်မရှိဘဲ, ကင်မရာကိုအသုံးပြုပါ။setting တွင်ပြုလုပ် enable ပေးပါ
- သိုလှောင်မှုခွင့်ပြုချက်မရှိဘဲသင်လိမ့်မည်သင်ဤငြင်းပယ်ဖို့လိုတာသေချာ beneficiary.Are ထည့်သွင်းဖို့ QR ကုဒ်ကို upload တင်နိုင်တော့မည်မဟုတ်ခွင့်ပြုချက်?
- သငျသညျမှခွင့်ပြုချက်ကိုငြင်းပယ်ကြပါပြီသိုလှောင်မှုကိုဖတ်, ဒီခွင့်ပြုချက်မရှိဘဲသင်ဖို့အတွက် QR Code ကိုသုံးပြီးအကျိုးခံစားခွင့်ရှိသူများကိုထည့်သွင်းနိုင်ပါလိမ့်မည်မဟုတ်။ setting တွင်ပြုလုပ် enable ပေးပါ
- သငျသညျမှခွင့်ပြုချက်ကိုငြင်းပယ်ကြပါပြီဒီခွင့်ပြုချက်မရှိဘဲသင်ဖို့အတွက် QR Code ကိုသုံးပြီးအကျိုးခံစားခွင့်ရှိသူများကိုထည့်သွင်းနိုင်ပါလိမ့်မည်မဟုတ်, သိုလှောင်မှုမှရေးပါ။setting တွင်ပြုလုပ် enable ပေးပါ
- ဒီအခွင့်ပြုချက်လိုအပ်သည်သင့်ရဲ့ country.Are သည်နှင့်အညီငွေကြေးပြသနိုင်ဖို့သေချာပြီလားသင်ကငြင်းပယ်လိုပါသလား?
- သငျသညျခွင့်ပြုချက်ငြင်းပယ်ခဲ့ကြဖုန်းပြည်နယ်ဆွဲယူဖို့, ဒီခွင့်ပြုချက်ငွေကြေးမရှိဘဲသင့်လျော် format နဲ့ပြမရပေလိမ့်မည်။setting တွင်ပြုလုပ် enable ပေးပါ
- တစ်ခုခုက Settings လှုပ်ရှားမှုရှာဖွေတာမှားသွားတယ်။ \n က \'Settings\' ကိုသွားပြီးကိုယ်တိုင်ခွင့်ပြုချက်ပေးရန်။
- ခွင့်ပြုချက်သိုလှောင်မှုမှငြင်းဆို
- သငျသညျ%1$s ချင်သောသင်သေချာပါသလား?
-
-
- မင်္ဂလာပါ %1$s ကို
- %1$.2f
- %1$.2f %2$s ကို
- %1$s ကို %2$s ကို
- %1$s ကို %2$.2f
- %1$s ကို: %2$ ဃ
- မှားနေသောငွေပမာဏ
- နောက်ကျောကိုထပ်ထွက်ပေါက်မှသတင်းထုတ်
-
- ခွင့်ပြုချက်ကင်မရာသုံးစွဲဖို့ Denied
- ၁
- ၂
- ၃
- ၄
- ၅
- ၆
- ၇
- ၈
- ၉
- င်
-
- မေးမြန်းလေ့ရှိသောမေးခွန်းများ
- အသုံးပြုသူ Query
- ယခု Call
- အီးမေးလ်တစ်စောင် Leave
- တည်နေရာကိုရှာပါ
- အဘယ်သူမျှမထုတ်ယူ
- Clear ကိုစိစစ်မှုများ
- Manage Accounts ကို
- နောက်ထပ်
- Settings များ
- ဘာသာစကား
- သင်၏ဘာသာစကားကိုရွေးချယ်ပါ
- အသိပေးချက်များ
- base URL ကို
- အိမ်ငှါး
-
-
- - အဘယ်သို့ငါအသစ်ကချေးငွေအကောင့်လျှောက်ထားသလဲ?
- - ငါသည်ငါ့ profile သတင်းအချက်အလက်များကိုဘယ်မှာကြည့်ရှုနိုင်သလဲ
- - ငါသည်ငါ့ချွေတာသုံးစွဲအရောင်းအဝယ်အကောင့်ကိုဘယ်မှာတွေ့နိုင်ပါသည်?
- - QR Code ကိုအသုံးပြုခြင်းကဘာလဲ?
- - QR Code ကိုသုံးပြီးအကျိုးခံစားခွင့်ကိုဖန်တီးရန်ဘယ်လိုနေသလဲ?
- - တစ်ချေးငွေအကောင့်အတွက်ငွေပေးချေရန်ဘယ်လိုနေသလဲ?
-
-
-
- - ချေးငွေအကောင့်လျှောက်ထားရန်, ပင်မစာမျက်နှာအပေါ်ပေးထားသော "ချေးငွေ\များအတွက် Apply"\ ပေါ်ကလစ်နှိပ်ပါ။
- - သငျသညျမူလစာမျက်နှာပေါ်တွင်အသုံးပြုသူ Image ကိုပစ္စုပ္ပန်ပေါ်နှိပ်ခြင်းအားဖြင့်သင့်ရဲ့ပရိုဖိုင်းကိုသတင်းအချက်အလက်ကြည့်ရှုနိုင်ပါသည်မျက်နှာပြင်။
- - , သင့်ငွေစုအကောင့်အရောင်းအရှုမြင် Accounts ကိုကဏ္ဍများမှ navigate ပေါ်တွင်ကလစ်လုပ်ပါရန်လိုအပ်သောငွေစုအကောင့်, ညာဘက်ထိပ်ပေါ်ပစ္စုပ္ပန်သုံးစက်ပေါ် click နှိပ်ပြီး select လုပ်ပါအရောင်းအ option ကို။
- - မည်သည့်ချေးငွေသို့မဟုတ်ငွေစုအကောင့် QrCode ထားတဲ့လိမ့်မည်အခြားအသုံးပြုသူများနှင့်အတူမျှဝေနိုင်ပါတယ်သူတို့ကိုတစ်ဦးအကျိုးခံစားခွင့်ကိုဖန်တီးရန်ခွင့်ပြုသည်။
- - မူလစာမျက်နှာ Screen ကနေတစ်ဦးအကျိုးခံစား, ကို goto အကျိုးခံစား option ကိုဖန်တီးနိုင်ရန်အတွက်နှိပ်ပါအောက်ခြေညာဘက်အပေါ်မြို့ပတ်ရထား button ကိုပစ္စုပ္ပန်ပေါ်ဖွင့်လှစ်ထားတဲ့စကင်ဖတ်ရန် option ကိုရွေးပါသင့်ရဲ့ device ကိုကင်မရာ, သင်တစ်ဦးဖန်တီးလိုသည့်အခြားပုဂ္ဂိုလ်တစ်ဦး၏ဖို့အတွက် QR Code ကို scan အကျိုးခံစားခွင့်, အခြားလိုအပ်သောအသေးစိတ်ဖြည့်အပြီးသင်တစ်ဦးဖန်တီးနိုင်ပါလိမ့်မည် QR Code ကိုသုံးပြီးအကျိုးခံစား။
- - တစ်ချေးငွေအကောင့်အတွက်ငွေပေးချေမှု Accounts ကိုကဏ္ဍများမှ navigate, ချေးငွေများရွေးချယ်ဖို့ထို့နောက်သင့်လိုအပ်သောချေးငွေအကောင့်ဖွင့်လှစ်ခြင်းနှင့်ငွေပေးချေမှု option ကို click လုပ်ပါ။
-
-
-
- စုစုပေါင်းချွေတာသုံးစွဲ Balance
- စုစုပေါင်းချေးငွေ Balance
- ချေးငွေနှင့်ချွေတာသုံးစွဲအကောင့်ချိန်ခွင်လျှာအထက်များမှာသင့်ရဲ့အားလုံးငွေစုနှင့်ငွေချေးအကောင့်အသစ်များ၏ကိုယ်စားတွက်ချက်။
- သငျသညျလွှဲပြောင်းသင်ပယ်ဖျက်လိုတာသေချာလား?
- ဟုတ်ကဲ့
- စကားဝှက်ကိုအတည်ပြုပါ
- Password ကိုမကိုက်ညီပါဘူး။
- ဗားရှင်း %1$s ကို
- ©2016-%1$s Mifos Initiative.
- မူပိုင်ခွင့်များရယူပြီး။
- လိုင်စင်
- လွှဲပြောင်းဖြည့်စွက်ဖို့မအောင်မြင်ဘူး, နောက်မှာထပ်ကြိုးစားကြည့်ပါ
- ကျေးဇူးပြုပြီးခဏစောင့်ပါ…
- မက်ဆေ့ခ်ျကို
- အဘယ်သူမျှမသတိပေးချက်
-
- Update ကိုဆုံးမှတ်
- သင့်ရဲ့ဆုံးမှတ် Configuration ကိုပြောင်းလဲရန်ဒီနေရာကိုနှိပ်ပါ
- အဆိုပါအခြေစိုက်စခန်း URL ကိုရိုက်ထည့်ပါ
- ဥယျာဉ်စောင့် Enter
- အက်ပ်အချက်အလက်
- စုစုပေါင်းချွေတာသည့်ပမာဏကို ပြပါ သို့မဟုတ် ဝှက်ပါ။
- အကောင့်ဝင်ခြင်း မအောင်မြင်ပါ၊ ကျေးဇူးပြု၍ နောက်မှ ထပ်စမ်းကြည့်ပါ။
-
-
\ No newline at end of file
diff --git a/androidApp/src/main/res/values-pl/strings.xml b/androidApp/src/main/res/values-pl/strings.xml
deleted file mode 100644
index d2dd4bbbba..0000000000
--- a/androidApp/src/main/res/values-pl/strings.xml
+++ /dev/null
@@ -1,433 +0,0 @@
-
-
-
- Zaloguj Się
- Witaj, %1$s.
- Brak połączenia z Internetem
- Podstawowy
- Nazwa Użytkownika
- Logowanie
- Ładowanie
- Hasło
- E-mail
- Konta
- Klienci
- Przelew funduszy
- Ostatnie transakcje
- Opłaty
- Ankieta
- O nas
- Zapisywanie szczegółów konta
- Konto oszczędnościowe
- Błąd podczas ładowania danych konta kredytowego
- Nominalne stopy procentowe
- Numer konta
- Bilans konta
- Łączne depozyty
- Otwórz Panel Nawigacyjny
- Zamknij Panel nawiagacyjny
- Strona główna
- Średni tekst
- Mały tekst
- Konta klientów
- Ekran powitalny
- Oszczędność
- Pożyczka
- Konto kredytowe
- Udostępnij
- Udostępnij konto
- Wybierz klienta
- Pracujący
- Obraz stanu
- Harmonogram spłaty
- Ostatnia transakcja
- Wykonane na
- Zrób przelew
- Wybierz produkt kredytowy*
- Cel pożyczki*
- Główna kwota*
- Ilość
- Uwaga
- Oczekiwana data wypłaty
- Termin składania
- Przesłane
- Wydatek
- Data przelewu
- Złóż wniosek o pożyczkę
- Zaktualizuj pożyczkę
- Wypłać pożyczkę
- Powód do wypłaty pożyczki
- Konto pożyczkowe zostało pomyślnie wycofane
- Prześlij pożyczkę
- Nowa aplikacja kredytowa dla
- Zaktualizuj aplikację kredytową dla
- Rodzaj odsetek
- Umorzenie
- Okres naliczania odsetek
- Strategia spłaty
- Wpłata do
- Wpłata od
- Anuluj
- Podgląd
- Przelew do
- Przelew od
- Dokonywanie przelewu
- Kaucja
- Wprowadź ilość
- Uwaga jest obowiązkowa
- Zatwierdzony
- W oczekiwaniu
- Płatny
- Saldo
- Odrzucono
- Czekanie
- Nadpłacony
- W zaległości
- Wybierz wszystko, co chcesz zastosować
- Filtruj konta oszczędnościowe
- Filtruj konta kredytowe
- Filtruj udostępnianie kont
- Szukaj
- Wybierz opcję Konto do zapłaty
- Wybierz konto do zapłaty z
- Wprowadź uwagi do przeniesienia
- Wybierz beneficjenta
- dalej
- Blisko
- Wybierz rodzaj przelewu
- Przelew do oszczędności
- Przelew z oszczędności
- Opłaty za pożyczki
- Oszczędności
- Aktywny
- Zamknięte
- Wycofane
- Wymaga zatwierdzenia
- W oczekiwaniu
- Dojrzałe
- Utwórz konto
- Imię
- Nazwisko
- Numer telefonu
- Zarejestrować
- Żądanie ID
- Token uwierzytelniania
- Zweryfikuj
- Weryfikowanie
- Logowanie
- Użytkownik został zweryfikowany pomyślnie
- mobilny
- e-mail
- Tryb weryfikacji
- Puste
- Zaimportuj QR
- Wyświetl Poręczyciela
- Dodaj Poręczyciela
- Usuń Poręczyciela
- Zaktualizuj Poręczyciela
- Typ Poręczyciela
- Brak Poręczycieli
- Stuknij, aby dodać Poręczyciela
- Dane Poręczyciela
- Data dołączenia
- Zatwierdź
-
- Konto powinno być aktywne, aby dokonać kaucji
- Konto powinno być aktywne, aby wykonać przelew
-
- Brak powiązanych z tobą kont oszczędnościowych
- Brak powiązanych z tobą kont pożyczkowych
- Brak powiązanych z tobą kont współdzielonych
- Brak powiązanych z tobą transakcji
- Brak powiązanego z tobą harmonogramu spłat
- Brak dostępnych transakcji
- Brak transakcji
- Nie znaleziono DOB.
- Nieprzypisany do żadnej grupy
-
- Nieprawidłowa nazwa użytkownika / hasło
- Błąd podczas uzyskiwania odpowiedzi z serwera
- %1$s nie może być puste
- %1$s nie może mieć mniej niż %2$d znaków
- %1$s nie może zawierać %2$s
- %1$s nie może się rozpoczynać lub konczyć się odstępem
- Błąd na wewnętrznym serwerze, spróbuj ponownie póżniej
- Podczas ładowania listy klientów wystąpił błąd
- Błąd ładowania listy kont pożyczkowych
- Błąd podczas ładowania listy kont oszczędnościowych
- Błąd podczas wczytywania szczegółów dotyczących kont oszczędnościowych
- Wystąpił błąd podczas ładowania w ostatnich transakcjach
- Błąd ładowania kont należnościowych
- Nie znaleziono klienta
- Nie udało się pobrać klienta
- Nie udało się pobrać profilu użytkownika
- Nie można pobrać kont
- Nie można pobrać harmonogramu spłat
- Nie można dokonać przelewu na własne konto
- Nie udało się pobrać szablonu przelewu
- Nie udało się pobrać spadkobierców
- Nie udało się pobrać szablonu spadkobiercy
- Nie udało się pobrać szablonu
- Nie udało się stworzyć spadkobiercy
- Nie udało się zaktualizować spadkobiercy
- Nie udało się usunąć spadkobiercy
- Nie udało się wycofać konta pożyczkowego
- Błąd pobierania szablonu przelewu strony trzeciej
- Obecnie nie masz żadnego spadkobiercy. Dodaj spadkobiercę
-
- Nie jesteś upoważniony
- Kod QR
- Udostępnij kod QR
- Monitor
- Wybierz opcję
- Wyświetl transakcje
- Zobacz opłaty
- Zobacz podsumowanie pożyczki
- Zobacz harmonogram spłat
- Wyświetl kod QR dla tego konta
- Ostatnie szczegóły transakcji
- Nazwa użytkownika powinna być większa niż 6 znaków
- Nieprawidłowy identyfikator e-maila
- Serwer w dół, spróbuj po pewnym czasie
- Opłaty klienta
- Błąd podczas czytania QR, upewnij się, że wybierasz właściwy region
- Błąd podczas pobierania obrazu
- Pobieranie klienta
-
- Spaces
- Nazwa klienta
- Status Konta
- Nazwa produktu
- Całkowita wypłata
- Min. Wymagany Bal.
- Nazwa produktu
- Cel pożyczki
- Dyrektor
- Zleceniodawca wypłacony
- Roczna stopa procentowa
- Odsetki naliczone
- Wypłacane odsetki
- Szczegóły konta kredytowego
- Podsumowanie pożyczki
- Nazwa pożyczki
- Zainteresowanie
- Opłaty
- Kary
- Całkowita spodziewana spłata
- Łącznie zapłacono
- Interest Waived
- Kary zerwane
- Opłata uchylony
- Wybitna równowaga
- Następna rata
- Termin płatności
- Dokonać płatności
- Rodzaj pożyczki
- Waluta
- Harmonogram spłaty
- Transakcje
- Przelew
- Zatwierdzenie w toku
- Oczekiwanie na wypłatę
- Zamknięte z powodu niektórych zobowiązań
- Pożyczka zamknięta
- Według daty:
- Według:
- Zapłacona:
- Odstąpiona:
- Zaległa:
- PRZYKŁAD
- Dodaj widget
- Pomoc
- Miejsce dużych przemysłow technologicznych
- Szczegóły konta pożyczkowego
- Wniosek kredytowy przesłany pomyślnie
- Wniosek o pożyczkę został zaktualizowany pomyślnie
- Wniosek pożyczkowy wycofany pomyślnie
- Żadne
- Wszystko
- 4 tygodnie
- 3 miesiące
- 6 miesięcy
- Filtr
- Data rozpoczęcia
- Data zakonczenia
- Przefiltrowany
- Wybierz datę początkową i końcową
- Data zakończenia musi być większa niż data rozpoczęcia
- Zapisywanie transakcji na koncie
- Brak połączenia z internetem
- Data wypłaty
- Liczba płatności
- Data
- Saldo kredytu
- Spłata
- Spłata pożyczki
- Szybki przelew
- Upewnij się, że masz połączenie z internetem
- Spadkobierca
- Zarządzaj spadkobiercami
- Spadkobiercy
- Szczegóły spadkobiercy
- Nazwa spadkobiercy
- typ konta
- Limit przelewu
- Dodaj spadkobierce
- Nazwa biura
- Wybierz typ konta *
- Prześlij spadkobiercę
- Wprowadź nazwę biura spadkobiercy
- Wprowadź nazwę spadkobiercy
- Wprowadź limit przelewu
- Wprowadź numer konta spadkobiercy
- Wybierz Typ konta z menu rozwijanego
- Spadkobierca został utworzony pomyślnie
- Spadkobierca zaktualizowany pomyślnie
- Zaktualizuj spadkobiercę
- Usuń spadkobiercę
- Czy na pewno chcesz to usunąć spadkobiercę?
- Kasować
- Spadkobierca został usunięty
- Przelew osoby trzeciej
- Łączna pożyczka
- Całkowite oszczędności
- Przegląd konta
- Pokaż lub ukryj całkowitą kwotę oszczędności
- Pokaż lub ukryj całkowitą kwotę pożyczki
- *****
- Ankiety
- Data aktywacji
- Grupy
- Dane użytkownika
- Typ klienta
- Klasyfikacja klientów
- Wybierz tryb
- Dodaj do swojego konta spadkobierców zewnętrznych. \nWprowadź ręcznie lub zeskanuj kod QR konta
- Nie możesz wykonać czynności na swoim koncie, zeskanuj kod QR z konta oszczędnościowego, lub pożyczkowego innego użytkownika
- Dodaj
- Skanuj
- Wprowadź 4-cyfrowy kod dostępu
- Kod dostępu powinien składać się z 4 cyfr
- Niepoprawny kod dostępu
- Podałeś nieprawidłowy kod dostępu więcej niż 3 razy
- Pomiń
- Zapisz
- Ustaw pin, aby się zalogować
- Wprowadź ponownie pin
- Kod dostępu nie pasuje.
- Zapomniałem pinu, zaloguję się za pomocą hasła
- Kontynuuj
- Kwota powinna być większa od zera
- Zakładka O nas w budowie
- Zakładka Pomoc w budowie
- Wyloguj
- Pobierz aplikację Self Service tutaj: https://play.google.com/store/apps/details?id=
- Wybierz aplikację
- NA
- Prześlij QR
- Wybierz region z kodem QR
-
- Skontaktuj się z nami
- Przelew pomyślny
-
- Całkowity:
-
- A/C
- Produkt pożyczkowy
- Nieaktywny
- AKTYWNY
- NIEAKTYWNY
-
-
- Czy na pewno chcesz się wylogować?
- OK
- Anuluj
- Powrót
- Odmowa dostępu
- Jestem pewien
- Spróbuj ponownie
- Ustawienia aplikacji
- Bez zezwolenia na użycie kamery nie będziesz mógł przeskanować kodu QR, aby dodać spadkobiorcę. Na pewno chcesz zabronić tej funkcji?
- Odmówiłeś zgody na użycie kamery, bez tego pozwolenia nie będziesz mógł dodawać spadkobierców za pomocą kodu QR. Włącz ją w ustawieniach
- Bez zezwolenia na odczyt z pamięci nie będziesz mógł przesłać kodu QR, aby dodać spadkobiorcę. Na pewno chcesz zabronić tej funkcji?
- Odmówiłeś zgody na odczyt z pamięci urzadzenia, bez tego pozwolenia nie będziesz mógł dodawać spadkobierców za pomocą kodu QR. Włącz ją w ustawieniach
- Odmówiłeś zgody na zapis do pamięci urzadzenia, bez tego pozwolenia nie będziesz mógł dodawać spadkobierców za pomocą kodu QR. Włącz ją w ustawieniach
- To uprawnienie jest wymagane by pokazać walutę w zależności od kraju. Jesteś pewien, że chcesz zabronić tej funkcji?
- Odmówiłeś zgody na odczyt stanu urządzenia, bez tego pozwolenia waluta może nie być wyświetlana we właściwym formacie. Włącz ją w ustawieniach
- Coś poszło nie tak podczas znajdowania aktywności w ustawieniach. \nPrzejdź do \'Ustawienia\' i nadaj uprawnienia ręcznie.
- Odmówiono zgody na przechowywanie
- Czy na pewno chcesz %1$s?
-
-
- Witaj, %1$s
- Nieprawidłowa kwota
- Naciśnij ponownie, aby wyjść
-
- package
- Odmowa zezwolenia na korzystanie z kamery
-
- Często Zadawane Pytania
- Zapytanie użytkownika
- Zadzwoń teraz
- Pozostaw wiadomość e-mail
- Znajdź lokalizacje
- Brak wypłat
- Wyczyść filtry
- Zarządzaj kontami
- Więcej
- Ustawienia
- Język
- Wybierz swój język
- Powiadomienia
- Podstawowy adres URL
- Najemca
-
-
- - Jak złożyć wniosek o nowe konto kredytowe?
- - Gdzie mogę wyświetlić informacje o moim profilu?
- - Gdzie mogę zobaczyć transakcje mojego konta oszczędnościowego?
- - Jaki jest pożytek z kodu QR?
- - Jak utworzyć beneficjenta za pomocą kodu QR?
- - Jak dokonać płatności za konto kredytowe?
-
-
-
- - Aby złożyć wniosek o rachunek kredytowy, kliknij \"Zgłoś wniosek o pożyczkę\" na ekranie głównym.
- - Możesz przeglądać swoje informacje o profilu, klikając na zdjęcie profilowe na stronie głownej aplikacji.
- - Aby wyświetlić transakcje na koncie oszczędnościowym, przejdź do sekcji Rachunki, kliknij wymagane konto oszczędnościowe, kliknij trzy kropki obecne w prawym górnym rogu i wybierz Opcja transakcji.
- - Kod QR dla wszystkich rachunków kredytowych lub oszczędnościowych może być udostępniany innym użytkownikom, który zezwoli im na stworzenie spadkobiercy
- - Aby utworzyć spadkobiercę, przejdź do Spadkobiercy na stronie głównej aplikacji, a następnie kliknij na przycisk znajdujący się w prawym dolnym rogu, wybierz opcję skanowania, która otworzy aparat urządzenia, zeskanuj kod QR osoby, dla której chcesz utworzyć spadkobiercę, po wypełnieniu wymaganych danych będziesz mógł stworzyć spadkobierców korzystający z kodu QR
- - Aby dokonać płatności za konto pożyczkowe, przejdź do sekcji Konta, wybierz opcję POŻYCZKA następnie otwórz docelowe konto kredytowe i kliknij opcję Dokonaj płatności.
-
-
-
- Całkowite saldo oszczędności
- Całkowite saldo pożyczki
- Powyżej znajduje się saldo rachunku bankowego, oraz oszczędnościowego obliczane na podstawie wszystkich rachunków oszczędnościowo-pożyczkowych
- Czy na pewno chcesz anulować przelew?
- Tak
- Potwierdź hasło
- Hasło Nie pasuje.
- Wersja %1$s
- Wszelkie prawa zastrzeżone.
- Licencje
- Nie można wykonać przelewu, spróbuj ponownie później
- Proszę czekać…
- wiadomość
- Brak powiadomienia
-
- Zaktualizuj Endpoint
- Kliknij tutaj, aby zmienić konfiguracje Endpoint\'u
- Wprowadź podstawowy adres URL
- Wejdź do Lokatora
- Informacje o aplikacji
- Zły login, proszę spróbować ponownie.
-
diff --git a/androidApp/src/main/res/values-pt/strings.xml b/androidApp/src/main/res/values-pt/strings.xml
deleted file mode 100644
index 80ec682fd0..0000000000
--- a/androidApp/src/main/res/values-pt/strings.xml
+++ /dev/null
@@ -1,517 +0,0 @@
-
-
-
- Mifos Mobile
- Entrar
- Bem-vindo %1$s
- Não conectado à internet
- Básico
- Nome de Utilizador
- exploração madeireira em
- Carregando
- Senha
- O email
- Contas
- Clientes
- Transferência de Fundos
- Transações recentes
- Cobranças
- Questionário
- Sobre nós
- Detalhes da conta de poupança
- Conta Poupança
- Taxa de Interesse Nominal
- Número da conta
- Saldo da Conta
- Depósitos Totais
- Gaveta aberta
- Fechar gaveta
- Lar
- Texto médio
- Texto pequeno
- Contas de Clientes
- esguicho
- Poupança
- Empréstimo
- Conta de Empréstimos
- Partilhar
- Partilhar conta
- Escolheu um cliente
- A trabalhar
- Imagem de Status
- Cronograma de Reembolso
- Última Transação
- Feito em
- Faça uma transferência
- Selecione o produto de empréstimo *
- Finalidade do Empréstimo *
- Quantia Principal*
- Quantia
- Observação
- Data de desembolso esperada
- Data de submissão
- Submetido
- Desembolso
- Data de transferência
- Solicitar empréstimo
- Atualizar empréstimo
- Levantar empréstimo
- Razão para levantar empréstimo
- Conta de empréstimo retirada com sucesso
- Submeter Empréstimo
- Novo pedido de empréstimo para
- Atualizar pedido de empréstimo para
- Tipo de interesse
- Amortização
- Período de calculo de juro
- Estratégia de Reembolso
- Pagar para
- Pagar da
- Cancelar
- Rever
- Transferir para
- Transferir da
- Fazendo Transferência
- Depositar
- Digite Montante
- Observação é obrigatória
- Aprovado
- Pendente
- Pago
- Saldo
- Rejeitado
- À espera
- Excesso de pagamento
- Em atraso
- Selecione tudo o que você deseja aplicar
- Filtrar Contas Poupança
- Filtrar Contas Empréstimo
- Filtrar contas de compartilhamento
- Procurar
- Selecione uma conta para pagar
- Selecione uma conta para pagar
- Insira comentários para transferência
- Selecione Beneficiário
- Continuar
- Fechar
- Escolha o tipo de transferência
- Transferir para as poupanças
- Transferir da poupança
- Cobranças de empréstimos
- Cobranças de poupanças
- Ativo
- Fechado
- Retirada
- Necessita de aprovação
- Pendente
- Amadurecido
- Crie uma conta
- Primeiro Nome
- Último Nome
- Número de Telefone
- Registo
- ID de Pedido
- Token de Autenticação
- Verificar
- A verificar
- A registar
- Utilizador foi verificado com sucesso
- móvel
- o email
- Modo de verificação
-
- Importar QR
- Ver fiador
- Adicionar fiador
- Remover fiador
- Atualizar fiador
- Tipo de fiador
- Sem fiadores
- Toque para adicionar fiador
- Detalhes de fiador
- Data de ingresso
- Submeter
-
- Conta deve estar ativa para depositar
-
-
- Conta deve estar ativa para transferir
-
-
- Não existe nenhuma Conta Poupança associada
- Não existe nenhuma Conta de Empréstimo associada
- Não existe nenhuma Conta Partilha associada
- Não existem transações associadas
- Não existe nenhum cronograma de reembolso associado
- Não há mais transações disponíveis
- Sem transações
- Nenhum DOB encontrado.
- Não atribuído a nenhum grupo
-
- Nome de utilizador / Palavra-passe inválidos
- Erro ao carregar resposta do servidor
- %1$s não pode estar em branco
- %1$s não pode ter menos que %2$d caracteres
- %1$s não pode conter %2$s
- %1$s cannot begin or
- end with blank space
-
- Erro interno do servidor, por favor, tente novamente
- Erro ao carregar a lista de clientes
- Erro ao carregar a lista de contas
- Erro ao carregar a lista de contas poupança
- Erro ao carregar detalhes das contas poupança
-
- Erro ao carregar Transações Recentes
- Erro ao carregar cobranças de cliente
- Nenhuma cobrança encontrada
- Cliente não encontrado
- Erro ao buscar cliente
- Falha ao buscar o perfil do usuário
- Erro ao buscar contas
- Erro ao buscar Repayment Schedule
- Não é possível transferir dentro da mesma conta
- Erro ao buscar modelo de transferência de conta
-
-
- Erro ao buscar Beneficiários
- Erro ao buscar modelo de beneficiários
- Erro ao buscar o modelo
- Erro ao criar Beneficiário
- Erro ao atualizar Beneficiário
- Erro ao remover Beneficiário
- Erro ao levantar da conta empréstimo
- Erro ao buscar modelo de transferência de terceiros
-
-
- Não existem Beneficiários. Por favor, adicione um.
-
- Sem autorização
- Código QR
- Partilhar código QR
- Monitor
- Escolha opção
- Ver Transações
- Ver Cobranças
- Ver resumo de Empréstimos
- Ver Cronograma de Reembolso
- Ver código QR desta conta
- Detalhes da última transação
- Nome de utilizador deverá ter mais do que 6 caracteres
-
- Email inválido
- Servidor em baixo, por favor tente mais tarde
- Cobranças do Cliente
- Erro ao ler código QR, verifique se selecionou a região correta
-
- Erro ao buscar imagem
- Buscando Cliente
-
- Espaços
- Nome de Cliente
- Status da conta
- Nome do produto
- Total de levantamentos
- saldo mínimo exigido
- Nome do produto
- Objetivo do empréstimo
- Principal
- Principal desembolsado
- Taxa de juro anual
- Juros cobrados
- Juros pagos
- Detalhes da conta de empréstimo
- Resumo de empréstimos
- Nome de empréstimo
- Juros
- Taxas
- Multas
- Reembolso total esperado
- Total Pago
- Juros dispensados
- Multas dispensadas
- Taxas dispensadas
- Saldo excecional
- Próxima prestação
- Data de vencimento
- Fazer pagamento
- Tipo de empréstimo
- Moeda
- Cronograma de pagamento
- Transações
- Transferência
- Aprovação pendente
- À espera de desembolso
- Fechado devido a algumas obrigações
- Empréstimo fechado
- Data de vencimento:
- Vencimento:
- Pago:
- Dispensado:
- Excecional:
- EXEMPLO
- Adicionar ferramenta
- Ajuda
- Iniciativa Mifos
- Iniciativa Mifos, Seattle, Washington 98121
- Seattle
- Lar para uma grande indústria de tecnologia
- Detalhes da conta de empréstimo
- Solicitação de empréstimo submetida com sucesso
- Solicitação de empréstimo atualizada com sucesso
- Solicitação de empréstimo levantada com sucesso
-
-
- Nenhuma
- Todas
- 4 Semanas
- 3 Meses
- 6 Meses
- Filtro
- Data inicial
- Data final
- Filtrado
- Por favor, selecione a data inicial e final
- End date must be greater than Start date
- Transações da conta poupança
- Sem ligação à internet
- Data de desembolso
- Número de pagamentos
- Data
- Saldo de empréstimo
- Reembolso
- Reembolso de empréstimo
- Transferência rápida
- Por favor, verifique a ligação à internet
- Beneficiário
- Gerir beneficiários
- Beneficiários
- Detalhes de beneficiário
- Nome do beneficiário
- Tipo de conta
- Limite de transferência
- Adicionar beneficiário
- Nome do escritório
- Selecione o tipo de conta*
- Subemeter beneficiário
- Insira o nome do escritório do beneficiário
- Insira o nome do beneficiário
- Insira o limite de transferência
- Insira o número da conta do beneficiário
- Selecione o tipo de conta da lista
- Beneficiário criado com sucesso
- Beneficiário atualizado com sucesso
- Atualizar Beneficiário
- Remover Beneficiário
- Tem a certeza que deseja remover este beneficiário?
-
-
- Remover
- Beneficiário removido com sucesso
- Transferência de terceiros
- Empréstimo Total
- Poupança Total
- Visão Global da Conta
- Mostrar ou ocultar o valor total economizado
- Mostrar ou ocultar o valor total do empréstimo
- *****
- Sondagens
- Data de Ativação
- Grupos
- Detalhes de utilizador
- Tipo de Cliente
- Classificação de Cliente
- Selecione Modo
- Adicionar Terceiros Beneficiários à sua conta. Manualmente ou com código QR
-
-
- Não pode fazer ações na sua conta, por favor, digitalize outro utilizador
- Código QR de Contas poupança e empréstimo
-
- Adicionar
- Scan
- Insira um PIN de 4 dígitos
- PIN deverá ter 4 dígitos
- PIN Incorreto
- Introduziu um PIN incorreto mais do que 3 vezes
-
-
- Saltar
- Guardar
- Configure um PIN para entrar
- Por favor reinsira o seu PIN
- O PIN não corresponde.
- Esqueci-me do PIN, entrar manualmente
- Avançar
- Quantia deverá ser maior que 0
- Sobre Nós em construção
- Ajuda em construção
- Sair
- Transfira a aplicação aqui:
- https://play.google.com/store/apps/details?id=
-
- Escolha a aplicação
- ND
- Enviar QR
- Selecione região com código QR
-
- Necessita de ajuda? Contacte a sua linha de suporte
-
- Transferido com sucesso
-
- Total:
-
- C/C
- Produto de empréstimo
- Inativo
- ATIVO
- INATIVO
-
-
- Tem a certeza que deseja sair?
- OK
- Cancelar
- de volta
- Permissão recusada
- Tenho a certeza
- Tentar novamente
- Definições da App
- Sem permissão da câmera não conseguirá
- digitalizar o código QR para adicionar beneficiário. Tem a certeza que deseja recusar esta permissão?
-
-
- Você negou permissão para usar a câmera, sem essa permissão você não poderá adicionar beneficiários usando o QR Code. Por favor, habilite-o nas configurações
- Sem permissão de armazenamento não conseguirá
- enviar um código QR para adicionar beneficiário. Tem a certeza que quer recusar esta permissão?
-
-
- Recusou a permissão para
- ler do armazenamento. Sem esta permissão, não conseguirá adicionar beneficiários usando código QR.
- Por favor, ative-a nas definições.
-
- Recusou a permissão para
- escrever no armazenamento. Sem esta permissão, não conseguirá adicionar beneficiários usando código QR.
- Por favor, ative-a nas definições.
-
- Esta permissão é necessária
- para mostrar a moeda de acordo com o seu país. Tem a certeza que quer recusá-la?
-
- Recusou a permissão para buscar
- o estado do telemóvel. Sem esta permissão, a moeda pode não ser mostrada no formato correto.
- Por favor, ative-a nas definições.
-
- Algo correu mal ao procurar a Settings Activity.
- \nVá a \'Settings\' e dê permissão manualmente.
-
- Permissão recusada para o armazenamento.
- Tem a certeza que deseja %1$s?
-
-
- Olá, %1$s
- %1$.2f
- %1$.2f %2$s
- %1$s%2$s
- %1$s: %2$.2f
- %1$s: %2$d
- Quantia inválida
- Pressione outra vez para sair
-
- Permissão Recusada para usar a Câmera
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 0
-
- Perguntas Frequentes
- Consulta do Utilizador
- Chamar agora
- Deixar um email
- Procurar Lugares
- Nenhum levantamento
- Limpar os Filtros
- Gerir contas
- Mais
- Definições
- Língua
- Escolha a sua língua
- Notificações
- URL Base
- Inquilino
-
-
- - Como solicito uma nova conta empréstimo?
- - Onde posso ver a informação do meu perfil?
- - Onde posso ver as transações das minhas Contas Poupança?
- - Qual é o uso do código QR?
- - Como criar um beneficiário usando o código QR?
- - Como fazer um pagamento para uma conta empréstimo?
-
-
-
- - Para solicitar empréstimo, clique em \"Solicitar Empréstimo\" em Home.
-
- - Pode ver a informação do seu perful clicando na imagem do utilizador presente em Home.
-
-
- - Para ver as transações da conta poupança, navegue para as secções de contas, clique em
- conta necessária de poupança, clique nos 3 pontos e selecione a opção de Transações.
-
-
- - Um código QR para qualquer conta poupança ou de empréstimo pode ser partilhado com outros utilizadores que lhes permite criar beneficiário.
-
-
- - De forma a criar Beneficiário, vá à opção Beneficiário em Home, clique no botão circular presente
- no lado inferior direito, escolha a opção de Scan que abre a sua câmera,
- digitalize o código QR de outra pessoa da qual deseja criar um beneficiário,
- e depois de preencher os detalhes necessários conseguirá criar um beneficiário usando QR.
-
-
- - Para fazer um pagamento a uma conta empréstimo, naveuge para as secções de conta, escolha Empréstimo,
- clique em Conta Empréstimo necessária e clique na opção Fazer PagamentoT.
-
-
-
-
-
- Saldo total de poupanças
- Saldo total de empréstimos
- Os saldos das contas de poupança e empréstimo são
- calculadas em nome de todas as contas poupança e empréstimo.
-
- Tem a certeza que deseja cancelar a transferência?
- Sim
- Confirme a palavra-passe
- A palavra-passe não coincide.
- Versão %1$s
- ©2016-%1$s Inicitiva Mifos.
- Todos os direitos reservados.
- Licenças
- Não é possível concluir a transferência, por favor, tente novamente mais tarde
- Por favor espere…
- mensagem
- Sem notificações
-
- Atualizar Endpoint
- Clique aqui para alterar as configurações de Endpoint
- Insira o URl Base
- Insira o inquilino
- accountType.loan
- Erro ao carregar em detalhes de contas de empréstimo
- Informações do aplicativo
- O login falhou por favor tente novamente mais tarde.
-
-
diff --git a/androidApp/src/main/res/values-ru/strings.xml b/androidApp/src/main/res/values-ru/strings.xml
deleted file mode 100644
index 655eba2f79..0000000000
--- a/androidApp/src/main/res/values-ru/strings.xml
+++ /dev/null
@@ -1,433 +0,0 @@
-
-
-
- Вход
- Здравствуйте, %1$s.
- Нет подключения к интернету
- Первичный
- Имя пользователя
- Войти
- Погрузка
- Пароль
- Адрес электронной почты
- Счета
- Клиенты
- Перевод средств
- Последние транзакции
- Сборы
- Вопросник
- О КОМПАНИИ
- Сохранение данных учетной записи
- Сберегательный счет
- Ошибка при загрузке информации об учетной записи
- Номинальные процентные ставки
- Номер счета
- Сальдо счета
- Всего депозитов
- Откройте панель навигации
- Закройте панель восстановления
- Главная страница
- Средний текст
- Маленький текст
- Счета клиентов
- Экран приветствия
- Экономия
- Ссуда
- Кредитный счет
- Доля
- Поделитесь своим аккаунтом
- Выберите клиента
- Работа
- Изображение государства
- График погашения
- Последняя сделка
- Сделано на
- Сделать передачу
- Выберите кредитный продукт *
- Цель кредита *
- Основная сумма *
- Номер
- Предосторожность
- Ожидаемая дата выплаты
- Крайний срок подачи
- Добавления
- Расходы
- Дата передачи
- Подать заявку на кредит
- Обновить кредит
- Освободить кредит
- Причина выплаты кредита
- Ссудный счет успешно отозван
- Подать кредит
- Новая кредитная заявка на
- Обновите свою кредитную заявку для
- Тип интереса
- Амортизация
- Процентный период
- Стратегия погашения
- Оплата
- Оплата с
- Отменить
- Предварительный просмотр
- Передача
- Перевод с
- Создание перевода
- Депозит
- Введите количество
- Примечание обязательное
- Утвержденный
- В ожидании
- Оплаченный
- Баланс
- Отвергнуто
- Ожидание
- Переплатил
- Задолженность
- Выберите все, что вы хотите применить
- Фильтровать сберегательные счета
- Фильтрация кредитных счетов
- Слияние фильтров
- Поиск
- Выберите опцию «Учетная запись, подлежащая оплате»
- Выберите аккаунт для оплаты
- Введите заметки для передачи
- Выберите получателя
- Далее
- Близко
- Выберите тип перевода
- Переход на сбережения
- Переход от сбережений
- Сборы за кредиты
- Экономия
- Активный
- Закрыто
- Отозваны
- Требуется разрешение
- В ожидании
- Зрелый
- Создать учетную запись
- Имя
- Имя
- Номер телефона
- Регистр
- Запрос идентификатора
- Идентификатор аутентификации
- Проверить
- Проверка
- Войти
- Пользователь был успешно проверен
- Мобильный
- Адрес электронной почты
- Режим проверки
- Пустой
- Импорт QR
- Просмотр Гаранта
- Добавить гаранта
- Удалить гаранта
- Обновите гаранта
- Тип поручителя
- Нет гарантий
- Нажмите, чтобы добавить гаранта
- Подробная информация об гаранте
- Дата присоединения
- Представить
-
- Аккаунт должен быть активным для внесения депозита
- Аккаунт должен быть активным, чтобы сделать передачу
-
- Нет сберегательных счетов, связанных с вами
- С вами не связаны ссудные счета
- С вами не связаны общие аккаунты
- Нет транзакций, связанных с вами
- График погашения, связанный с вами, не существует
- Нет доступных транзакций
- Без транзакций
- DOB не найден.
- Не назначено ни одной группе
-
- Неверное имя пользователя / пароль
- Ошибка при получении ответа с сервера
- %1$s не может быть пустым
- %1$s не может быть меньше, чем %2$d символов
- %1$s не может содержать %2$s
- %1$s не может начинаться или заканчиваться пробелом
- Ошибка на внутреннем сервере, повторите попытку позже
- Произошла ошибка при загрузке списка клиентов
- Ошибка при загрузке списка ссудных счетов
- Ошибка при загрузке списка сберегательных счетов
- Ошибка загрузки сведений о сберегательных счетах
- Произошла ошибка при загрузке в последних транзакциях
- Ошибка при загрузке дебиторской задолженности
- Клиент не найден
- Клиент не может быть загружен
- Не удалось скачать профиль пользователя
- Не удалось загрузить учетные записи
- График погашения не может быть получен
- Вы не можете сделать перевод на свой собственный счет
- Шаблон переноса не может быть загружен
- Кредиты не могут быть получены
- Шаблон наследника не может быть загружен
- Не удалось загрузить шаблон
- Наследнику не удалось
- Наследник не был обновлен
- Наследник не был удален
- Ссудный счет не может быть отозван
- Ошибка при загрузке стороннего шаблона передачи
- У вас нет наследника. Добавить наследника
-
- Вы не авторизованы
- QR-код
- Поделитесь QR-кодом
- Монитор
- Выберите вариант
- Просмотр транзакций
- См. Сборы
- См. Резюме займа
- См. График погашения
- Посмотреть QR-код для этой учетной записи
- Последние данные о транзакции
- Имя пользователя должно быть больше 6 символов.
- Недопустимый идентификатор электронной почты
- Сервер вниз, попробуйте через некоторое время
- Плата за обслуживание
- Ошибка чтения QR, убедитесь, что вы выбрали правильный регион
- Ошибка при загрузке изображения
- Загрузка клиента
-
- Пространства
- Имя клиента
- Статус учетной записи
- Название продукта
- Общий платеж
- Минимальный требуемый бал.
- Название продукта
- Цель кредита
- Директор
- Принципал выплачен
- Годовая процентная ставка
- Начисленные проценты
- Проценты
- Подробная информация о кредитном счете
- Сводная информация о займе
- Название кредита
- Интерес
- Сборы
- Штрафы
- Общий ожидаемый платеж
- Всего оплачено
- Проценты
- Штраф за нарушение
- Комиссия не взимается
- Выдающийся баланс
- Следующий взнос
- Срок оплаты
- Сделать платеж
- Тип кредита
- Валюта
- График погашения
- Операции
- Перевод
- Продвинутое одобрение
- Ожидание платежа
- Закрыто из-за некоторых обязательств
- Кредит закрыт
- По дате:
- По:
- Оплачивается:
- Уступило:
- Просрочен:
- Пример
- Добавить виджет
- Помощь
- Место крупных технологических отраслей
- Детали ссудного счета
- Кредитное приложение успешно отправлено
- Заявление на получение кредита успешно обновлено
- Заявление на получение кредита успешно отменено
- Ничего
- Все
- 4 недели
- Три месяца
- 6 месяцев
- Фильтр
- Дата начала
- Дата окончания
- Отфильтрованный
- Выберите дату начала и окончания
- Дата окончания должна быть больше даты начала
- Сохранение транзакций в вашей учетной записи
- Нет подключения к интернету
- Дата платежа
- Количество платежей
- Дата
- Кредитный баланс
- Погашение
- Выплата кредита
- Быстрая передача
- Убедитесь, что у вас есть подключение к Интернету
- Наследник
- Управление наследниками
- Потомки
- Подробная информация о наследнике
- Имя наследника
- Тип учетной записи
- Предел передачи
- Добавить наследника
- Название офиса
- Выберите тип учетной записи *
- Отправить наследнику
- Введите имя офиса наследника
- Введите имя наследника
- Введите лимит перевода
- Введите номер счета наследника
- В раскрывающемся меню выберите тип учетной записи
- Наследник успешно создан
- Наследник успешно обновлен
- Обновите своего наследника
- Удалить наследника
- Вы действительно хотите удалить этого наследника?
- Удалять
- Наследник был удален
- Передача третьей стороны
- Общий кредит
- Общая экономия
- Обзор учетной записи
- Mostrar ou ocultar o valor total economizado
- Показать или скрыть общую сумму кредита
- *****
- Обзоры
- Дата активации
- Группа
- Данные пользователя
- Тип клиента
- Классификация клиентов
- Выберите режим
- Добавьте внешних наследников в свою учетную запись. \nВведите вручную или сканируйте QR-код своей учетной записи
- Вы не можете выполнять действия в своей учетной записи, сканировать QR-код со сберегательного счета или другого ссудного счета другого пользователя
- Добавлять
- Сканирование
- Введите четырехзначный код доступа
- Код доступа должен состоять из 4 цифр
- Неверный код доступа
- Вы ввели неправильный код доступа более 3 раз
- Скакать
- Сохранить
- Установите контакт для входа в систему
- Повторно введите PIN-код
- Код доступа не соответствует.
- Я забыл булавку, я войду с паролем
- Продолжать
- Сумма должна быть больше нуля
- Закладка О нас в стадии строительства
- Вкладка «Содействие»
- Выйти
- Загрузите приложение Self Service здесь: https://play.google.com/store/apps/details?id=
- Выберите приложение
-
- Отправить QR
- Выберите регион с QR-кодом
-
- Как с нами связаться
- Успешная передача
-
- Всего:
-
- A / C
- Кредитный продукт
- Неактивный
- ACTIVE
- АКТИВНО
-
-
- Вы действительно хотите выйти?
- Хорошо
- Отменить
- Возвращение
- Доступ запрещен
- Я уверен
- Повторите попытку
- Настройки приложения
- Без разрешения на использование камеры вы не сможете сканировать QR-код, чтобы добавить наследника. Вы действительно хотите запретить эту функцию?
- Вы отказались от разрешения на использование камеры, без этого разрешения вы не сможете добавлять наследников с помощью QR-кода. Включить его в настройках
- Без разрешения на чтение из памяти вы не сможете отправить QR-код, чтобы добавить наследника. Вы действительно хотите запретить эту функцию?
- Вы отказались от разрешения на чтение из памяти устройства, без этого разрешения вы не сможете добавлять наследников с помощью QR-кода. Включить его в настройках
- Вы отказались писать в память устройства, без этого разрешения вы не сможете добавлять наследников с помощью QR-кода. Включить его в настройках
- Это разрешение требуется для отображения валюты в зависимости от страны. Вы действительно хотите запретить эту функцию?
- Вы отказались от разрешения на чтение статуса устройства, без этого разрешения валюта может не отображаться в правильном формате. Включить его в настройках
- При поиске активности в настройках что-то пошло не так. \ nУдалить \ "Настройки \" и предоставить разрешения вручную.
- Отказ от хранения был отклонен
- Вы уверены, что хотите %1$s?
-
-
- Привет, %1$s
- Недопустимая сумма
- Нажмите еще раз, чтобы выйти
-
- Package
- Отказ от разрешения на использование камеры
-
- Часто задаваемые вопросы
- Запрос пользователя
- Позвоните сейчас
- Оставьте сообщение электронной почты
- Поиск местоположений
- Нет выплат
- Очистить фильтры
- Управление аккаунтами
- Более
- Настройки
- Язык
- Выберите язык
- Уведомления
- Первичный URL
- Арендатор
-
-
- - Как подать заявку на новый кредитный счет?
- - Где я могу просмотреть информацию о моем профиле?
- - Где я могу просмотреть транзакции с сберегательным счетом?
- - Что такое QR-код?
- - Как создать бенефициара с помощью QR-кода?
- - Как произвести оплату кредитной карты?
-
-
-
- - Чтобы подать заявку на кредитную учетную запись, нажмите «Сообщить о кредите» на главном экране.
- - Вы можете просмотреть информацию о своем профиле, нажав на изображение профиля на главной странице приложения.
- - Чтобы просмотреть транзакции на вашем сберегательном счете, перейдите в раздел «Аккаунты», щелкните необходимую сберегательную учетную запись, щелкните три точки, присутствующие в правом верхнем углу, и выберите «Транзакция».
- - QR-код для всех кредитных или сберегательных счетов может быть передан другим пользователям, которые позволят им создать наследника
- - Чтобы создать наследника, перейдите к наследнику на главной странице приложения, затем нажмите кнопку в правом нижнем углу, выберите опцию сканирования, которая откроет камеру устройства, сканирует QR-код человека, для которого вы хотите создать наследника, после заполнения необходимых данных создавать наследников с помощью QR-кода
- - Чтобы оплатить кредитную учетную запись, перейдите в раздел «Аккаунты», выберите вариант «LOAN», затем откройте целевую учетную запись и нажмите «Сделать платеж».
-
-
-
- Общий баланс сбережений
- Общий остаток по ссудам
- Выше находится баланс банковского счета и сберегательного счета, рассчитанный на основе всех сберегательных и кредитных счетов
- Вы действительно хотите отменить передачу?
- Так
- Подтвердить пароль
- Пароль не соответствует.
- Версия %1$s
- Все права сохранены.
- Лицензирование
- Невозможно осуществить перевод, повторите попытку позже
- Пожалуйста, подождите …
- Сообщение
- Нет уведомлений
-
- Обновить конечную точку
- Нажмите здесь, чтобы изменить конфигурации конечных точек
- Введите основной URL-адрес
- Перейти к Арендатору
- Информация о приложении
- Войти не удалось, пожалуйста, повторите попытку позже.
-
\ No newline at end of file
diff --git a/androidApp/src/main/res/values-sw/strings.xml b/androidApp/src/main/res/values-sw/strings.xml
deleted file mode 100644
index 075d11734b..0000000000
--- a/androidApp/src/main/res/values-sw/strings.xml
+++ /dev/null
@@ -1,432 +0,0 @@
-
-
-
- Ingia
- Sawadi, %1$s.
- Hakuna uhusiano wa internet
- Msingi
- Jina la mtumiaji
- Ingia
- Upakiaji
- Nenosiri
- E-mail anwani
- Akaunti
- Wateja
- Uhamisho wa fedha
- Shughuli za hivi karibuni
- Ada
- Dodoso
- Kuhusu sisi
- Inahifadhi maelezo ya akaunti
- Akaunti ya akiba
- Hitilafu kupakua habari ya akaunti ya mikopo
- Vigezo vya riba
- Nambari ya Akaunti
- Usawa wa Akaunti
- Jumla ya amana
- Fungua Jopo la Navigation
- Funga jopo la kupona
- Ukurasa wa nyumbani
- Nakala ya kati
- Nakala ndogo
- Akaunti ya Wateja
- Karibu skrini
- Kuokoa
- Mkopo
- Akaunti ya mikopo
- Kushiriki
- Shiriki akaunti yako
- Chagua mteja
- Kazi
- Picha ya hali
- Ratiba ya kulipa
- Shughuli ya mwisho
- Imefanywa
- Fanya uhamisho
- Chagua bidhaa za mkopo *
- Kusudi la mkopo *
- Kiasi kikubwa *
- Idadi
- Tahadhari
- Tarehe inayotarajiwa ya kulipa
- Mwisho wa kuwasilisha
- Uploads
- Gharama
- Tarehe ya uhamisho
- Tumia mkopo
- Sasisha mkopo
- Toa mkopo
- Sababu ya kulipa mkopo
- Akaunti ya mkopo imeondolewa kwa ufanisi
- Tuma mkopo
- Programu mpya ya mkopo kwa
- Sasisha maombi yako ya mkopo
- Aina ya riba
- Madeni
- Kipindi cha riba
- Mkakati wa kulipa
- Malipo kwa
- Malipo kutoka
- Kufuta
- Preview
- Tuma kwa
- Uhamisho kutoka
- Kufanya uhamisho
- Amana
- Ingiza wingi
- Kumbuka ni lazima
- Kupitishwa
- Kwa kutarajia
- Kulipwa
- Usawa
- Kukataliwa
- Kusubiri
- Kulipwa zaidi
- Katika madeni
- Chagua kila kitu unachotaka kuomba
- Akaunti za akiba za kuchuja
- Chuja akaunti za mikopo
- Chuja kugawana akaunti
- Search
- Chagua Akaunti ya kulipwa chaguo
- Chagua akaunti kulipa
- Ingiza maelezo ili uhamishe
- Chagua mrithi
- Zaidi
- Karibu
- Chagua aina ya uhamisho
- Transfer to savings
- Uhamisho kutoka kwa akiba
- Malipo ya mikopo
- Akiba
- Kazi
- C.
- Kuondoka
- Inahitaji idhini
- Kwa kutarajia
- Kukomaa
- Unda akaunti
- Jina
- Jina
- Nambari ya simu
- Kujiandikisha
- Ombi la idhini
- Tokisho la uthibitishaji
- Thibitisha
- Inathibitisha
- Ingia
- Mtumiaji amehakikishwa kwa mafanikio
- Simu
- E-mail anwani
- Hali ya uthibitisho
- Tupu
- Weka QR
- Tazama Dhamana
- Ongeza dhamana
- Ondoa mdhamini
- Sasisha mdhamini
- Aina ya mdhamini
- Hakuna Guarantors
- Gonga ili kuongeza mdhamini
- Maelezo ya mdhamini
- Tarehe ya kushikilia
- Wasilisha
-
- Akaunti inapaswa kuwa hai kufanya amana
- Akaunti inapaswa kuwa hai kufanya uhamisho
-
- Hakuna akaunti za akiba zilizounganishwa na wewe
- Hakuna akaunti za mkopo zilizohusishwa na wewe
- Hakuna akaunti zilizoshirikiwa zinazohusiana na wewe
- Hakuna shughuli zinazohusiana na wewe
- Hakuna ratiba ya kulipa yanayohusiana na wewe
- Hakuna shughuli zinazopatikana
- Hakuna mkataba
- DOB haipatikani.
- Haijashirikiwa kundi lolote
-
- Jina la mtumiaji / password isiyo sahihi
- Hitilafu wakati wa kupata majibu kutoka kwa seva
- %1$s haiwezi kuwa tupu
- %1$s haiwezi kuwa chini ya wahusika %2$d
- %1$s haiwezi kuwa na %2$s
- %1$s haiwezi kuanza au kumaliza nafasi
- Hitilafu kwenye seva ya ndani, jaribu tena baadaye
- Hitilafu ilitokea wakati wa kupakia orodha ya wateja
- Hitilafu kupakia orodha ya akaunti za mkopo
- Hitilafu kupakia orodha ya akaunti za akiba
- Hitilafu kupakia maelezo kuhusu akaunti za akiba
- Hitilafu ilitokea wakati wa kupakia katika shughuli za hivi karibuni
- Hitilafu kupakua akaunti zinazokubalika
- Wateja haipatikani
- Mteja hakuweza kupakuliwa
- Haiwezi kupakua wasifu wa mtumiaji
- Haiwezi kupakua akaunti
- Ratiba ya kulipa haipatikani
- Huwezi kufanya uhamisho kwenye akaunti yako mwenyewe
- Template ya uhamisho haikuweza kupakuliwa
- Mikopo haikuweza kupatikana
- Template mrithi haikuweza kupakuliwa
- Template haikuweza kupakuliwa
- Mrithi hakufanikiwa
- Mrithi haijasasishwa
- Mrithi hakuweza kuondolewa
- Akaunti ya mkopo haikuweza kufutwa
- Hitilafu kupakua template ya uhamisho wa tatu
- Kwa sasa huna mrithi. Ongeza mrithi
-
- Huna mamlaka
- QR code
- Shiriki msimbo wa QR
- Kufuatilia
- Chagua chaguo
- Angalia shughuli
- Angalia ada
- Angalia muhtasari wa mkopo
- Angalia ratiba ya kulipa
- Angalia msimbo wa QR kwa akaunti hii
- Maelezo ya mwisho ya shughuli
- Jina la mtumiaji linapaswa kuwa kubwa kuliko wahusika 6
- Kitambulisho cha barua pepe batili
- Seva chini, jaribu baada ya muda
- Ada ya Wateja
- Hitilafu ya kusoma QR, hakikisha kuchagua eneo linalofaa
- Hitilafu wakati wa kupakua picha
- Mteja wa kupakua
-
- Nafasi
- Jina la Wateja
- Hali ya Akaunti
- Jina la bidhaa
- Jumla ya malipo
- Mpira wa Kidogo Unaohitajika.
- Jina la bidhaa
- Kusudi la mkopo
- Mkurugenzi
- Mkuu alilipwa nje
- Kiwango cha riba ya kila mwaka
- Maslahi yameongezeka
- Nia kulipwa
- Maelezo ya akaunti ya mikopo
- Muhtasari wa mkopo
- Jina la mkopo
- Riba
- Ada
- Adhabu
- Jumla ya malipo yaliyotarajiwa
- Jumla ya kulipwa
- Nia ya Waived
- Adhabu imevunjika
- Malipo yanaondolewa
- Usawa bora
- Kipindi cha pili
- Siku ya mwisho ya malipo
- Fanya malipo
- Aina ya mkopo
- Fedha
- Ratiba ya kulipa
- Shughuli
- Uhamisho
- Idhini inaendelea
- Inasubiri malipo
- Ilifungwa kwa sababu ya majukumu fulani
- Mkopo ulifungwa
- Kwa tarehe:
- Kwa:
- Kulipia:
- Ceded:
- Muafaka:
- MFANO
- Ongeza widget
- Msaada
- Mahali ya viwanda vingi vya teknolojia
- Maelezo ya akaunti ya mkopo
- Programu ya mikopo imepelekwa kwa mafanikio
- Programu ya mkopo imesasishwa kwa mafanikio
- Programu ya mikopo inaondolewa kwa mafanikio
- Hakuna
- Kila
- Wiki 4
- Miezi mitatu
- Miezi 6
- Chuja
- Tarehe ya kuanza
- Tarehe ya kumaliza
- Kuchujwa
- Chagua tarehe ya kuanza na mwisho
- Tarehe ya mwisho lazima iwe kubwa kuliko tarehe ya kuanza
- Inahifadhi shughuli kwenye akaunti yako
- Hakuna uhusiano wa internet
- Tarehe ya malipo
- Idadi ya malipo
- Tarehe
- Usawa wa mkopo
- Malipo
- Malipo ya kulipia
- Uhamisho wa haraka
- Hakikisha una uhusiano wa internet
- Mrithi
- Dhibiti warithi
- Wana
- Maelezo ya mrithi
- Jina la mrithi
- Aina ya akaunti
- Uhamisho wa kikomo
- Ongeza mrithi
- Jina la ofisi
- Chagua aina ya akaunti *
- Tuma mrithi
- Ingiza jina la ofisi ya mrithi
- Ingiza jina la mrithi
- Ingiza kikomo cha uhamisho
- Ingiza nambari ya akaunti ya mrithi
- Chagua aina ya Akaunti kutoka kwenye orodha ya kushuka
- Mrithi ameumbwa kwa ufanisi
- Mrithi imekuwa updated kwa mafanikio
- Sasisha mrithi wako
- Ondoa mrithi
- Una uhakika unataka kuondoa mrithi huyu?
- Kufuta
- Mrithi ameondolewa
- Uhamisho wa mtu wa tatu
- Jumla ya mkopo
- Uhifadhi wa jumla
- Maelezo ya Akaunti
- Onyesha au ufiche jumla ya kiasi kilichohifadhiwa
- Onyesha au ufiche jumla ya kiasi cha mkopo
- *****
- Surveys
- Tarehe ya uanzishaji
- Kundi
- Data ya mtumiaji
- Aina ya Wateja
- Uainishaji wa Wateja
- Chagua mode
- Ongeza warithi wa nje kwenye akaunti yako. \n Ingiza kwa manually au soma msimbo wa QR wa akaunti yako
- Huwezi kufanya vitendo kwenye akaunti yako, soma msimbo wa QR kutoka akaunti ya akiba au akaunti ya mkopo wa mtumiaji mwingine
- Kuongeza
- Scan
- Ingiza msimbo wa kufikia tarakimu nne
- Nambari ya upatikanaji lazima iwe na tarakimu nne
- Nambari ya ufikiaji isiyo sahihi
- Umeingia msimbo usio sahihi wa zaidi ya mara 3
- Ruka
- Save
- Weka pini ili uingie
- Rejesha tena siri
- Msimbo wa kufikia haufanani.
- Nilisahau siri, nitaingia na nenosiri
- Kuendelea
- Kiasi kinapaswa kuwa kikubwa kuliko sifuri
- Bookmark Kuhusu sisi chini ya ujenzi
- Msaada chini ya kichupo cha ujenzi
- Ondoka kwenye
- Pakua programu ya Self Service hapa: https://play.google.com/store/apps/details?id=
- Chagua programu
- THE
- Weka QR
- Chagua kanda na msimbo wa QR
-
- Unahitaji msaada? Wasiliana na mstari wa usaidizi wako
- Uhamisho ufanisi
-
- Jumla:
-
- A/C
- Bidhaa ya mikopo
- Inaktiv
- TENDAJI
- INAKTIV
-
-
- Una uhakika unataka kuingia nje?
- SAWA
- Kufuta
- Kurudi
- Ufikiaji umekataliwa
- Nina hakika
- Tafadhali jaribu tena
- Mazingira ya Maombi
- Bila ruhusa ya kutumia kamera, huwezi kusoma msimbo wa QR ili kuongeza mrithi. Una uhakika unataka kupiga marufuku kipengele hiki?
- Umekataa ruhusa ya kutumia kamera, bila kibali hiki huwezi kuongezea warithi kwa kutumia msimbo wa QR. Pindisha kwenye mipangilio
- Bila idhini ya kusoma kutoka kwa kumbukumbu, huwezi kutuma msimbo wa QR ili kuongeza mrithi. Una uhakika unataka kupiga marufuku kipengele hiki?
- Umekataa ruhusa ya kusoma kutoka kwa kumbukumbu ya kifaa, bila ruhusa hii huwezi kuongezea warithi kwa kutumia msimbo wa QR. Pindisha kwenye mipangilio
- Umekataa kuandika kwenye kumbukumbu ya kifaa, bila idhini hii huwezi kuongeza wamiliki wa kutumia kificho cha QR. Pindisha kwenye mipangilio
- Ruhusa hii inahitajika ili kuonyesha sarafu kulingana na nchi. Una uhakika unataka kupiga marufuku kipengele hiki?
- Umekataa ruhusa ya kusoma hali ya kifaa, bila ruhusa hii sarafu haiwezi kuonyeshwa kwenye muundo sahihi. Pindisha kwenye mipangilio
- Kitu kilichokosa wakati wa kutafuta shughuli katika mipangilio. \nGo kwa \'Mipangilio\' na ruhusu idhini kwa kibinafsi.
- Kukataliwa kwa kuhifadhi kulikataliwa
- Una uhakika unataka %1$s?
-
-
- Sawadi, %1$s
- Kiasi batili
- Bonyeza tena ili uondoke
-
- Kukataa ruhusa ya kutumia kamera
-
- Maswali yanayoulizwa mara kwa mara
- Ombi la mtumiaji
- Piga simu sasa
- Acha ujumbe wa barua pepe
- Pata maeneo
- Hakuna malipo
- Kuchuja wazi
- Dhibiti akaunti
- Zaidi
- Mazingira
- Lugha
- Chagua lugha yako
- Taarifa
- URL ya Msingi
- Mpangaji
-
-
- - Jinsi ya kuomba akaunti mpya ya mkopo?
- - Ninaweza kuona wapi taarifa kuhusu wasifu wangu?
- - Ninaweza kuona wapi shughuli za akaunti yangu za akiba?
- - Je! Matumizi ya code QR ni nini?
- - Jinsi ya kuunda mrithi kutumia code QR?
- - Jinsi ya kufanya malipo kwa akaunti ya mikopo?
-
-
-
- - Kuomba akaunti ya mikopo, bonyeza \"Ripoti programu ya mkopo\" kwenye skrini ya nyumbani.
- - Unaweza kuona maelezo yako ya wasifu kwa kubonyeza picha ya wasifu kwenye ukurasa kuu wa maombi.
- - Kuangalia shughuli katika akaunti yako ya akiba, nenda kwenye sehemu ya Akaunti, bofya akaunti iliyohifadhiwa inayotakiwa, bofya dots tatu zilizopo kwenye kona ya juu ya kulia na chagua chaguo la Transaction.
- - Nambari ya QR kwa akaunti zote za mikopo au akiba zinaweza kugawanywa na watumiaji wengine ambao watawawezesha kurithi
- - Kujenga mrithi, kwenda kwa warithi wa maombi ukurasa wa nyumbani, na kisha bonyeza kifungo katika kona ya chini wa kulia, kuchagua Scan, ambayo itakuwa wazi kifaa kamera, Scan QR code mtu ambaye wanataka kujenga mrithi, baada ya kujaza data required kuwa na uwezo wa kujenga warithi kutumia QR
- - Kufanya malipo kwa akaunti ya mkopo, enda kwenye sehemu ya Akaunti, chagua chaguo LOAN, kisha ufungua akaunti ya mikopo ya lengo na bofya Chagua chaguo la malipo.
-
-
-
- Uwiano wa jumla wa akiba
- Uwiano wa mkopo wa jumla
- Halafu ni usawa wa akaunti ya benki na akaunti ya akiba ya mahesabu kwa msingi wa akaunti zote za akiba na mkopo
- Una uhakika unataka kufuta uhamisho?
- Hivyo
- Thibitisha nenosiri
- Nenosiri hailingani.
- Toleo la %1$s
- Haki zote zimehifadhiwa.
- Leseni
- Haiwezi kufanya uhamisho, tafadhali jaribu tena baadaye
- Tafadhali subiri…
- Ujumbe
- Hakuna taarifa
-
- Sasisha Mwisho wa Mwisho
- Bonyeza hapa ili kubadilisha mipangilio ya Mwisho
- Ingiza URL ya msingi
- Nenda kwa Mpangaji
- Maelezo ya Programu
- Kuingia Kumeshindwa, Tafadhali Jaribu Tena Baadaye.
-
\ No newline at end of file
diff --git a/androidApp/src/main/res/values-te/strings.xml b/androidApp/src/main/res/values-te/strings.xml
deleted file mode 100644
index 979e447fc2..0000000000
--- a/androidApp/src/main/res/values-te/strings.xml
+++ /dev/null
@@ -1,433 +0,0 @@
-
-
-
- Mifos Mobile
- లాగిన్
- స్వాగతం %1$s
- మా గురించి
- ఇంటర్నెట్కి కనెక్ట్ చేయబడలేదు
- ప్రాథమిక
- వాడుకరి పేరు
- లోనికి ప్రవేశించపడుతుoది
- లోడ్ అవుతున్నది
- పాస్వర్డ్
- ఇమెయిల్
- ఖాతాలు
- ఖాతాదారులకు
- నిధుల బదిలీ
- ఇటీవలి లావాదేవీలు
- ఆరోపణలు
- ప్రశ్నాపత్రం
- పొదుపు ఖాతా వివరాలు
- పొదుపు ఖాతా
- రుణ ఖాతాల వివరాలను లోడ్ చేయడంలో లోపం
- నామమాత్ర వడ్డీ రేటు
- ఖాతా సంఖ్య
- ఖాతా నిలువ
- మొత్తం డిపాజిట్లు
- ఓపెన్ నావిగేషన్ ప్యానెల్
- రికవరీ ప్యానెల్ని మూసివేయి
- హోమ్
- మీడియం వచనం
- చిన్న వచనం
- క్లయింట్ ఖాతాలు
- స్క్రీన్ స్వాగతం
- పొదుపు
- ఋణం
- రుణ ఖాతా
- వాటా
- వాటా ఖాతా
- ఒక క్లయింట్ ఎంచుకోండి
- వర్కింగ్
- స్థితి చిత్రం
- తిరిగి చెల్లింపు షెడ్యూల్
- చివరి లావాదేవీ
- చేసిన
- బదిలీ చేయండి
- రుణ ఉత్పత్తి ఎంచుకోండి *
- రుణ ప్రయోజనం *
- అసలు మెుత్తం*
- మొత్తం
- వ్యాఖ్య
- ఊహించిన చెల్లింపు తేదీ
- సమర్పణ తేదీ
- సమర్పించిన
- చెల్లించుట
- బదిలీ తేదీ
- రుణ కోసం దరఖాస్తు
- రుణాన్ని నవీకరించండి
- రుణ ఉపసంహరణ
- రుణ ఉపసంహరణకు కారణం
- రుణ ఖాతా విజయవంతంగా ఉపసంహరించబడింది
- రుణం సమర్పించండి
- కొత్త రుణ దరఖాస్తు
- మీ క్రెడిట్ అప్లికేషన్ కోసం నవీకరించండి
- వడ్డీ రకం
- రుణ విమోచన
- వడ్డీ లెక్కింపు కాలం
- తిరిగి చెల్లించే వ్యూహం
- చెల్లించండి
- చెల్లింపు
- రద్దు
- సమీక్ష
- బదిలీ చేయుట
- బదిలీ నుండి
- బదిలీని చేస్తోంది
- జమ
- మొత్తాన్ని నమోదు చేయండి
- గమనిక తప్పనిసరి
- ఆమోదించబడింది
- పెండింగ్
- చెల్లించిన
- సంతులనం
- తిరస్కరించింది
- వేచి
- జీతాలు చెల్లించిందన్న
- పెండింగ్లో ఉంది
- మీరు దరఖాస్తు చేయదలచిన అన్నింటిని ఎంచుకోండి
- ఫిల్టర్ సేవింగ్స్ ఖాతాలు
- వడపోత రుణ ఖాతాలు
- ఫిల్టర్ భాగస్వామ్యం ఖాతాలు
- శోధన
- చెల్లించడానికి ఖాతా ఎంచుకోండి
- చెల్లించటానికి ఖాతాని ఎంచుకోండి
- బదిలీ కోసం వ్యాఖ్యలను నమోదు చేయండి
- లబ్దిదారుని ఎంచుకోండి
- కొనసాగించు
- క్లోస్
- బదిలీ పద్ధతి ఎంచుకోండి
- సేవింగ్స్ బదిలీ
- సేవింగ్స్ నుండి బదిలీ
- రుణ ఆరోపణలు
- సేవింగ్స్ ఛార్జీలు
- చురుకుగా
- మూసివేయబడింది
- ఉపసంహరించుకున్నారు
- ఆమోదం అవసరం
- పెండింగ్
- పక్వమైనది
- ఒక ఖాతాను సృష్టించండి
- మొదటి పేరు
- చివరి పేరు
- ఫోను నంబరు
- నమోదు
- అభ్యర్థన ఐడి
- ప్రామాణీకరణ టోకెన్
- ధ్రువీకరించడం
- ధ్రువీకరిస్తోంది
- సైన్ అప్
- వినియోగదారు విజయవంతంగా ధృవీకరించబడింది
- మొబైల్
- ఇమెయిల్
- ధృవీకరణ మోడ్
- ఖాళీ
- దిగుమతి QR
- హామీని వీక్షించండి
- హామీని జోడించండి
- హామీని తొలగించండి
- హామీని నవీకరించండి
- హామీనిచ్చే పద్ధతి
- హామీ లేదు
- హామీని జోడించేందుకు నొక్కండి
- హామీ వివరాలు
- తేదీన చేరారు
- సమర్పించండి
-
- ఖాతా డిపాజిట్ కోసం చురుకుగా ఉండాలి
- బదిలీ కోసం ఖాతా క్రియాశీలకంగా ఉండాలి
-
- మీకు పొదుపు ఖాతాలు లేవు
- మీకు రుణ ఖాతాలు లేవు
- మీతో సంబంధం ఉన్న ఖాతాలు ఏవీ లేవు
- మీకు సంబంధం ఉన్న లావాదేవీలు లేవు
- మీకు తిరిగి చెల్లింపు షెడ్యూల్ లేదు
- మరిన్ని లావాదేవీలు లేవు
- లావాదేవీ లేదు
- DOB కనుగొనబడలేదు.
- ఏ సమూహంతో కేటాయించబడలేదు
-
- తప్పు వినియోగదారు పేరు / పాస్వర్డ్
- సర్వర్ నుండి అభిప్రాయాన్ని స్వీకరించడంలో లోపం
- %1$s ఖాళీగా ఉండకూడదు
- %1$s %2$d అక్షరాల కంటే తక్కువ ఉండకూడదు
- %1$sలో %2$s ఉండకూడదు
- %1$s ఖాళీతో ప్రారంభం కాకూడదు లేదా ముగియదు
- అంతర్గత సర్వర్లో లోపం, దయచేసి మళ్ళీ ప్రయత్నించండి
- క్లయింట్ జాబితాను లోడ్ చేయడంలో లోపం
- రుణ ఖాతాల జాబితాలో లోడ్ చేయడంలో లోపం
- పొదుపు ఖాతాల జాబితాను లోడ్ చేయడంలో లోపం
- పొదుపు ఖాతాల గురించి వివరాలను లోడ్ చేయడంలో లోపం
- ఇటీవలి లావాదేవీల్లో లోడ్ చేయడంలో లోపం
- క్లయింట్ ఆరోపణల్లో లోడ్ అవుతున్నప్పుడు లోపం ఏర్పడింది
- ఛార్జీలు కనుగొనబడలేదు
- క్లయింట్ కనుగొనబడలేదు
- క్లయింట్ని పొందడంలో విఫలమైంది
- వినియోగదారు ప్రొఫైల్ని పొందడంలో విఫలమైంది
- ఖాతాలను పొందడంలో విఫలమైంది
- తిరిగి చెల్లించే షెడ్యూల్ను పొందడంలో విఫలమైంది
- అదే ఖాతాతో బదిలీ చేయలేరు
- బదిలీ టెంప్లేట్ డౌన్లోడ్ చేయబడలేదు
- లబ్ధిదారులను పొందడంలో విఫలమైంది
- లబ్ధిదారుల మూసను పొందడంలో విఫలమైంది
- టెంప్లేట్ను పొందడంలో విఫలమైంది
- లబ్దిదారుని సృష్టించడం విఫలమైంది
- లబ్ధిదారుడిని నవీకరించడంలో విఫలమైంది
- లబ్ధిదారుని తొలగించడంలో విఫలమైంది
- రుణ ఖాతాను ఉపసంహరించడంలో లోపం
- మూడవ పార్టీ బదిలీ టెంప్లేట్ను డౌన్లోడ్ చేయడంలో లోపం
- ప్రస్తుతం, మీకు ఏ లబ్దిదారుడి లేదు. దయచేసి లబ్దిదారుడిని జోడించండి
-
- మీకు అధికారం లేదు
- QR కోడ్
- QR కోడ్ను భాగస్వామ్యం చేయండి
- మానిటర్
- ఎంపికను ఎంచుకోండి
- లావాదేవీలను వీక్షించండి
- ఛార్జ్లను వీక్షించండి
- రుణ సారాంశాన్ని వీక్షించండి
- తిరిగి చెల్లింపు షెడ్యూల్ చూడండి
- ఈ ఖాతా కోసం QR కోడ్ను వీక్షించండి
- చివరి లావాదేవీ వివరాలు
- చెల్లని ఇమెయిల్ ఐడి
- వినియోగదారు పేరు తప్పనిసరిగా 6 అక్షరాల కంటే ఎక్కువగా ఉండాలి
- డౌన్ సర్వర్, కొంత సమయం తర్వాత ప్రయత్నించండి
- క్లయింట్ ఛార్జీలు
- QR ను చదవడంలో లోపం, మీరు సరైన ప్రాంతాన్ని ఎంచుకున్నారని నిర్ధారించుకోండి
- చిత్రాన్ని పొందడంలో లోపం
- క్లయింట్ పొందడం
-
- ఖాళీలు
- క్లయింట్ పేరు
- ఖాతా స్థితి
- ఉత్పత్తి పేరు
- మొత్తం ఉపసంహరణలు
- కనీస అవసరం సంతులనం
- ఉత్పత్తి పేరు
- రుణ ప్రయోజనం
- ప్రిన్సిపాల్
- ప్రిన్సిపల్ పంపిణీ చేయబడింది
- వార్షిక వడ్డీ రేటు
- వడ్డీ వసూలు
- చెల్లించిన వడ్డీ
- రుణ ఖాతా వివరాలు
- రుణ సారాంశం
- లోన్ పేరు
- వడ్డీ
- ఫీజు
- జరిమానాలు
- మొత్తం అంచనా వేయబడింది
- మొత్తం చెల్లింపు
- ఆసక్తి వడ్డీ
- జరిమానాలు చెల్లించబడ్డాయి
- ఫీజు చెల్లించినది
- అత్యుత్తమ సంతులనం
- తదుపరి వాయిద్యం
- గడువు తేది
- చెల్లింపు చేయండి
- రుణ పద్ధతి
- కరెన్సీ
- తిరిగి చెల్లింపు షెడ్యూల్
- లావాదేవీలు
- బదిలీ
- ఆమోదం పెండింగ్లో ఉంది
- డిస్బర్స్ కోసం వేచి ఉంది
- కొన్ని ఆబ్లిగేషన్స్ కారణంగా మూసివేయబడింది
- రుణ మూసివేయబడింది
- గడువు తేది:
- గడువు:
- చెల్లించింది:
- బెర్కిలీలను:
- అసాధారణ:
- ఉదాహరణ
- విడ్జెట్ను జోడించు
- సహాయం
- పెద్ద టెక్ పరిశ్రమకు హోమ్
- రుణ ఖాతా వివరాలు
- క్రెడిట్ అప్లికేషన్ విజయవంతంగా పంపబడింది
- రుణ అనువర్తనం విజయవంతంగా నవీకరించబడింది
- రుణ అనువర్తనం విజయవంతంగా ఉపసంహరించబడింది
- నథింగ్
- అన్ని
- 4 వారాలు
- 3 నెలలు
- 6 నెలలు
- వడపోత
- ప్రారంబపు తేది
- ఆఖరి తేది
- ఫిల్టర్
- దయచేసి ప్రారంభ తేదీ మరియు ముగింపు తేదీని ఎంచుకోండి
- ప్రారంభ తేదీ కంటే ముగింపు తేదీ తప్పనిసరిగా ఉండాలి
- సేవ్ ఖాతా లావాదేవీలు
- ఇంటర్నెట్ కనెక్షన్ లేదు
- పంపిణీ తేదీ
- చెల్లింపుల సంఖ్య
- తేదీ
- రుణ సంతులనం
- తిరిగి చెల్లించే
- ఋణాన్ని తిరిగి చెల్లించడం
- శీఘ్ర బదిలీ
- దయచేసి మీరు ఇంటర్నెట్కు కనెక్ట్ చేయబడ్డారని నిర్ధారించుకోండి
- లబ్ధిదారులు
- లబ్ధిదారులను నిర్వహించండి
- లబ్దిదారులు
- లబ్ధిదారుల వివరాలు
- లబ్దిదారుని పేరు
- ఖాతా రకం
- బదిలీ పరిమితి
- లబ్దిదారుడిని జోడించండి
- ఆఫీస్ పేరు
- ఖాతా రకం ఎంచుకోండి *
- లబ్ధిదారుడిని సమర్పించండి
- లబ్దిదారు కార్యాలయ పేరుని నమోదు చేయండి
- లబ్దిదారు పేరును నమోదు చేయండి
- బదిలీ పరిమితిని నమోదు చేయండి
- లబ్దిదారు ఖాతా ఖాతాను నమోదు చేయండి
- డౌన్ నుండి ఖాతా రకం ఎంచుకోండి
- లబ్దిదారుడు విజయవంతంగా సృష్టించారు
- లబ్ధిదారుడు విజయవంతంగా నవీకరించబడింది
- లబ్దిదారుడిని నవీకరించండి
- లబ్ధిదారుని తొలగించండి
- మీరు ఖచ్చితంగా ఈ వారసులను తీసివేయాలనుకుంటున్నారా?
- తొలగించండి
- లబ్ధిదారుడు విజయవంతంగా తొలగించారు
- మూడవ పార్టీ బదిలీ
- మొత్తం రుణ
- మొత్తం పొదుపు
- ఖాతా సారాంశం
- మొత్తం పొదుపు మొత్తాన్ని చూపండి లేదా దాచండి
- మొత్తం లోన్ మొత్తాన్ని చూపండి లేదా దాచండి
- *****
- సర్వేలు
- ఆక్టివేషన్ తేదీ
- గుంపులు
- యూజర్ వివరాలు
- క్లయింట్ రకం
- క్లయింట్ వర్గీకరణ
- మోడ్ను ఎంచుకోండి
- మీ ఖాతాకు బాహ్య వారసులను జోడించండి. \\ n దయచేసి ఖాతా యొక్క QR కోడ్ను మాన్యువల్గా స్కాన్ చేయండి లేదా స్కాన్ చేయండి
- మీరు మీ ఖాతాలో చర్యలు చేయలేరు, పొదుపు ఖాతా లేదా మరొక వినియోగదారు యొక్క క్రెడిట్ ఖాతా నుండి QR కోడ్ను స్కాన్ చేయండి
- జోడించండి
- స్కాన్
- 4 అంకెల పాస్కోడ్ను నమోదు చేయండి
- పాస్కోడ్ 4 అంకె అయి ఉండాలి
- పాస్కోడ్ తప్పు
- మీరు తప్పు ప్రాప్యత కోడ్ను 3 సార్లు కంటే ఎక్కువ నమోదు చేసారు
- దాటవేయి
- సేవ్
- లాగిన్ చేయడానికి పాస్కోడ్ను సెటప్ చేయండి
- దయచేసి మీ పాస్కోడ్ను మళ్లీ నమోదు చేయండి
- పాస్కోడ్ సరిపోలడం లేదు.
- పాస్కోడ్ను మర్చిపోండి, మానవీయంగా లాగిన్ అవ్వండి
- కొనసాగండి
- మొత్తం సున్నా కంటే ఎక్కువగా ఉండాలి
- మా గురించి అండర్ కన్స్ట్రక్షన్
- అండర్ కన్స్ట్రక్షన్ సహాయం
- లాగౌట్
- ఇక్కడ స్వీయ-సేవ అనువర్తనాన్ని డౌన్లోడ్ చేయండి: https://play.google.com/store/apps/details?id=
- దరఖాస్తును ఎంచుకోండి
- అందుబాటులో లేదు
- QR ని అప్లోడ్ చేయండి
- QR కోడ్తో ప్రాంతాన్ని ఎంచుకోండి
-
- మమ్మల్ని సంప్రదించండి
- విజయవంతంగా బదిలీ చేయబడింది
-
- మొత్తం:
-
- ಎ/ಸಿ
- రుణ ఉత్పత్తి
- అసక్రియంగా
- సక్రియంగా
- అసక్రియంగా
-
-
- మీరు ఖచ్చితంగా లాగ్అవుట్ చేయాలనుకుంటున్నారా?
- అలాగే
- రద్దు
- బ్యాక్
- అనుమతి నిరాకరించబడింది
- నేను ఖచ్చితంగా ఉన్నాను
- తిరిగి ప్రయత్నించు
- అప్లికేషన్ సెట్టింగ్లు
- కెమెరా అనుమతి లేకుండా, మీరు వారసులు జోడించడానికి QR కోడ్ స్కాన్ చేయలేరు. మీరు ఈ లక్షణాన్ని నిషేధించాలనుకుంటున్నారా?
- మీరు తమరాను ఉపయోగించడానికి అనుమతిని తిరస్కరించారు, మీరు ఈ అనుమతి లేకుండా QR కోడ్ ఉపయోగించి వారసులను జోడించలేరు. సెట్టింగ్ల్లో దాన్ని ప్రారంభించండి
- మెమరీ నుండి చదవడానికి అనుమతి లేకుండా, మీరు వారసుడిని జోడించడానికి QR కోడ్ను పంపలేరు. మీరు ఈ లక్షణాన్ని నిషేధించాలనుకుంటున్నారా?
- మీరు పరికరం మెమరీ నుండి చదవడానికి అనుమతిని తిరస్కరించారు, మీరు ఈ అనుమతి లేకుండా QR కోడ్ ఉపయోగించి వారసులను జోడించలేరు. సెట్టింగ్ల్లో దాన్ని ప్రారంభించండి
- మీరు పరికరం యొక్క మెమరీకి వ్రాయడానికి నిరాకరించారు, మీరు ఈ అనుమతి లేకుండా QR కోడ్ను ఉపయోగించి వారసులను జోడించలేరు. సెట్టింగ్ల్లో దాన్ని ప్రారంభించండి
- దేశంపై ఆధారపడి కరెన్సీని చూపడానికి ఈ అనుమతి అవసరం. మీరు ఈ లక్షణాన్ని నిషేధించాలనుకుంటున్నారా?
- ఈ అనుమతి లేకుండా, కరెన్సీ సరైన స్థితిలో ప్రదర్శించబడకపోవచ్చు, పరికరం స్థితిని చదవడానికి అనుమతిని మీరు తిరస్కరించారు. సెట్టింగ్ల్లో దాన్ని ప్రారంభించండి
- సెట్టింగ్ల్లో కార్యాచరణ కోసం శోధిస్తున్నప్పుడు ఏదో తప్పు జరిగింది. \\ n \\ \'సెట్టింగులుకు వెళ్ళండి\' మరియు మానవీయంగా అనుమతులను నమోదు చేయండి.
- నిల్వకు నిల్వ అనుమతి లేదు
- మీరు ఖచ్చితంగా%1$s కావాలనుకుంటున్నారా?
-
-
- హలో,%1$s
- చెల్లని మొత్తం
- నిష్క్రమించడానికి మళ్లీ మళ్లీ నొక్కండి
-
- కెమెరాను ఉపయోగించడానికి అనుమతి తిరస్కరించబడింది
-
- తరచుగా అడుగు ప్రశ్నలు
- యూజర్ ప్రశ్న
- ఇప్పుడు కాల్ చేయండి
- ఒక ఇమెయిల్ను వదిలేయండి
- స్థానాలను కనుగొనండి
- ఉపసంహరణలు లేవు
- ఫిల్టర్లను క్లియర్ చేయండి
- ఖాతాలను నిర్వహించండి
- మరింత
- సెట్టింగ్
- భాషా
- మీ భాషను ఎంచుకోండి
- ప్రకటనలను
- బేస్ url
- కౌలుదారు
-
-
- - కొత్త క్రెడిట్ ఖాతా కోసం ఎలా దరఖాస్తు చేయాలి?
- - నేను నా ప్రొఫైల్ గురించి సమాచారాన్ని ఎక్కడ పొందగలను?
- - నేను నా పొదుపు ఖాతా లావాదేవీలను ఎక్కడ కనుగొనగలను?
- - QR కోడ్ ఉపయోగం ఏమిటి?
- - QR కోడ్ ఉపయోగించి లబ్ధిదారులను ఎలా సృష్టించాలి?
- - క్రెడిట్ ఖాతా కోసం ఎలా చెల్లించాలి?
-
-
-
- - క్రెడిట్ ఖాతా కోసం దరఖాస్తు చేయడానికి, హోమ్ స్క్రీన్పై \ "రిపోర్ట్ లోన్ అప్లికేషన్ \" పై క్లిక్ చేయండి.
- - ప్రధాన ప్రొఫైల్ పేజీలోని ప్రొఫైల్ చిత్రంపై క్లిక్ చేయడం ద్వారా మీరు మీ ప్రొఫైల్ సమాచారాన్ని చూడవచ్చు.
- - మీ పొదుపు ఖాతాలో వ్యాపారాలను వీక్షించడానికి, అకౌంట్స్ విభాగానికి వెళ్లి, అవసరమైన పొదుపు ఖాతాను క్లిక్ చేసి, ఎగువ కుడి మూలలో మూడు చుక్కలను క్లిక్ చేసి, ట్రేడింగ్ ఎంపికను ఎంచుకోండి.
- - అన్ని క్రెడిట్ లేదా పొదుపు ఖాతాలకు QR కోడ్ను ఇతర వినియోగదారులతో భాగస్వామ్యం చేయవచ్చు, వాటిని వారసులుగా సృష్టించడానికి వీలు కల్పిస్తుంది
- - హోమ్ అప్లికేషన్ కు వారసుని సృష్టించిన తరువాత, కుడి దిగువ మూలలో ఉన్న బటన్పై క్లిక్ చేయండి, ఆపై కెమెరాను తెరిచే స్కాన్, అవసరమైన డేటాను ఎంపిక చేసిన తర్వాత, QR కోడ్ మీరు వారసునిగా సృష్టించాలనుకునే వ్యక్తిని స్కాన్ చేయడానికి QR కోడ్ ఉపయోగించి వారసులను సృష్టిస్తుంది
- - క్రెడిట్ ఖాతాకు చెల్లింపు చేయడానికి, అకౌంట్స్ విభాగానికి వెళ్లి, రుణ ఎంపికను ఎంచుకోండి, ఆపై లక్ష్య క్రెడిట్ ఖాతాను తెరిచి చెల్లింపు ఎంపికను క్లిక్ చేయండి.
-
-
-
- మొత్తం సేవింగ్స్ సంతులనం
- మొత్తం రుణ సంతులనం
- బ్యాంకు ఖాతా మరియు పొదుపు ఖాతా నిల్వలు అన్ని పొదుపు మరియు రుణ ఖాతాల ఆధారంగా లెక్కించబడతాయి
- మీరు ఖచ్చితంగా బదిలీని రద్దు చేయాలనుకుంటున్నారా?
- అవును
- పాస్వర్డ్ను నిర్ధారించండి
- పాస్వర్డ్ సరిపోలడం లేదు.
- అన్ని హక్కులూ ప్రత్యేకించుకోవడమైనది.
- లైసెన్సుల
- బదిలీని పూర్తి చేయడం సాధ్యం కాదు, దయచేసి తర్వాత మళ్లీ ప్రయత్నించండి
- దయచేసి వేచి ఉండండి ...
- సందేశం
- నో నోటిఫికేషన్
-
- ముగింపు స్థాన నవీకరణ
- తుది స్థాన కాన్ఫిగరేషన్లను మార్చడానికి ఇక్కడ క్లిక్ చేయండి
- బేస్ URL ను నమోదు చేయండి
- అద్దెదారు నమోదు చేయండి
- యాప్ సమాచారం
- లాగిన్ విఫలమైంది, దయచేసి తర్వాత మళ్లీ ప్రయత్నించండి.
-
\ No newline at end of file
diff --git a/androidApp/src/main/res/values-ur/strings.xml b/androidApp/src/main/res/values-ur/strings.xml
deleted file mode 100644
index 0ddd267dd3..0000000000
--- a/androidApp/src/main/res/values-ur/strings.xml
+++ /dev/null
@@ -1,455 +0,0 @@
-
-
-
- Mifos موبائل
- لاگ ان کریں
- خوش آمدید %1$s
- انٹرنیٹ سے منسلک نہیں
- بنیادی
- صارف کا نام
- لاگ ان ہو رہا ہے
- لوڈ کر رہا ہے
- پاس ورڈ
- ای میل
- اکاؤنٹس
- کلائنٹ
- فنڈز ٹرانسفر
- حالیہ ٹرانزیکشنز
- چارجز
- سوالنامہ
- ہمارے بارے میں
- اکاؤنٹ کی تفصیلات ذخیرہ کر رہے ہیں
- بچت اکاونٹ
- قرض اکاؤنٹس کی تفصیلات لوڈ کرنے میں خرابی
- نامیاتی سود کی شرح
- اکاؤنٹ نمبر
- اکاؤنٹ کا توازن
- کل جمع
- ڈرار خلیے
- ڈرار بند کریں
- گھر
- درمیانی متن
- چھوٹے متن
- کلائنٹ اکاؤنٹس
- سپلیش
- بچت
- قرض
- قرض کااکاؤنٹ
- اشتراک کریں
- اکاؤنٹ کا اشتراک کریں
- کسٹمر چیز
- کام کر رہے ہیں
- موجودہ حالت کی تصویر
- قرض کی ادائیگی کی شیڈول
- پچھلا ٹرانزیکشن
- بنایا
- منتقلی بنائیں
- قرض کی مصنوعات منتخب کریں *
- قرض کا مقصد *
- اصل رقم*
- رقم
- تبصرہ
- متوقع معاوضہ کی تاریخ
- جمع کروانے کی تازیخ
- پیش کردی گی
- ادائیگی
- منتقلی کی تاریخ
- قرض کے لئے درخواست کریں
- قرضہ اپ ڈیٹ کریں
- قرض واپس
- قرض واپسی کی وجہ
- قرض اکاؤنٹ کامیابی سے واپس لے لیاگیا
- قرض جمع کرو
- نیا قرض درخواست
- قرض کے لئے درخواست اپ ڈیٹ کریں
- سود کی قسم
- تخرکشک
- دلچسپی کا حساب کی مدت
- واپسی کی حکمت عملی
- ادایگی لینے والے ہیں
- ادایگی دینے والے ہیں
- منسوخ کریں
- منتقلی کا جائزہ لیں
- کو منتقلی
- سے منتقلی
- منتقلی کی جا رہی ہے
- جمع
- رقم درج کریں
- تبصرہ ضروری ہے
- منظورشدہ
- منتقلی
- ادا کیا
- توازن
- مسترد کردیا گیا
- انتظار کر رہا ہے
- اضافی رقم دی گئی
- بقایاجات
- جو چاہے منتخب کریں
- بچت کے کھاتے چھانے
- قرض کے کھاتے چھانے
- اشتراک کے کھاتے چھانے
- تلاش کریں
- وہ اکاؤنٹ منتخب کریں جس کو ادایگی کرنی ہے
- وہ اکاؤنٹ منتخب کریں جس سے ادایگی کرنی ہے
- منتقلی کے لئے تبصرے درج کریں
- فائدہ مند منتخب کریں
- جاری کریں
- بند کریں
- منتقلی کی قسم منتخب کریں
- بچت کی منتقلی
- بچت سے منتقلی
- قرض چارج
- بچت کے چارجز
- فعال
- بند
- واپس لے لیا
- منظوری کی ضرورت ہے
- منتقلی
- متوازن
- کھاتا کھولیں
- پہلا نام
- آخری نام
- فون نمبر
- رجسٹر کریں
- درخواست کی شناخت
- توثیقی ٹوکن
- تصدیق کریں
- توثیقی کر رہے ہیں
- سائن اپ
- توثیقی ہو گئی
- موبائل
- ای میل
- توثیقی موڈ
-
- QR درآمد کریں
- گارنٹیور دیکھیں
- گارنٹیور شامل کریں
- گارنٹیور کو حذف کریں
- گارنٹیور اپ ڈیٹ کریں
- گارنٹیور کی قسم
- کوئی گارنٹیور نہیں
- گارنٹیور شامل کرنے کیلئے تھپتھپائیں
- گارنٹیور تفصیلات
- شامل ہونے کی تاریخ
- جمع
-
- جمع کرنے کے لئے اکاؤنٹ فعال ہونا چاہئے
- منتقلی انجام دینے کے لئے اکاؤنٹ ہونا چاہئے
-
- آپ کے ساتھ منسلک کوئی بچت اکاؤنٹ نہیں ہے
- آپ کے ساتھ منسلک کوئی قرض اکاؤنٹ نہیں ہے
- آپ کے ساتھ منسلک کوئی شریک اکاؤنٹ نہیں ہے
- آپ کے ساتھ کسی منتقلی کا تعلق نہیں ہے
- آپ کے ساتھ منسلک کوئی ادائیگی کی شیڈول نہیں ہے
- مزید ٹرانزیکشنز دستیاب نہیں ہیں
- کوئی منتقلی نہیں
- کوئی پیدائش کے اعداد وشمار نہیں ملا.
- کسی گروپ کے ساتھ تفویض نہیں
-
- استعمال کرنے والے کا نام/پاس ورڈ درست نهیں
- سرور سے جواب لوڈ کرنے میں خرابی
- %1$s اسے خالی نہی چھوڑا جا سکتا
- %1$s %2$d حروف سے کم نہیں ہوسکتی
- %1$s میں %2$s شامل نہیں ہوسکتا ہے
- %1$s کو خالی فاصلے کے ساتھ شرو یہ ختم نہیں کر سکتے
- اندرونی سرور میں خرابی، براہ مہربانی دوبارہ کوشش کریں
- کلائنٹ کی فہرست کو لوڈ کرنے میں خرابی
- قرض اکاؤنٹس کی فہرست میں خرابی
- اکاؤنٹس کی فہرست محفوظ کرنے میں خرابی
- اکاؤنٹس کی تفصیلات کو بچانے میں لوڈنگ میں خرابی
- حالیہ منتقلی کو لوڈ کرنے میں خرابی
- کلائنٹ چارجز میں لوڈ کرنے میں خرابی
- کوئی محصول نہیں ملا
- کلائنٹ نہیں ملا
- کلائنٹ حاصل کرنے میں ناکامی
- صارف کی پروفائل کو حاصل کرنے میں ناکامی
- اکاؤنٹس حاصل کرنے میں ناکامی
- ادائیگی کی شیڈول حاصل کرنے میں ناکامی
- اسی اکاؤنٹ میں منتقل نہیں کر سکتے ہیں
- اکاؤنٹ کی منتقلی حاصل کرنے میں خرابی سانچے
- گراؤنڈوں کو حاصل کرنے میں ناکامی
- فائدہ مند سانچے کو حاصل کرنے میں ناکامی
- ٹیمپلیٹ حاصل کرنے میں ناکامی
- فائدہ اٹھانے میں ناکامی
- فائدہ مند کو اپ ڈیٹ کرنے میں ناکامی
- فائدہ مند کو حذف کرنے میں ناکامی
- قرض اکاؤنٹ واپس لینے میں خرابی
- تیسرے پارٹی کے منتقلی کو حاصل کرنے میں خرابی سانچے
- فی الحال، آپ کو کوئی فائدہ مند نہیں ہے. برائے مہربانی فائدہ مند
-
- آپ مجاز نہیں ہیں
- کیوارکوڈ
- کیوارکوڈ کا اشتراک کریں
- مانیٹر
- اختیار کا انتخاب کریں
- منتقلی دیکھیں
- چارجز دیکھیں
- قرض کا خلاصہ دیکھیں
- ادائیگی کی شیڈول دیکھیں
- اس اکاؤنٹ کے لئے QR کوڈ دیکھیں
- آخری ٹرانزیکشن کی تفصیلات
- صارف نام 6 حروف سے زیادہ ہونا چاہئے
- غلط ای میل کی شناخت
- سرور نیچے، کچھ وقت کے بعد کوشش کریں
- کلائنٹ چارجز
- QR پڑھنے کے دوران خرابی، اس بات کو یقینی بنائیں کہ آپ مناسب علاقہ منتخب کریں
- تصویر نکالنے میں خرابی
- کلائنٹ لانے
-
- خالی جگہیں
- کلائنٹ کا نام
- اکاؤنٹ کی حیثیت
- پروڈکٹ کا نام
- کل ہٹانے
- منٹ. ضرورت بال.
- پروڈکٹ کا نام
- قرض مقصد
- پرنسپل
- پرنسپل منقطع
- این. شرح سود
- دلچسپی کا شکار
- دلچسپی ادا کی
- قرض اکاؤنٹ کی تفصیلات
- قرض خلاصہ
- قرض کا نام
- دلچسپی
- فیس
- سزا
- کل متوقع واپسی
- مکمل ادائیگی
- دلچسپی سے محروم
- سزا
- فیس معاف
- بقایا رقم
- اگلے تنصیب
- واجب الادا تاریخ
- ادائیگی کرنا
- قرض کی قسم
- کرنسی
- ادائیگی کی شیڈول
- ٹرانسمیشن
- منتقلی
- ابھی منظور نہیں ہوا
- تباہی کے انتظار میں
- کچھ مکلفات کی وجہ سے بند
- قرض بند
- واجب الادا تاریخ:
- کی وجہ سے:
- ادا کیا:
- پہنچا:
- شاندار:
- مثال
- ویجیٹ شامل کریں
- مدد
- Mifos ابتدائی
- Mifos ابتدائی، سیئٹل، واشنگٹن 98121
- سیٹل
- بڑے ٹیک صنعت میں گھر
- قرض اکاؤنٹ کی تفصیلات
- قرض کی درخواست کامیابی سے پیش کی گئی
- قرض کی درخواست کامیابی سے اپ ڈیٹ کی گئی
- قرض کی درخواست کامیاب ہوگئی
- کوئی بھی نہیں
- سب
- ۴ ہفتوں
- ۳ ماہ
- ٦ ماہ
- فلٹر
- آغاز کی تاریخ
- ختم ہونے کی تاریخ
- فلٹرڈ
- براہ کرم آغاز کی تاریخ اور ختم ہونے کی تاریخ منتخب کریں
- ختم ہونے کی تاریخ شروع ہونے کی تاریخ کے مقابلے میں زیادہ ہونا ضروری ہے
- اکاؤنٹ ٹرانسمیشن کو اسٹور کر رہے ہیں
- کوئی انٹرنیٹ جوڈ نہیں
- تسلط کی تاریخ
- ادائیگی کی تعداد
- تاریخ
- قرض بیلنس
- تنخواہ
- قرض کی ادائیگی
- فوری منتقلی
- براہ کرم یقینی بنائیں کہ آپ انٹرنیٹ سے منسلک ہیں
- فائدہ مند
- فائدہ اٹھانے کا انتظام کریں
- فائدہ مند
- فائدہ مند کی تفصیل
- فوائد کا نام
- اکاؤنٹ کی اقسام
- ٹرانسمیشن کی حد
- گراؤنڈ شامل کریں
- آفس کا نام
- اکاؤنٹ کی قسم منتخب کریں *
- گراؤنڈ جمع کریں
- گراؤنڈ آفس کا نام درج کریں
- فائدہ مند کا نام درج کریں
- ٹرانسمیشن کی حد درج کریں
- فائدہ مند اکاؤنٹ نمبر درج کریں
- ڈراپ ڈاؤن سے اکاؤنٹ کی قسم منتخب کریں
- گراؤنڈ کامیابی سے پیدا ہوا
- گراؤنڈ کامیابی سے اپ ڈیٹ کیا
- فائدہ اٹھاو
- فائدہ اٹھانے کے لۓ
- کیا آپ واقعی یہ حذف کرنا چاہتے ہیں فائدہ مند
- حذف کریں
- گراؤنڈ کامیابی سے ختم ہوگیا
- تیسری پارٹی کی منتقلی
- کل قرض
- کل بچت
- اکاؤنٹ کا جائزہ
- بچت کی کل رقم دکھائیں یا چھپائیں۔
- قرض کی کل رقم دکھائیں یا چھپائیں۔
- *****
- سروے
- چالو کرنے کی تاریخ
- گروپ
- صارف کی تفصیلات
- کلائنٹ کی قسم
- کلائنٹ کی درجہ بندی
- موڈ منتخب کریں
- اپنے اکاؤنٹ میں تیسری پارٹی کے مفادات کو شامل کریں.\n یا نہیں دستی طور پر درج کریں یا اکاؤنٹ کیوارکوڈ اسکین کریں
- آپ اپنے اکاؤنٹ میں کارروائی نہیں کر سکتے ہیں، براہ مہربانی دوسرے صارف کو اسکین کریں بچت اور قرض اکاؤنٹ کیوارکوڈ
- شامل کریں
- سکین
- ٤ پوائنٹس کا پاس کوڈ درج کریں
- پاسپوڈ ٤ پوائنٹس کا ہونا چاہئے
- غلط پاسپوڈ
- آپ نے غلط پاس کوڈ درج کیا ہے ٣ بار
- چھوڑ دو
- نیا لکھیں
- پاس ورڈ کو لاگ ان کرنے کے لئے مقرر کریں
- اپنا پاس کوڈ دوبارہ درج کریں
- پاسکوڈ مماثل نہیں ہے
- پاس ورڈ کوڈ بھول گئے، دستی طور پر لاگ ان کریں
- آگے بڑھو
- رقم صفر سے زیادہ ہونا چاہئے
- ہمارے تعمیراتی کام کے تحت
- تعمیر کے تحت مدد
- لاگ آوٹ
- خود سروس ایپ ڈاؤن لوڈ کریں: https://play.google.com/store/apps/details؟id=
- درخواست منتخب کریں
- خالی
- کیوارکوڈ اپ لوڈ کریں
- کیوارکوڈ کے ساتھ علاقے کا انتخاب کریں
-
- ہم سے رابطہ کریں
-
- کامیابی سے منتقلی
-
- کل:
-
- اک/ٹ
- قرض کی پیداوار
- غیر فعال
- فعال
- غیر فعال
-
-
- کیا آپ واقعی لاگ آؤٹ کرنا چاہتے ہیں؟
- ٹھیک ہے
- منسوخ کریں
- پیچھے
- اجازت نہیں دی گئی
- مجھے یقین ہے
- دوبارہ کوشش کریں
- ایپ کی ترتیبات
- کیمرے کی اجازت کے بغیر آپ کریں گے فائدہ اٹھانے کے لئے کیوارکوڈ کو اسکین کرنے میں ناکام ہو .آپ کو یقین ہے کہ آپ اس سے انکار کرنا چاہتے ہیں اجازت؟
- آپ نے اجازت دی ہے اس اجازت کے بغیر کیمرے کا استعمال کریں، آپ کو کیوارکوڈ کا استعمال کرتے ہوئے فائدہ مندوں کو شامل کرنے کے قابل نہیں ہوں گے.براہ مہربانی اسے ترتیبات میں فعال کریں
- اسٹوریج کی اجازت کے بغیر آپ کریں گے فائدہ اٹھانے کے لئے کیوارکوڈ اپ لوڈ کرنے کے قابل نہیں ہو .آپ کو یقین ہے کہ آپ اس سے انکار کرنا چاہتے ہیں اجازت؟
- آپ نے اجازت دی ہے اس اجازت کے بغیر اسٹوریج کو پڑھیں، آپ کو کیوارکوڈ کا استعمال کرتے ہوئے فائدہ مندوں کو شامل کرنے کے قابل نہیں ہوں گے.براہ مہربانی اسے ترتیبات میں فعال کریں
- آپ نے اجازت دی ہے اس اجازت کے بغیر اسٹوریج میں لکھیں، آپ کو QR کوڈ کا استعمال کرتے ہوئے فائدہ اٹھانے والے افراد کو شامل کرنے کے قابل نہیں ہوں گے.براہ مہربانی اسے ترتیبات میں فعال کریں
- اس اجازت کی ضرورت ہے اپنے ملک کے مطابق کرنسی کو دکھانے کے لئے. کیا آپ کو یقین ہے کہ آپ اسے انکار کرنا چاہتے ہیں؟
- آپ نے اجازت سے انکار کردیا ہے فون اسٹیٹ حاصل کرنے کے بغیر، اس اجازت کے بغیر کرنسی مناسب شکل میں نہیں دکھایا جا سکتا ہے.براہ مہربانی اسے ترتیبات میں فعال کریں
- کچھ ترتیبات کی سرگرمیوں کو تلاش کرنے میں غلطی ہوئی.\n \'ترتیبات\' کرنے اور دستی طور پر اجازت فراہم کرنے کے لئے.
- اسٹوریج سے اجازت سے انکار
- کیا آپ واقعی %1$s کرنا چاہتے ہیں؟
-
-
- %1$s ،خوش آمدید
- %1$.2f
- %2$s %1$.2f
- %2$s %1$s
- %2$.2f %1$s
- %2$d :%1$s
- ناجایز رقم
- باہر نکلنے کیلئے دوبارہ دبائیں
-
- اجازت کیمرے کا استعمال کرنے سے انکار ہے
- ١
- ٢
- ٣
- ٤
- ٥
- ٦
- ٧
- ٨
- ٩
- ٠
-
- اکثر پوچھے گئے سوالات
- صارف کا سوال
- اب کال کریں
- ای میل چھوڑ دو
- مقامات تلاش کریں
- کوئی واپسی نہیں
- فلٹر صاف کریں
- اکاؤنٹس کا نظم کریں
- مزید
- ترتیبات
- زبان
- اپنی زبان کا انتخاب کریں
- اطلاعات
- بیس یو آر ایل
- کرایہ دار
-
-
- - میں نئے قرض اکاؤنٹ کے لئے درخواست کیسے کروں؟
- - میں اپنی پروفائل کی معلومات کہاں سے دیکھ سکتا ہوں؟
- - میں اپنے بچت کے اکاؤنٹس کے ٹرانزیکشنز کو کہاں دیکھ سکتا ہوں؟
- - QR کوڈ کا استعمال کیا ہے؟
- - QR کوڈ کا استعمال کرتے ہوئے فائدہ مند بنانے کا طریقہ
- - قرض اکاؤنٹ کے لئے ادائیگی کیسے کی جائے؟
-
-
-
- - قرض اکاؤنٹ کے لئے درخواست دینے کے لئے، ہوم اسکرین پر دی گئی "قرض کے لئے درخواست کریں" پر کلک کریں.
- - ہوم پر موجود صارف کی تصویر پر کلک کرکے آپ اپنی پروفائل کی معلومات دیکھ سکتے ہیں اسکرین.
- - آپ کی بچت کے اکاؤنٹ ٹرانزیکشنز کو دیکھنے کے لئے، اکاؤنٹس حصے پر جائیں، پر کلک کریں ضروری بچت کا اکاؤنٹ، اوپر دائیں پر موجود تین نقطوں پر کلک کریں اور منتخب کریں ٹرانزیکشن اختیار
- - کسی بھی قرض یا بچت اکاؤنٹس کے لئے کیوارکوڈ دوسرے صارفین کے ساتھ اشتراک کیا جاسکتا ہے انہیں فائدہ مند بنانے کے لئے اجازت دیں.
- - فائدہ مند بنانے کے لئے، ہوم اسکرین سے تصویر گراؤنڈری اختیار پر کلک کریں پھر کلک کریں سرکلر بٹن پر نیچے دائیں جانب موجود ہے، جو سکین کرنے کا اختیار منتخب کریں آپ کا آلہ کیمرے، دوسرے شخص کے QR کوڈ کو اسکین کریں جس کے لئے آپ کو تخلیق کرنا چاہتے ہیں فائدہ مند، دوسرے ضروری تفصیلات میں بھرنے کے بعد آپ کو ایک تخلیق کرنے کے قابل ہو جائے گا کیوارکوڈ کا استعمال کرتے ہوئے فائدہ مند
- - قرض اکاؤنٹ کے لئے ادائیگی کرنے کے لئے، اکاؤنٹس حصوں میں جائیں، قرض منتخب کریں پھر اپنے مطلوبہ قرض اکاؤنٹ کھولیں اور ادائیگی کا اختیار بنائیں پر کلک کریں.
-
-
-
- کل بچت بیلنس
- کل قرض بیلنس
- اوپر قرض اور بچت اکاؤنٹس اکاؤنٹس ہیں آپ کے تمام بچت اور قرض کے اکاؤنٹس کی طرف سے حساب کیا جاتا ہے
- کیا آپ واقعی منتقلی کو منسوخ کرنا چاہتے ہیں؟
- جی ہاں
- پاس ورڈ کی توثیق کریں
- پاس ورڈ میچ نہیں کرتا.
- ورژن٪ 1 $ s
- © 2016 - %1$s Mifos نوٹیفیکیشن.
- جملہ حقوق محفوظ ہیں.
- لائسنس
- منتقلی مکمل کرنے میں ناکام، براہ کرم بعد میں دوبارہ کوشش کریں
- برائے مہربانی انتظار کریں…
- پیغام
- کوئی اطلاع نہیں
-
- اختتام پوائنٹ اپ ڈیٹ کریں
- اپنے اختتام پوائنٹ کی ترتیبات کو تبدیل کرنے کے لئے یہاں کلک کریں
- بیس یو آر ایل درج کریں
- کرایہ درج کریں
- ایپ کی معلومات
- لاگ ان ناکام ہوگیا، براہ کرم بعد میں دوبارہ کوشش کریں۔
-
-
diff --git a/androidApp/src/main/res/values/colors.xml b/androidApp/src/main/res/values/colors.xml
deleted file mode 100644
index 94394e4c5f..0000000000
--- a/androidApp/src/main/res/values/colors.xml
+++ /dev/null
@@ -1,83 +0,0 @@
-
-
-
- #ffffffff
- #000000
- #eaeaea
- #ff14c416
- #ff8bf98a
- #fff9ac06
- #FF87DBF9
- #fff9393c
- #ffd1d1d1
- #8ad3da44
- #8ada6134
- #ff003fff
- #FF0000
- #1C1C1C
-
- #B2C1C8
-
-
- #ff33b5e5
-
- #33999999
-
- #BB666666
-
- #ff99cc00
-
- #ffff4444
-
- #ff0099cc
-
- #ff669900
-
- #ffcc0000
-
- #ffaa66cc
-
- #ffffbb33
-
- #ffff8800
-
- #ff00ddff
-
- #33CCCCCC
-
-
-
-
-
-
-
- #FF325ca8
- #0288D1
- #B3E5FC
- #FF4081
- #212121
- #757575
- #FFFFFF
- #BDBDBD
- #ffffff
- @color/blue_light
- #EEEEEE
- #00000000
-
-
-
- - @color/blue_light
- - @color/green_light
- - @color/red_light
- - @color/orange_light
-
-
-
\ No newline at end of file
diff --git a/androidApp/src/main/res/values/strings.xml b/androidApp/src/main/res/values/strings.xml
deleted file mode 100644
index 76b091c422..0000000000
--- a/androidApp/src/main/res/values/strings.xml
+++ /dev/null
@@ -1,658 +0,0 @@
-
-
-
- Mifos Mobile
- Login
- Welcome %1$s
- Not connected to internet
- Basic
- Username
- Logging In
- Loading
- Password
- Email
- Accounts
- Clients
- Funds Transfer
- Recent Transactions
- Charges
- Questionnaire
- About Us
- Saving Account Details
- Savings Account
- Error loading in loan accounts detail
- Nominal Interest Rate
- Account Number
- Account Balance
- Total Deposits
- Open Drawer
- Close Drawer
- Home
- Large Text
- Medium Text
- Small Text
- Client Accounts
- Splash
- Saving
- Loan
- Loan Account
- Share
- Share Account
- Chose a client
- Working
- Status Image
- Repayment Schedule
- Last Transaction
- Made on
- Make a Transfer
- Select Loan Product*
- Purpose of Loan*
- Principal Amount*
- Amount
- Remark
- Expected Disbursement Date
- Submission Date
- Submitted
- Disbursement
- Transfer Date
- Apply for Loan
- Update Loan
- Withdraw Loan
- Reason to Withdraw Loan
- Loan account successfully withdrawn
- Review
- Submit Loan
- New Loan Application for
- Update Loan Application for
- Interest Type
- Amortization
- Interest calculation period
- Repayment Strategy
- Pay To
- Pay From
- Cancel
- Review
- Transfer To
- Transfer From
- Making Transfer
- Deposit
- Enter Amount
- Remark is mandatory
- Approved
- Pending
- Paid
- Balance
- Rejected
- Waiting
- Overpaid
- In Arrears
- Select all filters you want to apply
- Filter Savings Accounts
- Filter Loan Accounts
- Filter Share Accounts
- Search
- Select Account to Pay To
- Select Account to Pay From
- Enter Remarks for transfer
- Select Beneficiary
- Continue
- Close
- Choose Transfer Type
- Transfer To Savings
- Transfer from Savings
- Loan Charges
- Savings Charges
- Active
- Closed
- Withdrawn
- Need Approval
- Pending
- Matured
- Create an account
- First Name
- Last Name
- Phone Number
- Register
- Request Id
- Authentication Token
- Verify
- Verifying
- Signing up
- User has been verified successfully
- mobile
- email
- Verification Mode
-
- Import QR
- Use Touch Id
-
- View Guarantor
- Add Guarantor
- Delete Guarantor
- Update Guarantor
- Guarantor Type
- No Guarantors
- Tap to Add Guarantor
- Guarantor Details
- Joined Date
- Submit
- Select Product Id
- Account Id
- New Saving Account Application
- Update Savings Account
- Withdraw Savings Account
- Withdrawal Date
- New Saving Account created successfully.
- Saving Account Updated Successfully
- Savings Account Withdraw Successful
- %1$s Savings Account
- Apply
- Apply Savings Account
- Update
- Edit
- Passcode
- Other
- Gender
- No
- foundx
-
- Password
- Change Passcode
- Change App Passcode
- Change Password
- %1$s changed successfully
-
- Account should to be Active to perform a
- deposit
-
- Account should to be Active to perform a
- transfer
-
-
- Request ID cannot be empty
- Authentication Token cannot be empty
- There is no SavingsAccount associated with you
- There is no LoanAccount associated with you
- There is no ShareAccount associated with you
- There is no transactions associated with you
- There is no repayment schedule associated with you
-
- No more transactions available
- No Transaction
- No DOB found.
- Not Assigned with any group
-
- Invalid Username/Password
- Error loading response from server
- %1$s cannot be blank
- %1$s cannot be less than %2$d characters
- %1$s cannot contain %2$s
- %1$s cannot begin or
- end with blank space
-
- Error in internal server, please try again
- Error loading client list
- Error loading in loan accounts list
- Error loading in saving accounts list
- Error loading in saving accounts detail
-
- Error loading in Recent Transactions
- Error loading in client charges
- No charges found
- Client Not Found
- Failed to fetch Client
- Failed to fetch User Profile
- Failed to fetch Accounts
- Failed To fetch repayment schedule
- Can\'t transfer with in same account
- Error to fetching account transfer
- template
-
- Failed to fetch Beneficiaries
- Failed to fetch Beneficiary Template
- Failed to fetch template
- Failed to create Beneficiary
- Failed to update Beneficiary
- Failed to delete Beneficiary
- Error in withdrawing loan account
- Error to fetch Third Party Transfer
- template
-
- Currently, you don\'t have any Beneficiary. Please add Beneficiary
-
- You are not authorized
- QR Code
- Share QR Code
- Monitor
- Choose option
- View Transactions
- View Charges
- View Loan summary
- View Repayment Schedule
- View QR Code for this account
- Last Transaction Details
- Username should be greater than 6 alphabets
-
- Invalid email id
- Server Down, Try after some time
- Client Charges
- Error while reading QR, make sure you select proper region
-
- Error fetching image
- Invalid Phone Number
- Fetching Client
-
- Spaces
- Client Name
- Account Status
- Product Name
- Total Withdrawals
- Min. Required Bal.
- Product Name
- Loan Purpose
- Principal
- Principal Disbursed
- Ann. Interest Rate
- Interest Charged
- Interest Paid
- Loan Account Details
- Loan Summary
- Loan Name
- Interest
- Fees
- Penalties
- Total Expected Repayment
- Total Paid
- Interest Waived
- Penalties Waived
- Fee Waived
- Outstanding Balance
- Next Installment
- Due Date
- Make Payment
- Loan Type
- Currency
- Repayment Schedule
- Transactions
- Transfer
- Approval Pending
- Waiting for Disburse
- Closed because of some Obligations
- Loan Closed
- Due Date:
- Due:
- Paid:
- Waved:
- Outstanding:
- EXAMPLE
- Add widget
- Help
- Mifos Initiative
- Mifos Initiative , Seattle , Washington 98121
- Seattle
- Home to large tech industry
- Loan Account Details
- Loan Application Submitted Successfully
-
- Loan Application Updated Successfully
-
- Loan Application Withdrawn Successfully
-
- None
- All
- 4 Weeks
- 3 Months
- 6 Months
- Filter
- Start Date
- End Date
- Filtered
- Please select start date and end date
- End date must be greater than Start date
- Saving Account Transactions
- No Internet Connection
- Disbursement Date
- Number of payments
- Date
- Loan Balance
- Repayment
- Loan Repayment
- Quick Transfer
- Please make sure you are connected to internet
- Beneficiary
- Manage Beneficiaries
- Beneficiaries
- Beneficiary Detail
- Beneficiary Name
- Account Type
- Transfer Limit
- Add Beneficiary
- Office Name
- Select Account Type*
- Submit Beneficiary
- Enter Beneficiary Office Name
- Enter Beneficiary Name
- Enter Transfer Limit
- Enter Beneficiary Account Number
- Select Account Type from the dropdown
- Beneficiary created successfully
- Beneficiary updated successfully
- Update Beneficiary
- Delete Beneficiary
- Are you sure you want to delete this
- Beneficiary
-
- Are you sure you want to login using Password?
-
- Delete
- Beneficiary deleted successfully
- Third Party Transfer
- Total Loan
- Total Savings
- Account Overview
- Show or hide the total saving amount
- Show or hide the total loan amount
- *****
- Surveys
- Activation Date
- Groups
- User Details
- Client Type
- Client Classification
- Select Mode
- Add Third Party Beneficiaries to your account.\nEither
- enter manually or scan account QR code
-
- Income Generating Loan
- Not Applicable
- 143.00
- You can\'t make action into your account, please scan other user
- Savings and Loans Account QRCode
-
- Add
- Scan
- Enter 4 digit Passcode
- Passcode should be of 4 digit
- Incorrect Passcode
- You have entered incorrect Passcode more than
- 3 times
-
- Skip
- Save
- Setup a passcode to login
- Please re-enter your passcode
- Passcode does not match.
- Forgot passcode, login manually
- Proceed
- Grant permission
- Deny
- Dismiss
- Amount should be greater than zero
- About Us Under Construction
- Help Under Construction
- Logout
- Download Self Service app here:
- https://play.google.com/store/apps/details?id=
-
- Choose application
- NA
- Upload QR
- Select region with QR code
-
- Contact Us
- 8000000000
- support@mifos.org
-
- Transferred Successfully
-
- Total:
-
- A/C
- Loan Product
- Inactive
- ACTIVE
- INACTIVE
-
-
- Are you sure you want to logout?
- OK
- Cancel
- Back
- Permission Denied
- I\'m Sure
- Retry
- App Settings
- Without camera permission you will
- not be able to scan QR code to add beneficiary.Are you sure you want to deny this
- permission?
-
- You have denied permission to
- use camera, without this permission you will not be able to add beneficiaries using QR Code.
- Please enable it in settings
-
- Without storage permission you will
- not be able to upload QR code to add beneficiary.Are you sure you want to deny this
- permission?
-
- Without photos permission you will
- not be able to upload QR code to add beneficiary.Are you sure you want to deny this
- permission?
-
- You have denied permission to
- read storage, without this permission you will not be able to add beneficiaries using QR Code.
- Please enable it in settings.
-
- Please grant us storage permission in settings.
-
-
- You have denied permission to
- write to storage, without this permission you will not be able to add beneficiaries using QR Code.
- Are you sure you want to deny this permission?
-
- This permission is required
- to show currency according to your country.Are you sure you want to deny it?
-
- You have denied permission
- to fetch Phone State, without this permission currency might not be shown in proper format.
- Please enable it in settings
-
- Something went wrong finding Settings activity.
- \nGo to \'Settings\' and grant permission manually.
-
- Permission denied to storage
-
- Are you sure that you want to %1$s?
- Error During Login
-
-
- Hello, %1$s
- %1$.2f
- %1$.2f %2$s
- %1$s %2$s
- %1$s%2$s
- %1$s %2$.2f
- %1$s: %2$d
- Invalid Amount
- Press back again to exit
-
- package
- Permission Denied to use Camera
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 0
-
- Frequently Asked Questions
- User Query
- Call now
- Leave an email
- Find Locations
- No withdrawals
- Clear Filters
- Manage Accounts
- More
- Settings
- Language
- Choose your language
- Notifications
- Base URL
- Tenant
- Saving Accounts
- Loan Accounts
- Sharing Accounts
-
- Select Loan Product
- Sign in using fingerprint
- Scan your fingerprint
-
-
- language_type
- default_system_language
- theme_type
- Total Savings Balance
- Total Loan Balance
- Above Loan and Savings account balance are
- calculated on behalf of your all savings and loan accounts.
-
- Are you sure you want to cancel the transfer?
- Yes
- Confirm Password
- Password does not match.
- Version %1$s
- ©2016-%1$s Mifos Initiative.
- All rights reserved.
- Licenses
- Privacy Policy
- openmf.github.io/privacy_policy_mifos_mobile.html
- https://openmf.github.io/privacy_policy_mifos_mobile.html
- Unable to complete transfer, please try again later
- Please Wait...
- message
- No image seleted or Something went wrong
- Selected QR image
- No Notification
-
- Update Endpoint
- Click here to change your Endpoint Configurations
- pref_configuration
- Enter the Base URL
- Enter the Tenant
- accountType.loan
- Refresh
-
-
- Weak
- Medium
- Strong
- Very Strong
- Not Provided
- Details
- Product
-
- Dividend Payout
- Withdrawal
- Interest Posting
- Fee Deduction
- Withdrawal Transfer
- Rejected Transfer
- Overdraft Fee
- Savings Account Transaction
- Transaction Period
- Transaction Type
- Questions
- Logged out successfully
-
- Do you want to cancel registering New Account ?
- Cancel Registration
- Source Code
- Official Website
- App version 1.0
- License: MPL-2.0
- An Android Application built on top of the MifosX Self-Service platform for end-user customers to view/transact on the accounts and loans they hold.
- or
- There is no application that support this action
- Theme
- Change theme
-
-
- - System Language
- - English
- - हिंदी
- - عربى
- - اُردُو
- - বাঙালি
- - Español
- - français
- - bahasa Indonesia
- - ភាសាខ្មែរ
- - ಕನ್ನಡ
- - తెలుగు
- - မြန်မာ
- - Polski
- - Português
- - русский
- - Kiswahili
- - فارسی
-
-
-
- - System_Language
- - en
- - hi
- - ar
- - ur
- - bn
- - es
- - fr
- - in
- - km
- - kn
- - te
- - my
- - pl
- - pt
- - ru
- - sw
- - fa
-
-
-
- - System Theme
- - Light Theme
- - Dark Theme
-
- App Info
- Login Failed, Please Try Again Later.
- Password changed successfully
- We were unable to register the user.
- No Questions Found
- Something went wrong
- ATM Icon
- GuarantorActivity
- Screen Guarantor List
- Screen Guarantor Details
- Screen Guarantor Add
- City
- Guarantor deleted successfully
- Guarantor created successfully
- Guarantor updated successfully
- Required
- S.No
- No Transaction Found
- ⚠️ You aren’t connected to the internet
- AIzaSyBbeT2BaMWLj-lReCgYoNmXs_TIyRLr9qQ
-
diff --git a/androidApp/src/main/res/xml/fileproviderpath.xml b/androidApp/src/main/res/xml/fileproviderpath.xml
deleted file mode 100644
index ddd276e16b..0000000000
--- a/androidApp/src/main/res/xml/fileproviderpath.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/build-logic/convention/src/main/kotlin/AndroidFeatureConventionPlugin.kt b/build-logic/convention/src/main/kotlin/AndroidFeatureConventionPlugin.kt
index afd438e2f3..30be808c7e 100644
--- a/build-logic/convention/src/main/kotlin/AndroidFeatureConventionPlugin.kt
+++ b/build-logic/convention/src/main/kotlin/AndroidFeatureConventionPlugin.kt
@@ -36,13 +36,13 @@ class AndroidFeatureConventionPlugin : Plugin {
add("androidTestImplementation", libs.findLibrary("androidx.lifecycle.runtimeTesting").get())
add("testImplementation", kotlin("test"))
- add("testImplementation", project(":core:testing"))
+// add("testImplementation", project(":core:testing"))
add("testImplementation", libs.findLibrary("hilt.android.testing").get())
add("testImplementation", libs.findLibrary("squareup.okhttp").get())
add("debugImplementation", libs.findLibrary("androidx.compose.ui.test.manifest").get())
- add("androidTestImplementation", project(":core:testing"))
+// add("androidTestImplementation", project(":core:testing"))
add("androidTestImplementation", libs.findLibrary("androidx.navigation.testing").get())
add("androidTestImplementation", libs.findLibrary("androidx.compose.ui.test").get())
add("androidTestImplementation", libs.findLibrary("hilt.android.testing").get())
diff --git a/build-logic/convention/src/main/kotlin/CMPFeatureConventionPlugin.kt b/build-logic/convention/src/main/kotlin/CMPFeatureConventionPlugin.kt
index 583eb98b32..9d6eed984d 100644
--- a/build-logic/convention/src/main/kotlin/CMPFeatureConventionPlugin.kt
+++ b/build-logic/convention/src/main/kotlin/CMPFeatureConventionPlugin.kt
@@ -8,7 +8,7 @@ class CMPFeatureConventionPlugin : Plugin {
override fun apply(target: Project) {
with(target) {
with(pluginManager) {
- apply("mifos.kmp.libray")
+ apply("mifos.kmp.library")
apply("mifos.kmp.koin")
apply("org.jetbrains.kotlin.plugin.compose")
apply("org.jetbrains.compose")
@@ -17,7 +17,7 @@ class CMPFeatureConventionPlugin : Plugin {
dependencies {
add("commonMainImplementation", project(":core:ui"))
add("commonMainImplementation", project(":core:designsystem"))
- add("commonMainImplementation", project(":core:testing"))
+// add("commonMainImplementation", project(":core:testing"))
add("commonMainImplementation", project(":core:data"))
add("commonMainImplementation", libs.findLibrary("koin.compose").get())
diff --git a/build-logic/convention/src/main/kotlin/KMPKoinConventionPlugin.kt b/build-logic/convention/src/main/kotlin/KMPKoinConventionPlugin.kt
index d11be47d96..27c413da7f 100644
--- a/build-logic/convention/src/main/kotlin/KMPKoinConventionPlugin.kt
+++ b/build-logic/convention/src/main/kotlin/KMPKoinConventionPlugin.kt
@@ -1,5 +1,7 @@
+import com.google.devtools.ksp.gradle.KspExtension
import org.gradle.api.Plugin
import org.gradle.api.Project
+import org.gradle.kotlin.dsl.configure
import org.gradle.kotlin.dsl.dependencies
import org.mifos.mobile.libs
@@ -19,6 +21,10 @@ class KMPKoinConventionPlugin : Plugin {
add("kspCommonMainMetadata", libs.findLibrary("koin.ksp.compiler").get())
add("commonTestImplementation", libs.findLibrary("koin.test").get())
}
+
+ extensions.configure {
+ arg("KOIN_CONFIG_CHECK","true")
+ }
}
}
diff --git a/build-logic/convention/src/main/kotlin/org/mifos/mobile/KotlinMultiplatform.kt b/build-logic/convention/src/main/kotlin/org/mifos/mobile/KotlinMultiplatform.kt
index eeb9eaa437..50d5a4455c 100644
--- a/build-logic/convention/src/main/kotlin/org/mifos/mobile/KotlinMultiplatform.kt
+++ b/build-logic/convention/src/main/kotlin/org/mifos/mobile/KotlinMultiplatform.kt
@@ -20,7 +20,7 @@ internal fun Project.configureKotlinMultiplatform() {
this.nodejs()
binaries.executable()
}
- wasmJs() {
+ wasmJs {
browser()
nodejs()
}
diff --git a/ci-prepush.bat b/ci-prepush.bat
index b08bc0a9e7..863930a86f 100644
--- a/ci-prepush.bat
+++ b/ci-prepush.bat
@@ -13,6 +13,8 @@ call :run_gradle_task "check -p build-logic"
call :run_gradle_task "spotlessApply --no-configuration-cache"
call :run_gradle_task "dependencyGuardBaseline"
call :run_gradle_task "detekt"
+call :run_gradle_task ":cmp-android:build"
+call :run_gradle_task ":cmp-android:updateProdReleaseBadging"
echo All checks and tests completed successfully.
exit /b 0
diff --git a/cmp-android/.gitignore b/cmp-android/.gitignore
new file mode 100644
index 0000000000..f992ceff43
--- /dev/null
+++ b/cmp-android/.gitignore
@@ -0,0 +1,2 @@
+/build
+/prod
diff --git a/cmp-android/README.md b/cmp-android/README.md
new file mode 100644
index 0000000000..f6a8090e56
--- /dev/null
+++ b/cmp-android/README.md
@@ -0,0 +1,18 @@
+### Module Graph
+
+```mermaid
+%%{
+ init: {
+ 'theme': 'neutral'
+ }
+}%%
+
+graph LR
+ subgraph :core
+ :core:data["data"]
+ :core:ui["ui"]
+ end
+ :mifospay-android --> :mifospay-shared
+ :mifospay-android --> :core:data
+ :mifospay-android --> :core:ui
+```
\ No newline at end of file
diff --git a/androidApp/build.gradle.kts b/cmp-android/build.gradle.kts
similarity index 50%
rename from androidApp/build.gradle.kts
rename to cmp-android/build.gradle.kts
index c74ac18dfb..757acc7028 100644
--- a/androidApp/build.gradle.kts
+++ b/cmp-android/build.gradle.kts
@@ -14,28 +14,26 @@ plugins {
alias(libs.plugins.mifos.android.application)
alias(libs.plugins.mifos.android.application.compose)
alias(libs.plugins.mifos.android.application.flavors)
- alias(libs.plugins.mifos.android.hilt)
id("com.google.android.gms.oss-licenses-plugin")
+ id("com.google.devtools.ksp")
}
+val packageNameSpace: String = libs.versions.androidPackageName.get()
+
android {
- namespace = "org.mifos.mobile"
+ namespace = "cmp.android.app"
defaultConfig {
- versionName = project.dynamicVersion
+ applicationId = packageNameSpace
+ versionName = System.getenv("VERSION") ?: project.dynamicVersion
versionCode = System.getenv("VERSION_CODE")?.toIntOrNull() ?: 1
- applicationId = "org.mifos.mobile"
vectorDrawables.useSupportLibrary = true
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
- multiDexEnabled = true
- ndk {
- abiFilters.addAll(arrayOf("armeabi-v7a", "x86", "x86_64", "arm64-v8a"))
- }
}
signingConfigs {
create("release") {
- storeFile = file(System.getenv("KEYSTORE_PATH") ?: "debug_keystore.jks")
+ storeFile = file(System.getenv("KEYSTORE_PATH") ?: "../keystores/release_keystore.keystore")
storePassword = System.getenv("KEYSTORE_PASSWORD") ?: "mifos1234"
keyAlias = System.getenv("KEYSTORE_ALIAS") ?: "mifos-mobile"
keyPassword = System.getenv("KEYSTORE_ALIAS_PASSWORD") ?: "mifos1234"
@@ -49,22 +47,36 @@ android {
applicationIdSuffix = MifosBuildType.DEBUG.applicationIdSuffix
}
+ // Disabling proguard for now until
+ // https://github.com/openMF/mobile-wallet/issues/1815 this issue is resolved
release {
+ isMinifyEnabled = false
+ applicationIdSuffix = MifosBuildType.RELEASE.applicationIdSuffix
+ isShrinkResources = false
isDebuggable = false
- isMinifyEnabled = true
- isShrinkResources = true
+ isJniDebuggable = false
signingConfig = signingConfigs.getByName("release")
- applicationIdSuffix = MifosBuildType.RELEASE.applicationIdSuffix
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
}
}
buildFeatures {
- compose = true
+ dataBinding = true
buildConfig = true
}
-}
+ packaging {
+ resources {
+ excludes.add("/META-INF/{AL2.0,LGPL2.1}")
+ }
+ }
+
+ testOptions {
+ unitTests {
+ isIncludeAndroidResources = true
+ }
+ }
+}
dependencyGuard {
configuration("demoDebugRuntimeClasspath")
configuration("demoReleaseRuntimeClasspath")
@@ -73,8 +85,7 @@ dependencyGuard {
}
dependencies {
-
- implementation (projects.shared)
+ implementation(projects.cmpShared)
implementation(projects.core.logs)
implementation(projects.core.common)
@@ -84,60 +95,60 @@ dependencies {
implementation(projects.core.ui)
implementation(projects.core.designsystem)
- implementation(projects.feature.loan)
- implementation(projects.feature.beneficiary)
- implementation(projects.feature.guarantor)
- implementation(projects.feature.savings)
- implementation(projects.feature.qr)
- implementation(projects.feature.transferProcess)
- implementation(projects.feature.account)
- implementation(projects.feature.clientCharge)
- implementation(projects.feature.recentTransaction)
- implementation(projects.feature.thirdPartyTransfer)
- implementation(projects.feature.help)
- implementation(projects.feature.notification)
- implementation(projects.feature.location)
- implementation(projects.feature.about)
- implementation(projects.feature.settings)
- implementation(projects.feature.updatePassword)
- implementation(projects.feature.home)
- implementation(projects.feature.auth)
- implementation(projects.feature.userProfile)
-
- implementation(projects.libs.mifosPasscode)
-
- // Jetpack Compose
+// implementation(projects.feature.loan)
+// implementation(projects.feature.beneficiary)
+// implementation(projects.feature.guarantor)
+// implementation(projects.feature.savings)
+// implementation(projects.feature.qr)
+// implementation(projects.feature.transferProcess)
+// implementation(projects.feature.account)
+// implementation(projects.feature.clientCharge)
+// implementation(projects.feature.recentTransaction)
+// implementation(projects.feature.thirdPartyTransfer)
+// implementation(projects.feature.help)
+// implementation(projects.feature.notification)
+// implementation(projects.feature.location)
+// implementation(projects.feature.about)
+// implementation(projects.feature.settings)
+// implementation(projects.feature.updatePassword)
+// implementation(projects.feature.home)
+// implementation(projects.feature.auth)
+// implementation(projects.feature.userProfile)
+
+// implementation(projects.libs.mifosPasscode)
+
+ // Compose
+ implementation(libs.androidx.core.ktx)
implementation(libs.androidx.appcompat)
- implementation(libs.androidx.activity.ktx)
implementation(libs.androidx.activity.compose)
- implementation(platform(libs.androidx.compose.bom))
- implementation(libs.androidx.compose.material3)
- implementation(libs.androidx.compose.material)
- implementation(libs.androidx.compose.foundation)
- implementation(libs.androidx.compose.foundation.layout)
- implementation(libs.androidx.compose.material.iconsExtended)
- implementation(libs.androidx.compose.runtime)
- implementation(libs.androidx.compose.ui.tooling.preview)
- implementation(libs.androidx.compose.ui.util)
- implementation(libs.androidx.lifecycle.runtimeCompose)
- implementation(libs.androidx.hilt.navigation.compose)
-
+ implementation(libs.androidx.activity.ktx)
implementation(libs.androidx.core.splashscreen)
- implementation(libs.androidx.tracing.ktx)
implementation(libs.androidx.profileinstaller)
- implementation(libs.google.oss.licenses)
- implementation(libs.androidx.multidex)
+ implementation(libs.androidx.tracing.ktx)
- testImplementation(projects.core.testing)
- testImplementation(libs.hilt.android.testing)
- testImplementation(libs.work.testing)
+ implementation(libs.koin.core)
+ implementation(libs.koin.android)
+ implementation(libs.koin.compose)
+ implementation(libs.koin.compose.viewmodel)
- androidTestImplementation(kotlin("test"))
- androidTestImplementation(projects.core.testing)
- androidTestImplementation(libs.androidx.test.espresso.core)
- androidTestImplementation(libs.androidx.navigation.testing)
- androidTestImplementation(libs.hilt.android.testing)
+ runtimeOnly(libs.androidx.compose.runtime)
+ debugImplementation(libs.androidx.compose.ui.tooling)
- debugApi(libs.androidx.compose.ui.tooling)
+ testImplementation(libs.junit)
+ testImplementation(libs.androidx.compose.ui.test)
+
+ androidTestImplementation(libs.androidx.compose.ui.test)
+ androidTestImplementation(libs.androidx.test.ext.junit)
+
+ testImplementation(kotlin("test"))
+ testImplementation(libs.koin.test)
+ testImplementation(libs.koin.test.junit4)
}
+
+dependencyGuard {
+ configuration("prodReleaseRuntimeClasspath") {
+ modules = true
+ tree = true
+ }
+}
\ No newline at end of file
diff --git a/androidApp/dependencies/demoDebugRuntimeClasspath.txt b/cmp-android/dependencies/demoDebugRuntimeClasspath.txt
similarity index 86%
rename from androidApp/dependencies/demoDebugRuntimeClasspath.txt
rename to cmp-android/dependencies/demoDebugRuntimeClasspath.txt
index 41c5a46828..40235e1436 100644
--- a/androidApp/dependencies/demoDebugRuntimeClasspath.txt
+++ b/cmp-android/dependencies/demoDebugRuntimeClasspath.txt
@@ -9,11 +9,6 @@ androidx.appcompat:appcompat:1.7.0
androidx.arch.core:core-common:2.2.0
androidx.arch.core:core-runtime:2.2.0
androidx.autofill:autofill:1.0.0
-androidx.camera:camera-camera2:1.4.1
-androidx.camera:camera-core:1.4.1
-androidx.camera:camera-lifecycle:1.4.1
-androidx.camera:camera-video:1.4.1
-androidx.camera:camera-view:1.4.1
androidx.collection:collection-jvm:1.4.4
androidx.collection:collection-ktx:1.4.4
androidx.collection:collection:1.4.4
@@ -44,7 +39,6 @@ androidx.compose.ui:ui-geometry-android:1.7.6
androidx.compose.ui:ui-geometry:1.7.6
androidx.compose.ui:ui-graphics-android:1.7.6
androidx.compose.ui:ui-graphics:1.7.6
-androidx.compose.ui:ui-test-manifest:1.7.6
androidx.compose.ui:ui-text-android:1.7.6
androidx.compose.ui:ui-text:1.7.6
androidx.compose.ui:ui-tooling-android:1.7.6
@@ -59,15 +53,18 @@ androidx.compose.ui:ui-util-android:1.7.6
androidx.compose.ui:ui-util:1.7.6
androidx.compose.ui:ui:1.7.6
androidx.compose:compose-bom:2024.12.01
-androidx.concurrent:concurrent-futures-ktx:1.1.0
androidx.concurrent:concurrent-futures:1.1.0
androidx.core:core-ktx:1.15.0
androidx.core:core-splashscreen:1.0.1
androidx.core:core:1.15.0
androidx.cursoradapter:cursoradapter:1.0.0
androidx.customview:customview-poolingcontainer:1.0.0
-androidx.customview:customview:1.0.0
-androidx.databinding:viewbinding:7.4.2
+androidx.customview:customview:1.1.0
+androidx.databinding:databinding-adapters:8.7.3
+androidx.databinding:databinding-common:8.7.3
+androidx.databinding:databinding-ktx:8.7.3
+androidx.databinding:databinding-runtime:8.7.3
+androidx.databinding:viewbinding:8.7.3
androidx.documentfile:documentfile:1.0.0
androidx.drawerlayout:drawerlayout:1.0.0
androidx.emoji2:emoji2-views-helper:1.3.0
@@ -76,8 +73,6 @@ androidx.exifinterface:exifinterface:1.3.7
androidx.fragment:fragment-ktx:1.8.5
androidx.fragment:fragment:1.8.5
androidx.graphics:graphics-path:1.0.1
-androidx.hilt:hilt-navigation-compose:1.2.0
-androidx.hilt:hilt-navigation:1.2.0
androidx.interpolator:interpolator:1.0.0
androidx.legacy:legacy-support-core-utils:1.0.0
androidx.lifecycle:lifecycle-common-java8:2.8.7
@@ -93,6 +88,7 @@ androidx.lifecycle:lifecycle-runtime-compose:2.8.7
androidx.lifecycle:lifecycle-runtime-ktx-android:2.8.7
androidx.lifecycle:lifecycle-runtime-ktx:2.8.7
androidx.lifecycle:lifecycle-runtime:2.8.7
+androidx.lifecycle:lifecycle-service:2.8.7
androidx.lifecycle:lifecycle-viewmodel-android:2.8.7
androidx.lifecycle:lifecycle-viewmodel-compose-android:2.8.7
androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7
@@ -102,12 +98,13 @@ androidx.lifecycle:lifecycle-viewmodel:2.8.7
androidx.loader:loader:1.0.0
androidx.localbroadcastmanager:localbroadcastmanager:1.0.0
androidx.metrics:metrics-performance:1.0.0-beta01
-androidx.multidex:multidex:2.0.1
-androidx.navigation:navigation-common-ktx:2.8.5
-androidx.navigation:navigation-common:2.8.5
-androidx.navigation:navigation-compose:2.8.5
-androidx.navigation:navigation-runtime-ktx:2.8.5
-androidx.navigation:navigation-runtime:2.8.5
+androidx.navigation:navigation-common-ktx:2.8.4
+androidx.navigation:navigation-common:2.8.4
+androidx.navigation:navigation-compose:2.8.4
+androidx.navigation:navigation-fragment-ktx:2.8.4
+androidx.navigation:navigation-fragment:2.8.4
+androidx.navigation:navigation-runtime-ktx:2.8.4
+androidx.navigation:navigation-runtime:2.8.4
androidx.print:print:1.0.0
androidx.privacysandbox.ads:ads-adservices-java:1.0.0-beta05
androidx.privacysandbox.ads:ads-adservices:1.0.0-beta05
@@ -120,6 +117,7 @@ androidx.room:room-runtime-android:2.7.0-alpha12
androidx.room:room-runtime:2.7.0-alpha12
androidx.savedstate:savedstate-ktx:1.2.1
androidx.savedstate:savedstate:1.2.1
+androidx.slidingpanelayout:slidingpanelayout:1.2.0
androidx.sqlite:sqlite-android:2.5.0-alpha12
androidx.sqlite:sqlite-bundled-android:2.5.0-alpha12
androidx.sqlite:sqlite-bundled:2.5.0-alpha12
@@ -129,6 +127,7 @@ androidx.sqlite:sqlite:2.5.0-alpha12
androidx.startup:startup-runtime:1.1.1
androidx.tracing:tracing-ktx:1.2.0
androidx.tracing:tracing:1.2.0
+androidx.transition:transition:1.4.1
androidx.vectordrawable:vectordrawable-animated:1.1.0
androidx.vectordrawable:vectordrawable:1.1.0
androidx.versionedparcelable:versionedparcelable:1.1.1
@@ -152,33 +151,19 @@ com.arkivanov.essenty:utils-internal:2.1.0
com.caverock:androidsvg-aar:1.4
com.google.accompanist:accompanist-drawablepainter:0.36.0
com.google.accompanist:accompanist-pager:0.34.0
-com.google.accompanist:accompanist-permissions:0.34.0
-com.google.android.datatransport:transport-api:2.2.1
-com.google.android.datatransport:transport-backend-cct:2.3.3
-com.google.android.datatransport:transport-runtime:2.2.6
com.google.android.gms:play-services-ads-identifier:18.0.0
com.google.android.gms:play-services-base:18.5.0
com.google.android.gms:play-services-basement:18.4.0
-com.google.android.gms:play-services-maps:18.2.0
com.google.android.gms:play-services-measurement-api:22.1.2
com.google.android.gms:play-services-measurement-base:22.1.2
com.google.android.gms:play-services-measurement-impl:22.1.2
com.google.android.gms:play-services-measurement-sdk-api:22.1.2
com.google.android.gms:play-services-measurement-sdk:22.1.2
com.google.android.gms:play-services-measurement:22.1.2
-com.google.android.gms:play-services-mlkit-barcode-scanning:18.3.1
-com.google.android.gms:play-services-oss-licenses:17.1.0
com.google.android.gms:play-services-stats:17.0.2
com.google.android.gms:play-services-tasks:18.2.0
-com.google.android.odml:image:1.0.0-beta1
-com.google.auto.value:auto-value-annotations:1.6.3
com.google.code.findbugs:jsr305:3.0.2
-com.google.code.gson:gson:2.10.1
-com.google.dagger:dagger-lint-aar:2.54
-com.google.dagger:dagger:2.54
-com.google.dagger:hilt-android:2.54
-com.google.dagger:hilt-core:2.54
-com.google.errorprone:error_prone_annotations:2.28.0
+com.google.errorprone:error_prone_annotations:2.26.0
com.google.firebase:firebase-analytics-ktx:22.1.2
com.google.firebase:firebase-analytics:22.1.2
com.google.firebase:firebase-annotations:16.2.0
@@ -186,22 +171,13 @@ com.google.firebase:firebase-bom:33.7.0
com.google.firebase:firebase-common-ktx:21.0.0
com.google.firebase:firebase-common:21.0.0
com.google.firebase:firebase-components:18.0.0
-com.google.firebase:firebase-encoders-json:17.1.0
-com.google.firebase:firebase-encoders:17.0.0
com.google.firebase:firebase-installations-interop:17.1.1
com.google.firebase:firebase-installations:18.0.0
com.google.firebase:firebase-measurement-connector:19.0.0
-com.google.guava:failureaccess:1.0.2
-com.google.guava:guava:33.3.1-android
+com.google.guava:failureaccess:1.0.1
+com.google.guava:guava:31.1-android
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
-com.google.j2objc:j2objc-annotations:3.0.0
-com.google.maps.android:maps-compose:4.4.1
-com.google.maps.android:maps-ktx:5.0.0
-com.google.mlkit:barcode-scanning-common:17.0.0
-com.google.mlkit:barcode-scanning:17.3.0
-com.google.mlkit:common:18.11.0
-com.google.mlkit:vision-common:17.3.0
-com.google.mlkit:vision-interfaces:16.3.0
+com.google.j2objc:j2objc-annotations:1.3
com.russhwolf:multiplatform-settings-android-debug:1.2.0
com.russhwolf:multiplatform-settings-coroutines-android-debug:1.2.0
com.russhwolf:multiplatform-settings-coroutines:1.2.0
@@ -214,8 +190,6 @@ com.squareup.okhttp3:okhttp-sse:4.12.0
com.squareup.okhttp3:okhttp:4.12.0
com.squareup.okio:okio-jvm:3.9.1
com.squareup.okio:okio:3.9.1
-com.squareup.retrofit2:converter-gson:2.11.0
-com.squareup.retrofit2:retrofit:2.11.0
de.jensklingenberg.ktorfit:ktorfit-annotations-android-debug:2.2.0
de.jensklingenberg.ktorfit:ktorfit-annotations:2.2.0
de.jensklingenberg.ktorfit:ktorfit-lib-android-debug:2.2.0
@@ -237,13 +211,13 @@ io.coil-kt.coil3:coil-network-ktor3:3.0.4
io.coil-kt.coil3:coil-svg-android:3.0.4
io.coil-kt.coil3:coil-svg:3.0.4
io.coil-kt.coil3:coil:3.0.4
-io.github.mr0xf00:easycrop:0.1.1
io.github.vinceglb:filekit-compose-android:0.8.7
io.github.vinceglb:filekit-compose:0.8.7
io.github.vinceglb:filekit-core-android:0.8.7
io.github.vinceglb:filekit-core:0.8.7
io.insert-koin:koin-android:4.0.1-RC1
io.insert-koin:koin-androidx-compose:4.0.1-RC1
+io.insert-koin:koin-androidx-navigation:4.0.1-RC1
io.insert-koin:koin-annotations-jvm:1.4.0-RC4
io.insert-koin:koin-annotations:1.4.0-RC4
io.insert-koin:koin-bom:4.0.1-RC1
@@ -289,10 +263,8 @@ io.ktor:ktor-websocket-serialization-jvm:3.0.3
io.ktor:ktor-websocket-serialization:3.0.3
io.ktor:ktor-websockets-jvm:3.0.3
io.ktor:ktor-websockets:3.0.3
-io.michaelrocks:libphonenumber-android:8.13.35
-jakarta.inject:jakarta.inject-api:2.0.1
javax.inject:javax.inject:1
-org.checkerframework:checker-qual:3.43.0
+org.checkerframework:checker-qual:3.12.0
org.jetbrains.androidx.core:core-bundle-android-debug:1.0.1
org.jetbrains.androidx.core:core-bundle:1.0.1
org.jetbrains.androidx.lifecycle:lifecycle-common:2.8.3
@@ -325,14 +297,14 @@ org.jetbrains.compose.runtime:runtime:1.7.3
org.jetbrains.compose.ui:ui-geometry:1.7.0-rc01
org.jetbrains.compose.ui:ui-graphics:1.7.0-rc01
org.jetbrains.compose.ui:ui-text:1.7.0-rc01
-org.jetbrains.compose.ui:ui-tooling-preview:1.7.0-rc01
org.jetbrains.compose.ui:ui-unit:1.7.0-rc01
org.jetbrains.compose.ui:ui-util:1.7.0-rc01
org.jetbrains.compose.ui:ui:1.7.0-rc01
org.jetbrains.kotlin:kotlin-android-extensions-runtime:2.1.0
org.jetbrains.kotlin:kotlin-parcelize-runtime:2.1.0
-org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.23
-org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22
+org.jetbrains.kotlin:kotlin-stdlib-common:2.1.0
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.20
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.20
org.jetbrains.kotlin:kotlin-stdlib:2.1.0
org.jetbrains.kotlinx:atomicfu-jvm:0.23.2
org.jetbrains.kotlinx:atomicfu:0.23.2
@@ -358,5 +330,4 @@ org.jetbrains.kotlinx:kotlinx-serialization-json-io:1.7.3
org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.7.3
org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.3
org.jetbrains:annotations:23.0.0
-org.jspecify:jspecify:1.0.0
org.slf4j:slf4j-api:2.0.16
diff --git a/androidApp/dependencies/demoReleaseRuntimeClasspath.txt b/cmp-android/dependencies/demoReleaseRuntimeClasspath.txt
similarity index 86%
rename from androidApp/dependencies/demoReleaseRuntimeClasspath.txt
rename to cmp-android/dependencies/demoReleaseRuntimeClasspath.txt
index 7aaedb8537..f707f41503 100644
--- a/androidApp/dependencies/demoReleaseRuntimeClasspath.txt
+++ b/cmp-android/dependencies/demoReleaseRuntimeClasspath.txt
@@ -9,11 +9,6 @@ androidx.appcompat:appcompat:1.7.0
androidx.arch.core:core-common:2.2.0
androidx.arch.core:core-runtime:2.2.0
androidx.autofill:autofill:1.0.0
-androidx.camera:camera-camera2:1.4.1
-androidx.camera:camera-core:1.4.1
-androidx.camera:camera-lifecycle:1.4.1
-androidx.camera:camera-video:1.4.1
-androidx.camera:camera-view:1.4.1
androidx.collection:collection-jvm:1.4.4
androidx.collection:collection-ktx:1.4.4
androidx.collection:collection:1.4.4
@@ -54,15 +49,18 @@ androidx.compose.ui:ui-util-android:1.7.6
androidx.compose.ui:ui-util:1.7.6
androidx.compose.ui:ui:1.7.6
androidx.compose:compose-bom:2024.12.01
-androidx.concurrent:concurrent-futures-ktx:1.1.0
androidx.concurrent:concurrent-futures:1.1.0
androidx.core:core-ktx:1.15.0
androidx.core:core-splashscreen:1.0.1
androidx.core:core:1.15.0
androidx.cursoradapter:cursoradapter:1.0.0
androidx.customview:customview-poolingcontainer:1.0.0
-androidx.customview:customview:1.0.0
-androidx.databinding:viewbinding:7.4.2
+androidx.customview:customview:1.1.0
+androidx.databinding:databinding-adapters:8.7.3
+androidx.databinding:databinding-common:8.7.3
+androidx.databinding:databinding-ktx:8.7.3
+androidx.databinding:databinding-runtime:8.7.3
+androidx.databinding:viewbinding:8.7.3
androidx.documentfile:documentfile:1.0.0
androidx.drawerlayout:drawerlayout:1.0.0
androidx.emoji2:emoji2-views-helper:1.3.0
@@ -71,8 +69,6 @@ androidx.exifinterface:exifinterface:1.3.7
androidx.fragment:fragment-ktx:1.8.5
androidx.fragment:fragment:1.8.5
androidx.graphics:graphics-path:1.0.1
-androidx.hilt:hilt-navigation-compose:1.2.0
-androidx.hilt:hilt-navigation:1.2.0
androidx.interpolator:interpolator:1.0.0
androidx.legacy:legacy-support-core-utils:1.0.0
androidx.lifecycle:lifecycle-common-java8:2.8.7
@@ -88,6 +84,7 @@ androidx.lifecycle:lifecycle-runtime-compose:2.8.7
androidx.lifecycle:lifecycle-runtime-ktx-android:2.8.7
androidx.lifecycle:lifecycle-runtime-ktx:2.8.7
androidx.lifecycle:lifecycle-runtime:2.8.7
+androidx.lifecycle:lifecycle-service:2.8.7
androidx.lifecycle:lifecycle-viewmodel-android:2.8.7
androidx.lifecycle:lifecycle-viewmodel-compose-android:2.8.7
androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7
@@ -97,12 +94,13 @@ androidx.lifecycle:lifecycle-viewmodel:2.8.7
androidx.loader:loader:1.0.0
androidx.localbroadcastmanager:localbroadcastmanager:1.0.0
androidx.metrics:metrics-performance:1.0.0-beta01
-androidx.multidex:multidex:2.0.1
-androidx.navigation:navigation-common-ktx:2.8.5
-androidx.navigation:navigation-common:2.8.5
-androidx.navigation:navigation-compose:2.8.5
-androidx.navigation:navigation-runtime-ktx:2.8.5
-androidx.navigation:navigation-runtime:2.8.5
+androidx.navigation:navigation-common-ktx:2.8.4
+androidx.navigation:navigation-common:2.8.4
+androidx.navigation:navigation-compose:2.8.4
+androidx.navigation:navigation-fragment-ktx:2.8.4
+androidx.navigation:navigation-fragment:2.8.4
+androidx.navigation:navigation-runtime-ktx:2.8.4
+androidx.navigation:navigation-runtime:2.8.4
androidx.print:print:1.0.0
androidx.privacysandbox.ads:ads-adservices-java:1.0.0-beta05
androidx.privacysandbox.ads:ads-adservices:1.0.0-beta05
@@ -115,6 +113,7 @@ androidx.room:room-runtime-android:2.7.0-alpha12
androidx.room:room-runtime:2.7.0-alpha12
androidx.savedstate:savedstate-ktx:1.2.1
androidx.savedstate:savedstate:1.2.1
+androidx.slidingpanelayout:slidingpanelayout:1.2.0
androidx.sqlite:sqlite-android:2.5.0-alpha12
androidx.sqlite:sqlite-bundled-android:2.5.0-alpha12
androidx.sqlite:sqlite-bundled:2.5.0-alpha12
@@ -124,6 +123,7 @@ androidx.sqlite:sqlite:2.5.0-alpha12
androidx.startup:startup-runtime:1.1.1
androidx.tracing:tracing-ktx:1.2.0
androidx.tracing:tracing:1.2.0
+androidx.transition:transition:1.4.1
androidx.vectordrawable:vectordrawable-animated:1.1.0
androidx.vectordrawable:vectordrawable:1.1.0
androidx.versionedparcelable:versionedparcelable:1.1.1
@@ -147,33 +147,19 @@ com.arkivanov.essenty:utils-internal:2.1.0
com.caverock:androidsvg-aar:1.4
com.google.accompanist:accompanist-drawablepainter:0.36.0
com.google.accompanist:accompanist-pager:0.34.0
-com.google.accompanist:accompanist-permissions:0.34.0
-com.google.android.datatransport:transport-api:2.2.1
-com.google.android.datatransport:transport-backend-cct:2.3.3
-com.google.android.datatransport:transport-runtime:2.2.6
com.google.android.gms:play-services-ads-identifier:18.0.0
com.google.android.gms:play-services-base:18.5.0
com.google.android.gms:play-services-basement:18.4.0
-com.google.android.gms:play-services-maps:18.2.0
com.google.android.gms:play-services-measurement-api:22.1.2
com.google.android.gms:play-services-measurement-base:22.1.2
com.google.android.gms:play-services-measurement-impl:22.1.2
com.google.android.gms:play-services-measurement-sdk-api:22.1.2
com.google.android.gms:play-services-measurement-sdk:22.1.2
com.google.android.gms:play-services-measurement:22.1.2
-com.google.android.gms:play-services-mlkit-barcode-scanning:18.3.1
-com.google.android.gms:play-services-oss-licenses:17.1.0
com.google.android.gms:play-services-stats:17.0.2
com.google.android.gms:play-services-tasks:18.2.0
-com.google.android.odml:image:1.0.0-beta1
-com.google.auto.value:auto-value-annotations:1.6.3
com.google.code.findbugs:jsr305:3.0.2
-com.google.code.gson:gson:2.10.1
-com.google.dagger:dagger-lint-aar:2.54
-com.google.dagger:dagger:2.54
-com.google.dagger:hilt-android:2.54
-com.google.dagger:hilt-core:2.54
-com.google.errorprone:error_prone_annotations:2.28.0
+com.google.errorprone:error_prone_annotations:2.26.0
com.google.firebase:firebase-analytics-ktx:22.1.2
com.google.firebase:firebase-analytics:22.1.2
com.google.firebase:firebase-annotations:16.2.0
@@ -181,22 +167,13 @@ com.google.firebase:firebase-bom:33.7.0
com.google.firebase:firebase-common-ktx:21.0.0
com.google.firebase:firebase-common:21.0.0
com.google.firebase:firebase-components:18.0.0
-com.google.firebase:firebase-encoders-json:17.1.0
-com.google.firebase:firebase-encoders:17.0.0
com.google.firebase:firebase-installations-interop:17.1.1
com.google.firebase:firebase-installations:18.0.0
com.google.firebase:firebase-measurement-connector:19.0.0
-com.google.guava:failureaccess:1.0.2
-com.google.guava:guava:33.3.1-android
+com.google.guava:failureaccess:1.0.1
+com.google.guava:guava:31.1-android
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
-com.google.j2objc:j2objc-annotations:3.0.0
-com.google.maps.android:maps-compose:4.4.1
-com.google.maps.android:maps-ktx:5.0.0
-com.google.mlkit:barcode-scanning-common:17.0.0
-com.google.mlkit:barcode-scanning:17.3.0
-com.google.mlkit:common:18.11.0
-com.google.mlkit:vision-common:17.3.0
-com.google.mlkit:vision-interfaces:16.3.0
+com.google.j2objc:j2objc-annotations:1.3
com.russhwolf:multiplatform-settings-android:1.2.0
com.russhwolf:multiplatform-settings-coroutines-android:1.2.0
com.russhwolf:multiplatform-settings-coroutines:1.2.0
@@ -209,8 +186,6 @@ com.squareup.okhttp3:okhttp-sse:4.12.0
com.squareup.okhttp3:okhttp:4.12.0
com.squareup.okio:okio-jvm:3.9.1
com.squareup.okio:okio:3.9.1
-com.squareup.retrofit2:converter-gson:2.11.0
-com.squareup.retrofit2:retrofit:2.11.0
de.jensklingenberg.ktorfit:ktorfit-annotations-android:2.2.0
de.jensklingenberg.ktorfit:ktorfit-annotations:2.2.0
de.jensklingenberg.ktorfit:ktorfit-lib-android:2.2.0
@@ -232,13 +207,13 @@ io.coil-kt.coil3:coil-network-ktor3:3.0.4
io.coil-kt.coil3:coil-svg-android:3.0.4
io.coil-kt.coil3:coil-svg:3.0.4
io.coil-kt.coil3:coil:3.0.4
-io.github.mr0xf00:easycrop:0.1.1
io.github.vinceglb:filekit-compose-android:0.8.7
io.github.vinceglb:filekit-compose:0.8.7
io.github.vinceglb:filekit-core-android:0.8.7
io.github.vinceglb:filekit-core:0.8.7
io.insert-koin:koin-android:4.0.1-RC1
io.insert-koin:koin-androidx-compose:4.0.1-RC1
+io.insert-koin:koin-androidx-navigation:4.0.1-RC1
io.insert-koin:koin-annotations-jvm:1.4.0-RC4
io.insert-koin:koin-annotations:1.4.0-RC4
io.insert-koin:koin-bom:4.0.1-RC1
@@ -284,10 +259,8 @@ io.ktor:ktor-websocket-serialization-jvm:3.0.3
io.ktor:ktor-websocket-serialization:3.0.3
io.ktor:ktor-websockets-jvm:3.0.3
io.ktor:ktor-websockets:3.0.3
-io.michaelrocks:libphonenumber-android:8.13.35
-jakarta.inject:jakarta.inject-api:2.0.1
javax.inject:javax.inject:1
-org.checkerframework:checker-qual:3.43.0
+org.checkerframework:checker-qual:3.12.0
org.jetbrains.androidx.core:core-bundle-android:1.0.1
org.jetbrains.androidx.core:core-bundle:1.0.1
org.jetbrains.androidx.lifecycle:lifecycle-common:2.8.3
@@ -320,14 +293,14 @@ org.jetbrains.compose.runtime:runtime:1.7.3
org.jetbrains.compose.ui:ui-geometry:1.7.0-rc01
org.jetbrains.compose.ui:ui-graphics:1.7.0-rc01
org.jetbrains.compose.ui:ui-text:1.7.0-rc01
-org.jetbrains.compose.ui:ui-tooling-preview:1.7.0-rc01
org.jetbrains.compose.ui:ui-unit:1.7.0-rc01
org.jetbrains.compose.ui:ui-util:1.7.0-rc01
org.jetbrains.compose.ui:ui:1.7.0-rc01
org.jetbrains.kotlin:kotlin-android-extensions-runtime:2.1.0
org.jetbrains.kotlin:kotlin-parcelize-runtime:2.1.0
-org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.23
-org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22
+org.jetbrains.kotlin:kotlin-stdlib-common:2.1.0
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.20
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.20
org.jetbrains.kotlin:kotlin-stdlib:2.1.0
org.jetbrains.kotlinx:atomicfu-jvm:0.23.2
org.jetbrains.kotlinx:atomicfu:0.23.2
@@ -353,5 +326,4 @@ org.jetbrains.kotlinx:kotlinx-serialization-json-io:1.7.3
org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.7.3
org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.3
org.jetbrains:annotations:23.0.0
-org.jspecify:jspecify:1.0.0
org.slf4j:slf4j-api:2.0.16
diff --git a/androidApp/dependencies/prodDebugRuntimeClasspath.txt b/cmp-android/dependencies/prodDebugRuntimeClasspath.txt
similarity index 86%
rename from androidApp/dependencies/prodDebugRuntimeClasspath.txt
rename to cmp-android/dependencies/prodDebugRuntimeClasspath.txt
index 41c5a46828..40235e1436 100644
--- a/androidApp/dependencies/prodDebugRuntimeClasspath.txt
+++ b/cmp-android/dependencies/prodDebugRuntimeClasspath.txt
@@ -9,11 +9,6 @@ androidx.appcompat:appcompat:1.7.0
androidx.arch.core:core-common:2.2.0
androidx.arch.core:core-runtime:2.2.0
androidx.autofill:autofill:1.0.0
-androidx.camera:camera-camera2:1.4.1
-androidx.camera:camera-core:1.4.1
-androidx.camera:camera-lifecycle:1.4.1
-androidx.camera:camera-video:1.4.1
-androidx.camera:camera-view:1.4.1
androidx.collection:collection-jvm:1.4.4
androidx.collection:collection-ktx:1.4.4
androidx.collection:collection:1.4.4
@@ -44,7 +39,6 @@ androidx.compose.ui:ui-geometry-android:1.7.6
androidx.compose.ui:ui-geometry:1.7.6
androidx.compose.ui:ui-graphics-android:1.7.6
androidx.compose.ui:ui-graphics:1.7.6
-androidx.compose.ui:ui-test-manifest:1.7.6
androidx.compose.ui:ui-text-android:1.7.6
androidx.compose.ui:ui-text:1.7.6
androidx.compose.ui:ui-tooling-android:1.7.6
@@ -59,15 +53,18 @@ androidx.compose.ui:ui-util-android:1.7.6
androidx.compose.ui:ui-util:1.7.6
androidx.compose.ui:ui:1.7.6
androidx.compose:compose-bom:2024.12.01
-androidx.concurrent:concurrent-futures-ktx:1.1.0
androidx.concurrent:concurrent-futures:1.1.0
androidx.core:core-ktx:1.15.0
androidx.core:core-splashscreen:1.0.1
androidx.core:core:1.15.0
androidx.cursoradapter:cursoradapter:1.0.0
androidx.customview:customview-poolingcontainer:1.0.0
-androidx.customview:customview:1.0.0
-androidx.databinding:viewbinding:7.4.2
+androidx.customview:customview:1.1.0
+androidx.databinding:databinding-adapters:8.7.3
+androidx.databinding:databinding-common:8.7.3
+androidx.databinding:databinding-ktx:8.7.3
+androidx.databinding:databinding-runtime:8.7.3
+androidx.databinding:viewbinding:8.7.3
androidx.documentfile:documentfile:1.0.0
androidx.drawerlayout:drawerlayout:1.0.0
androidx.emoji2:emoji2-views-helper:1.3.0
@@ -76,8 +73,6 @@ androidx.exifinterface:exifinterface:1.3.7
androidx.fragment:fragment-ktx:1.8.5
androidx.fragment:fragment:1.8.5
androidx.graphics:graphics-path:1.0.1
-androidx.hilt:hilt-navigation-compose:1.2.0
-androidx.hilt:hilt-navigation:1.2.0
androidx.interpolator:interpolator:1.0.0
androidx.legacy:legacy-support-core-utils:1.0.0
androidx.lifecycle:lifecycle-common-java8:2.8.7
@@ -93,6 +88,7 @@ androidx.lifecycle:lifecycle-runtime-compose:2.8.7
androidx.lifecycle:lifecycle-runtime-ktx-android:2.8.7
androidx.lifecycle:lifecycle-runtime-ktx:2.8.7
androidx.lifecycle:lifecycle-runtime:2.8.7
+androidx.lifecycle:lifecycle-service:2.8.7
androidx.lifecycle:lifecycle-viewmodel-android:2.8.7
androidx.lifecycle:lifecycle-viewmodel-compose-android:2.8.7
androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7
@@ -102,12 +98,13 @@ androidx.lifecycle:lifecycle-viewmodel:2.8.7
androidx.loader:loader:1.0.0
androidx.localbroadcastmanager:localbroadcastmanager:1.0.0
androidx.metrics:metrics-performance:1.0.0-beta01
-androidx.multidex:multidex:2.0.1
-androidx.navigation:navigation-common-ktx:2.8.5
-androidx.navigation:navigation-common:2.8.5
-androidx.navigation:navigation-compose:2.8.5
-androidx.navigation:navigation-runtime-ktx:2.8.5
-androidx.navigation:navigation-runtime:2.8.5
+androidx.navigation:navigation-common-ktx:2.8.4
+androidx.navigation:navigation-common:2.8.4
+androidx.navigation:navigation-compose:2.8.4
+androidx.navigation:navigation-fragment-ktx:2.8.4
+androidx.navigation:navigation-fragment:2.8.4
+androidx.navigation:navigation-runtime-ktx:2.8.4
+androidx.navigation:navigation-runtime:2.8.4
androidx.print:print:1.0.0
androidx.privacysandbox.ads:ads-adservices-java:1.0.0-beta05
androidx.privacysandbox.ads:ads-adservices:1.0.0-beta05
@@ -120,6 +117,7 @@ androidx.room:room-runtime-android:2.7.0-alpha12
androidx.room:room-runtime:2.7.0-alpha12
androidx.savedstate:savedstate-ktx:1.2.1
androidx.savedstate:savedstate:1.2.1
+androidx.slidingpanelayout:slidingpanelayout:1.2.0
androidx.sqlite:sqlite-android:2.5.0-alpha12
androidx.sqlite:sqlite-bundled-android:2.5.0-alpha12
androidx.sqlite:sqlite-bundled:2.5.0-alpha12
@@ -129,6 +127,7 @@ androidx.sqlite:sqlite:2.5.0-alpha12
androidx.startup:startup-runtime:1.1.1
androidx.tracing:tracing-ktx:1.2.0
androidx.tracing:tracing:1.2.0
+androidx.transition:transition:1.4.1
androidx.vectordrawable:vectordrawable-animated:1.1.0
androidx.vectordrawable:vectordrawable:1.1.0
androidx.versionedparcelable:versionedparcelable:1.1.1
@@ -152,33 +151,19 @@ com.arkivanov.essenty:utils-internal:2.1.0
com.caverock:androidsvg-aar:1.4
com.google.accompanist:accompanist-drawablepainter:0.36.0
com.google.accompanist:accompanist-pager:0.34.0
-com.google.accompanist:accompanist-permissions:0.34.0
-com.google.android.datatransport:transport-api:2.2.1
-com.google.android.datatransport:transport-backend-cct:2.3.3
-com.google.android.datatransport:transport-runtime:2.2.6
com.google.android.gms:play-services-ads-identifier:18.0.0
com.google.android.gms:play-services-base:18.5.0
com.google.android.gms:play-services-basement:18.4.0
-com.google.android.gms:play-services-maps:18.2.0
com.google.android.gms:play-services-measurement-api:22.1.2
com.google.android.gms:play-services-measurement-base:22.1.2
com.google.android.gms:play-services-measurement-impl:22.1.2
com.google.android.gms:play-services-measurement-sdk-api:22.1.2
com.google.android.gms:play-services-measurement-sdk:22.1.2
com.google.android.gms:play-services-measurement:22.1.2
-com.google.android.gms:play-services-mlkit-barcode-scanning:18.3.1
-com.google.android.gms:play-services-oss-licenses:17.1.0
com.google.android.gms:play-services-stats:17.0.2
com.google.android.gms:play-services-tasks:18.2.0
-com.google.android.odml:image:1.0.0-beta1
-com.google.auto.value:auto-value-annotations:1.6.3
com.google.code.findbugs:jsr305:3.0.2
-com.google.code.gson:gson:2.10.1
-com.google.dagger:dagger-lint-aar:2.54
-com.google.dagger:dagger:2.54
-com.google.dagger:hilt-android:2.54
-com.google.dagger:hilt-core:2.54
-com.google.errorprone:error_prone_annotations:2.28.0
+com.google.errorprone:error_prone_annotations:2.26.0
com.google.firebase:firebase-analytics-ktx:22.1.2
com.google.firebase:firebase-analytics:22.1.2
com.google.firebase:firebase-annotations:16.2.0
@@ -186,22 +171,13 @@ com.google.firebase:firebase-bom:33.7.0
com.google.firebase:firebase-common-ktx:21.0.0
com.google.firebase:firebase-common:21.0.0
com.google.firebase:firebase-components:18.0.0
-com.google.firebase:firebase-encoders-json:17.1.0
-com.google.firebase:firebase-encoders:17.0.0
com.google.firebase:firebase-installations-interop:17.1.1
com.google.firebase:firebase-installations:18.0.0
com.google.firebase:firebase-measurement-connector:19.0.0
-com.google.guava:failureaccess:1.0.2
-com.google.guava:guava:33.3.1-android
+com.google.guava:failureaccess:1.0.1
+com.google.guava:guava:31.1-android
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
-com.google.j2objc:j2objc-annotations:3.0.0
-com.google.maps.android:maps-compose:4.4.1
-com.google.maps.android:maps-ktx:5.0.0
-com.google.mlkit:barcode-scanning-common:17.0.0
-com.google.mlkit:barcode-scanning:17.3.0
-com.google.mlkit:common:18.11.0
-com.google.mlkit:vision-common:17.3.0
-com.google.mlkit:vision-interfaces:16.3.0
+com.google.j2objc:j2objc-annotations:1.3
com.russhwolf:multiplatform-settings-android-debug:1.2.0
com.russhwolf:multiplatform-settings-coroutines-android-debug:1.2.0
com.russhwolf:multiplatform-settings-coroutines:1.2.0
@@ -214,8 +190,6 @@ com.squareup.okhttp3:okhttp-sse:4.12.0
com.squareup.okhttp3:okhttp:4.12.0
com.squareup.okio:okio-jvm:3.9.1
com.squareup.okio:okio:3.9.1
-com.squareup.retrofit2:converter-gson:2.11.0
-com.squareup.retrofit2:retrofit:2.11.0
de.jensklingenberg.ktorfit:ktorfit-annotations-android-debug:2.2.0
de.jensklingenberg.ktorfit:ktorfit-annotations:2.2.0
de.jensklingenberg.ktorfit:ktorfit-lib-android-debug:2.2.0
@@ -237,13 +211,13 @@ io.coil-kt.coil3:coil-network-ktor3:3.0.4
io.coil-kt.coil3:coil-svg-android:3.0.4
io.coil-kt.coil3:coil-svg:3.0.4
io.coil-kt.coil3:coil:3.0.4
-io.github.mr0xf00:easycrop:0.1.1
io.github.vinceglb:filekit-compose-android:0.8.7
io.github.vinceglb:filekit-compose:0.8.7
io.github.vinceglb:filekit-core-android:0.8.7
io.github.vinceglb:filekit-core:0.8.7
io.insert-koin:koin-android:4.0.1-RC1
io.insert-koin:koin-androidx-compose:4.0.1-RC1
+io.insert-koin:koin-androidx-navigation:4.0.1-RC1
io.insert-koin:koin-annotations-jvm:1.4.0-RC4
io.insert-koin:koin-annotations:1.4.0-RC4
io.insert-koin:koin-bom:4.0.1-RC1
@@ -289,10 +263,8 @@ io.ktor:ktor-websocket-serialization-jvm:3.0.3
io.ktor:ktor-websocket-serialization:3.0.3
io.ktor:ktor-websockets-jvm:3.0.3
io.ktor:ktor-websockets:3.0.3
-io.michaelrocks:libphonenumber-android:8.13.35
-jakarta.inject:jakarta.inject-api:2.0.1
javax.inject:javax.inject:1
-org.checkerframework:checker-qual:3.43.0
+org.checkerframework:checker-qual:3.12.0
org.jetbrains.androidx.core:core-bundle-android-debug:1.0.1
org.jetbrains.androidx.core:core-bundle:1.0.1
org.jetbrains.androidx.lifecycle:lifecycle-common:2.8.3
@@ -325,14 +297,14 @@ org.jetbrains.compose.runtime:runtime:1.7.3
org.jetbrains.compose.ui:ui-geometry:1.7.0-rc01
org.jetbrains.compose.ui:ui-graphics:1.7.0-rc01
org.jetbrains.compose.ui:ui-text:1.7.0-rc01
-org.jetbrains.compose.ui:ui-tooling-preview:1.7.0-rc01
org.jetbrains.compose.ui:ui-unit:1.7.0-rc01
org.jetbrains.compose.ui:ui-util:1.7.0-rc01
org.jetbrains.compose.ui:ui:1.7.0-rc01
org.jetbrains.kotlin:kotlin-android-extensions-runtime:2.1.0
org.jetbrains.kotlin:kotlin-parcelize-runtime:2.1.0
-org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.23
-org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22
+org.jetbrains.kotlin:kotlin-stdlib-common:2.1.0
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.20
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.20
org.jetbrains.kotlin:kotlin-stdlib:2.1.0
org.jetbrains.kotlinx:atomicfu-jvm:0.23.2
org.jetbrains.kotlinx:atomicfu:0.23.2
@@ -358,5 +330,4 @@ org.jetbrains.kotlinx:kotlinx-serialization-json-io:1.7.3
org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.7.3
org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.3
org.jetbrains:annotations:23.0.0
-org.jspecify:jspecify:1.0.0
org.slf4j:slf4j-api:2.0.16
diff --git a/cmp-android/dependencies/prodReleaseRuntimeClasspath.tree.txt b/cmp-android/dependencies/prodReleaseRuntimeClasspath.tree.txt
new file mode 100644
index 0000000000..e9db331edd
--- /dev/null
+++ b/cmp-android/dependencies/prodReleaseRuntimeClasspath.tree.txt
@@ -0,0 +1,1542 @@
++--- androidx.databinding:databinding-common:8.7.3
++--- androidx.databinding:databinding-runtime:8.7.3
+| +--- androidx.collection:collection:1.0.0 -> 1.4.4
+| | \--- androidx.collection:collection-jvm:1.4.4
+| | +--- androidx.annotation:annotation:1.8.1 -> 1.9.1
+| | | \--- androidx.annotation:annotation-jvm:1.9.1
+| | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.24 -> 2.1.0
+| | | +--- org.jetbrains:annotations:13.0 -> 23.0.0
+| | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0 -> 1.9.20 (c)
+| | | +--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0 -> 1.9.20 (c)
+| | | \--- org.jetbrains.kotlin:kotlin-stdlib-common:2.1.0 (c)
+| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
+| | +--- androidx.collection:collection-ktx:1.4.4 (c)
+| | \--- androidx.collection:collection-ktx:1.3.0 -> 1.4.4 (c)
+| +--- androidx.databinding:databinding-common:8.7.3
+| +--- androidx.databinding:viewbinding:8.7.3
+| | \--- androidx.annotation:annotation:1.0.0 -> 1.9.1 (*)
+| \--- androidx.lifecycle:lifecycle-runtime:2.6.1 -> 2.8.7
+| \--- androidx.lifecycle:lifecycle-runtime-android:2.8.7
+| +--- androidx.annotation:annotation:1.8.0 -> 1.9.1 (*)
+| +--- androidx.arch.core:core-common:2.2.0
+| | \--- androidx.annotation:annotation:1.1.0 -> 1.9.1 (*)
+| +--- androidx.arch.core:core-runtime:2.2.0
+| | +--- androidx.annotation:annotation:1.1.0 -> 1.9.1 (*)
+| | \--- androidx.arch.core:core-common:2.2.0 (*)
+| +--- androidx.lifecycle:lifecycle-common:2.8.7
+| | \--- androidx.lifecycle:lifecycle-common-jvm:2.8.7
+| | +--- androidx.annotation:annotation:1.8.1 -> 1.9.1 (*)
+| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
+| | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 -> 1.10.1
+| | | \--- org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.10.1
+| | | +--- org.jetbrains:annotations:23.0.0
+| | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.10.1
+| | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.10.1 (c)
+| | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.10.1 (c)
+| | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.1 (c)
+| | | | \--- org.jetbrains.kotlinx:kotlinx-coroutines-slf4j:1.10.1 (c)
+| | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
+| | +--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-livedata:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-process:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-runtime:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-runtime-compose:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-service:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7 (c)
+| | \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c)
+| +--- androidx.profileinstaller:profileinstaller:1.3.1 -> 1.4.1
+| | +--- androidx.annotation:annotation:1.8.1 -> 1.9.1 (*)
+| | +--- androidx.concurrent:concurrent-futures:1.1.0
+| | | +--- androidx.annotation:annotation:1.1.0 -> 1.9.1 (*)
+| | | \--- com.google.guava:listenablefuture:1.0
+| | +--- androidx.startup:startup-runtime:1.1.1
+| | | +--- androidx.annotation:annotation:1.1.0 -> 1.9.1 (*)
+| | | \--- androidx.tracing:tracing:1.0.0 -> 1.3.0-alpha02
+| | | +--- androidx.annotation:annotation:1.2.0 -> 1.9.1 (*)
+| | | \--- androidx.tracing:tracing-ktx:1.3.0-alpha02 (c)
+| | \--- com.google.guava:listenablefuture:1.0
+| +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
+| +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3 -> 1.10.1
+| | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.1 (*)
+| | +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.10.1 (*)
+| | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
+| +--- androidx.lifecycle:lifecycle-common:2.8.7 (c)
+| +--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c)
+| +--- androidx.lifecycle:lifecycle-livedata:2.8.7 (c)
+| +--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (c)
+| +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7 (c)
+| +--- androidx.lifecycle:lifecycle-process:2.8.7 (c)
+| +--- androidx.lifecycle:lifecycle-runtime-compose:2.8.7 (c)
+| +--- androidx.lifecycle:lifecycle-runtime-ktx:2.8.7 (c)
+| +--- androidx.lifecycle:lifecycle-service:2.8.7 (c)
+| +--- androidx.lifecycle:lifecycle-viewmodel:2.8.7 (c)
+| +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (c)
+| +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7 (c)
+| \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c)
++--- androidx.databinding:databinding-adapters:8.7.3
+| +--- androidx.databinding:databinding-runtime:8.7.3 (*)
+| \--- androidx.databinding:databinding-common:8.7.3
++--- androidx.databinding:databinding-ktx:8.7.3
+| +--- androidx.databinding:databinding-runtime:8.7.3 (*)
+| +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.20
+| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.9.20 -> 2.1.0 (*)
+| | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.20
+| | \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.20 -> 2.1.0 (*)
+| +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.4.1 -> 1.10.1 (*)
+| +--- androidx.lifecycle:lifecycle-runtime-ktx:2.6.1 -> 2.8.7
+| | \--- androidx.lifecycle:lifecycle-runtime-ktx-android:2.8.7
+| | +--- androidx.annotation:annotation:1.8.0 -> 1.9.1 (*)
+| | +--- androidx.lifecycle:lifecycle-runtime:2.8.7 (*)
+| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
+| | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3 -> 1.10.1 (*)
+| | +--- androidx.lifecycle:lifecycle-common:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-livedata:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-process:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-runtime:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-runtime-compose:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-service:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7 (c)
+| | \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c)
+| +--- androidx.lifecycle:lifecycle-livedata:2.6.1 -> 2.8.7
+| | +--- androidx.arch.core:core-common:2.2.0 (*)
+| | +--- androidx.arch.core:core-runtime:2.2.0 (*)
+| | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.7
+| | | +--- androidx.arch.core:core-common:2.2.0 (*)
+| | | +--- androidx.arch.core:core-runtime:2.2.0 (*)
+| | | +--- androidx.lifecycle:lifecycle-common:2.8.7 (*)
+| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
+| | | +--- androidx.lifecycle:lifecycle-common:2.8.7 (c)
+| | | +--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c)
+| | | +--- androidx.lifecycle:lifecycle-livedata:2.8.7 (c)
+| | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7 (c)
+| | | +--- androidx.lifecycle:lifecycle-process:2.8.7 (c)
+| | | +--- androidx.lifecycle:lifecycle-runtime:2.8.7 (c)
+| | | +--- androidx.lifecycle:lifecycle-runtime-compose:2.8.7 (c)
+| | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.8.7 (c)
+| | | +--- androidx.lifecycle:lifecycle-service:2.8.7 (c)
+| | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.7 (c)
+| | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (c)
+| | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7 (c)
+| | | \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7
+| | | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (*)
+| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
+| | | +--- androidx.lifecycle:lifecycle-common:2.8.7 (c)
+| | | +--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c)
+| | | +--- androidx.lifecycle:lifecycle-livedata:2.8.7 (c)
+| | | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (c)
+| | | +--- androidx.lifecycle:lifecycle-process:2.8.7 (c)
+| | | +--- androidx.lifecycle:lifecycle-runtime:2.8.7 (c)
+| | | +--- androidx.lifecycle:lifecycle-runtime-compose:2.8.7 (c)
+| | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.8.7 (c)
+| | | +--- androidx.lifecycle:lifecycle-service:2.8.7 (c)
+| | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.7 (c)
+| | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (c)
+| | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7 (c)
+| | | \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c)
+| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
+| | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 -> 1.10.1 (*)
+| | +--- androidx.lifecycle:lifecycle-common:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-process:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-runtime:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-runtime-compose:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-service:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7 (c)
+| | \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c)
+| +--- androidx.lifecycle:lifecycle-process:2.6.1 -> 2.8.7
+| | +--- androidx.annotation:annotation:1.2.0 -> 1.9.1 (*)
+| | +--- androidx.lifecycle:lifecycle-runtime:2.8.7 (*)
+| | +--- androidx.startup:startup-runtime:1.1.1 (*)
+| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
+| | +--- androidx.lifecycle:lifecycle-common:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-livedata:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-runtime:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-runtime-compose:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-service:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7 (c)
+| | \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c)
+| +--- androidx.lifecycle:lifecycle-service:2.6.1 -> 2.8.7
+| | +--- androidx.lifecycle:lifecycle-runtime:2.8.7 (*)
+| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
+| | +--- androidx.lifecycle:lifecycle-common:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-livedata:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-process:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-runtime:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-runtime-compose:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (c)
+| | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7 (c)
+| | \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c)
+| \--- androidx.lifecycle:lifecycle-viewmodel:2.6.1 -> 2.8.7
+| \--- androidx.lifecycle:lifecycle-viewmodel-android:2.8.7
+| +--- androidx.annotation:annotation:1.8.0 -> 1.9.1 (*)
+| +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
+| +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3 -> 1.10.1 (*)
+| +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 -> 1.10.1 (*)
+| +--- androidx.lifecycle:lifecycle-common:2.8.7 (c)
+| +--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c)
+| +--- androidx.lifecycle:lifecycle-livedata:2.8.7 (c)
+| +--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (c)
+| +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7 (c)
+| +--- androidx.lifecycle:lifecycle-process:2.8.7 (c)
+| +--- androidx.lifecycle:lifecycle-runtime:2.8.7 (c)
+| +--- androidx.lifecycle:lifecycle-runtime-compose:2.8.7 (c)
+| +--- androidx.lifecycle:lifecycle-runtime-ktx:2.8.7 (c)
+| +--- androidx.lifecycle:lifecycle-service:2.8.7 (c)
+| +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (c)
+| +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7 (c)
+| \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c)
++--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
++--- androidx.compose:compose-bom:2024.12.01
+| +--- androidx.compose.runtime:runtime:1.7.6 (c)
+| +--- androidx.compose.ui:ui-tooling-preview:1.7.6 (c)
+| +--- androidx.compose.runtime:runtime-saveable:1.7.6 (c)
+| +--- androidx.compose.ui:ui:1.7.6 (c)
+| +--- androidx.compose.runtime:runtime-android:1.7.6 (c)
+| +--- androidx.compose.ui:ui-tooling-preview-android:1.7.6 (c)
+| +--- androidx.compose.material3:material3:1.3.1 (c)
+| +--- androidx.compose.runtime:runtime-saveable-android:1.7.6 (c)
+| +--- androidx.compose.ui:ui-android:1.7.6 (c)
+| +--- androidx.compose.foundation:foundation:1.7.6 (c)
+| +--- androidx.compose.material:material-icons-extended:1.7.6 (c)
+| +--- androidx.compose.ui:ui-util:1.7.6 (c)
+| +--- androidx.compose.animation:animation-core:1.7.6 (c)
+| +--- androidx.compose.foundation:foundation-layout:1.7.6 (c)
+| +--- androidx.compose.material:material-icons-core:1.7.6 (c)
+| +--- androidx.compose.material:material-ripple:1.7.6 (c)
+| +--- androidx.compose.ui:ui-graphics:1.7.6 (c)
+| +--- androidx.compose.ui:ui-text:1.7.6 (c)
+| +--- androidx.compose.material3:material3-android:1.3.1 (c)
+| +--- androidx.compose.ui:ui-geometry:1.7.6 (c)
+| +--- androidx.compose.ui:ui-unit:1.7.6 (c)
+| +--- androidx.compose.animation:animation:1.7.6 (c)
+| +--- androidx.compose.foundation:foundation-android:1.7.6 (c)
+| +--- androidx.compose.material:material-icons-extended-android:1.7.6 (c)
+| +--- androidx.compose.ui:ui-util-android:1.7.6 (c)
+| +--- androidx.compose.animation:animation-core-android:1.7.6 (c)
+| +--- androidx.compose.foundation:foundation-layout-android:1.7.6 (c)
+| +--- androidx.compose.material:material-icons-core-android:1.7.6 (c)
+| +--- androidx.compose.material:material-ripple-android:1.7.6 (c)
+| +--- androidx.compose.ui:ui-graphics-android:1.7.6 (c)
+| +--- androidx.compose.ui:ui-text-android:1.7.6 (c)
+| +--- androidx.compose.ui:ui-geometry-android:1.7.6 (c)
+| +--- androidx.compose.ui:ui-unit-android:1.7.6 (c)
+| \--- androidx.compose.animation:animation-android:1.7.6 (c)
++--- androidx.compose.ui:ui-tooling-preview -> 1.7.6
+| \--- androidx.compose.ui:ui-tooling-preview-android:1.7.6
+| +--- androidx.annotation:annotation:1.2.0 -> 1.9.1 (*)
+| +--- androidx.compose.runtime:runtime:1.7.6
+| | \--- androidx.compose.runtime:runtime-android:1.7.6
+| | +--- androidx.annotation:annotation-experimental:1.4.1
+| | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.7.10 -> 2.1.0 (*)
+| | +--- androidx.collection:collection:1.4.4 (*)
+| | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
+| | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3 -> 1.10.1 (*)
+| | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 -> 1.10.1 (*)
+| | \--- androidx.compose.runtime:runtime-saveable:1.7.6 (c)
+| +--- androidx.compose.ui:ui:1.7.6 (c)
+| +--- androidx.compose.ui:ui-geometry:1.7.6 (c)
+| +--- androidx.compose.ui:ui-graphics:1.7.6 (c)
+| +--- androidx.compose.ui:ui-text:1.7.6 (c)
+| +--- androidx.compose.ui:ui-unit:1.7.6 (c)
+| \--- androidx.compose.ui:ui-util:1.7.6 (c)
++--- project :cmp-shared
+| +--- io.insert-koin:koin-bom:4.0.1-RC1
+| | +--- io.insert-koin:koin-core:4.0.1-RC1 (c)
+| | +--- io.insert-koin:koin-core-viewmodel:4.0.1-RC1 (c)
+| | +--- io.insert-koin:koin-android:4.0.1-RC1 (c)
+| | +--- io.insert-koin:koin-androidx-navigation:4.0.1-RC1 (c)
+| | +--- io.insert-koin:koin-compose:4.0.1-RC1 (c)
+| | +--- io.insert-koin:koin-compose-viewmodel:4.0.1-RC1 (c)
+| | \--- io.insert-koin:koin-androidx-compose:4.0.1-RC1 (c)
+| +--- io.insert-koin:koin-android:4.0.1-RC1
+| | +--- io.insert-koin:koin-core:4.0.1-RC1
+| | | \--- io.insert-koin:koin-core-jvm:4.0.1-RC1
+| | | +--- org.jetbrains.kotlin:kotlin-stdlib:2.0.21 -> 2.1.0 (*)
+| | | +--- co.touchlab:stately-concurrency:2.1.0
+| | | | \--- co.touchlab:stately-concurrency-jvm:2.1.0
+| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.9.23 -> 2.1.0 (*)
+| | | | \--- co.touchlab:stately-strict:2.1.0
+| | | | \--- co.touchlab:stately-strict-jvm:2.1.0
+| | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.23 -> 2.1.0 (*)
+| | | \--- co.touchlab:stately-concurrent-collections:2.1.0
+| | | \--- co.touchlab:stately-concurrent-collections-jvm:2.1.0
+| | | +--- co.touchlab:stately-concurrency:2.1.0 (*)
+| | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.23 -> 2.1.0 (*)
+| | +--- io.insert-koin:koin-core-viewmodel:4.0.1-RC1
+| | | \--- io.insert-koin:koin-core-viewmodel-jvm:4.0.1-RC1
+| | | +--- io.insert-koin:koin-core:4.0.1-RC1 (*)
+| | | +--- org.jetbrains.androidx.lifecycle:lifecycle-viewmodel:2.8.3
+| | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.5 -> 2.8.7 (*)
+| | | | +--- org.jetbrains.compose.annotation-internal:annotation:1.6.11 -> 1.7.3
+| | | | | +--- androidx.annotation:annotation:1.8.0 -> 1.9.1 (*)
+| | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.24 -> 2.1.0 (*)
+| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.9.24 -> 2.1.0 (*)
+| | | | \--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.0 -> 1.10.1 (*)
+| | | +--- org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.3
+| | | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.5 -> 2.8.7
+| | | | | +--- androidx.annotation:annotation:1.0.0 -> 1.9.1 (*)
+| | | | | +--- androidx.core:core-ktx:1.2.0 -> 1.15.0
+| | | | | | +--- androidx.annotation:annotation:1.8.1 -> 1.9.1 (*)
+| | | | | | +--- androidx.core:core:1.15.0
+| | | | | | | +--- androidx.annotation:annotation:1.8.1 -> 1.9.1 (*)
+| | | | | | | +--- androidx.annotation:annotation-experimental:1.4.1 (*)
+| | | | | | | +--- androidx.collection:collection:1.4.2 -> 1.4.4 (*)
+| | | | | | | +--- androidx.concurrent:concurrent-futures:1.0.0 -> 1.1.0 (*)
+| | | | | | | +--- androidx.interpolator:interpolator:1.0.0
+| | | | | | | | \--- androidx.annotation:annotation:1.0.0 -> 1.9.1 (*)
+| | | | | | | +--- androidx.lifecycle:lifecycle-runtime:2.6.2 -> 2.8.7 (*)
+| | | | | | | +--- androidx.tracing:tracing:1.2.0 -> 1.3.0-alpha02 (*)
+| | | | | | | +--- androidx.versionedparcelable:versionedparcelable:1.1.1
+| | | | | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.9.1 (*)
+| | | | | | | | \--- androidx.collection:collection:1.0.0 -> 1.4.4 (*)
+| | | | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
+| | | | | | | \--- androidx.core:core-ktx:1.15.0 (c)
+| | | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
+| | | | | | \--- androidx.core:core:1.15.0 (c)
+| | | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (*)
+| | | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.7 (*)
+| | | | | +--- androidx.savedstate:savedstate:1.2.1
+| | | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.9.1 (*)
+| | | | | | +--- androidx.arch.core:core-common:2.1.0 -> 2.2.0 (*)
+| | | | | | +--- androidx.lifecycle:lifecycle-common:2.6.1 -> 2.8.7 (*)
+| | | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.10 -> 2.1.0 (*)
+| | | | | | \--- androidx.savedstate:savedstate-ktx:1.2.1 (c)
+| | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
+| | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3 -> 1.10.1 (*)
+| | | | | +--- androidx.lifecycle:lifecycle-common:2.8.7 (c)
+| | | | | +--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c)
+| | | | | +--- androidx.lifecycle:lifecycle-livedata:2.8.7 (c)
+| | | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (c)
+| | | | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7 (c)
+| | | | | +--- androidx.lifecycle:lifecycle-process:2.8.7 (c)
+| | | | | +--- androidx.lifecycle:lifecycle-runtime:2.8.7 (c)
+| | | | | +--- androidx.lifecycle:lifecycle-runtime-compose:2.8.7 (c)
+| | | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.8.7 (c)
+| | | | | +--- androidx.lifecycle:lifecycle-service:2.8.7 (c)
+| | | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.7 (c)
+| | | | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (c)
+| | | | | \--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7 (c)
+| | | | +--- org.jetbrains.androidx.core:core-bundle:1.0.1
+| | | | | \--- org.jetbrains.androidx.core:core-bundle-android:1.0.1
+| | | | | +--- androidx.core:core-ktx:1.2.0 -> 1.15.0 (*)
+| | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.24 -> 2.1.0 (*)
+| | | | +--- org.jetbrains.androidx.lifecycle:lifecycle-common:2.8.3
+| | | | | +--- androidx.lifecycle:lifecycle-common:2.8.5 -> 2.8.7 (*)
+| | | | | +--- org.jetbrains.compose.annotation-internal:annotation:1.6.11 -> 1.7.3 (*)
+| | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.9.24 -> 2.1.0 (*)
+| | | | | \--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.0 -> 1.10.1 (*)
+| | | | +--- org.jetbrains.androidx.lifecycle:lifecycle-viewmodel:2.8.3 (*)
+| | | | +--- org.jetbrains.androidx.savedstate:savedstate:1.2.2
+| | | | | +--- androidx.arch.core:core-common:2.2.0 (*)
+| | | | | +--- androidx.savedstate:savedstate:1.2.1 (*)
+| | | | | +--- org.jetbrains.androidx.core:core-bundle:1.0.1 (*)
+| | | | | +--- org.jetbrains.androidx.lifecycle:lifecycle-common:2.8.2 -> 2.8.3 (*)
+| | | | | +--- org.jetbrains.compose.annotation-internal:annotation:1.6.11 -> 1.7.3 (*)
+| | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.24 -> 2.1.0 (*)
+| | | | +--- org.jetbrains.compose.annotation-internal:annotation:1.6.11 -> 1.7.3 (*)
+| | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.24 -> 2.1.0 (*)
+| | | +--- org.jetbrains.androidx.core:core-bundle:1.0.1 (*)
+| | | +--- org.jetbrains.androidx.savedstate:savedstate:1.2.2 (*)
+| | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.21 -> 2.1.0 (*)
+| | +--- androidx.appcompat:appcompat:1.7.0
+| | | +--- androidx.activity:activity:1.7.0 -> 1.9.3
+| | | | +--- androidx.annotation:annotation:1.1.0 -> 1.9.1 (*)
+| | | | +--- androidx.collection:collection:1.0.0 -> 1.4.4 (*)
+| | | | +--- androidx.core:core:1.13.0 -> 1.15.0 (*)
+| | | | +--- androidx.lifecycle:lifecycle-runtime:2.6.1 -> 2.8.7 (*)
+| | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.6.1 -> 2.8.7 (*)
+| | | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.6.1 -> 2.8.7 (*)
+| | | | +--- androidx.profileinstaller:profileinstaller:1.3.1 -> 1.4.1 (*)
+| | | | +--- androidx.savedstate:savedstate:1.2.1 (*)
+| | | | +--- androidx.tracing:tracing:1.0.0 -> 1.3.0-alpha02 (*)
+| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
+| | | | +--- androidx.activity:activity-compose:1.9.3 (c)
+| | | | \--- androidx.activity:activity-ktx:1.9.3 (c)
+| | | +--- androidx.annotation:annotation:1.3.0 -> 1.9.1 (*)
+| | | +--- androidx.appcompat:appcompat-resources:1.7.0
+| | | | +--- androidx.annotation:annotation:1.2.0 -> 1.9.1 (*)
+| | | | +--- androidx.collection:collection:1.0.0 -> 1.4.4 (*)
+| | | | +--- androidx.core:core:1.6.0 -> 1.15.0 (*)
+| | | | +--- androidx.vectordrawable:vectordrawable:1.1.0
+| | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.9.1 (*)
+| | | | | +--- androidx.core:core:1.1.0 -> 1.15.0 (*)
+| | | | | \--- androidx.collection:collection:1.1.0 -> 1.4.4 (*)
+| | | | +--- androidx.vectordrawable:vectordrawable-animated:1.1.0
+| | | | | +--- androidx.vectordrawable:vectordrawable:1.1.0 (*)
+| | | | | +--- androidx.interpolator:interpolator:1.0.0 (*)
+| | | | | \--- androidx.collection:collection:1.1.0 -> 1.4.4 (*)
+| | | | \--- androidx.appcompat:appcompat:1.7.0 (c)
+| | | +--- androidx.collection:collection:1.0.0 -> 1.4.4 (*)
+| | | +--- androidx.core:core:1.13.0 -> 1.15.0 (*)
+| | | +--- androidx.core:core-ktx:1.13.0 -> 1.15.0 (*)
+| | | +--- androidx.cursoradapter:cursoradapter:1.0.0
+| | | | \--- androidx.annotation:annotation:1.0.0 -> 1.9.1 (*)
+| | | +--- androidx.drawerlayout:drawerlayout:1.0.0
+| | | | +--- androidx.annotation:annotation:1.0.0 -> 1.9.1 (*)
+| | | | +--- androidx.core:core:1.0.0 -> 1.15.0 (*)
+| | | | \--- androidx.customview:customview:1.0.0 -> 1.1.0
+| | | | +--- androidx.annotation:annotation:1.1.0 -> 1.9.1 (*)
+| | | | +--- androidx.core:core:1.3.0 -> 1.15.0 (*)
+| | | | \--- androidx.collection:collection:1.1.0 -> 1.4.4 (*)
+| | | +--- androidx.emoji2:emoji2:1.3.0
+| | | | +--- androidx.annotation:annotation:1.2.0 -> 1.9.1 (*)
+| | | | +--- androidx.collection:collection:1.1.0 -> 1.4.4 (*)
+| | | | +--- androidx.core:core:1.3.0 -> 1.15.0 (*)
+| | | | +--- androidx.lifecycle:lifecycle-process:2.4.1 -> 2.8.7 (*)
+| | | | +--- androidx.startup:startup-runtime:1.0.0 -> 1.1.1 (*)
+| | | | \--- androidx.emoji2:emoji2-views-helper:1.3.0 (c)
+| | | +--- androidx.emoji2:emoji2-views-helper:1.2.0 -> 1.3.0
+| | | | +--- androidx.collection:collection:1.1.0 -> 1.4.4 (*)
+| | | | +--- androidx.core:core:1.3.0 -> 1.15.0 (*)
+| | | | +--- androidx.emoji2:emoji2:1.3.0 (*)
+| | | | \--- androidx.emoji2:emoji2:1.3.0 (c)
+| | | +--- androidx.fragment:fragment:1.5.4 -> 1.8.5
+| | | | +--- androidx.activity:activity:1.8.1 -> 1.9.3 (*)
+| | | | +--- androidx.annotation:annotation:1.1.0 -> 1.9.1 (*)
+| | | | +--- androidx.annotation:annotation-experimental:1.4.0 -> 1.4.1 (*)
+| | | | +--- androidx.collection:collection:1.1.0 -> 1.4.4 (*)
+| | | | +--- androidx.core:core-ktx:1.2.0 -> 1.15.0 (*)
+| | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.6.1 -> 2.8.7 (*)
+| | | | +--- androidx.lifecycle:lifecycle-runtime:2.6.1 -> 2.8.7 (*)
+| | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.6.1 -> 2.8.7 (*)
+| | | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.6.1 -> 2.8.7 (*)
+| | | | +--- androidx.loader:loader:1.0.0
+| | | | | +--- androidx.annotation:annotation:1.0.0 -> 1.9.1 (*)
+| | | | | +--- androidx.core:core:1.0.0 -> 1.15.0 (*)
+| | | | | +--- androidx.lifecycle:lifecycle-livedata:2.0.0 -> 2.8.7 (*)
+| | | | | \--- androidx.lifecycle:lifecycle-viewmodel:2.0.0 -> 2.8.7 (*)
+| | | | +--- androidx.profileinstaller:profileinstaller:1.3.1 -> 1.4.1 (*)
+| | | | +--- androidx.savedstate:savedstate:1.2.1 (*)
+| | | | +--- androidx.viewpager:viewpager:1.0.0
+| | | | | +--- androidx.annotation:annotation:1.0.0 -> 1.9.1 (*)
+| | | | | +--- androidx.core:core:1.0.0 -> 1.15.0 (*)
+| | | | | \--- androidx.customview:customview:1.0.0 -> 1.1.0 (*)
+| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
+| | | | \--- androidx.fragment:fragment-ktx:1.8.5 (c)
+| | | +--- androidx.lifecycle:lifecycle-runtime:2.6.1 -> 2.8.7 (*)
+| | | +--- androidx.lifecycle:lifecycle-viewmodel:2.6.1 -> 2.8.7 (*)
+| | | +--- androidx.profileinstaller:profileinstaller:1.3.1 -> 1.4.1 (*)
+| | | +--- androidx.resourceinspection:resourceinspection-annotation:1.0.1
+| | | | \--- androidx.annotation:annotation:1.1.0 -> 1.9.1 (*)
+| | | +--- androidx.savedstate:savedstate:1.2.1 (*)
+| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
+| | | \--- androidx.appcompat:appcompat-resources:1.7.0 (c)
+| | +--- androidx.activity:activity-ktx:1.9.3
+| | | +--- androidx.activity:activity:1.9.3 (*)
+| | | +--- androidx.core:core-ktx:1.13.0 -> 1.15.0 (*)
+| | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.6.1 -> 2.8.7 (*)
+| | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.1 -> 2.8.7
+| | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.7 (*)
+| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
+| | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3 -> 1.10.1 (*)
+| | | | +--- androidx.lifecycle:lifecycle-common:2.8.7 (c)
+| | | | +--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c)
+| | | | +--- androidx.lifecycle:lifecycle-livedata:2.8.7 (c)
+| | | | +--- androidx.lifecycle:lifecycle-process:2.8.7 (c)
+| | | | +--- androidx.lifecycle:lifecycle-runtime:2.8.7 (c)
+| | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.8.7 (c)
+| | | | +--- androidx.lifecycle:lifecycle-service:2.8.7 (c)
+| | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.7 (c)
+| | | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (c)
+| | | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c)
+| | | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7 (c)
+| | | | +--- androidx.lifecycle:lifecycle-runtime-compose:2.8.7 (c)
+| | | | \--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (c)
+| | | +--- androidx.savedstate:savedstate-ktx:1.2.1
+| | | | +--- androidx.savedstate:savedstate:1.2.1 (*)
+| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.10 -> 2.1.0 (*)
+| | | | \--- androidx.savedstate:savedstate:1.2.1 (c)
+| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
+| | | +--- androidx.activity:activity:1.9.3 (c)
+| | | \--- androidx.activity:activity-compose:1.9.3 (c)
+| | +--- androidx.fragment:fragment-ktx:1.8.5
+| | | +--- androidx.activity:activity-ktx:1.8.1 -> 1.9.3 (*)
+| | | +--- androidx.collection:collection-ktx:1.1.0 -> 1.4.4
+| | | | +--- androidx.collection:collection:1.4.4 (*)
+| | | | \--- androidx.collection:collection:1.4.4 (c)
+| | | +--- androidx.core:core-ktx:1.2.0 -> 1.15.0 (*)
+| | | +--- androidx.fragment:fragment:1.8.5 (*)
+| | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.6.1 -> 2.8.7 (*)
+| | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.1 -> 2.8.7 (*)
+| | | +--- androidx.savedstate:savedstate-ktx:1.2.1 (*)
+| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
+| | | \--- androidx.fragment:fragment:1.8.5 (c)
+| | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7 (*)
+| | +--- androidx.lifecycle:lifecycle-common-java8:2.8.7
+| | | +--- androidx.annotation:annotation:1.1.0 -> 1.9.1 (*)
+| | | +--- androidx.lifecycle:lifecycle-common:2.8.7 (*)
+| | | +--- androidx.lifecycle:lifecycle-common:2.8.7 (c)
+| | | +--- androidx.lifecycle:lifecycle-livedata:2.8.7 (c)
+| | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7 (c)
+| | | +--- androidx.lifecycle:lifecycle-process:2.8.7 (c)
+| | | +--- androidx.lifecycle:lifecycle-runtime:2.8.7 (c)
+| | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.8.7 (c)
+| | | +--- androidx.lifecycle:lifecycle-service:2.8.7 (c)
+| | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.7 (c)
+| | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (c)
+| | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7 (c)
+| | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c)
+| | | +--- androidx.lifecycle:lifecycle-runtime-compose:2.8.7 (c)
+| | | \--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (c)
+| | \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.21 -> 2.1.0 (*)
+| +--- io.insert-koin:koin-androidx-compose:4.0.1-RC1
+| | +--- io.insert-koin:koin-android:4.0.1-RC1 (*)
+| | +--- io.insert-koin:koin-compose:4.0.1-RC1
+| | | \--- io.insert-koin:koin-compose-jvm:4.0.1-RC1
+| | | +--- io.insert-koin:koin-core:4.0.1-RC1 (*)
+| | | +--- org.jetbrains.compose.runtime:runtime:1.6.11 -> 1.7.3
+| | | | +--- androidx.compose.runtime:runtime:1.7.6 (*)
+| | | | +--- org.jetbrains.compose.collection-internal:collection:1.7.3
+| | | | | +--- androidx.collection:collection:1.4.0 -> 1.4.4 (*)
+| | | | | +--- org.jetbrains.compose.annotation-internal:annotation:1.7.3 (*)
+| | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.9.24 -> 2.1.0 (*)
+| | | | | \--- org.jetbrains.kotlinx:atomicfu:0.23.2
+| | | | | \--- org.jetbrains.kotlinx:atomicfu-jvm:0.23.2
+| | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:{prefer 1.9.21} -> 2.1.0 (*)
+| | | | +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.9.24 -> 2.1.0
+| | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
+| | | | +--- org.jetbrains.kotlinx:atomicfu:0.23.2 (*)
+| | | | \--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.0 -> 1.10.1 (*)
+| | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.21 -> 2.1.0 (*)
+| | +--- androidx.compose.runtime:runtime:1.6.8 -> 1.7.6 (*)
+| | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7
+| | | \--- androidx.lifecycle:lifecycle-viewmodel-compose-android:2.8.7
+| | | +--- androidx.annotation:annotation:1.8.0 -> 1.9.1 (*)
+| | | +--- androidx.compose.runtime:runtime:1.6.0 -> 1.7.6 (*)
+| | | +--- androidx.compose.ui:ui:1.6.0 -> 1.7.6
+| | | | \--- androidx.compose.ui:ui-android:1.7.6
+| | | | +--- androidx.activity:activity-ktx:1.7.0 -> 1.9.3 (*)
+| | | | +--- androidx.annotation:annotation:1.8.0 -> 1.9.1 (*)
+| | | | +--- androidx.annotation:annotation-experimental:1.4.0 -> 1.4.1 (*)
+| | | | +--- androidx.autofill:autofill:1.0.0
+| | | | | \--- androidx.core:core:1.1.0 -> 1.15.0 (*)
+| | | | +--- androidx.collection:collection:1.0.0 -> 1.4.4 (*)
+| | | | +--- androidx.collection:collection:1.4.0 -> 1.4.4 (*)
+| | | | +--- androidx.compose.runtime:runtime:1.7.6 (*)
+| | | | +--- androidx.compose.runtime:runtime-saveable:1.7.6
+| | | | | \--- androidx.compose.runtime:runtime-saveable-android:1.7.6
+| | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.9.1 (*)
+| | | | | +--- androidx.collection:collection:1.4.0 -> 1.4.4 (*)
+| | | | | +--- androidx.compose.runtime:runtime:1.7.6 (*)
+| | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
+| | | | | \--- androidx.compose.runtime:runtime:1.7.6 (c)
+| | | | +--- androidx.compose.ui:ui-geometry:1.7.6
+| | | | | \--- androidx.compose.ui:ui-geometry-android:1.7.6
+| | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.9.1 (*)
+| | | | | +--- androidx.compose.runtime:runtime:1.7.6 (*)
+| | | | | +--- androidx.compose.ui:ui-util:1.7.6
+| | | | | | \--- androidx.compose.ui:ui-util-android:1.7.6
+| | | | | | +--- androidx.annotation:annotation-experimental:1.4.0 -> 1.4.1 (*)
+| | | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
+| | | | | | +--- androidx.compose.ui:ui:1.7.6 (c)
+| | | | | | +--- androidx.compose.ui:ui-geometry:1.7.6 (c)
+| | | | | | +--- androidx.compose.ui:ui-graphics:1.7.6 (c)
+| | | | | | +--- androidx.compose.ui:ui-text:1.7.6 (c)
+| | | | | | +--- androidx.compose.ui:ui-tooling-preview:1.7.6 (c)
+| | | | | | \--- androidx.compose.ui:ui-unit:1.7.6 (c)
+| | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
+| | | | | +--- androidx.compose.ui:ui:1.7.6 (c)
+| | | | | +--- androidx.compose.ui:ui-graphics:1.7.6 (c)
+| | | | | +--- androidx.compose.ui:ui-text:1.7.6 (c)
+| | | | | +--- androidx.compose.ui:ui-tooling-preview:1.7.6 (c)
+| | | | | +--- androidx.compose.ui:ui-unit:1.7.6 (c)
+| | | | | \--- androidx.compose.ui:ui-util:1.7.6 (c)
+| | | | +--- androidx.compose.ui:ui-graphics:1.7.6
+| | | | | \--- androidx.compose.ui:ui-graphics-android:1.7.6
+| | | | | +--- androidx.annotation:annotation:1.7.0 -> 1.9.1 (*)
+| | | | | +--- androidx.annotation:annotation-experimental:1.4.0 -> 1.4.1 (*)
+| | | | | +--- androidx.collection:collection:1.4.0 -> 1.4.4 (*)
+| | | | | +--- androidx.compose.runtime:runtime:1.7.6 (*)
+| | | | | +--- androidx.compose.ui:ui-unit:1.7.6
+| | | | | | \--- androidx.compose.ui:ui-unit-android:1.7.6
+| | | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.9.1 (*)
+| | | | | | +--- androidx.annotation:annotation:1.8.0 -> 1.9.1 (*)
+| | | | | | +--- androidx.annotation:annotation-experimental:1.4.0 -> 1.4.1 (*)
+| | | | | | +--- androidx.collection:collection:1.4.0 -> 1.4.4 (*)
+| | | | | | +--- androidx.collection:collection-ktx:1.2.0 -> 1.4.4 (*)
+| | | | | | +--- androidx.compose.runtime:runtime:1.7.6 (*)
+| | | | | | +--- androidx.compose.ui:ui-geometry:1.7.6 (*)
+| | | | | | +--- androidx.compose.ui:ui-util:1.7.6 (*)
+| | | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
+| | | | | | +--- androidx.compose.ui:ui:1.7.6 (c)
+| | | | | | +--- androidx.compose.ui:ui-geometry:1.7.6 (c)
+| | | | | | +--- androidx.compose.ui:ui-graphics:1.7.6 (c)
+| | | | | | +--- androidx.compose.ui:ui-text:1.7.6 (c)
+| | | | | | +--- androidx.compose.ui:ui-tooling-preview:1.7.6 (c)
+| | | | | | \--- androidx.compose.ui:ui-util:1.7.6 (c)
+| | | | | +--- androidx.compose.ui:ui-util:1.7.6 (*)
+| | | | | +--- androidx.core:core:1.12.0 -> 1.15.0 (*)
+| | | | | +--- androidx.graphics:graphics-path:1.0.1
+| | | | | | +--- androidx.core:core:1.12.0 -> 1.15.0 (*)
+| | | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
+| | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
+| | | | | +--- androidx.compose.ui:ui:1.7.6 (c)
+| | | | | +--- androidx.compose.ui:ui-geometry:1.7.6 (c)
+| | | | | +--- androidx.compose.ui:ui-text:1.7.6 (c)
+| | | | | +--- androidx.compose.ui:ui-tooling-preview:1.7.6 (c)
+| | | | | +--- androidx.compose.ui:ui-unit:1.7.6 (c)
+| | | | | \--- androidx.compose.ui:ui-util:1.7.6 (c)
+| | | | +--- androidx.compose.ui:ui-text:1.7.6
+| | | | | \--- androidx.compose.ui:ui-text-android:1.7.6
+| | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.9.1 (*)
+| | | | | +--- androidx.annotation:annotation-experimental:1.4.0 -> 1.4.1 (*)
+| | | | | +--- androidx.collection:collection:1.4.0 -> 1.4.4 (*)
+| | | | | +--- androidx.compose.runtime:runtime:1.7.6 (*)
+| | | | | +--- androidx.compose.runtime:runtime-saveable:1.7.6 (*)
+| | | | | +--- androidx.compose.ui:ui-graphics:1.7.6 (*)
+| | | | | +--- androidx.compose.ui:ui-unit:1.7.6 (*)
+| | | | | +--- androidx.compose.ui:ui-util:1.7.6 (*)
+| | | | | +--- androidx.core:core:1.7.0 -> 1.15.0 (*)
+| | | | | +--- androidx.emoji2:emoji2:1.2.0 -> 1.3.0 (*)
+| | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
+| | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 -> 1.10.1 (*)
+| | | | | +--- androidx.compose.ui:ui:1.7.6 (c)
+| | | | | +--- androidx.compose.ui:ui-geometry:1.7.6 (c)
+| | | | | +--- androidx.compose.ui:ui-graphics:1.7.6 (c)
+| | | | | +--- androidx.compose.ui:ui-tooling-preview:1.7.6 (c)
+| | | | | +--- androidx.compose.ui:ui-unit:1.7.6 (c)
+| | | | | \--- androidx.compose.ui:ui-util:1.7.6 (c)
+| | | | +--- androidx.compose.ui:ui-unit:1.7.6 (*)
+| | | | +--- androidx.compose.ui:ui-util:1.7.6 (*)
+| | | | +--- androidx.core:core:1.12.0 -> 1.15.0 (*)
+| | | | +--- androidx.customview:customview-poolingcontainer:1.0.0
+| | | | | +--- androidx.core:core-ktx:1.5.0 -> 1.15.0 (*)
+| | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 2.1.0 (*)
+| | | | +--- androidx.emoji2:emoji2:1.2.0 -> 1.3.0 (*)
+| | | | +--- androidx.lifecycle:lifecycle-runtime-compose:2.8.3 -> 2.8.7
+| | | | | \--- androidx.lifecycle:lifecycle-runtime-compose-android:2.8.7
+| | | | | +--- androidx.annotation:annotation:1.8.1 -> 1.9.1 (*)
+| | | | | +--- androidx.compose.runtime:runtime:1.7.1 -> 1.7.6 (*)
+| | | | | +--- androidx.lifecycle:lifecycle-runtime:2.8.7 (*)
+| | | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.8.7 (*)
+| | | | | +--- androidx.lifecycle:lifecycle-common:2.8.7 (c)
+| | | | | +--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c)
+| | | | | +--- androidx.lifecycle:lifecycle-livedata:2.8.7 (c)
+| | | | | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (c)
+| | | | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7 (c)
+| | | | | +--- androidx.lifecycle:lifecycle-process:2.8.7 (c)
+| | | | | +--- androidx.lifecycle:lifecycle-runtime:2.8.7 (c)
+| | | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.8.7 (c)
+| | | | | +--- androidx.lifecycle:lifecycle-service:2.8.7 (c)
+| | | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.7 (c)
+| | | | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7 (c)
+| | | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7 (c)
+| | | | | \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c)
+| | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.6.1 -> 2.8.7 (*)
+| | | | +--- androidx.profileinstaller:profileinstaller:1.3.1 -> 1.4.1 (*)
+| | | | +--- androidx.savedstate:savedstate-ktx:1.2.1 (*)
+| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
+| | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3 -> 1.10.1 (*)
+| | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 -> 1.10.1 (*)
+| | | | +--- androidx.compose.ui:ui-geometry:1.7.6 (c)
+| | | | +--- androidx.compose.ui:ui-graphics:1.7.6 (c)
+| | | | +--- androidx.compose.ui:ui-text:1.7.6 (c)
+| | | | +--- androidx.compose.ui:ui-tooling-preview:1.7.6 (c)
+| | | | +--- androidx.compose.ui:ui-unit:1.7.6 (c)
+| | | | +--- androidx.compose.ui:ui-util:1.7.6 (c)
+| | | | \--- androidx.compose.foundation:foundation:1.7.6 (c)
+| | | +--- androidx.lifecycle:lifecycle-common:2.8.7 (*)
+| | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.7 (*)
+| | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (*)
+| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
+| | | +--- androidx.lifecycle:lifecycle-common:2.8.7 (c)
+| | | +--- androidx.lifecycle:lifecycle-common-java8:2.8.7 (c)
+| | | +--- androidx.lifecycle:lifecycle-livedata:2.8.7 (c)
+| | | +--- androidx.lifecycle:lifecycle-livedata-core:2.8.7 (c)
+| | | +--- androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.7 (c)
+| | | +--- androidx.lifecycle:lifecycle-process:2.8.7 (c)
+| | | +--- androidx.lifecycle:lifecycle-runtime:2.8.7 (c)
+| | | +--- androidx.lifecycle:lifecycle-runtime-compose:2.8.7 (c)
+| | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.8.7 (c)
+| | | +--- androidx.lifecycle:lifecycle-service:2.8.7 (c)
+| | | +--- androidx.lifecycle:lifecycle-viewmodel:2.8.7 (c)
+| | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7 (c)
+| | | \--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.7 (c)
+| | \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.21 -> 2.1.0 (*)
+| +--- io.insert-koin:koin-androidx-navigation:4.0.1-RC1
+| | +--- io.insert-koin:koin-android:4.0.1-RC1 (*)
+| | +--- androidx.navigation:navigation-fragment-ktx:2.8.4
+| | | +--- androidx.navigation:navigation-fragment:2.8.4
+| | | | +--- androidx.fragment:fragment-ktx:1.6.2 -> 1.8.5 (*)
+| | | | +--- androidx.navigation:navigation-runtime:2.8.4
+| | | | | +--- androidx.activity:activity-ktx:1.7.1 -> 1.9.3 (*)
+| | | | | +--- androidx.annotation:annotation-experimental:1.4.1 (*)
+| | | | | +--- androidx.collection:collection:1.4.2 -> 1.4.4 (*)
+| | | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.6.2 -> 2.8.7 (*)
+| | | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.2 -> 2.8.7 (*)
+| | | | | +--- androidx.navigation:navigation-common:2.8.4
+| | | | | | +--- androidx.annotation:annotation:1.8.1 -> 1.9.1 (*)
+| | | | | | +--- androidx.collection:collection-ktx:1.4.2 -> 1.4.4 (*)
+| | | | | | +--- androidx.core:core-ktx:1.1.0 -> 1.15.0 (*)
+| | | | | | +--- androidx.lifecycle:lifecycle-common:2.6.2 -> 2.8.7 (*)
+| | | | | | +--- androidx.lifecycle:lifecycle-runtime-ktx:2.6.2 -> 2.8.7 (*)
+| | | | | | +--- androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.2 -> 2.8.7 (*)
+| | | | | | +--- androidx.lifecycle:lifecycle-viewmodel-savedstate:2.6.2 -> 2.8.7 (*)
+| | | | | | +--- androidx.profileinstaller:profileinstaller:1.3.1 -> 1.4.1 (*)
+| | | | | | +--- androidx.savedstate:savedstate-ktx:1.2.1 (*)
+| | | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
+| | | | | | +--- org.jetbrains.kotlinx:kotlinx-serialization-core:1.6.3 -> 1.7.3
+| | | | | | | \--- org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.7.3
+| | | | | | | +--- org.jetbrains.kotlinx:kotlinx-serialization-bom:1.7.3
+| | | | | | | | +--- org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.7.3 (c)
+| | | | | | | | +--- org.jetbrains.kotlinx:kotlinx-serialization-core:1.7.3 (c)
+| | | | | | | | +--- org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.7.3 (c)
+| | | | | | | | +--- org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.3 (c)
+| | | | | | | | +--- org.jetbrains.kotlinx:kotlinx-serialization-json-io:1.7.3 (c)
+| | | | | | | | \--- org.jetbrains.kotlinx:kotlinx-serialization-json-io-jvm:1.7.3 (c)
+| | | | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.20 -> 2.1.0 (*)
+| | | | | | +--- androidx.navigation:navigation-common-ktx:2.8.4 (c)
+| | | | | | +--- androidx.navigation:navigation-compose:2.8.4 (c)
+| | | | | | +--- androidx.navigation:navigation-fragment:2.8.4 (c)
+| | | | | | +--- androidx.navigation:navigation-fragment-ktx:2.8.4 (c)
+| | | | | | +--- androidx.navigation:navigation-runtime:2.8.4 (c)
+| | | | | | \--- androidx.navigation:navigation-runtime-ktx:2.8.4 (c)
+| | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
+| | | | | +--- org.jetbrains.kotlinx:kotlinx-serialization-core:1.6.3 -> 1.7.3 (*)
+| | | | | +--- androidx.navigation:navigation-common:2.8.4 (c)
+| | | | | +--- androidx.navigation:navigation-common-ktx:2.8.4 (c)
+| | | | | +--- androidx.navigation:navigation-compose:2.8.4 (c)
+| | | | | +--- androidx.navigation:navigation-fragment:2.8.4 (c)
+| | | | | +--- androidx.navigation:navigation-fragment-ktx:2.8.4 (c)
+| | | | | \--- androidx.navigation:navigation-runtime-ktx:2.8.4 (c)
+| | | | +--- androidx.slidingpanelayout:slidingpanelayout:1.2.0
+| | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.9.1 (*)
+| | | | | +--- androidx.customview:customview:1.1.0 (*)
+| | | | | +--- androidx.core:core:1.1.0 -> 1.15.0 (*)
+| | | | | +--- androidx.window:window:1.0.0 -> 1.2.0
+| | | | | | +--- androidx.annotation:annotation:1.3.0 -> 1.9.1 (*)
+| | | | | | +--- androidx.collection:collection:1.1.0 -> 1.4.4 (*)
+| | | | | | +--- androidx.core:core:1.8.0 -> 1.15.0 (*)
+| | | | | | +--- androidx.window.extensions.core:core:1.0.0
+| | | | | | | +--- androidx.annotation:annotation:1.6.0 -> 1.9.1 (*)
+| | | | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.20 -> 2.1.0 (*)
+| | | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
+| | | | | | \--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.1 -> 1.10.1 (*)
+| | | | | \--- androidx.transition:transition:1.4.1
+| | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.9.1 (*)
+| | | | | +--- androidx.core:core:1.1.0 -> 1.15.0 (*)
+| | | | | \--- androidx.collection:collection:1.1.0 -> 1.4.4 (*)
+| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
+| | | | +--- org.jetbrains.kotlinx:kotlinx-serialization-core:1.6.3 -> 1.7.3 (*)
+| | | | +--- androidx.navigation:navigation-common:2.8.4 (c)
+| | | | +--- androidx.navigation:navigation-compose:2.8.4 (c)
+| | | | +--- androidx.navigation:navigation-fragment-ktx:2.8.4 (c)
+| | | | +--- androidx.navigation:navigation-runtime:2.8.4 (c)
+| | | | +--- androidx.navigation:navigation-runtime-ktx:2.8.4 (c)
+| | | | \--- androidx.navigation:navigation-common-ktx:2.8.4 (c)
+| | | +--- androidx.navigation:navigation-runtime-ktx:2.8.4
+| | | | +--- androidx.navigation:navigation-common-ktx:2.8.4
+| | | | | +--- androidx.navigation:navigation-common:2.8.4 (*)
+| | | | | +--- androidx.navigation:navigation-common:2.8.4 (c)
+| | | | | +--- androidx.navigation:navigation-compose:2.8.4 (c)
+| | | | | +--- androidx.navigation:navigation-fragment:2.8.4 (c)
+| | | | | +--- androidx.navigation:navigation-fragment-ktx:2.8.4 (c)
+| | | | | +--- androidx.navigation:navigation-runtime:2.8.4 (c)
+| | | | | \--- androidx.navigation:navigation-runtime-ktx:2.8.4 (c)
+| | | | +--- androidx.navigation:navigation-runtime:2.8.4 (*)
+| | | | +--- androidx.navigation:navigation-common:2.8.4 (c)
+| | | | +--- androidx.navigation:navigation-common-ktx:2.8.4 (c)
+| | | | +--- androidx.navigation:navigation-compose:2.8.4 (c)
+| | | | +--- androidx.navigation:navigation-fragment:2.8.4 (c)
+| | | | +--- androidx.navigation:navigation-fragment-ktx:2.8.4 (c)
+| | | | \--- androidx.navigation:navigation-runtime:2.8.4 (c)
+| | | +--- androidx.navigation:navigation-compose:2.8.4 (c)
+| | | +--- androidx.navigation:navigation-fragment:2.8.4 (c)
+| | | +--- androidx.navigation:navigation-runtime-ktx:2.8.4 (c)
+| | | +--- androidx.navigation:navigation-common:2.8.4 (c)
+| | | +--- androidx.navigation:navigation-runtime:2.8.4 (c)
+| | | \--- androidx.navigation:navigation-common-ktx:2.8.4 (c)
+| | \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.21 -> 2.1.0 (*)
+| +--- io.insert-koin:koin-core-viewmodel:4.0.1-RC1 (*)
+| +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
+| +--- io.insert-koin:koin-core:4.0.1-RC1 (*)
+| +--- io.insert-koin:koin-annotations:1.4.0-RC4
+| | \--- io.insert-koin:koin-annotations-jvm:1.4.0-RC4
+| | \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.24 -> 2.1.0 (*)
+| +--- project :core:ui
+| | +--- androidx.metrics:metrics-performance:1.0.0-beta01
+| | | +--- androidx.collection:collection:1.1.0 -> 1.4.4 (*)
+| | | +--- androidx.core:core:1.5.0 -> 1.15.0 (*)
+| | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
+| | +--- androidx.browser:browser:1.8.0
+| | | +--- androidx.annotation:annotation:1.2.0 -> 1.9.1 (*)
+| | | +--- androidx.annotation:annotation-experimental:1.4.0 -> 1.4.1 (*)
+| | | +--- androidx.collection:collection:1.1.0 -> 1.4.4 (*)
+| | | +--- androidx.concurrent:concurrent-futures:1.0.0 -> 1.1.0 (*)
+| | | +--- androidx.core:core:1.1.0 -> 1.15.0 (*)
+| | | +--- androidx.interpolator:interpolator:1.0.0 (*)
+| | | \--- com.google.guava:listenablefuture:1.0
+| | +--- androidx.compose.runtime:runtime -> 1.7.6 (*)
+| | +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
+| | +--- io.insert-koin:koin-bom:4.0.1-RC1 (*)
+| | +--- io.insert-koin:koin-core:4.0.1-RC1 (*)
+| | +--- io.insert-koin:koin-annotations:1.4.0-RC4 (*)
+| | +--- project :core:analytics
+| | | +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
+| | | +--- io.insert-koin:koin-bom:4.0.1-RC1 (*)
+| | | +--- io.insert-koin:koin-core:4.0.1-RC1 (*)
+| | | +--- io.insert-koin:koin-annotations:1.4.0-RC4 (*)
+| | | \--- org.jetbrains.compose.runtime:runtime:1.7.0-rc01 -> 1.7.3 (*)
+| | +--- project :core:designsystem
+| | | +--- androidx.compose.ui:ui-tooling-preview -> 1.7.6 (*)
+| | | +--- androidx.activity:activity-compose:1.9.3
+| | | | +--- androidx.activity:activity-ktx:1.9.3 (*)
+| | | | +--- androidx.compose.runtime:runtime:1.0.1 -> 1.7.6 (*)
+| | | | +--- androidx.compose.runtime:runtime-saveable:1.0.1 -> 1.7.6 (*)
+| | | | +--- androidx.compose.ui:ui:1.0.1 -> 1.7.6 (*)
+| | | | +--- androidx.lifecycle:lifecycle-viewmodel:2.6.1 -> 2.8.7 (*)
+| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
+| | | | +--- androidx.activity:activity:1.9.3 (c)
+| | | | \--- androidx.activity:activity-ktx:1.9.3 (c)
+| | | +--- project :core:model
+| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
+| | | | +--- io.insert-koin:koin-bom:4.0.1-RC1 (*)
+| | | | +--- io.insert-koin:koin-core:4.0.1-RC1 (*)
+| | | | +--- io.insert-koin:koin-annotations:1.4.0-RC4 (*)
+| | | | +--- project :core:common
+| | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.10.1 (*)
+| | | | | +--- co.touchlab:kermit:2.0.4
+| | | | | | \--- co.touchlab:kermit-android:2.0.4
+| | | | | | +--- co.touchlab:kermit-core:2.0.4
+| | | | | | | \--- co.touchlab:kermit-core-android:2.0.4
+| | | | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.22 -> 2.1.0 (*)
+| | | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.22 -> 2.1.0 (*)
+| | | | | +--- com.squareup.okio:okio:3.9.1
+| | | | | | \--- com.squareup.okio:okio-jvm:3.9.1
+| | | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.25 -> 2.1.0 (*)
+| | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
+| | | | | +--- org.jetbrains.kotlinx:kotlinx-datetime:0.6.1
+| | | | | | \--- org.jetbrains.kotlinx:kotlinx-datetime-jvm:0.6.1
+| | | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.21 -> 2.1.0 (*)
+| | | | | +--- io.insert-koin:koin-bom:4.0.1-RC1 (*)
+| | | | | +--- io.insert-koin:koin-core:4.0.1-RC1 (*)
+| | | | | +--- io.insert-koin:koin-annotations:1.4.0-RC4 (*)
+| | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.1 (*)
+| | | | | \--- org.jetbrains.kotlin:kotlin-parcelize-runtime:2.1.0
+| | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
+| | | | | \--- org.jetbrains.kotlin:kotlin-android-extensions-runtime:2.1.0
+| | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
+| | | | +--- org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.3
+| | | | | \--- org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.7.3
+| | | | | +--- org.jetbrains.kotlinx:kotlinx-serialization-bom:1.7.3 (*)
+| | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:2.0.20 -> 2.1.0 (*)
+| | | | | \--- org.jetbrains.kotlinx:kotlinx-serialization-core:1.7.3 (*)
+| | | | \--- org.jetbrains.kotlin:kotlin-parcelize-runtime:2.1.0 (*)
+| | | +--- com.arkivanov.essenty:back-handler:2.1.0
+| | | | \--- com.arkivanov.essenty:back-handler-android:2.1.0
+| | | | +--- androidx.activity:activity-ktx:1.8.1 -> 1.9.3 (*)
+| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:2.0.0 -> 2.1.0 (*)
+| | | | \--- com.arkivanov.essenty:utils-internal:2.1.0
+| | | | \--- com.arkivanov.essenty:utils-internal-android:2.1.0
+| | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.0 -> 2.1.0 (*)
+| | | +--- dev.chrisbanes.material3:material3-window-size-class-multiplatform:0.5.0
+| | | | \--- dev.chrisbanes.material3:material3-window-size-class-multiplatform-android:0.5.0
+| | | | +--- androidx.window:window:1.2.0 (*)
+| | | | +--- org.jetbrains.compose.ui:ui:1.6.0 -> 1.7.0-rc01
+| | | | | +--- androidx.compose.ui:ui:1.7.1 -> 1.7.6 (*)
+| | | | | +--- org.jetbrains.androidx.lifecycle:lifecycle-common:2.8.3-rc01 -> 2.8.3 (*)
+| | | | | +--- org.jetbrains.androidx.lifecycle:lifecycle-runtime:2.8.3-rc01
+| | | | | | +--- androidx.arch.core:core-common:2.2.0 (*)
+| | | | | | +--- androidx.lifecycle:lifecycle-runtime:2.8.5 -> 2.8.7 (*)
+| | | | | | +--- org.jetbrains.androidx.lifecycle:lifecycle-common:2.8.3-rc01 -> 2.8.3 (*)
+| | | | | | +--- org.jetbrains.compose.annotation-internal:annotation:1.6.11 -> 1.7.3 (*)
+| | | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.9.24 -> 2.1.0 (*)
+| | | | | | \--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.0 -> 1.10.1 (*)
+| | | | | +--- org.jetbrains.androidx.lifecycle:lifecycle-runtime-compose:2.8.3-rc01
+| | | | | | +--- androidx.lifecycle:lifecycle-runtime-compose:2.8.5 -> 2.8.7 (*)
+| | | | | | +--- org.jetbrains.androidx.lifecycle:lifecycle-common:2.8.3-rc01 -> 2.8.3 (*)
+| | | | | | +--- org.jetbrains.androidx.lifecycle:lifecycle-runtime:2.8.3-rc01 (*)
+| | | | | | +--- org.jetbrains.compose.annotation-internal:annotation:1.6.11 -> 1.7.3 (*)
+| | | | | | +--- org.jetbrains.compose.runtime:runtime:1.6.11 -> 1.7.3 (*)
+| | | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.24 -> 2.1.0 (*)
+| | | | | +--- org.jetbrains.androidx.lifecycle:lifecycle-viewmodel:2.8.3-rc01 -> 2.8.3 (*)
+| | | | | +--- org.jetbrains.compose.annotation-internal:annotation:1.7.0-rc01 -> 1.7.3 (*)
+| | | | | +--- org.jetbrains.compose.collection-internal:collection:1.7.0-rc01 -> 1.7.3 (*)
+| | | | | +--- org.jetbrains.compose.runtime:runtime:1.7.0-rc01 -> 1.7.3 (*)
+| | | | | +--- org.jetbrains.compose.runtime:runtime-saveable:1.7.0-rc01
+| | | | | | +--- androidx.compose.runtime:runtime-saveable:1.7.1 -> 1.7.6 (*)
+| | | | | | +--- org.jetbrains.compose.runtime:runtime:1.7.0-rc01 -> 1.7.3 (*)
+| | | | | | \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.9.24 -> 2.1.0 (*)
+| | | | | +--- org.jetbrains.compose.ui:ui-geometry:1.7.0-rc01
+| | | | | | +--- androidx.compose.ui:ui-geometry:1.7.1 -> 1.7.6 (*)
+| | | | | | +--- org.jetbrains.compose.runtime:runtime:1.7.0-rc01 -> 1.7.3 (*)
+| | | | | | \--- org.jetbrains.compose.ui:ui-util:1.7.0-rc01
+| | | | | | \--- androidx.compose.ui:ui-util:1.7.1 -> 1.7.6 (*)
+| | | | | +--- org.jetbrains.compose.ui:ui-graphics:1.7.0-rc01
+| | | | | | +--- androidx.compose.ui:ui-graphics:1.7.1 -> 1.7.6 (*)
+| | | | | | +--- org.jetbrains.compose.annotation-internal:annotation:1.7.0-rc01 -> 1.7.3 (*)
+| | | | | | +--- org.jetbrains.compose.collection-internal:collection:1.7.0-rc01 -> 1.7.3 (*)
+| | | | | | +--- org.jetbrains.compose.runtime:runtime:1.7.0-rc01 -> 1.7.3 (*)
+| | | | | | +--- org.jetbrains.compose.ui:ui-geometry:1.7.0-rc01 (*)
+| | | | | | +--- org.jetbrains.compose.ui:ui-unit:1.7.0-rc01
+| | | | | | | +--- androidx.compose.ui:ui-unit:1.7.1 -> 1.7.6 (*)
+| | | | | | | +--- org.jetbrains.compose.annotation-internal:annotation:1.7.0-rc01 -> 1.7.3 (*)
+| | | | | | | +--- org.jetbrains.compose.runtime:runtime:1.7.0-rc01 -> 1.7.3 (*)
+| | | | | | | +--- org.jetbrains.compose.ui:ui-geometry:1.7.0-rc01 (*)
+| | | | | | | \--- org.jetbrains.compose.ui:ui-util:1.7.0-rc01 (*)
+| | | | | | \--- org.jetbrains.compose.ui:ui-util:1.7.0-rc01 (*)
+| | | | | +--- org.jetbrains.compose.ui:ui-text:1.7.0-rc01
+| | | | | | +--- androidx.compose.ui:ui-text:1.7.1 -> 1.7.6 (*)
+| | | | | | +--- org.jetbrains.compose.annotation-internal:annotation:1.7.0-rc01 -> 1.7.3 (*)
+| | | | | | +--- org.jetbrains.compose.runtime:runtime:1.7.0-rc01 -> 1.7.3 (*)
+| | | | | | +--- org.jetbrains.compose.runtime:runtime-saveable:1.7.0-rc01 (*)
+| | | | | | +--- org.jetbrains.compose.ui:ui-geometry:1.7.0-rc01 (*)
+| | | | | | +--- org.jetbrains.compose.ui:ui-graphics:1.7.0-rc01 (*)
+| | | | | | +--- org.jetbrains.compose.ui:ui-unit:1.7.0-rc01 (*)
+| | | | | | +--- org.jetbrains.compose.ui:ui-util:1.7.0-rc01 (*)
+| | | | | | +--- org.jetbrains.kotlinx:atomicfu:0.23.2 (*)
+| | | | | | \--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.0 -> 1.10.1 (*)
+| | | | | +--- org.jetbrains.compose.ui:ui-unit:1.7.0-rc01 (*)
+| | | | | +--- org.jetbrains.compose.ui:ui-util:1.7.0-rc01 (*)
+| | | | | +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.9.24 -> 2.1.0 (*)
+| | | | | +--- org.jetbrains.kotlinx:atomicfu:0.23.2 (*)
+| | | | | \--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.0 -> 1.10.1 (*)
+| | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.22 -> 2.1.0 (*)
+| | | +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
+| | | +--- io.insert-koin:koin-bom:4.0.1-RC1 (*)
+| | | +--- io.insert-koin:koin-core:4.0.1-RC1 (*)
+| | | +--- io.insert-koin:koin-annotations:1.4.0-RC4 (*)
+| | | +--- io.coil-kt.coil3:coil-compose-core:3.0.4
+| | | | \--- io.coil-kt.coil3:coil-compose-core-android:3.0.4
+| | | | +--- com.google.accompanist:accompanist-drawablepainter:0.36.0
+| | | | | +--- androidx.compose.ui:ui:1.7.0 -> 1.7.6 (*)
+| | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4 -> 1.10.1 (*)
+| | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.22 -> 2.1.0 (*)
+| | | | +--- io.coil-kt.coil3:coil-core:3.0.4
+| | | | | \--- io.coil-kt.coil3:coil-core-android:3.0.4
+| | | | | +--- androidx.lifecycle:lifecycle-runtime:2.8.7 (*)
+| | | | | +--- androidx.annotation:annotation:1.9.1 (*)
+| | | | | +--- androidx.appcompat:appcompat-resources:1.7.0 (*)
+| | | | | +--- androidx.core:core-ktx:1.13.1 -> 1.15.0 (*)
+| | | | | +--- androidx.exifinterface:exifinterface:1.3.7
+| | | | | | \--- androidx.annotation:annotation:1.2.0 -> 1.9.1 (*)
+| | | | | +--- androidx.profileinstaller:profileinstaller:1.4.1 (*)
+| | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-android:1.9.0 -> 1.10.1 (*)
+| | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.9.0 -> 1.10.1 (*)
+| | | | | +--- org.jetbrains.kotlin:kotlin-stdlib -> 2.1.0 (*)
+| | | | | +--- com.squareup.okio:okio:3.9.1 (*)
+| | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.21 -> 2.1.0 (c)
+| | | | +--- org.jetbrains.compose.foundation:foundation:1.6.11 -> 1.7.0-rc01
+| | | | | +--- androidx.compose.foundation:foundation:1.7.1 -> 1.7.6
+| | | | | | \--- androidx.compose.foundation:foundation-android:1.7.6
+| | | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.9.1 (*)
+| | | | | | +--- androidx.annotation:annotation-experimental:1.4.0 -> 1.4.1 (*)
+| | | | | | +--- androidx.collection:collection:1.4.0 -> 1.4.4 (*)
+| | | | | | +--- androidx.compose.animation:animation:1.7.6
+| | | | | | | \--- androidx.compose.animation:animation-android:1.7.6
+| | | | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.9.1 (*)
+| | | | | | | +--- androidx.annotation:annotation-experimental:1.4.0 -> 1.4.1 (*)
+| | | | | | | +--- androidx.collection:collection:1.4.0 -> 1.4.4 (*)
+| | | | | | | +--- androidx.compose.animation:animation-core:1.7.6
+| | | | | | | | \--- androidx.compose.animation:animation-core-android:1.7.6
+| | | | | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.9.1 (*)
+| | | | | | | | +--- androidx.collection:collection:1.4.0 -> 1.4.4 (*)
+| | | | | | | | +--- androidx.compose.runtime:runtime:1.7.6 (*)
+| | | | | | | | +--- androidx.compose.ui:ui:1.7.6 (*)
+| | | | | | | | +--- androidx.compose.ui:ui-graphics:1.7.6 (*)
+| | | | | | | | +--- androidx.compose.ui:ui-unit:1.7.6 (*)
+| | | | | | | | +--- androidx.compose.ui:ui-util:1.7.6 (*)
+| | | | | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
+| | | | | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 -> 1.10.1 (*)
+| | | | | | | | \--- androidx.compose.animation:animation:1.7.6 (c)
+| | | | | | | +--- androidx.compose.foundation:foundation-layout:1.7.6
+| | | | | | | | \--- androidx.compose.foundation:foundation-layout-android:1.7.6
+| | | | | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.9.1 (*)
+| | | | | | | | +--- androidx.annotation:annotation-experimental:1.4.0 -> 1.4.1 (*)
+| | | | | | | | +--- androidx.collection:collection:1.4.0 -> 1.4.4 (*)
+| | | | | | | | +--- androidx.compose.animation:animation-core:1.2.1 -> 1.7.6 (*)
+| | | | | | | | +--- androidx.compose.runtime:runtime:1.7.6 (*)
+| | | | | | | | +--- androidx.compose.ui:ui:1.7.6 (*)
+| | | | | | | | +--- androidx.compose.ui:ui-unit:1.7.6 (*)
+| | | | | | | | +--- androidx.compose.ui:ui-util:1.7.6 (*)
+| | | | | | | | +--- androidx.core:core:1.7.0 -> 1.15.0 (*)
+| | | | | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
+| | | | | | | | \--- androidx.compose.foundation:foundation:1.7.6 (c)
+| | | | | | | +--- androidx.compose.runtime:runtime:1.7.6 (*)
+| | | | | | | +--- androidx.compose.ui:ui:1.7.6 (*)
+| | | | | | | +--- androidx.compose.ui:ui-geometry:1.7.6 (*)
+| | | | | | | +--- androidx.compose.ui:ui-graphics:1.7.6 (*)
+| | | | | | | +--- androidx.compose.ui:ui-util:1.7.6 (*)
+| | | | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
+| | | | | | | \--- androidx.compose.animation:animation-core:1.7.6 (c)
+| | | | | | +--- androidx.compose.foundation:foundation-layout:1.7.6 (*)
+| | | | | | +--- androidx.compose.runtime:runtime:1.7.6 (*)
+| | | | | | +--- androidx.compose.ui:ui:1.7.6 (*)
+| | | | | | +--- androidx.compose.ui:ui-text:1.7.6 (*)
+| | | | | | +--- androidx.compose.ui:ui-util:1.7.6 (*)
+| | | | | | +--- androidx.core:core:1.13.1 -> 1.15.0 (*)
+| | | | | | +--- androidx.emoji2:emoji2:1.3.0 (*)
+| | | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
+| | | | | | \--- androidx.compose.foundation:foundation-layout:1.7.6 (c)
+| | | | | +--- org.jetbrains.compose.animation:animation:1.7.0-rc01
+| | | | | | +--- androidx.compose.animation:animation:1.7.1 -> 1.7.6 (*)
+| | | | | | +--- org.jetbrains.compose.animation:animation-core:1.7.0-rc01
+| | | | | | | +--- androidx.compose.animation:animation-core:1.7.1 -> 1.7.6 (*)
+| | | | | | | +--- org.jetbrains.compose.annotation-internal:annotation:1.7.0-rc01 -> 1.7.3 (*)
+| | | | | | | +--- org.jetbrains.compose.collection-internal:collection:1.7.0-rc01 -> 1.7.3 (*)
+| | | | | | | +--- org.jetbrains.compose.runtime:runtime:1.7.0-rc01 -> 1.7.3 (*)
+| | | | | | | +--- org.jetbrains.compose.ui:ui:1.7.0-rc01 (*)
+| | | | | | | +--- org.jetbrains.compose.ui:ui-unit:1.7.0-rc01 (*)
+| | | | | | | +--- org.jetbrains.compose.ui:ui-util:1.7.0-rc01 (*)
+| | | | | | | \--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.0 -> 1.10.1 (*)
+| | | | | | +--- org.jetbrains.compose.collection-internal:collection:1.7.0-rc01 -> 1.7.3 (*)
+| | | | | | +--- org.jetbrains.compose.foundation:foundation-layout:1.7.0-rc01
+| | | | | | | +--- androidx.compose.foundation:foundation-layout:1.7.1 -> 1.7.6 (*)
+| | | | | | | +--- org.jetbrains.compose.annotation-internal:annotation:1.7.0-rc01 -> 1.7.3 (*)
+| | | | | | | +--- org.jetbrains.compose.collection-internal:collection:1.7.0-rc01 -> 1.7.3 (*)
+| | | | | | | +--- org.jetbrains.compose.runtime:runtime:1.7.0-rc01 -> 1.7.3 (*)
+| | | | | | | +--- org.jetbrains.compose.ui:ui:1.7.0-rc01 (*)
+| | | | | | | \--- org.jetbrains.compose.ui:ui-util:1.7.0-rc01 (*)
+| | | | | | +--- org.jetbrains.compose.runtime:runtime:1.7.0-rc01 -> 1.7.3 (*)
+| | | | | | +--- org.jetbrains.compose.ui:ui:1.7.0-rc01 (*)
+| | | | | | +--- org.jetbrains.compose.ui:ui-geometry:1.7.0-rc01 (*)
+| | | | | | \--- org.jetbrains.compose.ui:ui-util:1.7.0-rc01 (*)
+| | | | | +--- org.jetbrains.compose.annotation-internal:annotation:1.7.0-rc01 -> 1.7.3 (*)
+| | | | | +--- org.jetbrains.compose.collection-internal:collection:1.7.0-rc01 -> 1.7.3 (*)
+| | | | | +--- org.jetbrains.compose.foundation:foundation-layout:1.7.0-rc01 (*)
+| | | | | +--- org.jetbrains.compose.runtime:runtime:1.7.0-rc01 -> 1.7.3 (*)
+| | | | | +--- org.jetbrains.compose.ui:ui:1.7.0-rc01 (*)
+| | | | | +--- org.jetbrains.compose.ui:ui-text:1.7.0-rc01 (*)
+| | | | | \--- org.jetbrains.compose.ui:ui-util:1.7.0-rc01 (*)
+| | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.21 -> 2.1.0 (*)
+| | | +--- org.jetbrains.compose.runtime:runtime:1.7.0-rc01 -> 1.7.3 (*)
+| | | +--- org.jetbrains.compose.foundation:foundation:1.7.0-rc01 (*)
+| | | +--- org.jetbrains.compose.material3:material3:1.7.0-rc01
+| | | | +--- androidx.compose.material3:material3:1.3.0 -> 1.3.1
+| | | | | \--- androidx.compose.material3:material3-android:1.3.1
+| | | | | +--- androidx.activity:activity-compose:1.8.2 -> 1.9.3 (*)
+| | | | | +--- androidx.annotation:annotation:1.1.0 -> 1.9.1 (*)
+| | | | | +--- androidx.annotation:annotation-experimental:1.4.0 -> 1.4.1 (*)
+| | | | | +--- androidx.collection:collection:1.4.0 -> 1.4.4 (*)
+| | | | | +--- androidx.compose.animation:animation-core:1.6.0 -> 1.7.6 (*)
+| | | | | +--- androidx.compose.foundation:foundation:1.7.0 -> 1.7.6 (*)
+| | | | | +--- androidx.compose.foundation:foundation-layout:1.7.0 -> 1.7.6 (*)
+| | | | | +--- androidx.compose.material:material-icons-core:1.6.0 -> 1.7.6
+| | | | | | \--- androidx.compose.material:material-icons-core-android:1.7.6
+| | | | | | +--- androidx.compose.ui:ui:1.6.0 -> 1.7.6 (*)
+| | | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
+| | | | | +--- androidx.compose.material:material-ripple:1.7.0 -> 1.7.6
+| | | | | | \--- androidx.compose.material:material-ripple-android:1.7.6
+| | | | | | +--- androidx.collection:collection:1.4.0 -> 1.4.4 (*)
+| | | | | | +--- androidx.compose.animation:animation:1.7.6 (*)
+| | | | | | +--- androidx.compose.foundation:foundation:1.7.6 (*)
+| | | | | | +--- androidx.compose.runtime:runtime:1.7.6 (*)
+| | | | | | +--- androidx.compose.ui:ui-util:1.7.6 (*)
+| | | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
+| | | | | +--- androidx.compose.runtime:runtime:1.7.0 -> 1.7.6 (*)
+| | | | | +--- androidx.compose.ui:ui:1.6.0 -> 1.7.6 (*)
+| | | | | +--- androidx.compose.ui:ui-text:1.6.0 -> 1.7.6 (*)
+| | | | | +--- androidx.compose.ui:ui-util:1.6.0 -> 1.7.6 (*)
+| | | | | \--- androidx.lifecycle:lifecycle-common-java8:2.6.1 -> 2.8.7 (*)
+| | | | +--- org.jetbrains.compose.animation:animation-core:1.7.0-rc01 (*)
+| | | | +--- org.jetbrains.compose.annotation-internal:annotation:1.7.0-rc01 -> 1.7.3 (*)
+| | | | +--- org.jetbrains.compose.collection-internal:collection:1.7.0-rc01 -> 1.7.3 (*)
+| | | | +--- org.jetbrains.compose.foundation:foundation:1.7.0-rc01 (*)
+| | | | +--- org.jetbrains.compose.foundation:foundation-layout:1.7.0-rc01 (*)
+| | | | +--- org.jetbrains.compose.material:material-icons-core:1.7.0-rc01
+| | | | | +--- androidx.compose.material:material-icons-core:1.7.1 -> 1.7.6 (*)
+| | | | | +--- org.jetbrains.compose.ui:ui:1.7.0-rc01 (*)
+| | | | | +--- org.jetbrains.compose.ui:ui-graphics:1.7.0-rc01 (*)
+| | | | | \--- org.jetbrains.compose.ui:ui-unit:1.7.0-rc01 (*)
+| | | | +--- org.jetbrains.compose.material:material-ripple:1.7.0-rc01
+| | | | | +--- androidx.compose.material:material-ripple:1.7.1 -> 1.7.6 (*)
+| | | | | +--- org.jetbrains.compose.animation:animation:1.7.0-rc01 (*)
+| | | | | +--- org.jetbrains.compose.collection-internal:collection:1.7.0-rc01 -> 1.7.3 (*)
+| | | | | +--- org.jetbrains.compose.foundation:foundation:1.7.0-rc01 (*)
+| | | | | +--- org.jetbrains.compose.runtime:runtime:1.7.0-rc01 -> 1.7.3 (*)
+| | | | | \--- org.jetbrains.compose.ui:ui-util:1.7.0-rc01 (*)
+| | | | +--- org.jetbrains.compose.runtime:runtime:1.7.0-rc01 -> 1.7.3 (*)
+| | | | +--- org.jetbrains.compose.ui:ui-graphics:1.7.0-rc01 (*)
+| | | | +--- org.jetbrains.compose.ui:ui-text:1.7.0-rc01 (*)
+| | | | \--- org.jetbrains.compose.ui:ui-util:1.7.0-rc01 (*)
+| | | +--- org.jetbrains.compose.material:material-icons-extended:1.7.0-rc01
+| | | | +--- androidx.compose.material:material-icons-extended:1.7.1 -> 1.7.6
+| | | | | \--- androidx.compose.material:material-icons-extended-android:1.7.6
+| | | | | \--- androidx.compose.material:material-icons-core:1.7.6 (*)
+| | | | +--- org.jetbrains.compose.material:material-icons-core:1.7.0-rc01 (*)
+| | | | +--- org.jetbrains.compose.ui:ui:1.7.0-rc01 (*)
+| | | | \--- org.jetbrains.compose.ui:ui-graphics:1.7.0-rc01 (*)
+| | | +--- org.jetbrains.compose.ui:ui:1.7.0-rc01 (*)
+| | | +--- org.jetbrains.compose.ui:ui-util:1.7.0-rc01 (*)
+| | | +--- org.jetbrains.compose.components:components-resources:1.7.0-rc01
+| | | | \--- org.jetbrains.compose.components:components-resources-android:1.7.0-rc01
+| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.9.23 -> 2.1.0 (*)
+| | | | +--- org.jetbrains.compose.runtime:runtime:1.7.0-rc01 -> 1.7.3 (*)
+| | | | +--- org.jetbrains.compose.foundation:foundation:1.7.0-rc01 (*)
+| | | | \--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.0 -> 1.10.1 (*)
+| | | \--- org.jetbrains.compose.components:components-ui-tooling-preview:1.7.0-rc01
+| | | \--- org.jetbrains.compose.components:components-ui-tooling-preview-android:1.7.0-rc01
+| | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.23 -> 2.1.0 (*)
+| | +--- project :core:model (*)
+| | +--- project :core:common (*)
+| | +--- org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-compose:2.8.3
+| | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.8.5 -> 2.8.7 (*)
+| | | +--- org.jetbrains.androidx.core:core-bundle:1.0.1 (*)
+| | | +--- org.jetbrains.androidx.lifecycle:lifecycle-common:2.8.3 (*)
+| | | +--- org.jetbrains.androidx.lifecycle:lifecycle-viewmodel:2.8.3 (*)
+| | | +--- org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.3 (*)
+| | | +--- org.jetbrains.androidx.savedstate:savedstate:1.2.2 (*)
+| | | +--- org.jetbrains.compose.runtime:runtime:1.6.11 -> 1.7.3 (*)
+| | | +--- org.jetbrains.compose.runtime:runtime-saveable:1.6.11 -> 1.7.0-rc01 (*)
+| | | +--- org.jetbrains.compose.ui:ui:1.6.11 -> 1.7.0-rc01 (*)
+| | | \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.24 -> 2.1.0 (*)
+| | +--- org.jetbrains.androidx.lifecycle:lifecycle-viewmodel:2.8.3 (*)
+| | +--- org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.3 (*)
+| | +--- io.coil-kt.coil3:coil:3.0.4
+| | | \--- io.coil-kt.coil3:coil-android:3.0.4
+| | | +--- io.coil-kt.coil3:coil-core:3.0.4 (*)
+| | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.21 -> 2.1.0 (*)
+| | +--- io.coil-kt.coil3:coil-compose-core:3.0.4 (*)
+| | +--- org.jetbrains.compose.material3:material3:1.7.0-rc01 (*)
+| | +--- org.jetbrains.compose.components:components-resources:1.7.0-rc01 (*)
+| | +--- org.jetbrains.compose.components:components-ui-tooling-preview:1.7.0-rc01 (*)
+| | +--- org.jetbrains.androidx.navigation:navigation-compose:2.8.0-alpha10
+| | | +--- androidx.activity:activity-compose:1.8.0 -> 1.9.3 (*)
+| | | +--- androidx.navigation:navigation-compose:2.8.0-rc01 -> 2.8.4
+| | | | +--- androidx.activity:activity-compose:1.8.0 -> 1.9.3 (*)
+| | | | +--- androidx.compose.animation:animation:1.7.2 -> 1.7.6 (*)
+| | | | +--- androidx.compose.foundation:foundation-layout:1.7.2 -> 1.7.6 (*)
+| | | | +--- androidx.compose.runtime:runtime:1.7.2 -> 1.7.6 (*)
+| | | | +--- androidx.compose.runtime:runtime-saveable:1.7.2 -> 1.7.6 (*)
+| | | | +--- androidx.compose.ui:ui:1.7.2 -> 1.7.6 (*)
+| | | | +--- androidx.lifecycle:lifecycle-viewmodel-compose:2.6.2 -> 2.8.7 (*)
+| | | | +--- androidx.navigation:navigation-runtime-ktx:2.8.4 (*)
+| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
+| | | | +--- org.jetbrains.kotlinx:kotlinx-serialization-core:1.6.3 -> 1.7.3 (*)
+| | | | +--- androidx.navigation:navigation-common:2.8.4 (c)
+| | | | +--- androidx.navigation:navigation-fragment:2.8.4 (c)
+| | | | +--- androidx.navigation:navigation-fragment-ktx:2.8.4 (c)
+| | | | +--- androidx.navigation:navigation-runtime:2.8.4 (c)
+| | | | +--- androidx.navigation:navigation-runtime-ktx:2.8.4 (c)
+| | | | \--- androidx.navigation:navigation-common-ktx:2.8.4 (c)
+| | | +--- org.jetbrains.androidx.core:core-bundle:1.0.1 (*)
+| | | +--- org.jetbrains.androidx.lifecycle:lifecycle-common:2.8.2 -> 2.8.3 (*)
+| | | +--- org.jetbrains.androidx.lifecycle:lifecycle-runtime:2.8.2 -> 2.8.3-rc01 (*)
+| | | +--- org.jetbrains.androidx.lifecycle:lifecycle-runtime-compose:2.8.2 -> 2.8.3-rc01 (*)
+| | | +--- org.jetbrains.androidx.lifecycle:lifecycle-viewmodel:2.8.2 -> 2.8.3 (*)
+| | | +--- org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-compose:2.8.2 -> 2.8.3 (*)
+| | | +--- org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.2 -> 2.8.3 (*)
+| | | +--- org.jetbrains.androidx.navigation:navigation-common:2.8.0-alpha10
+| | | | +--- androidx.core:core-ktx:1.1.0 -> 1.15.0 (*)
+| | | | +--- androidx.navigation:navigation-common:2.8.0-rc01 -> 2.8.4 (*)
+| | | | +--- androidx.profileinstaller:profileinstaller:1.3.0 -> 1.4.1 (*)
+| | | | +--- org.jetbrains.androidx.core:core-bundle:1.0.1 (*)
+| | | | +--- org.jetbrains.androidx.lifecycle:lifecycle-common:2.8.2 -> 2.8.3 (*)
+| | | | +--- org.jetbrains.androidx.lifecycle:lifecycle-runtime:2.8.2 -> 2.8.3-rc01 (*)
+| | | | +--- org.jetbrains.androidx.lifecycle:lifecycle-viewmodel:2.8.2 -> 2.8.3 (*)
+| | | | +--- org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.2 -> 2.8.3 (*)
+| | | | +--- org.jetbrains.androidx.savedstate:savedstate:1.2.2 (*)
+| | | | +--- org.jetbrains.compose.annotation-internal:annotation:1.7.0-beta02 -> 1.7.3 (*)
+| | | | +--- org.jetbrains.compose.collection-internal:collection:1.7.0-beta02 -> 1.7.3 (*)
+| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.9.24 -> 2.1.0 (*)
+| | | | \--- org.jetbrains.kotlinx:kotlinx-serialization-core:1.6.2 -> 1.7.3 (*)
+| | | +--- org.jetbrains.androidx.navigation:navigation-runtime:2.8.0-alpha10
+| | | | +--- androidx.activity:activity-ktx:1.7.1 -> 1.9.3 (*)
+| | | | +--- androidx.navigation:navigation-runtime:2.8.0-rc01 -> 2.8.4 (*)
+| | | | +--- org.jetbrains.androidx.core:core-bundle:1.0.1 (*)
+| | | | +--- org.jetbrains.androidx.lifecycle:lifecycle-common:2.8.2 -> 2.8.3 (*)
+| | | | +--- org.jetbrains.androidx.lifecycle:lifecycle-runtime:2.8.2 -> 2.8.3-rc01 (*)
+| | | | +--- org.jetbrains.androidx.lifecycle:lifecycle-viewmodel:2.8.2 -> 2.8.3 (*)
+| | | | +--- org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.2 -> 2.8.3 (*)
+| | | | +--- org.jetbrains.androidx.navigation:navigation-common:2.8.0-alpha10 (*)
+| | | | +--- org.jetbrains.androidx.savedstate:savedstate:1.2.2 (*)
+| | | | +--- org.jetbrains.compose.annotation-internal:annotation:1.7.0-beta02 -> 1.7.3 (*)
+| | | | +--- org.jetbrains.compose.collection-internal:collection:1.7.0-beta02 -> 1.7.3 (*)
+| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.9.24 -> 2.1.0 (*)
+| | | | \--- org.jetbrains.kotlinx:kotlinx-serialization-core:1.6.2 -> 1.7.3 (*)
+| | | +--- org.jetbrains.androidx.savedstate:savedstate:1.2.2 (*)
+| | | +--- org.jetbrains.compose.animation:animation:1.7.0-beta02 -> 1.7.0-rc01 (*)
+| | | +--- org.jetbrains.compose.animation:animation-core:1.7.0-beta02 -> 1.7.0-rc01 (*)
+| | | +--- org.jetbrains.compose.foundation:foundation-layout:1.7.0-beta02 -> 1.7.0-rc01 (*)
+| | | +--- org.jetbrains.compose.runtime:runtime:1.7.0-beta02 -> 1.7.3 (*)
+| | | +--- org.jetbrains.compose.runtime:runtime-saveable:1.7.0-beta02 -> 1.7.0-rc01 (*)
+| | | +--- org.jetbrains.compose.ui:ui:1.7.0-beta02 -> 1.7.0-rc01 (*)
+| | | \--- org.jetbrains.kotlinx:kotlinx-serialization-core:1.6.2 -> 1.7.3 (*)
+| | +--- io.github.vinceglb:filekit-compose:0.8.7
+| | | \--- io.github.vinceglb:filekit-compose-android:0.8.7
+| | | +--- androidx.activity:activity-compose:1.9.2 -> 1.9.3 (*)
+| | | +--- io.github.vinceglb:filekit-core:0.8.7
+| | | | \--- io.github.vinceglb:filekit-core-android:0.8.7
+| | | | +--- androidx.activity:activity-ktx:1.9.2 -> 1.9.3 (*)
+| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:2.0.20 -> 2.1.0 (*)
+| | | | \--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.9.0 -> 1.10.1 (*)
+| | | +--- org.jetbrains.kotlin:kotlin-stdlib:2.0.20 -> 2.1.0 (*)
+| | | +--- org.jetbrains.compose.runtime:runtime:1.6.11 -> 1.7.3 (*)
+| | | +--- org.jetbrains.compose.ui:ui:1.6.11 -> 1.7.0-rc01 (*)
+| | | \--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.9.0 -> 1.10.1 (*)
+| | \--- io.github.vinceglb:filekit-core:0.8.7 (*)
+| +--- project :core:designsystem (*)
+| +--- project :core:data
+| | +--- androidx.core:core-ktx:1.15.0 (*)
+| | +--- androidx.tracing:tracing-ktx:1.3.0-alpha02
+| | | +--- androidx.tracing:tracing:1.3.0-alpha02 (*)
+| | | +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.22 -> 2.1.0 (*)
+| | | \--- androidx.tracing:tracing:1.3.0-alpha02 (c)
+| | +--- io.insert-koin:koin-android:4.0.1-RC1 (*)
+| | +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
+| | +--- io.insert-koin:koin-bom:4.0.1-RC1 (*)
+| | +--- io.insert-koin:koin-core:4.0.1-RC1 (*)
+| | +--- io.insert-koin:koin-annotations:1.4.0-RC4 (*)
+| | +--- project :core:common (*)
+| | +--- project :core:datastore
+| | | +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
+| | | +--- io.insert-koin:koin-bom:4.0.1-RC1 (*)
+| | | +--- io.insert-koin:koin-core:4.0.1-RC1 (*)
+| | | +--- io.insert-koin:koin-annotations:1.4.0-RC4 (*)
+| | | +--- com.russhwolf:multiplatform-settings-no-arg:1.2.0
+| | | | \--- com.russhwolf:multiplatform-settings-no-arg-android:1.2.0
+| | | | +--- androidx.startup:startup-runtime:1.1.1 (*)
+| | | | +--- com.russhwolf:multiplatform-settings:1.2.0
+| | | | | \--- com.russhwolf:multiplatform-settings-android:1.2.0
+| | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.0 -> 2.1.0 (*)
+| | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.0 -> 2.1.0 (*)
+| | | +--- com.russhwolf:multiplatform-settings-serialization:1.2.0
+| | | | \--- com.russhwolf:multiplatform-settings-serialization-android:1.2.0
+| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:2.0.0 -> 2.1.0 (*)
+| | | | +--- com.russhwolf:multiplatform-settings:1.2.0 (*)
+| | | | \--- org.jetbrains.kotlinx:kotlinx-serialization-core:1.6.3 -> 1.7.3 (*)
+| | | +--- com.russhwolf:multiplatform-settings-coroutines:1.2.0
+| | | | \--- com.russhwolf:multiplatform-settings-coroutines-android:1.2.0
+| | | | +--- org.jetbrains.kotlin:kotlin-stdlib:2.0.0 -> 2.1.0 (*)
+| | | | +--- com.russhwolf:multiplatform-settings:1.2.0 (*)
+| | | | \--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.0 -> 1.10.1 (*)
+| | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.1 (*)
+| | | +--- org.jetbrains.kotlinx:kotlinx-serialization-core:1.7.3 (*)
+| | | +--- project :core:model (*)
+| | | \--- project :core:common (*)
+| | +--- project :core:model (*)
+| | +--- project :core:network
+| | | +--- io.ktor:ktor-client-okhttp:3.0.3
+| | | | \--- io.ktor:ktor-client-okhttp-jvm:3.0.3
+| | | | +--- org.slf4j:slf4j-api:2.0.16
+| | | | +--- io.ktor:ktor-client-core:3.0.3
+| | | | | \--- io.ktor:ktor-client-core-jvm:3.0.3
+| | | | | +--- org.slf4j:slf4j-api:2.0.16
+| | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.9.0 -> 1.10.1 (*)
+| | | | | +--- io.ktor:ktor-http:3.0.3
+| | | | | | \--- io.ktor:ktor-http-jvm:3.0.3
+| | | | | | +--- org.slf4j:slf4j-api:2.0.16
+| | | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.9.0 -> 1.10.1 (*)
+| | | | | | +--- io.ktor:ktor-utils:3.0.3
+| | | | | | | \--- io.ktor:ktor-utils-jvm:3.0.3
+| | | | | | | +--- org.slf4j:slf4j-api:2.0.16
+| | | | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.9.0 -> 1.10.1 (*)
+| | | | | | | +--- io.ktor:ktor-io:3.0.3
+| | | | | | | | \--- io.ktor:ktor-io-jvm:3.0.3
+| | | | | | | | +--- org.slf4j:slf4j-api:2.0.16
+| | | | | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.9.0 -> 1.10.1 (*)
+| | | | | | | | +--- org.jetbrains.kotlinx:kotlinx-io-core:0.5.4
+| | | | | | | | | \--- org.jetbrains.kotlinx:kotlinx-io-core-jvm:0.5.4
+| | | | | | | | | +--- org.jetbrains.kotlinx:kotlinx-io-bytestring:0.5.4
+| | | | | | | | | | \--- org.jetbrains.kotlinx:kotlinx-io-bytestring-jvm:0.5.4
+| | | | | | | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.0 -> 2.1.0 (*)
+| | | | | | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.0 -> 2.1.0 (*)
+| | | | | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.21 -> 2.1.0 (*)
+| | | | | | | +--- org.jetbrains.kotlinx:kotlinx-serialization-core:1.7.3 (*)
+| | | | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.21 -> 2.1.0 (*)
+| | | | | | +--- org.jetbrains.kotlinx:kotlinx-serialization-core:1.7.3 (*)
+| | | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.21 -> 2.1.0 (*)
+| | | | | +--- io.ktor:ktor-events:3.0.3
+| | | | | | \--- io.ktor:ktor-events-jvm:3.0.3
+| | | | | | +--- org.slf4j:slf4j-api:2.0.16
+| | | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.9.0 -> 1.10.1 (*)
+| | | | | | +--- io.ktor:ktor-http:3.0.3 (*)
+| | | | | | +--- io.ktor:ktor-utils:3.0.3 (*)
+| | | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.21 -> 2.1.0 (*)
+| | | | | +--- io.ktor:ktor-websocket-serialization:3.0.3
+| | | | | | \--- io.ktor:ktor-websocket-serialization-jvm:3.0.3
+| | | | | | +--- org.slf4j:slf4j-api:2.0.16
+| | | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.9.0 -> 1.10.1 (*)
+| | | | | | +--- io.ktor:ktor-http:3.0.3 (*)
+| | | | | | +--- io.ktor:ktor-serialization:3.0.3
+| | | | | | | \--- io.ktor:ktor-serialization-jvm:3.0.3
+| | | | | | | +--- org.slf4j:slf4j-api:2.0.16
+| | | | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.9.0 -> 1.10.1 (*)
+| | | | | | | +--- io.ktor:ktor-http:3.0.3 (*)
+| | | | | | | +--- io.ktor:ktor-websockets:3.0.3
+| | | | | | | | \--- io.ktor:ktor-websockets-jvm:3.0.3
+| | | | | | | | +--- org.slf4j:slf4j-api:2.0.16
+| | | | | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.9.0 -> 1.10.1 (*)
+| | | | | | | | +--- io.ktor:ktor-http:3.0.3 (*)
+| | | | | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.21 -> 2.1.0 (*)
+| | | | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.21 -> 2.1.0 (*)
+| | | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.21 -> 2.1.0 (*)
+| | | | | +--- io.ktor:ktor-sse:3.0.3
+| | | | | | \--- io.ktor:ktor-sse-jvm:3.0.3
+| | | | | | +--- org.slf4j:slf4j-api:2.0.16
+| | | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.9.0 -> 1.10.1 (*)
+| | | | | | +--- io.ktor:ktor-http:3.0.3 (*)
+| | | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.21 -> 2.1.0 (*)
+| | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:2.0.21 -> 2.1.0 (*)
+| | | | | \--- org.jetbrains.kotlinx:kotlinx-coroutines-slf4j:1.9.0 -> 1.10.1
+| | | | | +--- org.slf4j:slf4j-api:1.7.32 -> 2.0.16
+| | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.1 (*)
+| | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.10.1 (*)
+| | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
+| | | | +--- com.squareup.okhttp3:okhttp:4.12.0
+| | | | | +--- com.squareup.okio:okio:3.6.0 -> 3.9.1 (*)
+| | | | | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.21 -> 1.9.20 (*)
+| | | | +--- com.squareup.okhttp3:okhttp-sse:4.12.0
+| | | | | +--- com.squareup.okhttp3:okhttp:4.12.0 (*)
+| | | | | \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.21 -> 1.9.20 (*)
+| | | | +--- com.squareup.okio:okio:3.9.1 (*)
+| | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.9.0 -> 1.10.1 (*)
+| | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.21 -> 2.1.0 (*)
+| | | +--- io.insert-koin:koin-android:4.0.1-RC1 (*)
+| | | +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
+| | | +--- io.insert-koin:koin-bom:4.0.1-RC1 (*)
+| | | +--- io.insert-koin:koin-core:4.0.1-RC1 (*)
+| | | +--- io.insert-koin:koin-annotations:1.4.0-RC4 (*)
+| | | +--- project :core:common (*)
+| | | +--- project :core:model (*)
+| | | +--- project :core:datastore (*)
+| | | +--- org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.3 (*)
+| | | +--- io.ktor:ktor-client-core:3.0.3 (*)
+| | | +--- io.ktor:ktor-client-json:3.0.3
+| | | | \--- io.ktor:ktor-client-json-jvm:3.0.3
+| | | | +--- org.slf4j:slf4j-api:2.0.16
+| | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.9.0 -> 1.10.1 (*)
+| | | | +--- io.ktor:ktor-client-core:3.0.3 (*)
+| | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.21 -> 2.1.0 (*)
+| | | +--- io.ktor:ktor-client-logging:3.0.3
+| | | | \--- io.ktor:ktor-client-logging-jvm:3.0.3
+| | | | +--- org.slf4j:slf4j-api:2.0.16
+| | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-slf4j:1.9.0 -> 1.10.1 (*)
+| | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.9.0 -> 1.10.1 (*)
+| | | | +--- io.ktor:ktor-client-core:3.0.3 (*)
+| | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.21 -> 2.1.0 (*)
+| | | +--- io.ktor:ktor-client-serialization:3.0.3
+| | | | \--- io.ktor:ktor-client-serialization-jvm:3.0.3
+| | | | +--- org.slf4j:slf4j-api:2.0.16
+| | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.9.0 -> 1.10.1 (*)
+| | | | +--- io.ktor:ktor-client-core:3.0.3 (*)
+| | | | +--- org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.3 (*)
+| | | | +--- io.ktor:ktor-client-json:3.0.3 (*)
+| | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.21 -> 2.1.0 (*)
+| | | +--- io.ktor:ktor-client-content-negotiation:3.0.3
+| | | | \--- io.ktor:ktor-client-content-negotiation-jvm:3.0.3
+| | | | +--- org.slf4j:slf4j-api:2.0.16
+| | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.9.0 -> 1.10.1 (*)
+| | | | +--- io.ktor:ktor-client-core:3.0.3 (*)
+| | | | +--- io.ktor:ktor-serialization:3.0.3 (*)
+| | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.21 -> 2.1.0 (*)
+| | | +--- io.ktor:ktor-client-auth:3.0.3
+| | | | \--- io.ktor:ktor-client-auth-jvm:3.0.3
+| | | | +--- org.slf4j:slf4j-api:2.0.16
+| | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.9.0 -> 1.10.1 (*)
+| | | | +--- io.ktor:ktor-client-core:3.0.3 (*)
+| | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.21 -> 2.1.0 (*)
+| | | +--- io.ktor:ktor-serialization-kotlinx-json:3.0.3
+| | | | \--- io.ktor:ktor-serialization-kotlinx-json-jvm:3.0.3
+| | | | +--- org.slf4j:slf4j-api:2.0.16
+| | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.9.0 -> 1.10.1 (*)
+| | | | +--- io.ktor:ktor-http:3.0.3 (*)
+| | | | +--- io.ktor:ktor-serialization-kotlinx:3.0.3
+| | | | | \--- io.ktor:ktor-serialization-kotlinx-jvm:3.0.3
+| | | | | +--- org.slf4j:slf4j-api:2.0.16
+| | | | | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.9.0 -> 1.10.1 (*)
+| | | | | +--- io.ktor:ktor-http:3.0.3 (*)
+| | | | | +--- io.ktor:ktor-serialization:3.0.3 (*)
+| | | | | +--- org.jetbrains.kotlinx:kotlinx-serialization-core:1.7.3 (*)
+| | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.21 -> 2.1.0 (*)
+| | | | +--- org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.3 (*)
+| | | | +--- org.jetbrains.kotlinx:kotlinx-serialization-json-io:1.7.3
+| | | | | \--- org.jetbrains.kotlinx:kotlinx-serialization-json-io-jvm:1.7.3
+| | | | | +--- org.jetbrains.kotlinx:kotlinx-serialization-bom:1.7.3 (*)
+| | | | | +--- org.jetbrains.kotlin:kotlin-stdlib:2.0.20 -> 2.1.0 (*)
+| | | | | +--- org.jetbrains.kotlinx:kotlinx-serialization-core:1.7.3 (*)
+| | | | | +--- org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.3 (*)
+| | | | | \--- org.jetbrains.kotlinx:kotlinx-io-core:0.4.0 -> 0.5.4 (*)
+| | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.21 -> 2.1.0 (*)
+| | | +--- de.jensklingenberg.ktorfit:ktorfit-lib:2.2.0
+| | | | \--- de.jensklingenberg.ktorfit:ktorfit-lib-android:2.2.0
+| | | | +--- io.ktor:ktor-client-okhttp:3.0.1 -> 3.0.3 (*)
+| | | | +--- de.jensklingenberg.ktorfit:ktorfit-lib-light:2.2.0
+| | | | | \--- de.jensklingenberg.ktorfit:ktorfit-lib-light-android:2.2.0
+| | | | | +--- de.jensklingenberg.ktorfit:ktorfit-annotations:2.2.0
+| | | | | | \--- de.jensklingenberg.ktorfit:ktorfit-annotations-android:2.2.0
+| | | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.21 -> 2.1.0 (*)
+| | | | | +--- io.ktor:ktor-client-core:3.0.1 -> 3.0.3 (*)
+| | | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.21 -> 2.1.0 (*)
+| | | | \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.21 -> 2.1.0 (*)
+| | | \--- com.squareup.okio:okio:3.9.1 (*)
+| | +--- project :core:analytics (*)
+| | +--- org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.3 (*)
+| | +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.1 (*)
+| | \--- org.jetbrains.kotlin:kotlin-parcelize-runtime:2.1.0 (*)
+| +--- io.insert-koin:koin-compose:4.0.1-RC1 (*)
+| +--- io.insert-koin:koin-compose-viewmodel:4.0.1-RC1
+| | \--- io.insert-koin:koin-compose-viewmodel-jvm:4.0.1-RC1
+| | +--- io.insert-koin:koin-compose:4.0.1-RC1 (*)
+| | +--- io.insert-koin:koin-core-viewmodel:4.0.1-RC1 (*)
+| | +--- org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-compose:2.8.3 (*)
+| | \--- org.jetbrains.kotlin:kotlin-stdlib:2.0.21 -> 2.1.0 (*)
+| +--- org.jetbrains.compose.runtime:runtime:1.7.3 (*)
+| +--- org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-compose:2.8.3 (*)
+| +--- org.jetbrains.androidx.lifecycle:lifecycle-viewmodel:2.8.3 (*)
+| +--- org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.3 (*)
+| +--- org.jetbrains.androidx.savedstate:savedstate:1.2.2 (*)
+| +--- org.jetbrains.androidx.core:core-bundle:1.0.1 (*)
+| +--- org.jetbrains.androidx.navigation:navigation-compose:2.8.0-alpha10 (*)
+| +--- org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.8
+| | \--- org.jetbrains.kotlinx:kotlinx-collections-immutable-jvm:0.3.8
+| | \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.21 -> 2.1.0 (*)
+| +--- project :cmp-navigation
+| | +--- io.insert-koin:koin-bom:4.0.1-RC1 (*)
+| | +--- io.insert-koin:koin-android:4.0.1-RC1 (*)
+| | +--- io.insert-koin:koin-androidx-compose:4.0.1-RC1 (*)
+| | +--- io.insert-koin:koin-androidx-navigation:4.0.1-RC1 (*)
+| | +--- io.insert-koin:koin-core-viewmodel:4.0.1-RC1 (*)
+| | +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
+| | +--- io.insert-koin:koin-core:4.0.1-RC1 (*)
+| | +--- io.insert-koin:koin-annotations:1.4.0-RC4 (*)
+| | +--- project :core:ui (*)
+| | +--- project :core:designsystem (*)
+| | +--- project :core:data (*)
+| | +--- io.insert-koin:koin-compose:4.0.1-RC1 (*)
+| | +--- io.insert-koin:koin-compose-viewmodel:4.0.1-RC1 (*)
+| | +--- org.jetbrains.compose.runtime:runtime:1.7.3 (*)
+| | +--- org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-compose:2.8.3 (*)
+| | +--- org.jetbrains.androidx.lifecycle:lifecycle-viewmodel:2.8.3 (*)
+| | +--- org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.3 (*)
+| | +--- org.jetbrains.androidx.savedstate:savedstate:1.2.2 (*)
+| | +--- org.jetbrains.androidx.core:core-bundle:1.0.1 (*)
+| | +--- org.jetbrains.androidx.navigation:navigation-compose:2.8.0-alpha10 (*)
+| | +--- org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.8 (*)
+| | +--- project :core:common (*)
+| | +--- project :feature:home
+| | | +--- io.insert-koin:koin-bom:4.0.1-RC1 (*)
+| | | +--- io.insert-koin:koin-android:4.0.1-RC1 (*)
+| | | +--- io.insert-koin:koin-androidx-compose:4.0.1-RC1 (*)
+| | | +--- io.insert-koin:koin-androidx-navigation:4.0.1-RC1 (*)
+| | | +--- io.insert-koin:koin-core-viewmodel:4.0.1-RC1 (*)
+| | | +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
+| | | +--- io.insert-koin:koin-core:4.0.1-RC1 (*)
+| | | +--- io.insert-koin:koin-annotations:1.4.0-RC4 (*)
+| | | +--- project :core:ui (*)
+| | | +--- project :core:designsystem (*)
+| | | +--- project :core:data (*)
+| | | +--- io.insert-koin:koin-compose:4.0.1-RC1 (*)
+| | | +--- io.insert-koin:koin-compose-viewmodel:4.0.1-RC1 (*)
+| | | +--- org.jetbrains.compose.runtime:runtime:1.7.3 (*)
+| | | +--- org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-compose:2.8.3 (*)
+| | | +--- org.jetbrains.androidx.lifecycle:lifecycle-viewmodel:2.8.3 (*)
+| | | +--- org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.3 (*)
+| | | +--- org.jetbrains.androidx.savedstate:savedstate:1.2.2 (*)
+| | | +--- org.jetbrains.androidx.core:core-bundle:1.0.1 (*)
+| | | +--- org.jetbrains.androidx.navigation:navigation-compose:2.8.0-alpha10 (*)
+| | | +--- org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.8 (*)
+| | | +--- org.jetbrains.compose.ui:ui:1.7.0-rc01 (*)
+| | | +--- org.jetbrains.compose.foundation:foundation:1.7.0-rc01 (*)
+| | | +--- org.jetbrains.compose.material3:material3:1.7.0-rc01 (*)
+| | | +--- org.jetbrains.compose.components:components-resources:1.7.0-rc01 (*)
+| | | +--- org.jetbrains.compose.components:components-ui-tooling-preview:1.7.0-rc01 (*)
+| | | +--- org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.3 (*)
+| | | \--- org.jetbrains.kotlin:kotlin-parcelize-runtime:2.1.0 (*)
+| | +--- project :feature:profile
+| | | +--- io.insert-koin:koin-bom:4.0.1-RC1 (*)
+| | | +--- io.insert-koin:koin-android:4.0.1-RC1 (*)
+| | | +--- io.insert-koin:koin-androidx-compose:4.0.1-RC1 (*)
+| | | +--- io.insert-koin:koin-androidx-navigation:4.0.1-RC1 (*)
+| | | +--- io.insert-koin:koin-core-viewmodel:4.0.1-RC1 (*)
+| | | +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
+| | | +--- io.insert-koin:koin-core:4.0.1-RC1 (*)
+| | | +--- io.insert-koin:koin-annotations:1.4.0-RC4 (*)
+| | | +--- project :core:ui (*)
+| | | +--- project :core:designsystem (*)
+| | | +--- project :core:data (*)
+| | | +--- io.insert-koin:koin-compose:4.0.1-RC1 (*)
+| | | +--- io.insert-koin:koin-compose-viewmodel:4.0.1-RC1 (*)
+| | | +--- org.jetbrains.compose.runtime:runtime:1.7.3 (*)
+| | | +--- org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-compose:2.8.3 (*)
+| | | +--- org.jetbrains.androidx.lifecycle:lifecycle-viewmodel:2.8.3 (*)
+| | | +--- org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.3 (*)
+| | | +--- org.jetbrains.androidx.savedstate:savedstate:1.2.2 (*)
+| | | +--- org.jetbrains.androidx.core:core-bundle:1.0.1 (*)
+| | | +--- org.jetbrains.androidx.navigation:navigation-compose:2.8.0-alpha10 (*)
+| | | +--- org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.8 (*)
+| | | +--- org.jetbrains.compose.ui:ui:1.7.0-rc01 (*)
+| | | +--- org.jetbrains.compose.foundation:foundation:1.7.0-rc01 (*)
+| | | +--- org.jetbrains.compose.material3:material3:1.7.0-rc01 (*)
+| | | +--- org.jetbrains.compose.components:components-resources:1.7.0-rc01 (*)
+| | | +--- org.jetbrains.compose.components:components-ui-tooling-preview:1.7.0-rc01 (*)
+| | | +--- org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.3 (*)
+| | | \--- org.jetbrains.kotlin:kotlin-parcelize-runtime:2.1.0 (*)
+| | +--- project :feature:settings
+| | | +--- io.insert-koin:koin-bom:4.0.1-RC1 (*)
+| | | +--- io.insert-koin:koin-android:4.0.1-RC1 (*)
+| | | +--- io.insert-koin:koin-androidx-compose:4.0.1-RC1 (*)
+| | | +--- io.insert-koin:koin-androidx-navigation:4.0.1-RC1 (*)
+| | | +--- io.insert-koin:koin-core-viewmodel:4.0.1-RC1 (*)
+| | | +--- org.jetbrains.kotlin:kotlin-stdlib:2.1.0 (*)
+| | | +--- io.insert-koin:koin-core:4.0.1-RC1 (*)
+| | | +--- io.insert-koin:koin-annotations:1.4.0-RC4 (*)
+| | | +--- project :core:ui (*)
+| | | +--- project :core:designsystem (*)
+| | | +--- project :core:data (*)
+| | | +--- io.insert-koin:koin-compose:4.0.1-RC1 (*)
+| | | +--- io.insert-koin:koin-compose-viewmodel:4.0.1-RC1 (*)
+| | | +--- org.jetbrains.compose.runtime:runtime:1.7.3 (*)
+| | | +--- org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-compose:2.8.3 (*)
+| | | +--- org.jetbrains.androidx.lifecycle:lifecycle-viewmodel:2.8.3 (*)
+| | | +--- org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.3 (*)
+| | | +--- org.jetbrains.androidx.savedstate:savedstate:1.2.2 (*)
+| | | +--- org.jetbrains.androidx.core:core-bundle:1.0.1 (*)
+| | | +--- org.jetbrains.androidx.navigation:navigation-compose:2.8.0-alpha10 (*)
+| | | +--- org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.8 (*)
+| | | +--- org.jetbrains.compose.ui:ui:1.7.0-rc01 (*)
+| | | +--- org.jetbrains.compose.foundation:foundation:1.7.0-rc01 (*)
+| | | +--- org.jetbrains.compose.material3:material3:1.7.0-rc01 (*)
+| | | +--- org.jetbrains.compose.components:components-resources:1.7.0-rc01 (*)
+| | | +--- org.jetbrains.compose.components:components-ui-tooling-preview:1.7.0-rc01 (*)
+| | | +--- org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.3 (*)
+| | | \--- org.jetbrains.kotlin:kotlin-parcelize-runtime:2.1.0 (*)
+| | +--- org.jetbrains.compose.material3:material3:1.7.0-rc01 (*)
+| | +--- org.jetbrains.compose.foundation:foundation:1.7.0-rc01 (*)
+| | +--- org.jetbrains.compose.ui:ui:1.7.0-rc01 (*)
+| | +--- org.jetbrains.compose.components:components-ui-tooling-preview:1.7.0-rc01 (*)
+| | +--- org.jetbrains.compose.components:components-resources:1.7.0-rc01 (*)
+| | \--- dev.chrisbanes.material3:material3-window-size-class-multiplatform:0.5.0 (*)
+| \--- org.jetbrains.compose.components:components-resources:1.7.0-rc01 (*)
++--- project :core:ui (*)
++--- androidx.core:core-ktx:1.15.0 (*)
++--- androidx.appcompat:appcompat:1.7.0 (*)
++--- androidx.activity:activity-compose:1.9.3 (*)
++--- androidx.activity:activity-ktx:1.9.3 (*)
++--- androidx.core:core-splashscreen:1.0.1
+| +--- androidx.annotation:annotation:1.2.0 -> 1.9.1 (*)
+| \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.21 -> 2.1.0 (*)
++--- androidx.profileinstaller:profileinstaller:1.4.1 (*)
++--- androidx.tracing:tracing-ktx:1.3.0-alpha02 (*)
++--- io.insert-koin:koin-core:4.0.1-RC1 (*)
++--- io.insert-koin:koin-android:4.0.1-RC1 (*)
++--- io.insert-koin:koin-compose:4.0.1-RC1 (*)
++--- io.insert-koin:koin-compose-viewmodel:4.0.1-RC1 (*)
+\--- androidx.compose.runtime:runtime -> 1.7.6 (*)
diff --git a/androidApp/dependencies/prodReleaseRuntimeClasspath.txt b/cmp-android/dependencies/prodReleaseRuntimeClasspath.txt
similarity index 86%
rename from androidApp/dependencies/prodReleaseRuntimeClasspath.txt
rename to cmp-android/dependencies/prodReleaseRuntimeClasspath.txt
index 7aaedb8537..f707f41503 100644
--- a/androidApp/dependencies/prodReleaseRuntimeClasspath.txt
+++ b/cmp-android/dependencies/prodReleaseRuntimeClasspath.txt
@@ -9,11 +9,6 @@ androidx.appcompat:appcompat:1.7.0
androidx.arch.core:core-common:2.2.0
androidx.arch.core:core-runtime:2.2.0
androidx.autofill:autofill:1.0.0
-androidx.camera:camera-camera2:1.4.1
-androidx.camera:camera-core:1.4.1
-androidx.camera:camera-lifecycle:1.4.1
-androidx.camera:camera-video:1.4.1
-androidx.camera:camera-view:1.4.1
androidx.collection:collection-jvm:1.4.4
androidx.collection:collection-ktx:1.4.4
androidx.collection:collection:1.4.4
@@ -54,15 +49,18 @@ androidx.compose.ui:ui-util-android:1.7.6
androidx.compose.ui:ui-util:1.7.6
androidx.compose.ui:ui:1.7.6
androidx.compose:compose-bom:2024.12.01
-androidx.concurrent:concurrent-futures-ktx:1.1.0
androidx.concurrent:concurrent-futures:1.1.0
androidx.core:core-ktx:1.15.0
androidx.core:core-splashscreen:1.0.1
androidx.core:core:1.15.0
androidx.cursoradapter:cursoradapter:1.0.0
androidx.customview:customview-poolingcontainer:1.0.0
-androidx.customview:customview:1.0.0
-androidx.databinding:viewbinding:7.4.2
+androidx.customview:customview:1.1.0
+androidx.databinding:databinding-adapters:8.7.3
+androidx.databinding:databinding-common:8.7.3
+androidx.databinding:databinding-ktx:8.7.3
+androidx.databinding:databinding-runtime:8.7.3
+androidx.databinding:viewbinding:8.7.3
androidx.documentfile:documentfile:1.0.0
androidx.drawerlayout:drawerlayout:1.0.0
androidx.emoji2:emoji2-views-helper:1.3.0
@@ -71,8 +69,6 @@ androidx.exifinterface:exifinterface:1.3.7
androidx.fragment:fragment-ktx:1.8.5
androidx.fragment:fragment:1.8.5
androidx.graphics:graphics-path:1.0.1
-androidx.hilt:hilt-navigation-compose:1.2.0
-androidx.hilt:hilt-navigation:1.2.0
androidx.interpolator:interpolator:1.0.0
androidx.legacy:legacy-support-core-utils:1.0.0
androidx.lifecycle:lifecycle-common-java8:2.8.7
@@ -88,6 +84,7 @@ androidx.lifecycle:lifecycle-runtime-compose:2.8.7
androidx.lifecycle:lifecycle-runtime-ktx-android:2.8.7
androidx.lifecycle:lifecycle-runtime-ktx:2.8.7
androidx.lifecycle:lifecycle-runtime:2.8.7
+androidx.lifecycle:lifecycle-service:2.8.7
androidx.lifecycle:lifecycle-viewmodel-android:2.8.7
androidx.lifecycle:lifecycle-viewmodel-compose-android:2.8.7
androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7
@@ -97,12 +94,13 @@ androidx.lifecycle:lifecycle-viewmodel:2.8.7
androidx.loader:loader:1.0.0
androidx.localbroadcastmanager:localbroadcastmanager:1.0.0
androidx.metrics:metrics-performance:1.0.0-beta01
-androidx.multidex:multidex:2.0.1
-androidx.navigation:navigation-common-ktx:2.8.5
-androidx.navigation:navigation-common:2.8.5
-androidx.navigation:navigation-compose:2.8.5
-androidx.navigation:navigation-runtime-ktx:2.8.5
-androidx.navigation:navigation-runtime:2.8.5
+androidx.navigation:navigation-common-ktx:2.8.4
+androidx.navigation:navigation-common:2.8.4
+androidx.navigation:navigation-compose:2.8.4
+androidx.navigation:navigation-fragment-ktx:2.8.4
+androidx.navigation:navigation-fragment:2.8.4
+androidx.navigation:navigation-runtime-ktx:2.8.4
+androidx.navigation:navigation-runtime:2.8.4
androidx.print:print:1.0.0
androidx.privacysandbox.ads:ads-adservices-java:1.0.0-beta05
androidx.privacysandbox.ads:ads-adservices:1.0.0-beta05
@@ -115,6 +113,7 @@ androidx.room:room-runtime-android:2.7.0-alpha12
androidx.room:room-runtime:2.7.0-alpha12
androidx.savedstate:savedstate-ktx:1.2.1
androidx.savedstate:savedstate:1.2.1
+androidx.slidingpanelayout:slidingpanelayout:1.2.0
androidx.sqlite:sqlite-android:2.5.0-alpha12
androidx.sqlite:sqlite-bundled-android:2.5.0-alpha12
androidx.sqlite:sqlite-bundled:2.5.0-alpha12
@@ -124,6 +123,7 @@ androidx.sqlite:sqlite:2.5.0-alpha12
androidx.startup:startup-runtime:1.1.1
androidx.tracing:tracing-ktx:1.2.0
androidx.tracing:tracing:1.2.0
+androidx.transition:transition:1.4.1
androidx.vectordrawable:vectordrawable-animated:1.1.0
androidx.vectordrawable:vectordrawable:1.1.0
androidx.versionedparcelable:versionedparcelable:1.1.1
@@ -147,33 +147,19 @@ com.arkivanov.essenty:utils-internal:2.1.0
com.caverock:androidsvg-aar:1.4
com.google.accompanist:accompanist-drawablepainter:0.36.0
com.google.accompanist:accompanist-pager:0.34.0
-com.google.accompanist:accompanist-permissions:0.34.0
-com.google.android.datatransport:transport-api:2.2.1
-com.google.android.datatransport:transport-backend-cct:2.3.3
-com.google.android.datatransport:transport-runtime:2.2.6
com.google.android.gms:play-services-ads-identifier:18.0.0
com.google.android.gms:play-services-base:18.5.0
com.google.android.gms:play-services-basement:18.4.0
-com.google.android.gms:play-services-maps:18.2.0
com.google.android.gms:play-services-measurement-api:22.1.2
com.google.android.gms:play-services-measurement-base:22.1.2
com.google.android.gms:play-services-measurement-impl:22.1.2
com.google.android.gms:play-services-measurement-sdk-api:22.1.2
com.google.android.gms:play-services-measurement-sdk:22.1.2
com.google.android.gms:play-services-measurement:22.1.2
-com.google.android.gms:play-services-mlkit-barcode-scanning:18.3.1
-com.google.android.gms:play-services-oss-licenses:17.1.0
com.google.android.gms:play-services-stats:17.0.2
com.google.android.gms:play-services-tasks:18.2.0
-com.google.android.odml:image:1.0.0-beta1
-com.google.auto.value:auto-value-annotations:1.6.3
com.google.code.findbugs:jsr305:3.0.2
-com.google.code.gson:gson:2.10.1
-com.google.dagger:dagger-lint-aar:2.54
-com.google.dagger:dagger:2.54
-com.google.dagger:hilt-android:2.54
-com.google.dagger:hilt-core:2.54
-com.google.errorprone:error_prone_annotations:2.28.0
+com.google.errorprone:error_prone_annotations:2.26.0
com.google.firebase:firebase-analytics-ktx:22.1.2
com.google.firebase:firebase-analytics:22.1.2
com.google.firebase:firebase-annotations:16.2.0
@@ -181,22 +167,13 @@ com.google.firebase:firebase-bom:33.7.0
com.google.firebase:firebase-common-ktx:21.0.0
com.google.firebase:firebase-common:21.0.0
com.google.firebase:firebase-components:18.0.0
-com.google.firebase:firebase-encoders-json:17.1.0
-com.google.firebase:firebase-encoders:17.0.0
com.google.firebase:firebase-installations-interop:17.1.1
com.google.firebase:firebase-installations:18.0.0
com.google.firebase:firebase-measurement-connector:19.0.0
-com.google.guava:failureaccess:1.0.2
-com.google.guava:guava:33.3.1-android
+com.google.guava:failureaccess:1.0.1
+com.google.guava:guava:31.1-android
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
-com.google.j2objc:j2objc-annotations:3.0.0
-com.google.maps.android:maps-compose:4.4.1
-com.google.maps.android:maps-ktx:5.0.0
-com.google.mlkit:barcode-scanning-common:17.0.0
-com.google.mlkit:barcode-scanning:17.3.0
-com.google.mlkit:common:18.11.0
-com.google.mlkit:vision-common:17.3.0
-com.google.mlkit:vision-interfaces:16.3.0
+com.google.j2objc:j2objc-annotations:1.3
com.russhwolf:multiplatform-settings-android:1.2.0
com.russhwolf:multiplatform-settings-coroutines-android:1.2.0
com.russhwolf:multiplatform-settings-coroutines:1.2.0
@@ -209,8 +186,6 @@ com.squareup.okhttp3:okhttp-sse:4.12.0
com.squareup.okhttp3:okhttp:4.12.0
com.squareup.okio:okio-jvm:3.9.1
com.squareup.okio:okio:3.9.1
-com.squareup.retrofit2:converter-gson:2.11.0
-com.squareup.retrofit2:retrofit:2.11.0
de.jensklingenberg.ktorfit:ktorfit-annotations-android:2.2.0
de.jensklingenberg.ktorfit:ktorfit-annotations:2.2.0
de.jensklingenberg.ktorfit:ktorfit-lib-android:2.2.0
@@ -232,13 +207,13 @@ io.coil-kt.coil3:coil-network-ktor3:3.0.4
io.coil-kt.coil3:coil-svg-android:3.0.4
io.coil-kt.coil3:coil-svg:3.0.4
io.coil-kt.coil3:coil:3.0.4
-io.github.mr0xf00:easycrop:0.1.1
io.github.vinceglb:filekit-compose-android:0.8.7
io.github.vinceglb:filekit-compose:0.8.7
io.github.vinceglb:filekit-core-android:0.8.7
io.github.vinceglb:filekit-core:0.8.7
io.insert-koin:koin-android:4.0.1-RC1
io.insert-koin:koin-androidx-compose:4.0.1-RC1
+io.insert-koin:koin-androidx-navigation:4.0.1-RC1
io.insert-koin:koin-annotations-jvm:1.4.0-RC4
io.insert-koin:koin-annotations:1.4.0-RC4
io.insert-koin:koin-bom:4.0.1-RC1
@@ -284,10 +259,8 @@ io.ktor:ktor-websocket-serialization-jvm:3.0.3
io.ktor:ktor-websocket-serialization:3.0.3
io.ktor:ktor-websockets-jvm:3.0.3
io.ktor:ktor-websockets:3.0.3
-io.michaelrocks:libphonenumber-android:8.13.35
-jakarta.inject:jakarta.inject-api:2.0.1
javax.inject:javax.inject:1
-org.checkerframework:checker-qual:3.43.0
+org.checkerframework:checker-qual:3.12.0
org.jetbrains.androidx.core:core-bundle-android:1.0.1
org.jetbrains.androidx.core:core-bundle:1.0.1
org.jetbrains.androidx.lifecycle:lifecycle-common:2.8.3
@@ -320,14 +293,14 @@ org.jetbrains.compose.runtime:runtime:1.7.3
org.jetbrains.compose.ui:ui-geometry:1.7.0-rc01
org.jetbrains.compose.ui:ui-graphics:1.7.0-rc01
org.jetbrains.compose.ui:ui-text:1.7.0-rc01
-org.jetbrains.compose.ui:ui-tooling-preview:1.7.0-rc01
org.jetbrains.compose.ui:ui-unit:1.7.0-rc01
org.jetbrains.compose.ui:ui-util:1.7.0-rc01
org.jetbrains.compose.ui:ui:1.7.0-rc01
org.jetbrains.kotlin:kotlin-android-extensions-runtime:2.1.0
org.jetbrains.kotlin:kotlin-parcelize-runtime:2.1.0
-org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.23
-org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.22
+org.jetbrains.kotlin:kotlin-stdlib-common:2.1.0
+org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.20
+org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.20
org.jetbrains.kotlin:kotlin-stdlib:2.1.0
org.jetbrains.kotlinx:atomicfu-jvm:0.23.2
org.jetbrains.kotlinx:atomicfu:0.23.2
@@ -353,5 +326,4 @@ org.jetbrains.kotlinx:kotlinx-serialization-json-io:1.7.3
org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.7.3
org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.3
org.jetbrains:annotations:23.0.0
-org.jspecify:jspecify:1.0.0
org.slf4j:slf4j-api:2.0.16
diff --git a/cmp-android/google-services.json b/cmp-android/google-services.json
new file mode 100644
index 0000000000..8c353d3e9a
--- /dev/null
+++ b/cmp-android/google-services.json
@@ -0,0 +1,63 @@
+{
+ "project_info": {
+ "project_number": "project_number",
+ "firebase_url": "firebase_url",
+ "project_id": "project_id",
+ "storage_bucket": "storage_bucket"
+ },
+ "client": [
+ {
+ "client_info": {
+ "mobilesdk_app_id": "mobilesdk_app_id",
+ "android_client_info": {
+ "package_name": "org.mifos.mobile"
+ }
+ },
+ "api_key": [
+ {
+ "current_key": "current_key"
+ }
+ ]
+ },
+ {
+ "client_info": {
+ "mobilesdk_app_id": "mobilesdk_app_id",
+ "android_client_info": {
+ "package_name": "org.mifos.mobile.demo.debug"
+ }
+ },
+ "api_key": [
+ {
+ "current_key": "current_key"
+ }
+ ]
+ },
+ {
+ "client_info": {
+ "mobilesdk_app_id": "mobilesdk_app_id",
+ "android_client_info": {
+ "package_name": "org.mifos.mobile.demo"
+ }
+ },
+ "api_key": [
+ {
+ "current_key": "current_key"
+ }
+ ]
+ },
+ {
+ "client_info": {
+ "mobilesdk_app_id": "mobilesdk_app_id",
+ "android_client_info": {
+ "package_name": "org.mifos.mobile.debug"
+ }
+ },
+ "api_key": [
+ {
+ "current_key": "current_key"
+ }
+ ]
+ }
+ ],
+ "configuration_version": "1"
+}
\ No newline at end of file
diff --git a/cmp-android/lint-baseline.xml b/cmp-android/lint-baseline.xml
new file mode 100644
index 0000000000..729cb69855
--- /dev/null
+++ b/cmp-android/lint-baseline.xml
@@ -0,0 +1,1510 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/cmp-android/prodRelease-badging.txt b/cmp-android/prodRelease-badging.txt
new file mode 100644
index 0000000000..bd8109b923
--- /dev/null
+++ b/cmp-android/prodRelease-badging.txt
@@ -0,0 +1,129 @@
+package: name='org.mifospay' versionCode='1' versionName='2024.12.4-beta.0.4' platformBuildVersionName='15' platformBuildVersionCode='35' compileSdkVersion='35' compileSdkVersionCodename='15'
+sdkVersion:'26'
+targetSdkVersion:'34'
+uses-permission: name='android.permission.INTERNET'
+uses-permission: name='android.permission.CAMERA'
+uses-permission: name='android.permission.READ_EXTERNAL_STORAGE' maxSdkVersion='32'
+uses-permission: name='android.permission.WRITE_EXTERNAL_STORAGE' maxSdkVersion='32'
+uses-permission: name='android.permission.VIBRATE'
+uses-permission: name='android.permission.FLASHLIGHT'
+uses-permission: name='android.permission.ACCESS_NETWORK_STATE'
+uses-permission: name='android.permission.WAKE_LOCK'
+uses-permission: name='com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE'
+uses-permission: name='android.permission.ACCESS_ADSERVICES_ATTRIBUTION'
+uses-permission: name='android.permission.ACCESS_ADSERVICES_AD_ID'
+uses-permission: name='org.mifospay.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION'
+application-label:'Mifos Pay'
+application-label-af:'Mifos Pay'
+application-label-am:'Mifos Pay'
+application-label-ar:'Mifos Pay'
+application-label-as:'Mifos Pay'
+application-label-az:'Mifos Pay'
+application-label-be:'Mifos Pay'
+application-label-bg:'Mifos Pay'
+application-label-bn:'Mifos Pay'
+application-label-bs:'Mifos Pay'
+application-label-ca:'Mifos Pay'
+application-label-cs:'Mifos Pay'
+application-label-da:'Mifos Pay'
+application-label-de:'Mifos Pay'
+application-label-el:'Mifos Pay'
+application-label-en-AU:'Mifos Pay'
+application-label-en-CA:'Mifos Pay'
+application-label-en-GB:'Mifos Pay'
+application-label-en-IN:'Mifos Pay'
+application-label-en-XC:'Mifos Pay'
+application-label-es:'Mifos Pay'
+application-label-es-US:'Mifos Pay'
+application-label-et:'Mifos Pay'
+application-label-eu:'Mifos Pay'
+application-label-fa:'Mifos Pay'
+application-label-fi:'Mifos Pay'
+application-label-fr:'Mifos Pay'
+application-label-fr-CA:'Mifos Pay'
+application-label-gl:'Mifos Pay'
+application-label-gu:'Mifos Pay'
+application-label-hi:'Mifos Pay'
+application-label-hr:'Mifos Pay'
+application-label-hu:'Mifos Pay'
+application-label-hy:'Mifos Pay'
+application-label-in:'Mifos Pay'
+application-label-is:'Mifos Pay'
+application-label-it:'Mifos Pay'
+application-label-iw:'Mifos Pay'
+application-label-ja:'Mifos Pay'
+application-label-ka:'Mifos Pay'
+application-label-kk:'Mifos Pay'
+application-label-km:'Mifos Pay'
+application-label-kn:'Mifos Pay'
+application-label-ko:'Mifos Pay'
+application-label-ky:'Mifos Pay'
+application-label-lo:'Mifos Pay'
+application-label-lt:'Mifos Pay'
+application-label-lv:'Mifos Pay'
+application-label-mk:'Mifos Pay'
+application-label-ml:'Mifos Pay'
+application-label-mn:'Mifos Pay'
+application-label-mr:'Mifos Pay'
+application-label-ms:'Mifos Pay'
+application-label-my:'Mifos Pay'
+application-label-nb:'Mifos Pay'
+application-label-ne:'Mifos Pay'
+application-label-nl:'Mifos Pay'
+application-label-or:'Mifos Pay'
+application-label-pa:'Mifos Pay'
+application-label-pl:'Mifos Pay'
+application-label-pt:'Mifos Pay'
+application-label-pt-BR:'Mifos Pay'
+application-label-pt-PT:'Mifos Pay'
+application-label-ro:'Mifos Pay'
+application-label-ru:'Mifos Pay'
+application-label-si:'Mifos Pay'
+application-label-sk:'Mifos Pay'
+application-label-sl:'Mifos Pay'
+application-label-sq:'Mifos Pay'
+application-label-sr:'Mifos Pay'
+application-label-sr-Latn:'Mifos Pay'
+application-label-sv:'Mifos Pay'
+application-label-sw:'Mifos Pay'
+application-label-ta:'Mifos Pay'
+application-label-te:'Mifos Pay'
+application-label-th:'Mifos Pay'
+application-label-tl:'Mifos Pay'
+application-label-tr:'Mifos Pay'
+application-label-uk:'Mifos Pay'
+application-label-ur:'Mifos Pay'
+application-label-uz:'Mifos Pay'
+application-label-vi:'Mifos Pay'
+application-label-zh-CN:'Mifos Pay'
+application-label-zh-HK:'Mifos Pay'
+application-label-zh-TW:'Mifos Pay'
+application-label-zu:'Mifos Pay'
+application-icon-160:'res/mipmap-anydpi-v26/ic_launcher.xml'
+application-icon-240:'res/mipmap-anydpi-v26/ic_launcher.xml'
+application-icon-320:'res/mipmap-anydpi-v26/ic_launcher.xml'
+application-icon-480:'res/mipmap-anydpi-v26/ic_launcher.xml'
+application-icon-640:'res/mipmap-anydpi-v26/ic_launcher.xml'
+application-icon-65534:'res/mipmap-anydpi-v26/ic_launcher.xml'
+application: label='Mifos Pay' icon='res/mipmap-anydpi-v26/ic_launcher.xml'
+launchable-activity: name='org.mifospay.MainActivity' label='' icon=''
+property: name='android.adservices.AD_SERVICES_CONFIG' resource='res/xml/ga_ad_services_config.xml'
+uses-library-not-required:'androidx.window.extensions'
+uses-library-not-required:'androidx.window.sidecar'
+uses-library-not-required:'android.ext.adservices'
+feature-group: label=''
+ uses-feature: name='android.hardware.camera'
+ uses-feature: name='android.hardware.camera.autofocus'
+ uses-feature: name='android.hardware.faketouch'
+ uses-implied-feature: name='android.hardware.faketouch' reason='default feature for all apps'
+ uses-feature: name='android.hardware.screen.portrait'
+ uses-implied-feature: name='android.hardware.screen.portrait' reason='one or more activities have specified a portrait orientation'
+main
+other-activities
+other-receivers
+other-services
+supports-screens: 'small' 'normal' 'large' 'xlarge'
+supports-any-density: 'true'
+locales: '--_--' 'af' 'am' 'ar' 'as' 'az' 'be' 'bg' 'bn' 'bs' 'ca' 'cs' 'da' 'de' 'el' 'en-AU' 'en-CA' 'en-GB' 'en-IN' 'en-XC' 'es' 'es-US' 'et' 'eu' 'fa' 'fi' 'fr' 'fr-CA' 'gl' 'gu' 'hi' 'hr' 'hu' 'hy' 'in' 'is' 'it' 'iw' 'ja' 'ka' 'kk' 'km' 'kn' 'ko' 'ky' 'lo' 'lt' 'lv' 'mk' 'ml' 'mn' 'mr' 'ms' 'my' 'nb' 'ne' 'nl' 'or' 'pa' 'pl' 'pt' 'pt-BR' 'pt-PT' 'ro' 'ru' 'si' 'sk' 'sl' 'sq' 'sr' 'sr-Latn' 'sv' 'sw' 'ta' 'te' 'th' 'tl' 'tr' 'uk' 'ur' 'uz' 'vi' 'zh-CN' 'zh-HK' 'zh-TW' 'zu'
+densities: '160' '240' '320' '480' '640' '65534'
+native-code: 'arm64-v8a' 'armeabi-v7a' 'x86' 'x86_64'
diff --git a/cmp-android/proguard-rules.pro b/cmp-android/proguard-rules.pro
new file mode 100644
index 0000000000..fe8b865e07
--- /dev/null
+++ b/cmp-android/proguard-rules.pro
@@ -0,0 +1,135 @@
+-ignorewarnings
+
+# Rules for: uCrop - Image Cropping Library for Android
+-dontwarn com.yalantis.ucrop**
+-dontwarn java.lang.management.ManagementFactory
+-keep class com.yalantis.ucrop** { *; }
+-keep interface com.yalantis.ucrop** { *; }
+
+# Proguard Kotlin Example https://github.com/Guardsquare/proguard/blob/master/examples/application-kotlin/proguard.pro
+
+-keepattributes *Annotation*
+
+-keep class kotlin.Metadata { *; }
+
+# Kotlin
+
+-keep class kotlin.reflect.jvm.internal.** { *; }
+-keep class kotlin.text.RegexOption { *; }
+
+-keep class kotlin.** { *; }
+-keep class org.jetbrains.skia.** { *; }
+-keep class org.jetbrains.skiko.** { *; }
+
+-assumenosideeffects public class androidx.compose.runtime.ComposerKt {
+ void sourceInformation(androidx.compose.runtime.Composer,java.lang.String);
+ void sourceInformationMarkerStart(androidx.compose.runtime.Composer,int,java.lang.String);
+ void sourceInformationMarkerEnd(androidx.compose.runtime.Composer);
+ boolean isTraceInProgress();
+ void traceEventEnd();
+}
+
+# Kotlinx Coroutines Rules
+# https://github.com/Kotlin/kotlinx.coroutines/blob/master/kotlinx-coroutines-core/jvm/resources/META-INF/proguard/coroutines.pro
+
+-keepnames class kotlinx.coroutines.internal.MainDispatcherFactory {}
+-keepnames class kotlinx.coroutines.CoroutineExceptionHandler {}
+-keepclassmembers class kotlinx.coroutines.** {
+ volatile ;
+}
+-keepclassmembers class kotlin.coroutines.SafeContinuation {
+ volatile ;
+}
+-dontwarn java.lang.instrument.ClassFileTransformer
+-dontwarn sun.misc.SignalHandler
+-dontwarn java.lang.instrument.Instrumentation
+-dontwarn sun.misc.Signal
+-dontwarn java.lang.ClassValue
+-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
+
+# https://github.com/Kotlin/kotlinx.coroutines/issues/2046
+-dontwarn android.annotation.SuppressLint
+
+# https://github.com/JetBrains/compose-jb/issues/2393
+-dontnote kotlin.coroutines.jvm.internal.**
+-dontnote kotlin.internal.**
+-dontnote kotlin.jvm.internal.**
+-dontnote kotlin.reflect.**
+-dontnote kotlinx.coroutines.debug.internal.**
+-dontnote kotlinx.coroutines.internal.**
+-keep class kotlin.coroutines.Continuation
+-keep class kotlinx.coroutines.CancellableContinuation
+-keep class kotlinx.coroutines.channels.Channel
+-keep class kotlinx.coroutines.CoroutineDispatcher
+-keep class kotlinx.coroutines.CoroutineScope
+# this is a weird one, but breaks build on some combinations of OS and JDK (reproduced on Windows 10 + Corretto 16)
+-dontwarn org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules_MatchStatementSet*
+
+### kotlinx.serialization rules
+
+# Keep `Companion` object fields of serializable classes.
+# This avoids serializer lookup through `getDeclaredClasses` as done for named companion objects.
+-if @kotlinx.serialization.Serializable class **
+-keepclassmembers class <1> {
+ static <1>$Companion Companion;
+}
+
+# Keep `serializer()` on companion objects (both default and named) of serializable classes.
+-if @kotlinx.serialization.Serializable class ** {
+ static **$* *;
+}
+-keepclassmembers class <2>$<3> {
+ kotlinx.serialization.KSerializer serializer(...);
+}
+
+# Keep `INSTANCE.serializer()` of serializable objects.
+-if @kotlinx.serialization.Serializable class ** {
+ public static ** INSTANCE;
+}
+-keepclassmembers class <1> {
+ public static <1> INSTANCE;
+ kotlinx.serialization.KSerializer serializer(...);
+}
+
+# @Serializable and @Polymorphic are used at runtime for polymorphic serialization.
+-keepattributes RuntimeVisibleAnnotations,AnnotationDefault
+
+# Don't print notes about potential mistakes or omissions in the configuration for kotlinx-serialization classes
+# See also https://github.com/Kotlin/kotlinx.serialization/issues/1900
+-dontnote kotlinx.serialization.**
+
+# Serialization core uses `java.lang.ClassValue` for caching inside these specified classes.
+# If there is no `java.lang.ClassValue` (for example, in Android), then R8/ProGuard will print a warning.
+# However, since in this case they will not be used, we can disable these warnings
+-dontwarn kotlinx.serialization.internal.ClassValueReferences
+
+# JSR 305 annotations are for embedding nullability information.
+-dontwarn javax.annotation.**
+
+# A resource is loaded with a relative path so the package of this class must be preserved.
+-keeppackagenames okhttp3.internal.publicsuffix.*
+-adaptresourcefilenames okhttp3/internal/publicsuffix/PublicSuffixDatabase.gz
+
+# Animal Sniffer compileOnly dependency to ensure APIs are compatible with older versions of Java.
+-dontwarn org.codehaus.mojo.animal_sniffer.*
+
+# OkHttp platform used only on JVM and when Conscrypt and other security providers are available.
+-dontwarn okhttp3.internal.platform.**
+-dontwarn org.conscrypt.**
+-dontwarn org.bouncycastle.**
+-dontwarn org.openjsse.**
+
+-keep class io.ktor.** { *; }
+-keep class kotlinx.serialization.** { *; }
+-keep class io.ktor.client.network.sockets.** { *; }
+-keep class io.ktor.client.plugins.* { *; }
+-keep class io.ktor.util.* { *; }
+-keep class io.ktor.utils.io.* { *; }
+-keep class java.lang.management.* { *; }
+-dontwarn io.ktor.client.network.sockets.SocketTimeoutException
+-dontwarn java.lang.management.RuntimeMXBean
+
+-keep class org.mifospay.core.network.services.* { *;}
+-keep class de.jensklingenberg.ktorfit.converter.** { *; }
+-keep class de.jensklingenberg.ktorfit.** { *; }
+-keeppackagenames de.jensklingenberg.ktorfit.*
\ No newline at end of file
diff --git a/cmp-android/src/main/AndroidManifest.xml b/cmp-android/src/main/AndroidManifest.xml
new file mode 100644
index 0000000000..91eaaded5e
--- /dev/null
+++ b/cmp-android/src/main/AndroidManifest.xml
@@ -0,0 +1,70 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/cmp-android/src/main/ic_launcher-playstore.png b/cmp-android/src/main/ic_launcher-playstore.png
new file mode 100644
index 0000000000..05c7788edf
Binary files /dev/null and b/cmp-android/src/main/ic_launcher-playstore.png differ
diff --git a/cmp-android/src/main/kotlin/cmp/android/app/AndroidApp.kt b/cmp-android/src/main/kotlin/cmp/android/app/AndroidApp.kt
new file mode 100644
index 0000000000..cbbff9b09c
--- /dev/null
+++ b/cmp-android/src/main/kotlin/cmp/android/app/AndroidApp.kt
@@ -0,0 +1,34 @@
+/*
+ * Copyright 2024 Mifos Initiative
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at https://mozilla.org/MPL/2.0/.
+ *
+ * See https://github.com/openMF/mobile-mobile/blob/master/LICENSE.md
+ */
+package cmp.android.app
+
+import android.app.Application
+import cmp.shared.utils.initKoin
+import org.koin.android.ext.koin.androidContext
+import org.koin.android.ext.koin.androidLogger
+import org.koin.core.logger.Level
+
+/**
+ * Android application class.
+ * This class is used to initialize Koin modules for dependency injection in the Android application.
+ * It sets up the Koin framework, providing the necessary dependencies for the app.
+ *
+ * @constructor Create empty Android app
+ * @see Application
+ */
+class AndroidApp : Application() {
+ override fun onCreate() {
+ super.onCreate()
+ initKoin {
+ androidContext(this@AndroidApp) // Provides the Android app context
+ androidLogger(Level.DEBUG) // Enables Koin's logging for debugging
+ }
+ }
+}
diff --git a/cmp-android/src/main/kotlin/cmp/android/app/MainActivity.kt b/cmp-android/src/main/kotlin/cmp/android/app/MainActivity.kt
new file mode 100644
index 0000000000..1beb76b205
--- /dev/null
+++ b/cmp-android/src/main/kotlin/cmp/android/app/MainActivity.kt
@@ -0,0 +1,48 @@
+/*
+ * Copyright 2024 Mifos Initiative
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at https://mozilla.org/MPL/2.0/.
+ *
+ * See https://github.com/openMF/mobile-mobile/blob/master/LICENSE.md
+ */
+package cmp.android.app
+
+import android.os.Bundle
+import androidx.activity.ComponentActivity
+import androidx.activity.compose.setContent
+import androidx.activity.enableEdgeToEdge
+import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen
+import androidx.core.view.WindowCompat
+import cmp.shared.SharedApp
+
+/**
+ * Main activity class.
+ * This class is used to set the content view of the activity.
+ *
+ * @constructor Create empty Main activity
+ * @see ComponentActivity
+ */
+class MainActivity : ComponentActivity() {
+ /**
+ * Called when the activity is starting.
+ * This is where most initialization should go: calling [setContentView(int)] to inflate the activity's UI,
+ */
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+
+ installSplashScreen()
+
+ WindowCompat.setDecorFitsSystemWindows(window, false)
+ enableEdgeToEdge()
+
+ /**
+ * Set the content view of the activity.
+ * @see setContent
+ */
+ setContent {
+ SharedApp()
+ }
+ }
+}
diff --git a/cmp-android/src/main/res/drawable/ic_launcher_background.xml b/cmp-android/src/main/res/drawable/ic_launcher_background.xml
new file mode 100644
index 0000000000..d0c877a9d4
--- /dev/null
+++ b/cmp-android/src/main/res/drawable/ic_launcher_background.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/cmp-android/src/main/res/drawable/ic_launcher_foreground.xml b/cmp-android/src/main/res/drawable/ic_launcher_foreground.xml
new file mode 100644
index 0000000000..ef4a7932ed
--- /dev/null
+++ b/cmp-android/src/main/res/drawable/ic_launcher_foreground.xml
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/androidApp/src/main/res/drawable/mifos_logo.png b/cmp-android/src/main/res/drawable/mifos_logo.png
similarity index 100%
rename from androidApp/src/main/res/drawable/mifos_logo.png
rename to cmp-android/src/main/res/drawable/mifos_logo.png
diff --git a/androidApp/src/main/res/drawable/mifos_splash_screen_logo.png b/cmp-android/src/main/res/drawable/mifos_splash_screen_logo.png
similarity index 100%
rename from androidApp/src/main/res/drawable/mifos_splash_screen_logo.png
rename to cmp-android/src/main/res/drawable/mifos_splash_screen_logo.png
diff --git a/androidApp/src/main/res/drawable/splash_icon.xml b/cmp-android/src/main/res/drawable/splash_icon.xml
similarity index 100%
rename from androidApp/src/main/res/drawable/splash_icon.xml
rename to cmp-android/src/main/res/drawable/splash_icon.xml
diff --git a/androidApp/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/cmp-android/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
similarity index 70%
rename from androidApp/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
rename to cmp-android/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
index b68a884e01..af47c185a7 100644
--- a/androidApp/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
+++ b/cmp-android/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
@@ -1,6 +1,6 @@
-
-
+
+
\ No newline at end of file
diff --git a/androidApp/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/cmp-android/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
similarity index 70%
rename from androidApp/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
rename to cmp-android/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
index b68a884e01..af47c185a7 100644
--- a/androidApp/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
+++ b/cmp-android/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
@@ -1,6 +1,6 @@
-
-
+
+
\ No newline at end of file
diff --git a/cmp-android/src/main/res/mipmap-hdpi/ic_launcher.webp b/cmp-android/src/main/res/mipmap-hdpi/ic_launcher.webp
new file mode 100644
index 0000000000..56b3023f3a
Binary files /dev/null and b/cmp-android/src/main/res/mipmap-hdpi/ic_launcher.webp differ
diff --git a/cmp-android/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/cmp-android/src/main/res/mipmap-hdpi/ic_launcher_round.webp
new file mode 100644
index 0000000000..457e1737c8
Binary files /dev/null and b/cmp-android/src/main/res/mipmap-hdpi/ic_launcher_round.webp differ
diff --git a/cmp-android/src/main/res/mipmap-mdpi/ic_launcher.webp b/cmp-android/src/main/res/mipmap-mdpi/ic_launcher.webp
new file mode 100644
index 0000000000..ffbbe98bad
Binary files /dev/null and b/cmp-android/src/main/res/mipmap-mdpi/ic_launcher.webp differ
diff --git a/cmp-android/src/main/res/mipmap-mdpi/ic_launcher_round.webp b/cmp-android/src/main/res/mipmap-mdpi/ic_launcher_round.webp
new file mode 100644
index 0000000000..d944a7e839
Binary files /dev/null and b/cmp-android/src/main/res/mipmap-mdpi/ic_launcher_round.webp differ
diff --git a/cmp-android/src/main/res/mipmap-xhdpi/ic_launcher.webp b/cmp-android/src/main/res/mipmap-xhdpi/ic_launcher.webp
new file mode 100644
index 0000000000..f498814eb5
Binary files /dev/null and b/cmp-android/src/main/res/mipmap-xhdpi/ic_launcher.webp differ
diff --git a/cmp-android/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/cmp-android/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
new file mode 100644
index 0000000000..ed0c6a084a
Binary files /dev/null and b/cmp-android/src/main/res/mipmap-xhdpi/ic_launcher_round.webp differ
diff --git a/cmp-android/src/main/res/mipmap-xxhdpi/ic_launcher.webp b/cmp-android/src/main/res/mipmap-xxhdpi/ic_launcher.webp
new file mode 100644
index 0000000000..cd50a03efc
Binary files /dev/null and b/cmp-android/src/main/res/mipmap-xxhdpi/ic_launcher.webp differ
diff --git a/cmp-android/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp b/cmp-android/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
new file mode 100644
index 0000000000..0d5f497878
Binary files /dev/null and b/cmp-android/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp differ
diff --git a/cmp-android/src/main/res/mipmap-xxxhdpi/ic_launcher.webp b/cmp-android/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
new file mode 100644
index 0000000000..f27eeb6a14
Binary files /dev/null and b/cmp-android/src/main/res/mipmap-xxxhdpi/ic_launcher.webp differ
diff --git a/cmp-android/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp b/cmp-android/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
new file mode 100644
index 0000000000..c607494bb9
Binary files /dev/null and b/cmp-android/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp differ
diff --git a/androidApp/src/main/res/values/ic_launcher_background.xml b/cmp-android/src/main/res/values/ic_launcher_background.xml
similarity index 87%
rename from androidApp/src/main/res/values/ic_launcher_background.xml
rename to cmp-android/src/main/res/values/ic_launcher_background.xml
index 2c7f96d2ad..1692997f73 100644
--- a/androidApp/src/main/res/values/ic_launcher_background.xml
+++ b/cmp-android/src/main/res/values/ic_launcher_background.xml
@@ -9,5 +9,5 @@
See https://github.com/openMF/mobile-mobile/blob/master/LICENSE.md
-->
- #F6F8F7
+ #087EDB
\ No newline at end of file
diff --git a/androidApp/src/main/res/values/splash.xml b/cmp-android/src/main/res/values/splash.xml
similarity index 66%
rename from androidApp/src/main/res/values/splash.xml
rename to cmp-android/src/main/res/values/splash.xml
index 9ee17867e8..4fe5e397bd 100644
--- a/androidApp/src/main/res/values/splash.xml
+++ b/cmp-android/src/main/res/values/splash.xml
@@ -9,15 +9,16 @@
See https://github.com/openMF/mobile-mobile/blob/master/LICENSE.md
-->
-
-