From b6e806865296f1090b8c797baf565358ea230130 Mon Sep 17 00:00:00 2001 From: edideaur Date: Sun, 22 Mar 2026 20:59:00 +0200 Subject: [PATCH] capacitor app --- android/.gitignore | 101 + android/app/.gitignore | 2 + android/app/build.gradle | 54 + android/app/capacitor.build.gradle | 20 + android/app/proguard-rules.pro | 21 + .../myapp/ExampleInstrumentedTest.java | 26 + android/app/src/main/AndroidManifest.xml | 35 + .../tf/monochrome/music/MainActivity.java | 5 + .../main/res/drawable-land-hdpi/splash.png | Bin 0 -> 6754 bytes .../main/res/drawable-land-ldpi/splash.png | Bin 0 -> 2419 bytes .../main/res/drawable-land-mdpi/splash.png | Bin 0 -> 3602 bytes .../res/drawable-land-night-hdpi/splash.png | Bin 0 -> 9691 bytes .../res/drawable-land-night-ldpi/splash.png | Bin 0 -> 2700 bytes .../res/drawable-land-night-mdpi/splash.png | Bin 0 -> 4700 bytes .../res/drawable-land-night-xhdpi/splash.png | Bin 0 -> 19253 bytes .../res/drawable-land-night-xxhdpi/splash.png | Bin 0 -> 30378 bytes .../drawable-land-night-xxxhdpi/splash.png | Bin 0 -> 45375 bytes .../main/res/drawable-land-xhdpi/splash.png | Bin 0 -> 14733 bytes .../main/res/drawable-land-xxhdpi/splash.png | Bin 0 -> 20873 bytes .../main/res/drawable-land-xxxhdpi/splash.png | Bin 0 -> 33015 bytes .../src/main/res/drawable-night/splash.png | Bin 0 -> 2700 bytes .../main/res/drawable-port-hdpi/splash.png | Bin 0 -> 8471 bytes .../main/res/drawable-port-ldpi/splash.png | Bin 0 -> 2155 bytes .../main/res/drawable-port-mdpi/splash.png | Bin 0 -> 3432 bytes .../res/drawable-port-night-hdpi/splash.png | Bin 0 -> 10278 bytes .../res/drawable-port-night-ldpi/splash.png | Bin 0 -> 2649 bytes .../res/drawable-port-night-mdpi/splash.png | Bin 0 -> 4653 bytes .../res/drawable-port-night-xhdpi/splash.png | Bin 0 -> 22895 bytes .../res/drawable-port-night-xxhdpi/splash.png | Bin 0 -> 33524 bytes .../drawable-port-night-xxxhdpi/splash.png | Bin 0 -> 49000 bytes .../main/res/drawable-port-xhdpi/splash.png | Bin 0 -> 16801 bytes .../main/res/drawable-port-xxhdpi/splash.png | Bin 0 -> 21950 bytes .../main/res/drawable-port-xxxhdpi/splash.png | Bin 0 -> 35138 bytes .../drawable-v24/ic_launcher_foreground.xml | 34 + .../res/drawable/ic_launcher_background.xml | 170 + android/app/src/main/res/drawable/splash.png | Bin 0 -> 3432 bytes .../app/src/main/res/layout/activity_main.xml | 12 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 9 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 9 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 596 bytes .../mipmap-hdpi/ic_launcher_background.png | Bin 0 -> 489 bytes .../mipmap-hdpi/ic_launcher_foreground.png | Bin 0 -> 489 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 1370 bytes .../src/main/res/mipmap-ldpi/ic_launcher.png | Bin 0 -> 359 bytes .../mipmap-ldpi/ic_launcher_background.png | Bin 0 -> 371 bytes .../mipmap-ldpi/ic_launcher_foreground.png | Bin 0 -> 371 bytes .../res/mipmap-ldpi/ic_launcher_round.png | Bin 0 -> 765 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 400 bytes .../mipmap-mdpi/ic_launcher_background.png | Bin 0 -> 374 bytes .../mipmap-mdpi/ic_launcher_foreground.png | Bin 0 -> 374 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 907 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 740 bytes .../mipmap-xhdpi/ic_launcher_background.png | Bin 0 -> 611 bytes .../mipmap-xhdpi/ic_launcher_foreground.png | Bin 0 -> 611 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 1705 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 1005 bytes .../mipmap-xxhdpi/ic_launcher_background.png | Bin 0 -> 895 bytes .../mipmap-xxhdpi/ic_launcher_foreground.png | Bin 0 -> 895 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 2490 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 1551 bytes .../mipmap-xxxhdpi/ic_launcher_background.png | Bin 0 -> 1376 bytes .../mipmap-xxxhdpi/ic_launcher_foreground.png | Bin 0 -> 1376 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 3357 bytes .../res/values/ic_launcher_background.xml | 4 + android/app/src/main/res/values/strings.xml | 7 + android/app/src/main/res/values/styles.xml | 22 + android/app/src/main/res/xml/file_paths.xml | 5 + .../getcapacitor/myapp/ExampleUnitTest.java | 18 + android/build.gradle | 29 + android/capacitor.settings.gradle | 9 + android/gradle.properties | 22 + android/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 43764 bytes .../gradle/wrapper/gradle-wrapper.properties | 7 + android/gradlew | 251 + android/gradlew.bat | 94 + android/settings.gradle | 5 + android/variables.gradle | 16 + assets/icon-background.png | Bin 0 -> 419948 bytes assets/icon-foreground.png | Bin 0 -> 419948 bytes assets/icon-only.png | Bin 0 -> 419922 bytes assets/splash-dark.png | Bin 0 -> 419921 bytes assets/splash.png | Bin 0 -> 419922 bytes capacitor.config.ts | 15 + index.html | 2 +- ios/.gitignore | 13 + ios/App/App.xcodeproj/project.pbxproj | 378 ++ .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/swiftpm/Package.resolved | 15 + ios/App/App/AppDelegate.swift | 49 + .../AppIcon.appiconset/AppIcon-512@2x.png | Bin 0 -> 8170 bytes .../AppIcon.appiconset/Contents.json | 14 + ios/App/App/Assets.xcassets/Contents.json | 6 + .../Splash.imageset/Contents.json | 56 + .../Default@1x~universal~anyany-dark.png | Bin 0 -> 133109 bytes .../Default@1x~universal~anyany.png | Bin 0 -> 87654 bytes .../Default@2x~universal~anyany-dark.png | Bin 0 -> 133109 bytes .../Default@2x~universal~anyany.png | Bin 0 -> 87654 bytes .../Default@3x~universal~anyany-dark.png | Bin 0 -> 133109 bytes .../Default@3x~universal~anyany.png | Bin 0 -> 87654 bytes .../Splash.imageset/splash-2732x2732-1.png | Bin 0 -> 41273 bytes .../Splash.imageset/splash-2732x2732-2.png | Bin 0 -> 41273 bytes .../Splash.imageset/splash-2732x2732.png | Bin 0 -> 41273 bytes .../App/Base.lproj/LaunchScreen.storyboard | 32 + ios/App/App/Base.lproj/Main.storyboard | 19 + ios/App/App/Info.plist | 51 + ios/App/CapApp-SPM/.gitignore | 9 + ios/App/CapApp-SPM/Package.swift | 29 + ios/App/CapApp-SPM/README.md | 5 + .../Sources/CapApp-SPM/CapApp-SPM.swift | 1 + ios/debug.xcconfig | 1 + js/app.js | 5 + js/audio-context.js | 3 +- js/events.js | 9 +- js/haptics.js | 55 + js/ui-interactions.js | 2 + package-lock.json | 4908 ++++++++++++++++- package.json | 7 + public/assets/icons/icon-128.webp | Bin 0 -> 824 bytes public/assets/icons/icon-192.webp | Bin 0 -> 1406 bytes public/assets/icons/icon-256.webp | Bin 0 -> 1807 bytes public/assets/icons/icon-48.webp | Bin 0 -> 427 bytes public/assets/icons/icon-512.webp | Bin 0 -> 5843 bytes public/assets/icons/icon-72.webp | Bin 0 -> 565 bytes public/assets/icons/icon-96.webp | Bin 0 -> 675 bytes public/manifest.json | 115 +- styles.css | 12 +- 126 files changed, 6738 insertions(+), 68 deletions(-) create mode 100644 android/.gitignore create mode 100644 android/app/.gitignore create mode 100644 android/app/build.gradle create mode 100644 android/app/capacitor.build.gradle create mode 100644 android/app/proguard-rules.pro create mode 100644 android/app/src/androidTest/java/com/getcapacitor/myapp/ExampleInstrumentedTest.java create mode 100644 android/app/src/main/AndroidManifest.xml create mode 100644 android/app/src/main/java/tf/monochrome/music/MainActivity.java create mode 100644 android/app/src/main/res/drawable-land-hdpi/splash.png create mode 100644 android/app/src/main/res/drawable-land-ldpi/splash.png create mode 100644 android/app/src/main/res/drawable-land-mdpi/splash.png create mode 100644 android/app/src/main/res/drawable-land-night-hdpi/splash.png create mode 100644 android/app/src/main/res/drawable-land-night-ldpi/splash.png create mode 100644 android/app/src/main/res/drawable-land-night-mdpi/splash.png create mode 100644 android/app/src/main/res/drawable-land-night-xhdpi/splash.png create mode 100644 android/app/src/main/res/drawable-land-night-xxhdpi/splash.png create mode 100644 android/app/src/main/res/drawable-land-night-xxxhdpi/splash.png create mode 100644 android/app/src/main/res/drawable-land-xhdpi/splash.png create mode 100644 android/app/src/main/res/drawable-land-xxhdpi/splash.png create mode 100644 android/app/src/main/res/drawable-land-xxxhdpi/splash.png create mode 100644 android/app/src/main/res/drawable-night/splash.png create mode 100644 android/app/src/main/res/drawable-port-hdpi/splash.png create mode 100644 android/app/src/main/res/drawable-port-ldpi/splash.png create mode 100644 android/app/src/main/res/drawable-port-mdpi/splash.png create mode 100644 android/app/src/main/res/drawable-port-night-hdpi/splash.png create mode 100644 android/app/src/main/res/drawable-port-night-ldpi/splash.png create mode 100644 android/app/src/main/res/drawable-port-night-mdpi/splash.png create mode 100644 android/app/src/main/res/drawable-port-night-xhdpi/splash.png create mode 100644 android/app/src/main/res/drawable-port-night-xxhdpi/splash.png create mode 100644 android/app/src/main/res/drawable-port-night-xxxhdpi/splash.png create mode 100644 android/app/src/main/res/drawable-port-xhdpi/splash.png create mode 100644 android/app/src/main/res/drawable-port-xxhdpi/splash.png create mode 100644 android/app/src/main/res/drawable-port-xxxhdpi/splash.png create mode 100644 android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml create mode 100644 android/app/src/main/res/drawable/ic_launcher_background.xml create mode 100644 android/app/src/main/res/drawable/splash.png create mode 100644 android/app/src/main/res/layout/activity_main.xml create mode 100644 android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 android/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-hdpi/ic_launcher_background.png create mode 100644 android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/mipmap-ldpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-ldpi/ic_launcher_background.png create mode 100644 android/app/src/main/res/mipmap-ldpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/mipmap-ldpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-mdpi/ic_launcher_background.png create mode 100644 android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-xhdpi/ic_launcher_background.png create mode 100644 android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-xxhdpi/ic_launcher_background.png create mode 100644 android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_background.png create mode 100644 android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png create mode 100644 android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/values/ic_launcher_background.xml create mode 100644 android/app/src/main/res/values/strings.xml create mode 100644 android/app/src/main/res/values/styles.xml create mode 100644 android/app/src/main/res/xml/file_paths.xml create mode 100644 android/app/src/test/java/com/getcapacitor/myapp/ExampleUnitTest.java create mode 100644 android/build.gradle create mode 100644 android/capacitor.settings.gradle create mode 100644 android/gradle.properties create mode 100644 android/gradle/wrapper/gradle-wrapper.jar create mode 100644 android/gradle/wrapper/gradle-wrapper.properties create mode 100755 android/gradlew create mode 100644 android/gradlew.bat create mode 100644 android/settings.gradle create mode 100644 android/variables.gradle create mode 100644 assets/icon-background.png create mode 100644 assets/icon-foreground.png create mode 100644 assets/icon-only.png create mode 100644 assets/splash-dark.png create mode 100644 assets/splash.png create mode 100644 capacitor.config.ts create mode 100644 ios/.gitignore create mode 100644 ios/App/App.xcodeproj/project.pbxproj create mode 100644 ios/App/App.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 ios/App/App.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved create mode 100644 ios/App/App/AppDelegate.swift create mode 100644 ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png create mode 100644 ios/App/App/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 ios/App/App/Assets.xcassets/Contents.json create mode 100644 ios/App/App/Assets.xcassets/Splash.imageset/Contents.json create mode 100644 ios/App/App/Assets.xcassets/Splash.imageset/Default@1x~universal~anyany-dark.png create mode 100644 ios/App/App/Assets.xcassets/Splash.imageset/Default@1x~universal~anyany.png create mode 100644 ios/App/App/Assets.xcassets/Splash.imageset/Default@2x~universal~anyany-dark.png create mode 100644 ios/App/App/Assets.xcassets/Splash.imageset/Default@2x~universal~anyany.png create mode 100644 ios/App/App/Assets.xcassets/Splash.imageset/Default@3x~universal~anyany-dark.png create mode 100644 ios/App/App/Assets.xcassets/Splash.imageset/Default@3x~universal~anyany.png create mode 100644 ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732-1.png create mode 100644 ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732-2.png create mode 100644 ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732.png create mode 100644 ios/App/App/Base.lproj/LaunchScreen.storyboard create mode 100644 ios/App/App/Base.lproj/Main.storyboard create mode 100644 ios/App/App/Info.plist create mode 100644 ios/App/CapApp-SPM/.gitignore create mode 100644 ios/App/CapApp-SPM/Package.swift create mode 100644 ios/App/CapApp-SPM/README.md create mode 100644 ios/App/CapApp-SPM/Sources/CapApp-SPM/CapApp-SPM.swift create mode 100644 ios/debug.xcconfig create mode 100644 js/haptics.js create mode 100644 public/assets/icons/icon-128.webp create mode 100644 public/assets/icons/icon-192.webp create mode 100644 public/assets/icons/icon-256.webp create mode 100644 public/assets/icons/icon-48.webp create mode 100644 public/assets/icons/icon-512.webp create mode 100644 public/assets/icons/icon-72.webp create mode 100644 public/assets/icons/icon-96.webp diff --git a/android/.gitignore b/android/.gitignore new file mode 100644 index 0000000..48354a3 --- /dev/null +++ b/android/.gitignore @@ -0,0 +1,101 @@ +# Using Android gitignore template: https://github.com/github/gitignore/blob/HEAD/Android.gitignore + +# Built application files +*.apk +*.aar +*.ap_ +*.aab + +# Files for the ART/Dalvik VM +*.dex + +# Java class files +*.class + +# Generated files +bin/ +gen/ +out/ +# Uncomment the following line in case you need and you don't have the release build type files in your app +# release/ + +# Gradle files +.gradle/ +build/ + +# Local configuration file (sdk path, etc) +local.properties + +# Proguard folder generated by Eclipse +proguard/ + +# Log Files +*.log + +# Android Studio Navigation editor temp files +.navigation/ + +# Android Studio captures folder +captures/ + +# IntelliJ +*.iml +.idea/workspace.xml +.idea/tasks.xml +.idea/gradle.xml +.idea/assetWizardSettings.xml +.idea/dictionaries +.idea/libraries +# Android Studio 3 in .gitignore file. +.idea/caches +.idea/modules.xml +# Comment next line if keeping position of elements in Navigation Editor is relevant for you +.idea/navEditor.xml + +# Keystore files +# Uncomment the following lines if you do not want to check your keystore files in. +#*.jks +#*.keystore + +# External native build folder generated in Android Studio 2.2 and later +.externalNativeBuild +.cxx/ + +# Google Services (e.g. APIs or Firebase) +# google-services.json + +# Freeline +freeline.py +freeline/ +freeline_project_description.json + +# fastlane +fastlane/report.xml +fastlane/Preview.html +fastlane/screenshots +fastlane/test_output +fastlane/readme.md + +# Version control +vcs.xml + +# lint +lint/intermediates/ +lint/generated/ +lint/outputs/ +lint/tmp/ +# lint/reports/ + +# Android Profiling +*.hprof + +# Cordova plugins for Capacitor +capacitor-cordova-android-plugins + +# Copied web assets +app/src/main/assets/public + +# Generated Config files +app/src/main/assets/capacitor.config.json +app/src/main/assets/capacitor.plugins.json +app/src/main/res/xml/config.xml diff --git a/android/app/.gitignore b/android/app/.gitignore new file mode 100644 index 0000000..043df80 --- /dev/null +++ b/android/app/.gitignore @@ -0,0 +1,2 @@ +/build/* +!/build/.npmkeep diff --git a/android/app/build.gradle b/android/app/build.gradle new file mode 100644 index 0000000..94e495e --- /dev/null +++ b/android/app/build.gradle @@ -0,0 +1,54 @@ +apply plugin: 'com.android.application' + +android { + namespace = "tf.monochrome.music" + compileSdk = rootProject.ext.compileSdkVersion + defaultConfig { + applicationId "tf.monochrome.music" + minSdkVersion rootProject.ext.minSdkVersion + targetSdkVersion rootProject.ext.targetSdkVersion + versionCode 1 + versionName "1.0" + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + aaptOptions { + // Files and dirs to omit from the packaged assets dir, modified to accommodate modern web apps. + // Default: https://android.googlesource.com/platform/frameworks/base/+/282e181b58cf72b6ca770dc7ca5f91f135444502/tools/aapt/AaptAssets.cpp#61 + ignoreAssetsPattern = '!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~' + } + } + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + } +} + +repositories { + flatDir{ + dirs '../capacitor-cordova-android-plugins/src/main/libs', 'libs' + } +} + +dependencies { + implementation fileTree(include: ['*.jar'], dir: 'libs') + implementation "androidx.appcompat:appcompat:$androidxAppCompatVersion" + implementation "androidx.coordinatorlayout:coordinatorlayout:$androidxCoordinatorLayoutVersion" + implementation "androidx.core:core-splashscreen:$coreSplashScreenVersion" + implementation project(':capacitor-android') + testImplementation "junit:junit:$junitVersion" + androidTestImplementation "androidx.test.ext:junit:$androidxJunitVersion" + androidTestImplementation "androidx.test.espresso:espresso-core:$androidxEspressoCoreVersion" + implementation project(':capacitor-cordova-android-plugins') +} + +apply from: 'capacitor.build.gradle' + +try { + def servicesJSON = file('google-services.json') + if (servicesJSON.text) { + apply plugin: 'com.google.gms.google-services' + } +} catch(Exception e) { + logger.info("google-services.json not found, google-services plugin not applied. Push Notifications won't work") +} diff --git a/android/app/capacitor.build.gradle b/android/app/capacitor.build.gradle new file mode 100644 index 0000000..4e379a3 --- /dev/null +++ b/android/app/capacitor.build.gradle @@ -0,0 +1,20 @@ +// DO NOT EDIT THIS FILE! IT IS GENERATED EACH TIME "capacitor update" IS RUN + +android { + compileOptions { + sourceCompatibility JavaVersion.VERSION_21 + targetCompatibility JavaVersion.VERSION_21 + } +} + +apply from: "../capacitor-cordova-android-plugins/cordova.variables.gradle" +dependencies { + implementation project(':capacitor-app') + implementation project(':capacitor-haptics') + +} + + +if (hasProperty('postBuildExtras')) { + postBuildExtras() +} diff --git a/android/app/proguard-rules.pro b/android/app/proguard-rules.pro new file mode 100644 index 0000000..f1b4245 --- /dev/null +++ b/android/app/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile diff --git a/android/app/src/androidTest/java/com/getcapacitor/myapp/ExampleInstrumentedTest.java b/android/app/src/androidTest/java/com/getcapacitor/myapp/ExampleInstrumentedTest.java new file mode 100644 index 0000000..f2c2217 --- /dev/null +++ b/android/app/src/androidTest/java/com/getcapacitor/myapp/ExampleInstrumentedTest.java @@ -0,0 +1,26 @@ +package com.getcapacitor.myapp; + +import static org.junit.Assert.*; + +import android.content.Context; +import androidx.test.ext.junit.runners.AndroidJUnit4; +import androidx.test.platform.app.InstrumentationRegistry; +import org.junit.Test; +import org.junit.runner.RunWith; + +/** + * Instrumented test, which will execute on an Android device. + * + * @see Testing documentation + */ +@RunWith(AndroidJUnit4.class) +public class ExampleInstrumentedTest { + + @Test + public void useAppContext() throws Exception { + // Context of the app under test. + Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext(); + + assertEquals("com.getcapacitor.app", appContext.getPackageName()); + } +} diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..ba2b7bc --- /dev/null +++ b/android/app/src/main/AndroidManifest.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + diff --git a/android/app/src/main/java/tf/monochrome/music/MainActivity.java b/android/app/src/main/java/tf/monochrome/music/MainActivity.java new file mode 100644 index 0000000..d150f82 --- /dev/null +++ b/android/app/src/main/java/tf/monochrome/music/MainActivity.java @@ -0,0 +1,5 @@ +package tf.monochrome.music; + +import com.getcapacitor.BridgeActivity; + +public class MainActivity extends BridgeActivity {} diff --git a/android/app/src/main/res/drawable-land-hdpi/splash.png b/android/app/src/main/res/drawable-land-hdpi/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..69512715b2211e0939aabe207449936c5e14b5a2 GIT binary patch literal 6754 zcmeHMeM}p57=Ev%v@j@zEo01*)sIZkr7Uz=AtlRAs)J024m6q|;Kqk>E?s3QY?Sso zL~xURII*iRO0wwwav(19v99ferDH8&ksxU4S_Xx& zTEDZtdT8%Y9{mrVzKMg{ncF7QrP6STo|)c39UdOe4pq(G9|{-@hT1?Num>>R0d_Mp zTTn>d_}va&K@v^R?VW!tbKu6+M$pxr9X%ai##+3^KZ*Uj;vp@yZ;khW8k^EDN7 zW&LKexm+pw7?9v}JPRvbkO}jGz4zic%8VYJ%H{l;D3Teiei~7WQ;bFK}#DR3B>Zwzm|a@y6BIg=Bl4Y zw$RcXM{>#XKuZEa01*divL1rO4>v2FwS7t9FGMkqo;*%F3b;5Ube&*$qj$2^l3hvSS?joi%OhH|7$#x>@O*QoS|XnC7n2F?q2=96UT{tAxDH zr?~p84O#2AUOW0_-odkH&%WPZUS7WZ^wT1{xqbGN{<&$_9^_?M8p5FCeuGWpZ#Clv z21^F7nG6vPG7L+77<3%?8iLdq#1z;aG=&+sConIV!r8!jf-&F}%K@e*3>v9S35-Py zQ;bHn(Jx3c@7}o+uh56rhi@^zh7_t`t{3x@Z7t1&*^&P|9rCp zwPpt%ht2h0e%R5oesL)<-i`LA7u46+|N8Lo@a@Bg53kR^zt8sn=kxaZ@%w5FThl-M z`0?Y@%gf830}b6HH~n>u-T$fHtLoR6)~H{uW&@hOKmX$6$B#cpz5e>^*RR~Qsa)qD zyn6NOM|Bkt*zKE{yLW$SjS5id@%%dXJv&pv(i>Qqge=Et|!Y&~~;yVbs%r%#`L`u6SF zJzwWBGJL|aW7jULfBS5KARbs2y)3bkuRpu=8xKRoy`METz}n{d z`T6VT+t=6q`}Otp>C2ZV15Hi-{QKYE-=9In5Wl?LoOkcu`EB36{n@tfJPaCtm-eY& zz4-R++uI*^Km7W&6j(-V{`Xz-$NT%~!ZvgLfQ4M&{Xc#FrNFYxO7Hsa^7nPh8SApo zGc;Vff0yC>{`p~M2TqIKUjDz1vq76zkYVZG&5U9VY0Og?B-&GRjr6)xm}4?K7&P9_ nRsV3Rc~pE@g~MCJ|BSEBtorKz>-0omD~iF>)z4*}Q$iB}R!XJL literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-land-mdpi/splash.png b/android/app/src/main/res/drawable-land-mdpi/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..609ba23e4252da0f5caa59a354f576c645779b38 GIT binary patch literal 3602 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-land-night-ldpi/splash.png b/android/app/src/main/res/drawable-land-night-ldpi/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..daf6de534fda1d332803cc5effd92b8c6f783c92 GIT binary patch literal 2700 zcmeH}`%6;+6vxjtpR=23LE-}|0|RrjC}vr1m7!8T5JRlZYxqMy7{0|vdbc#g3bu-< z$R`w<4%Cv^d~LJ95i1`In&4yRYizQ1=Qi7QkK6hu0%<>-bH3-7^TU@9U(TcK%v6LP zP6q%aJuM{%fWq-;JiyP>%i|}CJtMFzEx!^V=-}U?z?=3k0D5wI%B9@ecH?|;$&36@ zpIN+lxh1c~dEhSn1AYB+)6(3OD7>*%uD%#k9ap+}@o0;aRh<#p-#&b@L#NZB?5tk( zwdWF*N>v$Z^K&EX(Y4Kn`zq95@NmDwd9M_@KhZcqO@PI-;By3M3Z8e}({5Ny6O*SB zc)tq3<8_WT5qnyr(Tw5|TrQUrm*HOPcRz?B7h)AkrBXvvc=*`mpD`e( z*OAO#^^*aIpGYKPYGsZ0TvolhOCphE1qTPSO(s+IBuhFr<{->#%HFoNHeC@nIk4x7 zrDsbvX|vhP7AKD5RSicjbj=KoS|i36wOV$Rd{`_N8_J8_n}~2Qcl1|8B;VpdR%VI{ zm3gZgO&$+NFmhzoxU;hp3u<5OHqFXhUa`O3HCybDtD$yZ#*c3%?e_)qjWB`!#rSN>oh!cEQS|K4y!o>vCvJ`kNyv1O1D2d15x-$M%bT>qXK+oDs zRd6;413+D_+VDRCsXhX|bi;e@zwu7xMPcu7ZzTaI2tqSkHNi^6SUL+~wDUY!Qe#@~ zU^1DuiX|2lG65|>QLXTqzP=Q9)L82IeDcM*(O@tb?S1(KVn`hzT?m80z+B@aBXw^4 z=NGlnXq*`vOY)?SkbJi+=aW{#qGNleyW)IDfedr?qnbtg)Gg_{G76}Tb!4qwY35uNwzg~288n)q6$I2Z ztZP%un&`IRqkF{15@CI)?Nn}q4imasn|0Vi%eBt2DeUrS zIp6vH&i#G&eBV7)v8OB}{mFCy05ZyVm%a%AAdGbpm5j|Co;9hkVMG1yw;KU~_E@Te zz!ydq0Aw-BOU2S=qwns%<3>l;uEh)Q%WLhNz1KqQ(_(HX>1RparF4hH(e^A(u1(GoK*x>sMGe@dfxP;id5}^5LM#@fFL} zNO`f_Ugxn)OdL${_}-?#;^Lwj^^1$fR~gf6x!^Wkojk>Z)AWO^g|_`R*yr;Nro zWF`bb93GFy9!A{B7#dhwUUitdZML!*Si$#4LLR%-YE3>cn0u?pV?yu+a@f^Y=bnnU zsMQnqe~HFoG22|9FsW&6jj#HAZxo?(P4MUk7^pUhff@Gp?W|U0o)?z!I_IU^cIvu{ zP|tVK;Ie&rjdedk(nPh^r^BGL!b>c*% z5O!u>jA5S`5Q%Xiiy}$gBEQx16wzNas|MX9bu>MYRuDeJlh-A@?=smUJBw-FQUXO@ z5$Sb>ASjVhKLd_tcA!Aj4^Xz5S)X8hxNYmlnf*uT)Jp1ht$xR5)->hjOJq_3$!IC* z$)Go}NX1d&Unn}=NnNOE@M4=-4HO;{LB&vn|I;0a zlgg1J&xd2VE4A`Rf#BQWhl!U8#z>q9I1z9n;6(T@U9ah=y_?sKHH*R!SZ;XLv3lT< z${BMhkw75O;GEIx^={P=OFhmd5^6YKkFFECGGvg+WYXSCY($YBDgDedjYi#LHvd1GNvKW4qLE0%fVeHm2#Pkx*L+UXz`%1eutSi;G;4L!2{7pQ`z@H@ zk}0%gDgBSjM43f1smAac&LN>tXgMB_udlDSw5nA5=_BF8B8cSW0m}X$Z|fMZ)5%2< zq2#pdWz4dPkBzV=(Rur16TH^(t(FuE27}HC4e2*ZrvpeOk&pR1SD4+Jq%LHqlvJM9 zV96c43lh2t^Wn72_V?rzYUO(I-}5r)!ZRt{3c43a$*qMYBrrxiz=vs-qaW$AU!#7~ zmdla;4%|P)a@Hg>4EGOgD7+X-?T@})jY1r=~pnTV!(vf0$ F`=6X)(8V-xQdy9BBUM9B1(I>_~Z_RjIOphms|= z>1ektt}eLAbKJHh;}J}(Z7o*?4^)P}Od20RcSmaGQ`ZI{#Zk)U_O7iczV3`LIIPb( z`D{ zCsTSw$4Z(NKgT9!Q;V}~yZpteCcfqzt@=SLSS!<*|7WK>Tx!sG{+fyRHGY1Z!xD=- zdU4M}E#db5`(u$oBoumPTQZ~yvnGgWMPN&0zxJT~1 zrONN+vgH<8b4MVf_#gU<%eDdXs}hB?pSZBhyn1KChi34N-eu!ie>WFX&0ddNOB7n1 zOxXA?w1v81^@U6>iDcnQfAsZO0)5dnqtnu5RvtS{4|m!V z(kV29DS=f2C(Z*%1E2t)0H6S%0HDBQugCit8IUL7lR&W_tVw_=08;>_08HWWOkw)q zfyq@Z09=*;%mmB?%mmDQJZ1t;0!{)>0!{)>0#3qJD7dQ`xD50MM#T~79lM{ zT7l5ufUgDO#! z?WLAo)_W#;fjHzBk5AT23Cz9v747@obn|pyQwc_P5MEaYBV!*>7x$d7N~IIs&Q(!* zWvbcHf)maGsn=>JXb(YIR5)cBl@gxOT0{M;CC29z_72%%qLdp%M};c^_+7>BC`v~c zSe;!ajoV`Kz9*J6&!wR)aWO05I2!TI)s&%sRZ&k=Oj@K~Ax3HqR2_BW1l6L{)31H& z7q&Ybub4y}7Q+o100P_dv literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-land-night-xxhdpi/splash.png b/android/app/src/main/res/drawable-land-night-xxhdpi/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..1b22b059c66421412cf67cd9e6eb714cdc1e398a GIT binary patch literal 30378 zcmeHQeNaZC@B4VgvPB`|CXK@|EJTvNU?qle#2CgV0y*eE*?;-w4*Ck( zn!aWmh6RtO{&1|kf`?%OOtN79I|UU#wQH~Dtl56~!Tc!8vfXo{a$8O|ACIdwWp}c6 zma1}sf~IWGD_yP*Hi!Q8RFXDymg#E8x*6Jr1kF{6TId{K?6eQ$l7shiHO`opVtc=7 zo~uS15l>)jF7rcNF4KqeCF)N6lK3%y%CIu@)6Q&}eww>DOZsNtY&M4{Rp5+|R`y<@ zq`ak)NT`au88N(!*W3|tMn3Zsp+wutZYIRWZJd#puLuZp-+IL({;0AayR}5FSS@Vf zG!rYj#;7}Uzeu@3oK%%K;<;3p6E~5YCQH=Ejs~cd%2p$HM8kQ>p#pSm_TJ++MWf2< z+bWehg;1gnQ7MmKAEWN(sdCmeMUGfDtV4KG!9Lkd*S{91g>zFv1#I@w(Vf0ET8yq8 z5SDga&SQ=RH8fjmL~IR?Mle#qPCGnC-CIjteh2Y(MeE4HoT#mGp7>ZO+3{htn8TS< znK)uZr214vx>^`2D1D2JA61qi=ajJ3Ldh&Kr!--Vy48mrL2>MJ_)(@6puSbc9h?7r z(Rhiv|EE+1mzy_FHey5wq7Xx-5H05JcC8y#cHYHxa8RdgL3KBbRX5Q#el;hLJ!iND zW9&7lyPlOzRSQjb3$X~^qoURkBcf3DVaOCx6})lIZ%37VRuhI?#A9} zwcJOXJcjAJ4eE3O=L!F9q2$)reON;LO5~K!bru^O zd&m*oK>-|ls6)W9!Lf%;GB9Jqj7?2(#DAHw6;x(-2C_3orXz;z46?H!7~+Obkev;6 z2=7&eT|~7K@CV=z4>km1fe9Zdnm`Z40uT#c-US##U<}>dAuxu(7&17`SCm+&mzyGr z9Cye0=yIj}2cnX67&YfBi(C%dp0WoWMiFU43QUVnNYL{W%r}yBj@xCT5-f|3jLJI{ zJ^mXqM5V11k*4*@HtU0nRqw6X;0>JKL|J)8tEW_*3yjPC-h9et*_Y|)Sgx_(u5mrd z*F10MH$8vaAaXsc(+v1@8*2l%$kzL?OhY<*Nb9vsSFdirqaQV;Up~{~{ngV4vK1s> z?^RqI&({>U`Ysop zL+FG9`I|lJkiK$;*`jk;dB3LGM_R3x4udABLlbMz#D43cn&dS~zT9Ck#B`Q8yEDmE zYSMxwm`{A-kwZEy!y4EqWp^5uuX5CB3E7zH8J^~p z)+(2X@b+9mEl#UI>GG+*{Ivu3V}*ODdP=Cdl`%_v-PGlw{(F%=v*)o_F(Nof{(9Vn zUs{?omDYg-(PF{Y*J+NZHjAhvke(7PwkP_eoUlkiSbZQpm}W|rcy=0pcUjWsw1UMf zU7a9hyR`$8Hp?rCh_@)j`pI;HMNrz?y=$Dkv)e0ZC5TxnZBc}{#kFeDexI~(3TG+z zc?^nr^3BsD1zmaDJczlFyS!@wz~3RzL4+Tg_+V;-IUVULjC94F#z8XU zPQ)190$CiSuP6g$X6BH$17Km=10XfP<^WOMgbHADz~=uGHU~TocpUIJ;BhGs5w8Xj zA!QFqI)CD9p|`*|5BqlZ>6rEavGdi4osbcuAU~!| z2T%Z@06+nN0>3B}NRKU6dDjA<#XCUZ1BDM1K5_)mE+Wi-6bTemBv{Ow6G%49$F!R(;*-KDYw zJT~&ZCEv_Tu8w?dU*)-)4-V`RO1``n9JcM;Z2Gt)rG@3k;(J!mmvaknwERC#{7jZ` zC5qlL5TAjdR2oesEBq0(ehk&2>%eSYQJ2A|iv{Kwdbdv1RYf>;;v6eWK6TrVp8Z7z z|3JTa9^q*;k4p$SM)l^vk9PhG12XhII9mT``mm_UPmVE_SKmHP0as`t{sKIq51hE^I!M zlv`4MI5VTE$X2jphh6W@{dooUODTt*h{}_nB6~&kl+)May@oQ8>xreH$m$%_)sX?! z=+NZ861>;Q>NJ@)7q`Ce1txuGbr#&29^U?Hl_sE5-wcq|Ti?mozriXk2z3>V!7qq8Rj*G;}+|_#T3lMV2l6TZ$WE zStoNFQ7dh_wjx*ExhNlS;%Dn0Ui(x_E*mrqbhn8_!OJec(Vl}XRN=nS8> YFnB@sXR=A?<+GS%;j#rM-;(b94{GC|VgLXD literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-land-night-xxxhdpi/splash.png b/android/app/src/main/res/drawable-land-night-xxxhdpi/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..68d97d4dc489fb93fe8588bd1569eea8089fee93 GIT binary patch literal 45375 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-land-xhdpi/splash.png b/android/app/src/main/res/drawable-land-xhdpi/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..54e21570e9ab4e2d492e831380682b3e11b4db74 GIT binary patch literal 14733 zcmeI2e@s(X6vt0_T2Na`VrFZRABk-Ku^EVC#0_Sv(+N(680U1#3c3ZH%oZ0SI_YcO z)Gcnq5Pw7=DP|gUI&f|Z3(`LApehNFb*|0=Eol^`=?{Lkw6A@;@0B9SlKr>+v-?NW z=H=XTPjBA6=X1~bepRq>t#Gb%E&vGga#wExn2mnM^u+PeS9ew47W6eomAmazfO+%T z4-d}ONdQtIZ}rN}m36M(?(aXc{GuC}^WqntZud!dyZ@Y^=ISP+{;X=}lFJv$>9wcV zy=GhxU)S+0ZQF5AsN-O=S*#URMpm$V-ZE2V(- z{0d)g{Cr>~3Q~TZr{IPi1EUrN8Il<$pVU@ILt01J)IpcY#)N%L$YH8x!V@h4 z`p;t;$ShPU-d#Qgz=wsjf8un&J7Cl`IRgq$e_L>{qL5KVFjKf$TIqB5SxIIh%>QSXV-3DFfp$mhzx8XiB@?l-*iw1r?Ay5qR3dX(S$J8J$|dmqU#}Gb-9XP2eg%a*+3& zuiIF@zIKG0#ZDXln8x|K+i3QhX;?2%vanuO46{=2!E)x>a}+N@Tz}%jY4ZP_BYzxX zjGCQNQ|AHc#_SuFtGI(X~giY=~tmWrydF(vFh)2!RZ(1S8hzHY_qQ+gBkqa-BV zxJ2^&GNcI!GL!f3MD!M!1-tD?HKJrflg48rQXM=y{>XpP{h1cKjq2Z)u+{s!O5yHeSo%gMinu1iSSmamSm*B z1SVQWJP*2<)~_Qmdfl=%f>UNQCb7mq?>?0dgND83oR&sw<&@qcBooP!B(kyY*zTs3 zCEI&BoP@tBMZ)1$w|LLjV8( literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-land-xxhdpi/splash.png b/android/app/src/main/res/drawable-land-xxhdpi/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..36a7cf6b507c93a9b428317d3f310a4c3d4b0ce5 GIT binary patch literal 20873 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 A$p8QV literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-port-ldpi/splash.png b/android/app/src/main/res/drawable-port-ldpi/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..3e1fe55521b1929ef908a8dfc7b72c12ff831208 GIT binary patch literal 2155 zcmeAS@N?(olHy`uVBq!ia0vp^9~c-I9XQy4tfm(qgMk!hfk$L90|U1(2s1Lwnj^u$ zz#;4D;uumf=j{#0yxSfEZ5NwzSa!}gpH|F&U&BL5^~AzS&NswV`7&5e@T7&$zQn(m zU!&muU4P$ItFrb!-MN2%ef_)dzf)tcpWc+iueo>@n~5!hwq?WJ16+Iw4Wcp!7_==K z7{dw}nAbdDV2e1&$g`n|St5az-C$I~K!?NCvWEOhyShI+{&uaMZ&w?2t#t36J$u$H zzkD+0qtu-9&oj-#Crkf$&%0-C7cg@BmiA=rzpuaD#^2xn^x?yYe*(eNF{(gOZJ=1#6^wX((zh*_ZN6)+b@=F~TU;E+g(7Es4y*n40 zx~_n?Z1>%7F@47$zuuPKy?yD{ZLT|>-rQHYecSAEYn9vDU-Pybhwoskw=35>{`e#B zgZ<_oe7FDA+_ZJ?qQ5_<*8f*CyS|;R{u|qadRBu2j|~{#0aMf{H5vp%GZlQ0KhS>o z;o4Q_zJLGz8j|vF-wU~#dV6*5`Fr>7UHkmA<}&k#`uqn^f!Sx1tWa@n_J-SUw>|$^ zVY6@D>#E3UPdC}-SLVrmc)Drr;a&g!{r&yr>FMd$-{0TAU$)=9xHWsj-97g8|7vRM z>gp;hDk8r9{`=|2kBZC1pBtuL{&s4|S0Lx!zS-~Jy*sx5^zrnn;B_z6;-(!1mIFEW z_uLM%wYAl~{qXOHhli~nMawlzEn|+q7cYDFz-sA;K*pH3g;S*uux=<~-oX%-#~^;- z6z>D3h@Ffv4BF-m+zC(F3K-YiVbE(BRW!tc;B|e&f5x8^SACt`nsXl5dSLK$^>bP0 Hl+XkKzA12_ literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-port-mdpi/splash.png b/android/app/src/main/res/drawable-port-mdpi/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..1f0fcc7a55afd6b8768401b6c7747ed6fffef2ee GIT binary patch literal 3432 zcmeAS@N?(olHy`uVBq!ia0y~yU~~ZD2OMlbkt;o0T!0j3fk$L90|U1(2s1Lwnj-;J zEamCq7*a9k?M+|5=tzOKhfEupY!0kB_@>@?&4Fj>QykTwnXMHz4f2nD$r5<~vxj?+ z(aI_D^Q&V+zrKqxYkvLu_5AwpzyFq5&AoT;{{8#gbEE4U^p_lY|4E;Lu|<+4fI)E@ z1DC=PAqU2m2qujN0dEFYfh5ia3{E zeyppn-!I#Le7ot1&p-d{%blIfR$s#Y!!)lUuR&n-x8HxC0accMzWuiB_QL`Tdpo;- zUw{3ovXkq7e);8-83*NWHg3&7fByXQ+}r>Dz3He)Ed^$vIj7S$$W_P3#cdPafB4~t z-0ipj-gy80{`+_DWQ>2jwcb$n_S?5_#}6Mqyj}F*SI2J_cY@E>i@#02dCmM|)QPVW zwWXzBKkr?T%(lOp-L5S6?Y&zE|G!h2uBpFPzy9N%x(^Z8l25oZT<=%THk38~aTjP_ z?%O-NIPGk0IUnd3Fy|C7mz@56X7)bm2mjp}q=C7TwSbK=N5Fwmb~=>i3L^)_I&M!w;w-#e19CUw152Z z2eAD#=W?pCz=8M;xwr3YH@!AYsTH<&yML~+|9tlB zSvt$y*WGCf4Ihr~V4Nncutey9kb{S6gKEPBF9vT0#icLui`he9}xx{=5fe(k^5fqI6k&fz>UtO^~#t`mc&tDnm{r-UW| D8|tZZ literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-port-night-hdpi/splash.png b/android/app/src/main/res/drawable-port-night-hdpi/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..e4f4eea38567f00e858e16a8a421d566ae4fcd6d GIT binary patch literal 10278 zcmeI2eM}o=9LJyb=!?*`olO*+UCVT4CY$X7Mg-HVvy0#h%*D03Kh~;=(_~9YWOl}` zccn{kVCa0?kg`F1BeDdXQ5j>lMJ9_0P|Tc=Io6hAP(ar^E9KhWi&qo=^gkz>Jbzp+ zxtHg6`8~gv&-b3^*sj{g*A?DX2mn}DQ*GG|fG7q4qL)jBE4h!)%7xQy_0`Y620)P} ze~3VPM==0;P-A)Y*~1;bU5)mTwzHqcpJ?1?>HR^IN`{}*T##$N*Em1lKn#sseC42Z zYQtB9AC{LteWinV;|20mZSynBz0tk)2d$~gbtuau`=g#*e@}M4yVG-Z&*qoAkjgIP zP)6~Y#8*~u!BKNj(O{M}xhi?lKeMsdl z=eT39vEs3C(Fx0_S=P`cuTYA=p<6@Bg!$WteXkD16e7cOw{J(Z6W&d+3i;Gb6(<;5 zo`c4q8)1OJJcAVk)<)Q3VDp4n0O<;HBgAhgEY?giWqG5|j~L$EPY$b4X6sCp=T@*Y zJs3B0XDAUd<(|q5ycj>_tutkgZe4m;SM2s)rzFg@E6S3kF+o{21j}EP3i7UUf{&EZ z>0g}ueZpweja)a%E;L2CbU&YJF$8HY;0$J#Chgd^y!IrWT6*zJAD0b8nYmm9_~n-dIBq3`9cXX!Dih(*q1YuI#$+OUbfNq2iJjlc5US(D3NF_@ z<+pEVC+h}=u@9tQWcU_!{q*enluRx{^fBchLo{*}7pd!ISqCH95eD*#A0>oJEtZ;{P0Sc~pO~n|lHUjZYv+ixwEH4HkSC?u;r!P?8c-4gL)(m&-fwi#u z-}VXoy45IN^YDaI0jB~Ms9W3vV3NTkgGu%eB^hTZV6NEg?AL=lMflOQK)v^_LTtQA z=dsdxAZ0I&(KifOCdD3){5+21hV`UCyDZy;^OPT>cLOp+mBv*;dZs1GFTY-W@U%df zvqqml*0b}NK)@-Uo(nj+-o*o0ptP8v z<<^Fm-(N*7kLr?{_x$bZ5YHOoO~M?*%aB%DYPGF z)!WcAi-DQPiD!-@Uq5$D0;ee>n?#F*MYD{Y_>KcYSxh_z9EJrzeR>6rs#jPf5(JVS z@Dx?VJYe!(!D(66Ki}h;K!=c(yvuDeD7~7SDlWF ziTU$y&(58d|9*UYeEIF$x9fNBw$`<1emwE-hlhtRPuGwC_v_>1<3CHR=I*ckZMN$% ziJ@$Z>!otfP9?-BQwFJFGY zLtQ)}e8X+lI@>xcxrXz41_$!@PT~6SUr1bHky(ES_a3$fOx-IP-m@h%+_F*7`ykc8 zt+R}2k8}fL*5`&D2eKLTHq7AqkjKEb;wI%X^Jst#{X|lb b_bmT9*U6t2_p>#DZAAu8S3j3^P6C literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-port-night-mdpi/splash.png b/android/app/src/main/res/drawable-port-night-mdpi/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..9d1d0b95b1b30d4e1db87317243a7c0f565bb728 GIT binary patch literal 4653 zcmeHJZA?>F7(Vy*a@#_|&Kd+6QWqIU$A_Yp04uGs@Zl`Xm>>eu7!?(vg)spwaB0=K zX+Vhq`78@;WYK_IaCFGWML;$|ieki|K%wKqR2-}#Egxm)UXuOZ;(qofCpYKZ+~<9t z=e*}R?>CW>5PRDVwg3S8u+ZQG03aebbSxaMJiS^U3}0+{X!Mr=*zu@=fRZvN06rKA z3l<;DD4QM>OX7ZYwCS_=y<9*9|3EHvDLYuYu)eUWf}$u(KyvcTVj*5!Xn-Yt29jbddCMG%VUf;t9pYS|HE{=odm78s+ zKi`TIF6#z%r~sGXgIouWhsZ<3B}B|I-g6HhmZ*}^E+euT7{W^9dx>L}1i<`#UZVGG zaB8KZEdytu+-fuDS>Wa$UH=4vEw#sSgb&03b#;;u5*o9^<4%N>!n`yBmT?x!of5?= zH5dXBq#B#Eb{uLYP&LcJF@C7g`F3XLfq-EoIWo4JgNlHXidY89Y0S$JQZ-5E*@`UK zb1{Bjt_DkCqY#0V+r4&lqE<3+y)%a;x;Ei^$at;#Y!l;UrKZpsgQ-&y{SbeI!sMz+ zVJ@9#Hsh@epQ4(=9$Sl12&0bAJ!$f@oCm&6P?<*wcP2K4O=mDQ;uKF`7CmXN+9X`PYD9vIN zo5E;i6zC#GX)86^_sLe}bHBWgOUoA{ZJ^0__&RB&P???Twvw+m-_^V7@Xot%V=c2TN*;|l%YMzHwH+0RT36*Og7qMxwmCU>h$hd~N&{7JQ=cgC#Ek_{^U|$_Wi2dg zVZFa&HJ!)1PCYpHg3~)`lx3(ZD!kIu(_8bzN8;o2Z{6C~%@Ni!X0A|iBw}b@O$m5S z|Er_TNw`+4EgBdY=+^7?W{bsA7oirG%VaXGKp-e|RvcosD9ouXEiD!oOXf-tsps{= z7%f?g?+g;;-u|Xiv{RZ-7Q_wIL8)xTYM~5Ydgy za)4~vug9F=hen)$H_i8n;Jqg-5eR<)e5m{C$u7WwA>tS$;94hE4XkzWZ_WY+&tVd9 zqI$ZxsV+dCHvQY<=F-wqqJo6TLb5hktVaHfI7nQjKz(4dxPW@eV> z=H@29c)-}(&9N99K8!n`nQ1mt-bPs>1nzE-jbslE4MnHRN)fQq8AQN1t*y`-g%Tz7 z$%D*f=$UF^mcN_nQ=zaTK0e-?a#m=G<-@xfz#myWvvt8HwM?3~|Fy@>c_zVoc(S-H zyP6gmInqE!0Q>} zL1rR4{NgV?fJj6|rEADee;wxM4PI9E6*_}|ek}u&Hn77Q+`#~~Y>*@b>kR}?*97FM zJuxQ$xeKX$#MB*im7`_rL2~5DZVu3V4C>7w_BKO87*W#RHmMi^0~oQ}jkxj^%;^Zw zh`;mn1-cT@H^Gqq+U|UKc+G94+(@V^8V2@ z_vLbT`R;k1?|t9r{chKbOBSV1&Y6r5N-r-fS%y%G9U(DFl?Wr1KfX~c{7tGZTUmq9 zl&siKgbo;F2+cs{CC|US-Eh;57Diw;013bXU;(h;wppNVB>HBi_3IaA z=fzhPB&}R5g%OwyA?N@k054)uCLjS6^3GO=+FS+onp&FM+@HWxLG@co7=hUk5?eq5 z@FKp(01`kU?`UAuSC-@X9&PZ5hO1apaZ!}8h4qBTa;#ps z)F9PduW?zOc%+5qj7)ex6aK+tWcd9Vl#2DqE$pqTq;Xuf*|kUB5pwt#9L3>Joot_z z-e(lM^eG-aK4jHP(C6#aUB35@%iS3tTqo1+-3hO9p|xYZ02ASP;29ryST@41ds#B0p!Ld5&-G}^?-Uny>U!NK!QMmK!QMmK!V1-E(B5xQVdcIQVdcI zQanMd3Rsfv!zF2@!ej|u-(%^02Zz0|kmxZ_Pj(4njjoR0sE&$rEZIW);IXk*ArX;N zEVHY6R6WTPuaF^ej(MJmAXjaP?Z*|m6&0q7^&;}VlfRHJ^I|ahY`!UoOlBq|MZJv6fn3UPK@6|v? zA+)_hwgo99q}Pd31CRkC<^L8b|6|Xvume`Kw>u<;A{JEUplS)FSSV9NP`3+roB{Lk|G|gcka4lFXnoVekH$W&jLJ)wlpI~K_T4`Le^j2t literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-port-night-xxhdpi/splash.png b/android/app/src/main/res/drawable-port-night-xxhdpi/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..635e5fc78e7ce57f5011a34cd2bdd64434a9c77d GIT binary patch literal 33524 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 D5sKWB literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-port-xxhdpi/splash.png b/android/app/src/main/res/drawable-port-xxhdpi/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..63d7cefa66100d20b605748ed7fe5a22004d0376 GIT binary patch literal 21950 zcmeHPeN0nV6u)K8FX?MJ&23g*#Y z2Kuog0-

k(Ro#u%h3XdSqij#20NPpXIBsM{eu=bkpHP?Sh75vC-QCkI!E#zS$l8 zY6I%xZf@!kw{3WB=LXMKN8*Xhn%1jD5|#y5+ev44kIUuKbqSA_mX;br5juG}W9)D) z|4N=1v5**J#H!|K5eKP)m^mm|!U#c#$JU~7f=RVwaiE00ACJ(wFv5Eup&z2@3gJ{g z;#27gu_^|Vl+YD&D1iir6JDR6IW7>i(RxImzA22i4pTmA4Ss4(o4U%@b56?HlfN^tIzrx*@$o?rOV+L|+>; z?f^o6w-0O4S0)!JSDmQsv6J@R{Ndp!Uv(8%Vc-l54Afr0mtNWwhYNH=W#~}Fw_D#x zD*J?WoO`E|Y`#ccH>EV~)U%7u-?lpvB&^9|X;kYp0?X>LLUOoUpxfnqP`~ub5I6py z!X;~T_1=74g{ScPyOVw0XYj|q=iV`yii50IyBDbzu0v}Mqk=m^*$#q}N0sP$1|!5H zV1z7WcC>Zb&P@&)b{d~@(a1X!3`sBtoO8wczf1+Y0%<^l`~*i8y<%u0Cha`A>0kGKGn$O*Iov|+Yt184yF zQQ$5DB7#VQH?T4*5fRt`umNBLzy^Q~02=@=8sL4(?2HQm3IY@aCz&`mYnqze)sVFA5CgZC}Fj?w`+Q;Fbu;hGHdE^O9WvEk_ai*+LJ_z z)-60j7RKnmziaIFBqvXW4qaWW>WrSoV=G&aT2tBDYF+1cAA^n=5m$~59hkP(HYG4Z z0$wDJMwQn2Sbl+$hCF7(3)8H#>`!)lWEx78N4EGldC{uQv;NvZ8M2to?rM3V+evmg z9OpFH6mRe+Zd2jV-Ok9HQcH`A%wOdy*t>UcBaSOahByf_&pj-RkjW6f-!(pXtLvAo zdIir~jwXE?zE&+T6Dv#fB1_Xgd$LN2uTa%c6LyTsT^|%#aHZ!$+45YseROoRth}5r zkUnBJCfL^S8=9M4Bt^dT$R7@vvT|D#q`ov%uzzBt*HD*YCO9d{B$t|lK_i*9J*&o$ z{bcPJ%x2M7i9DCa<$Lz*$t|{1O}$~Th+RZ|6!p<7Km1+Cf6T&kQdCQmDY;U5L?aNn zK@l^!3hRZi2^0{ z%L*p?%!D)nA=yeV89a!}lFRW@f-~t{dM2GqFQcV}4;TGRog(l`4t*|wHz}V-<7RERCh+>#^-l> z{0?AFo#AmE^E2<``CUZ-m;o?TVFG^(2h0YAoH_;3s$k8CAk1tS^~rb{I3M7A{72`* cwMA+ZnbaL;ViMo2N7N_doy@e_)sm8b0Q!PIhX4Qo literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-port-xxxhdpi/splash.png b/android/app/src/main/res/drawable-port-xxxhdpi/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..441acce46714a67606d51b664d757e9feaeac9ee GIT binary patch literal 35138 zcmeHQe^6A{6~1rZvbzckD@o(JAa9#k?T?Ja3Iu=cJ}m^8PK6qqj%^Zf(pEw=Ky?Np z$a@P~Ynn(L+i|AR?mDreosMFX4zv<>70sG)5-6cXLv$Aj1BkM_Ah58z@AceeSNNmT z|MExi>^uf`?&ZC6&%N)Q^L_8T^9~hk&e1M3EF^?z^K!Gc5E27_szr?oejT|!O@A#Y z%iXq{kl4rQ4@3TVTu+FRFs=~QT4*oI@^G-HgEX_c0t$c zJ$%u{ceM*QeCiI}JvlO5d*JzP>#xbT&UGemrs~SwUs|*`_+PTFeUrC1j}Y=XIic!} zH>N`O;WIuyUO#D95aMVWZ0nZv6|}QRG+<1HlJ{kcA6U9nEksF(?KzUHNj$u+kzsVu zdQKzWIqLrfdsbV?KyUtSlBrvkTv5a-jL`bxB64+w?-SLQB(DN`iw365n43A`P$_w6 zZGMuxnSbY~_Ed&DhW1WZxcPU=;K~{izLjN@$E{aZB<1dM#PaaHMCq^?dz;xL9bpJ@ zze&DrI+UOB&KKfh+Ph05vKud#t22y*j^Z0kL3N^ar}1x0D(!t{5mDFf?~C8b(;ejJ{b z91-2~$gKw)@O;1HafWe*=UEcNC5=lOmo!%12sIE}A(%w;jC29=BS;7#1BR3za-5GM zsf&0R@i5|H#KVY(5f39Cenjx_yUe}rs1^VprK5HL#S*9vK{?Dk(f{(sK39T^T@{PeekKO3bcXDsfdjn-cL)3@sn8oe0z)O1Is;*kw*Kk z%dK*qcYOR`^&7!8t=qWU=Gvv8$;v3W=@@9Y%95|o=@O=g8tkEoo>JL2F)`5upTcmT z=$Ty)RMHqo!|b=^Tb^!7qxKt2EiEm<5s+XtS~^scZ*+82@c29fRzYg2=gc)z!KpDp zn0_!MPyyIO6J57ew}s)5w=JQtW~%>~Ag@-mj;-Lu-zO9XN{M^B5V{c<52<_Y(uJb% z=)nQ>a5Obp>@~w5$rFLGbhlkvuFUm&C0FaO!$P)VRtR0FFLcSfyn*^llk%!--IDbv z)s}(IY36ucUQy<;hooS;z2z}tc|4U^45>sd{ip?$V9`z>YO6dAK zc7KMup0FB`uP2$_AAC8-;|il=H~dqHlIN05Yj;J@vx!RFKwh>NWNO?Us*g*WIY6%V zr@j~?h|H$l-haLt^@}bnTvHf30L2D%GkUx5ut9a_O{S(Y9qNPin|mdDLIV4=InN)LV}X1oAe#bPSY!zrNt!zq|qMR*s?hJFl0 zkywg>=wUX)To6fTn2sY=lt|U|n2u>t0W}>~L|Bw!QHpm#^e(Un?^on}rz+*Z8 zP^H-zZ86WDr0DD!07EJVfSbT^OSD17iyJ6-Qt^x9k8P%14IQFt6U9zNfEMG#grIJ6 z4I6EU6G;_CmvQ3CuLE%rBMo5SJ&Md$k$;pm?wz>khej?3<)!2DuHW7 ziWs?hEpqetP=r2WLc$CQvqzRNLy`Rs9-S26VgA@0A3d6Er{}XFi)>ts^bZY#e zz@#wM!^QY!rP66-O%|8wV>@g=o@%1|q{puxOBJSu8mu*8LAAT#+7ckY3CSGp^R!O; zUFQq!Qn&n4tvtf1!sjXa?hfw`*}BSM9qe=3W_8atOPjVj_!`HVgC^;Qhi;j^!&w4j z^7bb{?d&lB)oP(HzYxb#iCKz&I+bvh2fhMN_(x)lu;E%y-p+dNNo}$FqFE6K-(Mz% zLvLk)>na2_ZGTnLG+M6lr!3_vX%T&i#>n@HL3qn-(C+}nHN4wmC2R9J{qI4$ipOSj z3oZw|4KO-jRK#q6NfL_#EQ+vJ#2Oi~0YWB(iU^UBIrzF66RBzGy3-61x9eY!PCc7) zM0@h?AL^cF3WAG->Y|MB+eil!$yLthRR4+%^Fk}Jk%;I7U + + + + + + + + + + diff --git a/android/app/src/main/res/drawable/ic_launcher_background.xml b/android/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 0000000..d5fccc5 --- /dev/null +++ b/android/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/android/app/src/main/res/drawable/splash.png b/android/app/src/main/res/drawable/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..1f0fcc7a55afd6b8768401b6c7747ed6fffef2ee GIT binary patch literal 3432 zcmeAS@N?(olHy`uVBq!ia0y~yU~~ZD2OMlbkt;o0T!0j3fk$L90|U1(2s1Lwnj-;J zEamCq7*a9k?M+|5=tzOKhfEupY!0kB_@>@?&4Fj>QykTwnXMHz4f2nD$r5<~vxj?+ z(aI_D^Q&V+zrKqxYkvLu_5AwpzyFq5&AoT;{{8#gbEE4U^p_lY|4E;Lu|<+4fI)E@ z1DC=PAqU2m2qujN0dEFYfh5ia3{E zeyppn-!I#Le7ot1&p-d{%blIfR$s#Y!!)lUuR&n-x8HxC0accMzWuiB_QL`Tdpo;- zUw{3ovXkq7e);8-83*NWHg3&7fByXQ+}r>Dz3He)Ed^$vIj7S$$W_P3#cdPafB4~t z-0ipj-gy80{`+_DWQ>2jwcb$n_S?5_#}6Mqyj}F*SI2J_cY@E>i@#02dCmM|)QPVW zwWXzBKkr?T%(lOp-L5S6?Y&zE|G!h2uBpFPzy9N%x(^Z8l25oZT<=%THk38~aTjP_ z?%O-NIPGk0IUnd3Fy|C7mz@56X7)bm2mjp}q=C7TwSbK=N5Fwmb~=>i3L^)_I&M!w;w-#e19CUw152Z z2eAD#=W?pCz=8M;xwr3YH@!AYsTH<&yML~+|9tlB zSvt$y*WGCf4Ihr~V4Nncutey9kb{S6gKEPBF9vT0#icLui`he9}xx{=5fe(k^5fqI6k&fz>UtO^~#t`mc&tDnm{r-UW| D8|tZZ literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/layout/activity_main.xml b/android/app/src/main/res/layout/activity_main.xml new file mode 100644 index 0000000..b5ad138 --- /dev/null +++ b/android/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,12 @@ + + + + + diff --git a/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 0000000..0aa82aa --- /dev/null +++ b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 0000000..0aa82aa --- /dev/null +++ b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..e98a2aa3593e1d9c572bfe498a807feea575c686 GIT binary patch literal 596 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY1|&n@ZgvM!oCO|{#S9GG!XV7ZFl&wk0|OJA zr;B4q#hkaZqVoC52I5u z>vU6l41wk`Fg#HA2)=gfL!=0+VQA>Y@AHZjkDm7vU~$yq;A~P5ZDDboz~$7W;K8cs zD6phyf&xd7qlW;?N(Ge{;%l}pS$Q!-gysD6&j$6CHgaET>|TDY+Nu>dyJ+5*Z!BM{ z_I|LO>vx#BaI)pXZNVa}nO&2O<@z&s#_T%%^ikRFx%c0HU%OhzyL@k)b4!qlr@XwX zO;W1g^2x@>EV9>{AKS93YHhOT%1bN6LPA9|U)AkzXTO=Zec{Q61s;Fv_J52#md)18 zXf85oO0U9u+srQh(6;SibD3V1?Y{D|L`ro1N_~b;LM~oO!goSMj_{h>zNz%BeNa7( z*O9G>gHtKTP;ibTlYj~X3US40!nf3^>db%U7VcWHGAAyKzuj5jh%$HHlz5xjBI`RJ z_nl1>X8EYG^z93?Ftespn|#a+tmXROy*BVWe4Eu$ylUa?x6iJ>E|u81P4`~Z^UpWe zhH0D6^vT#5(K2z}vU_?Os)oIrZ@#(R+OX-9z?0W67d_k6zP?AokI!BzUNdw3(oKR> zoCgTe~DWM4f DH2LeN literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher_background.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher_background.png new file mode 100644 index 0000000000000000000000000000000000000000..7d75db5e0bd45c302102e8fe87dbb493f08961e6 GIT binary patch literal 489 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY1|&n@ZgvM!oCO|{#SBc33_zIixlZ&S1_s92 zo-U3d6?5L+3iLY^Akg|SDWcJ)LGR#>|5INGvAD!Gmi6s4@a5>VG~DSd@ZWysm$ka` z+iM>f@vwUCI{7&0QdqlF{RXc2j0(aIY7IUNGZ~B+Qn3r>pvzr|l@6T`-rw5O-L8YJQCJBh~d^BR9T3rr)(JYeDSoS(>-L zMLwB!DLBvY>%H>Z{-PJI%=jJl`VYh2Wpm%JeJE4QSk8I9bX8-?x$>Cxv6C|5INGvAD!Gmi6s4@a5>VG~DSd@ZWysm$ka` z+iM>f@vwUCI{7&0QdqlF{RXc2j0(aIY7IUNGZ~B+Qn3r>pvzr|l@6T`-rw5O-L8YJQCJBh~d^BR9T3rr)(JYeDSoS(>-L zMLwB!DLBvY>%H>Z{-PJI%=jJl`VYh2Wpm%JeJE4QSk8I9bX8-?x$>Cxv6C9?MHI)s*%}fA0?9e-CPe~NxL7_FdZMURRk%_P zfK(`=&~hnKC{@&JZ~Qn_k@|161r8wi13;)1w231wAP(5x#CA$gZIzw*R?nU-4om+ZJ{FCGc$p^+Z%xkyJd%iNC zc}096Px5{LS(2Y=t-m9AmxJqHlHZbCAh{n|l;b#00668k?oYn&D`}P1nh7W%`6J2q zNzNbxdJ4dT<2Y3rQLgLK_kAV^s9WnKFOhr(Db!;C76G&bjN>>Q0iaMVk{3wIcS?m` z1F$SWLK`ulP=Am-K1wh%0ImSg-EdL_sC`+IOC+a<4d;0Pzx*Fe3IT<>N%F;E!8s1# z?oM!03MgD297`I`TLA9u1}DXUXcnRGCI#mc04fSj$^nUFU3S(soD%?oe&A#PPzdQA zTX2p6xZf|Fi~tIU+Z%(zc`0f_&M=^G;yw@;&NP6VdxeuRK%yIQ*GX66z{wyW(Ndi4 zgB~M5^5u^73#S0!R$Ms9CLqyrzZ=}eLEs>}fJEo}InQa1F`y<%VX&hv4hjd^1|+($ zEg8pgW*o<)Vw`SsReSKXg)Qi5~0>}6L{l4!9a<^?*yihl6^lh(E|=BX+L}(FhpH_hC5c;E^{zU1RqnJjNG>ro zHDzV^cKZ_F(v!NcX;Gg(0wh5_xdXN=2qauZ=}C_O$-E>Dvti*JCp{@aKv%oN!FOzW zR{7{b!ek#ztlX+pJ^+bc7C>igdsX=XbQ&hh!m3n$0DU2VzOn69lG&+5SvWW5tH=fXFlR*ezH)E zSSU`m8WCF!$zZoCm7kya4=2YRyX)ZOz%1&(%$zDp?L#6%%=5fNk6f$OYI}%nZf@F+ zxpj_Q4WNaj0J+(ngU)pWnm2_ZR;0|AmAI9JW|9c|h))SAt*oqQ2{B2i$yV6PguuKl zu`yFMV^vBiO5CbetF`a6Efar@MnhLB6;&>m1s3P#=Gp;EOSUy|XaJpJMx_25!tDly zbDXUq44^mkEcI3-t4TCQS++3lCW#UA^YiUSNy3DU#0$r9>ZabUS0opi0jXqr(C6F2 zF@Twu(k@{CnDp-7%c!*Ck_kW@}uE5+PaQd&Lgi904BnUIfS z7$W%`$)7U>=mvn;rI&FbO`FA}PB9>D7J>2BIhH^jP9l750gx00zKS%6oel2!VI7r3 z0BV?Bxl~T3OYEE{NrdE|5dc~Pa0$TENW0iMzI~764@oRAy8s2|fc>P@yCI7rIVXi7 zB(IsL+YPD>rIh$O*Atq_y4a};IY{y&l3z-CiR9pzM*>QwTlknj`CDF-|H*sgy{FA* chx(Ynhm`a?`+X%Tv;Y7A07*qoM6N<$g8Ou9Bme*a literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-ldpi/ic_launcher.png b/android/app/src/main/res/mipmap-ldpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..4b2e768dfa95804e3aba9704821b5e4d1f602da1 GIT binary patch literal 359 zcmV-t0hs=YP)l(5wgR(5?Ot}7fpjWc=@M!w<9ES;H zjDf3@fMooBS>H-XADuZ?^K=q|6FL(I`UyfT7K;^y)dL{ns|-a%eUJbE002ovPDHLk FV1jWhkGB8- literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-ldpi/ic_launcher_background.png b/android/app/src/main/res/mipmap-ldpi/ic_launcher_background.png new file mode 100644 index 0000000000000000000000000000000000000000..555c3eb00aaceb7fae2390c199bd61195e432414 GIT binary patch literal 371 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 Vy!rmr0u4@(fTydU%Q~loCIHH5H*^31 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xhdpi/ic_launcher_background.png b/android/app/src/main/res/mipmap-xhdpi/ic_launcher_background.png new file mode 100644 index 0000000000000000000000000000000000000000..b128e7ce80ec6c2c05a4057214f67d8b15fad7be GIT binary patch literal 611 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGooCO|{#SBc33_zIixlZ&S1_mZk zPZ!6KiaBp*Tl+Bw3b61RD$Gmm;B5FE-`*i%pwLlyIm4HGt;GS8NvoGE=lr|!?LFQ! z^VtlO{A}Dq_r7euBsl5Ef58n*jEMpQY?Kjv)w3FlU&&s~4c+@|w~zjdviTY+3TF~s zZ3?zcI;VO!X&S5-ZZw0mzmx5@W&|G&QCN|M4 z{Gur<6apQaxn8w%8HG$(vA~h_t23*lmPg11vz@adLj6xqjR=j8o0(&);&6O!L%HYn zILZCrmPH+pw0j+NY3~yD^=I@wE8f{@GG+@_$G6UXe)E(3pS}Z2kG|REALY<>xN6V( zL$TkJKiqe{YI3!<=J3?)=UN{GK2-l}ZeRh1%9kZgP6|Lug;7yJAgyXrg8&DIv8|^A z2TRM$c`6DlOox2@g#>`HvP_+mqp`u@@?@442ZtFiJ(&n=Tc9ldfj4rQOU~Z^2NwZT O4TGnvpUXO@geCyTkK$SY literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png b/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..b128e7ce80ec6c2c05a4057214f67d8b15fad7be GIT binary patch literal 611 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGooCO|{#SBc33_zIixlZ&S1_mZk zPZ!6KiaBp*Tl+Bw3b61RD$Gmm;B5FE-`*i%pwLlyIm4HGt;GS8NvoGE=lr|!?LFQ! z^VtlO{A}Dq_r7euBsl5Ef58n*jEMpQY?Kjv)w3FlU&&s~4c+@|w~zjdviTY+3TF~s zZ3?zcI;VO!X&S5-ZZw0mzmx5@W&|G&QCN|M4 z{Gur<6apQaxn8w%8HG$(vA~h_t23*lmPg11vz@adLj6xqjR=j8o0(&);&6O!L%HYn zILZCrmPH+pw0j+NY3~yD^=I@wE8f{@GG+@_$G6UXe)E(3pS}Z2kG|REALY<>xN6V( zL$TkJKiqe{YI3!<=J3?)=UN{GK2-l}ZeRh1%9kZgP6|Lug;7yJAgyXrg8&DIv8|^A z2TRM$c`6DlOox2@g#>`HvP_+mqp`u@@?@442ZtFiJ(&n=Tc9ldfj4rQOU~Z^2NwZT O4TGnvpUXO@geCyTkK$SY literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..6940896a422de4e28c2d17d1c80724b15696cbe8 GIT binary patch literal 1705 zcmV;a23GlrP)3Q0dh%{HzX<`YDkFO zBnracp~eRiuRNmB2VNBXA0!yXP^sMH!2+g_w!1q`i`=AVzUDieT?W{)+wIIbb2*>n zgr;;mo!{ronKS47<{Xif0$>QhdI0+Xd;;JkfZqUI0&pFG58$pYzW&}N{WB-^XZGpe zF=YFEQcn;B{Qx!tI0E1t0EKv=pkn}b0`P2~Zz}LSZ`k+!LjZmbf?yHm;IU2v;IW6L zVDyzrrEMZ|!t=b_zV8Q&NDzeo*x)vR69BdX=#w17liMyLlciD#Z00@BLka{$`4hl? z08dGd;K_U-BG(vnmJ|zUauvYAJcw8)BEL5SpCJKFE&$jl8Kf*CM@2+E8vKk2ApFCQ z0~nQz@V1CF+66wN0-DqTyd^1y?d1`6>7Nw*3=1IqBaZ@jT2jUfA~Mk_@Hr6Bc*KgR;d%_MKk>}u9l8vL9KAhStyQCEw| znK*)900Cqo?uWIn;tGC21dz|;3jQ123@6&tA`9c!GFQ5SEe5GYgZyri2_yrX}4s;v*RU$Iw1jNp@ zZm)v9Nd~{bR{**hH7$wAWhWppt~@dMiy3RIok^FzzP|7ZD3{A$$MfAI|MsWgKT%>?$ z7{&=`@wez#ZH(dsw5W-G!^0>}K#Mz0K+V1Y*95_C6Xb5fuzM4B-B8%=hPnqa*nJRl zLlLk$6yXNrV0SRi4M)T7aI~9{f!zt2K{q7{dsC8bQod$)Qr@Md)NBd()Foz(SW8VL zTcZM)nzCqPG_+hUTTM-znVAXyn8n4#FlEwExu=wRkea9^oVFprD`s-;Pwld!51TrA z^JM4d=7O=YF+~ZijSPs1!eb2&4+m@3tWi@_Q;HRVSHkS17k z_*y_kFFcnklsN%h==Ry31!xJ|OwX9*L;!zpJX@Xs_yRdXnGx_{!X*X)t8FB3Wmv#j z5s7!787@ez7pBfUDp>(DBJzB!!H-B-2VemiMm7zutv!VbOsR?!9A?P`=W!RBZl#T9TvL=xXOrjvxVoLoZj z1pFf+Yb6Z;cn-j?D2{*$y{Ark;JU~FKFq?+S@kX;(A)H;ZZpqE*PpBBP(V#@$)0`y zczWAcl>-5Rh#c43xnv7{gXWe_Sru?zL|&FGqo+3yq-mmGbr$fKp2J<caTa()7Bet#3xhBt!>l+2`&DB}9CU9k7avxdgKeBV-3qy+4_~d)aJm;PM_m9U6XM)g#JE#7*d1j0nbdeIsgdWJdW1r}PC&HIgoD3W zxSw>hW_7a~Ma)lVtl8+0yU~H|wXn_veKDFFx^)MuRg1UT?|t+2Zl2+GdcJSTm(`nR zG`xHNp8wgb`?F`y)?Bb>QN_FLN&BsUVUyo*-h0pY^XCd|?mo}1uBdo0D_;Efan>h~ znYZ13JE7dbdfvYG$7ALlKYmMo&Jy`M>1s-yLh#pG#u0YB^B8`|g+D&*!s=as2OVP|(y7 z;CNv_;p}$}2!oefMNxril7IlCCr3wv3X6+_5R;MuC!^qmmIe+FCkGaqOEZCUmV?ec XeN`8C7sf!caTa()7BetCG5}%5=Q`1U7#Nrh zJzX3_D(1Ysdpb|pQK0pqQnX&-CO5A4|ARadyA@-$g)DrzMY&tHR%O|_5A{LYw-^5L z-@WG*hjZxHtbO;wt_Itl{@GQpAtM+d|FEOs7l%8`6?Y4z1$Ku78NUklajfVsaB-+@ zQD%CjJgAi%Yfs#fm*%nj%pa@!r`K0L?7F>4tk0tH*N&K(Pqz7mezh{bAAWWDs$Yiw zi_|xNJ^NRri|zlB{c*&v(2VSHE^U8dO+Z9E6yZ z6gU|LC$uzhcsMz*s3D$DH!Ey~foHanq_Dp4K!y zEA}YAUfyw2vmR*R-0hQ(e{er=+RDkHuPA4ZLxhXN1OWk#7aGo67RyK*3y28{sIagw zC9&P|@9UN1=;q)MVq#)6WPYoD{1{J*D+>!JV`IaN#&468li3a_F*UU`I5?bf_aHxoY?MU8mObvjTGzgQu&X%Q~loCIDs;O#=V` literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..1e4b3b00ff20a1356921fa03f71c1bc9c132a016 GIT binary patch literal 895 zcmeAS@N?(olHy`uVBq!ia0vp^6F``Q4M;wBd$a>caTa()7BetCG5}%5=Q`1U7#Nrh zJzX3_D(1Ysdpb|pQK0pqQnX&-CO5A4|ARadyA@-$g)DrzMY&tHR%O|_5A{LYw-^5L z-@WG*hjZxHtbO;wt_Itl{@GQpAtM+d|FEOs7l%8`6?Y4z1$Ku78NUklajfVsaB-+@ zQD%CjJgAi%Yfs#fm*%nj%pa@!r`K0L?7F>4tk0tH*N&K(Pqz7mezh{bAAWWDs$Yiw zi_|xNJ^NRri|zlB{c*&v(2VSHE^U8dO+Z9E6yZ z6gU|LC$uzhcsMz*s3D$DH!Ey~foHanq_Dp4K!y zEA}YAUfyw2vmR*R-0hQ(e{er=+RDkHuPA4ZLxhXN1OWk#7aGo67RyK*3y28{sIagw zC9&P|@9UN1=;q)MVq#)6WPYoD{1{J*D+>!JV`IaN#&468li3a_F*UU`I5?bf_aHxoY?MU8mObvjTGzgQu&X%Q~loCIDs;O#=V` literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..1423eeb4ad95c8ed73d73d50aaa45ce24a7dc836 GIT binary patch literal 2490 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_background.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_background.png new file mode 100644 index 0000000000000000000000000000000000000000..a78be78ac3038c1e19db3cafc00abf8c82fd3c6c GIT binary patch literal 1376 zcmeAS@N?(olHy`uVBq!ia0vp^2SAvE4M+yv$zcaloCO|{#SBc33_zIixlZ&S1_o9k zPZ!6KiaBquJN8Wt6>)vYeB-){LPEUst3T|EblD%cHlARZ@_$D8`~AF$404mU?t8NI zR_OOPQK6v@cmF>5_iNGa`(F$1#w@HqsIAiS}k@keD9|HG%HvGsO!0@q9bUcM{e zD8EH%6GPW=!#xajab@4l@BVcz|6dk+J-(dtUXb1Q@4x58H6CZU$7tWr{Nsbgzjy!s z$sJCXIIlSW`1fC><^QMHGs@Sqnw2oP{9OC}NA8b5m+iYb?0(9>2rXZKzD`Y}RA2t< z&i@bJ{@#ASTjr?vhx0%Gf2}O5KfiwWZ{Au47qJ6OIeZ7~8?RZiayuk3>KsS|Vyoo| zj2=1-tT%u-;<<$GQK^{#_YA6!)>nH_kt9 zzo&NkgRiyh{q=qGFWB)loMbxk#XF;gnS)>8B;zQPqHwsf^M5^K?PmSM(wwyyfkh^R Mr>mdKI;Vst09Fk9?f?J) literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..a78be78ac3038c1e19db3cafc00abf8c82fd3c6c GIT binary patch literal 1376 zcmeAS@N?(olHy`uVBq!ia0vp^2SAvE4M+yv$zcaloCO|{#SBc33_zIixlZ&S1_o9k zPZ!6KiaBquJN8Wt6>)vYeB-){LPEUst3T|EblD%cHlARZ@_$D8`~AF$404mU?t8NI zR_OOPQK6v@cmF>5_iNGa`(F$1#w@HqsIAiS}k@keD9|HG%HvGsO!0@q9bUcM{e zD8EH%6GPW=!#xajab@4l@BVcz|6dk+J-(dtUXb1Q@4x58H6CZU$7tWr{Nsbgzjy!s z$sJCXIIlSW`1fC><^QMHGs@Sqnw2oP{9OC}NA8b5m+iYb?0(9>2rXZKzD`Y}RA2t< z&i@bJ{@#ASTjr?vhx0%Gf2}O5KfiwWZ{Au47qJ6OIeZ7~8?RZiayuk3>KsS|Vyoo| zj2=1-tT%u-;<<$GQK^{#_YA6!)>nH_kt9 zzo&NkgRiyh{q=qGFWB)loMbxk#XF;gnS)>8B;zQPqHwsf^M5^K?PmSM(wwyyfkh^R Mr>mdKI;Vst09Fk9?f?J) literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..bfc64de5a551feab6490c742454f383cb9041965 GIT binary patch literal 3357 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 oV| + + #FFFFFF + \ No newline at end of file diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml new file mode 100644 index 0000000..be5dbc8 --- /dev/null +++ b/android/app/src/main/res/values/strings.xml @@ -0,0 +1,7 @@ + + + monochrome + monochrome + tf.monochrome.music + tf.monochrome.music + diff --git a/android/app/src/main/res/values/styles.xml b/android/app/src/main/res/values/styles.xml new file mode 100644 index 0000000..be874e5 --- /dev/null +++ b/android/app/src/main/res/values/styles.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/android/app/src/main/res/xml/file_paths.xml b/android/app/src/main/res/xml/file_paths.xml new file mode 100644 index 0000000..bd0c4d8 --- /dev/null +++ b/android/app/src/main/res/xml/file_paths.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/android/app/src/test/java/com/getcapacitor/myapp/ExampleUnitTest.java b/android/app/src/test/java/com/getcapacitor/myapp/ExampleUnitTest.java new file mode 100644 index 0000000..0297327 --- /dev/null +++ b/android/app/src/test/java/com/getcapacitor/myapp/ExampleUnitTest.java @@ -0,0 +1,18 @@ +package com.getcapacitor.myapp; + +import static org.junit.Assert.*; + +import org.junit.Test; + +/** + * Example local unit test, which will execute on the development machine (host). + * + * @see Testing documentation + */ +public class ExampleUnitTest { + + @Test + public void addition_isCorrect() throws Exception { + assertEquals(4, 2 + 2); + } +} diff --git a/android/build.gradle b/android/build.gradle new file mode 100644 index 0000000..f8f0e43 --- /dev/null +++ b/android/build.gradle @@ -0,0 +1,29 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. + +buildscript { + + repositories { + google() + mavenCentral() + } + dependencies { + classpath 'com.android.tools.build:gradle:8.13.0' + classpath 'com.google.gms:google-services:4.4.4' + + // NOTE: Do not place your application dependencies here; they belong + // in the individual module build.gradle files + } +} + +apply from: "variables.gradle" + +allprojects { + repositories { + google() + mavenCentral() + } +} + +task clean(type: Delete) { + delete rootProject.buildDir +} diff --git a/android/capacitor.settings.gradle b/android/capacitor.settings.gradle new file mode 100644 index 0000000..df5cd63 --- /dev/null +++ b/android/capacitor.settings.gradle @@ -0,0 +1,9 @@ +// DO NOT EDIT THIS FILE! IT IS GENERATED EACH TIME "capacitor update" IS RUN +include ':capacitor-android' +project(':capacitor-android').projectDir = new File('../node_modules/@capacitor/android/capacitor') + +include ':capacitor-app' +project(':capacitor-app').projectDir = new File('../node_modules/@capacitor/app/android') + +include ':capacitor-haptics' +project(':capacitor-haptics').projectDir = new File('../node_modules/@capacitor/haptics/android') diff --git a/android/gradle.properties b/android/gradle.properties new file mode 100644 index 0000000..2e87c52 --- /dev/null +++ b/android/gradle.properties @@ -0,0 +1,22 @@ +# Project-wide Gradle settings. + +# IDE (e.g. Android Studio) users: +# Gradle settings configured through the IDE *will override* +# any settings specified in this file. + +# For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html + +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +org.gradle.jvmargs=-Xmx1536m + +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. More details, visit +# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects +# org.gradle.parallel=true + +# AndroidX package structure to make it clearer which packages are bundled with the +# Android operating system, and which are packaged with your app's APK +# https://developer.android.com/topic/libraries/support-library/androidx-rn +android.useAndroidX=true diff --git a/android/gradle/wrapper/gradle-wrapper.jar b/android/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..1b33c55baabb587c669f562ae36f953de2481846 GIT binary patch literal 43764 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 '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac +done + +# This is normally unused +# shellcheck disable=SC2034 +APP_BASE_NAME=${0##*/} +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD=maximum + +warn () { + echo "$*" +} >&2 + +die () { + echo + echo "$*" + echo + exit 1 +} >&2 + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; +esac + +CLASSPATH="\\\"\\\"" + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD=$JAVA_HOME/jre/sh/java + else + JAVACMD=$JAVA_HOME/bin/java + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD=java + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +fi + +# Increase the maximum file descriptors if we can. +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac +fi + +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. + +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + + # Now convert the arguments - kludge to limit ourselves to /bin/sh + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) + fi + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg + done +fi + + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \ + "$@" + +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' + +exec "$JAVACMD" "$@" diff --git a/android/gradlew.bat b/android/gradlew.bat new file mode 100644 index 0000000..5eed7ee --- /dev/null +++ b/android/gradlew.bat @@ -0,0 +1,94 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem +@rem SPDX-License-Identifier: Apache-2.0 +@rem + +@if "%DEBUG%"=="" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if %ERRORLEVEL% equ 0 goto execute + +echo. 1>&2 +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. 1>&2 +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH= + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* + +:end +@rem End local scope for the variables with windows NT shell +if %ERRORLEVEL% equ 0 goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/android/settings.gradle b/android/settings.gradle new file mode 100644 index 0000000..3b4431d --- /dev/null +++ b/android/settings.gradle @@ -0,0 +1,5 @@ +include ':app' +include ':capacitor-cordova-android-plugins' +project(':capacitor-cordova-android-plugins').projectDir = new File('./capacitor-cordova-android-plugins/') + +apply from: 'capacitor.settings.gradle' \ No newline at end of file diff --git a/android/variables.gradle b/android/variables.gradle new file mode 100644 index 0000000..ee4ba41 --- /dev/null +++ b/android/variables.gradle @@ -0,0 +1,16 @@ +ext { + minSdkVersion = 24 + compileSdkVersion = 36 + targetSdkVersion = 36 + androidxActivityVersion = '1.11.0' + androidxAppCompatVersion = '1.7.1' + androidxCoordinatorLayoutVersion = '1.3.0' + androidxCoreVersion = '1.17.0' + androidxFragmentVersion = '1.8.9' + coreSplashScreenVersion = '1.2.0' + androidxWebkitVersion = '1.14.0' + junitVersion = '4.13.2' + androidxJunitVersion = '1.3.0' + androidxEspressoCoreVersion = '3.7.0' + cordovaAndroidVersion = '14.0.1' +} \ No newline at end of file diff --git a/assets/icon-background.png b/assets/icon-background.png new file mode 100644 index 0000000000000000000000000000000000000000..c4af3c7a395761ee40f77807bd070b7e35f0ead6 GIT binary patch literal 419948 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 S@u{U%Z#wPdul&xrANhX(F>$B> literal 0 HcmV?d00001 diff --git a/assets/icon-foreground.png b/assets/icon-foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..c4af3c7a395761ee40f77807bd070b7e35f0ead6 GIT binary patch literal 419948 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 S@u{U%Z#wPdul&xrANhX(F>$B> literal 0 HcmV?d00001 diff --git a/assets/icon-only.png b/assets/icon-only.png new file mode 100644 index 0000000000000000000000000000000000000000..855d85b0456fdd15b231329e371e90ea5ad009c3 GIT binary patch literal 419922 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 Jqi_4b{|DQEd&d9( literal 0 HcmV?d00001 diff --git a/assets/splash-dark.png b/assets/splash-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..2856aa51c632b63aae8be394292a966a7ef31eb6 GIT binary patch literal 419921 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 literal 0 HcmV?d00001 diff --git a/assets/splash.png b/assets/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..855d85b0456fdd15b231329e371e90ea5ad009c3 GIT binary patch literal 419922 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 Jqi_4b{|DQEd&d9( literal 0 HcmV?d00001 diff --git a/capacitor.config.ts b/capacitor.config.ts new file mode 100644 index 0000000..a7235f4 --- /dev/null +++ b/capacitor.config.ts @@ -0,0 +1,15 @@ +import type { CapacitorConfig } from '@capacitor/cli'; + +const config: CapacitorConfig = { + appId: 'tf.monochrome.music', + appName: 'monochrome', + webDir: 'dist', + assets: { + iconBackgroundColor: '#000000', + iconBackgroundColorDark: '#000000', + splashBackgroundColor: '#000000', + splashBackgroundColorDark: '#000000', + }, +}; + +export default config; diff --git a/index.html b/index.html index 710cf45..22bd33d 100644 --- a/index.html +++ b/index.html @@ -2,7 +2,7 @@ - + Monochrome Music diff --git a/ios/.gitignore b/ios/.gitignore new file mode 100644 index 0000000..f470299 --- /dev/null +++ b/ios/.gitignore @@ -0,0 +1,13 @@ +App/build +App/Pods +App/output +App/App/public +DerivedData +xcuserdata + +# Cordova plugins for Capacitor +capacitor-cordova-ios-plugins + +# Generated Config files +App/App/capacitor.config.json +App/App/config.xml diff --git a/ios/App/App.xcodeproj/project.pbxproj b/ios/App/App.xcodeproj/project.pbxproj new file mode 100644 index 0000000..2654b36 --- /dev/null +++ b/ios/App/App.xcodeproj/project.pbxproj @@ -0,0 +1,378 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 60; + objects = { + +/* Begin PBXBuildFile section */ + 2FAD9763203C412B000D30F8 /* config.xml in Resources */ = {isa = PBXBuildFile; fileRef = 2FAD9762203C412B000D30F8 /* config.xml */; }; + 4D22ABE92AF431CB00220026 /* CapApp-SPM in Frameworks */ = {isa = PBXBuildFile; productRef = 4D22ABE82AF431CB00220026 /* CapApp-SPM */; }; + 50379B232058CBB4000EE86E /* capacitor.config.json in Resources */ = {isa = PBXBuildFile; fileRef = 50379B222058CBB4000EE86E /* capacitor.config.json */; }; + 504EC3081FED79650016851F /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 504EC3071FED79650016851F /* AppDelegate.swift */; }; + 504EC30D1FED79650016851F /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 504EC30B1FED79650016851F /* Main.storyboard */; }; + 504EC30F1FED79650016851F /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 504EC30E1FED79650016851F /* Assets.xcassets */; }; + 504EC3121FED79650016851F /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 504EC3101FED79650016851F /* LaunchScreen.storyboard */; }; + 50B271D11FEDC1A000F3C39B /* public in Resources */ = {isa = PBXBuildFile; fileRef = 50B271D01FEDC1A000F3C39B /* public */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 2FAD9762203C412B000D30F8 /* config.xml */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = config.xml; sourceTree = ""; }; + 50379B222058CBB4000EE86E /* capacitor.config.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = capacitor.config.json; sourceTree = ""; }; + 504EC3041FED79650016851F /* App.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = App.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 504EC3071FED79650016851F /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 504EC30C1FED79650016851F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 504EC30E1FED79650016851F /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 504EC3111FED79650016851F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 504EC3131FED79650016851F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 50B271D01FEDC1A000F3C39B /* public */ = {isa = PBXFileReference; lastKnownFileType = folder; path = public; sourceTree = ""; }; + 958DCC722DB07C7200EA8C5F /* debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = debug.xcconfig; path = ../debug.xcconfig; sourceTree = SOURCE_ROOT; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 504EC3011FED79650016851F /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 4D22ABE92AF431CB00220026 /* CapApp-SPM in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 504EC2FB1FED79650016851F = { + isa = PBXGroup; + children = ( + 958DCC722DB07C7200EA8C5F /* debug.xcconfig */, + 504EC3061FED79650016851F /* App */, + 504EC3051FED79650016851F /* Products */, + ); + sourceTree = ""; + }; + 504EC3051FED79650016851F /* Products */ = { + isa = PBXGroup; + children = ( + 504EC3041FED79650016851F /* App.app */, + ); + name = Products; + sourceTree = ""; + }; + 504EC3061FED79650016851F /* App */ = { + isa = PBXGroup; + children = ( + 50379B222058CBB4000EE86E /* capacitor.config.json */, + 504EC3071FED79650016851F /* AppDelegate.swift */, + 504EC30B1FED79650016851F /* Main.storyboard */, + 504EC30E1FED79650016851F /* Assets.xcassets */, + 504EC3101FED79650016851F /* LaunchScreen.storyboard */, + 504EC3131FED79650016851F /* Info.plist */, + 2FAD9762203C412B000D30F8 /* config.xml */, + 50B271D01FEDC1A000F3C39B /* public */, + ); + path = App; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 504EC3031FED79650016851F /* App */ = { + isa = PBXNativeTarget; + buildConfigurationList = 504EC3161FED79650016851F /* Build configuration list for PBXNativeTarget "App" */; + buildPhases = ( + 504EC3001FED79650016851F /* Sources */, + 504EC3011FED79650016851F /* Frameworks */, + 504EC3021FED79650016851F /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = App; + packageProductDependencies = ( + 4D22ABE82AF431CB00220026 /* CapApp-SPM */, + ); + productName = App; + productReference = 504EC3041FED79650016851F /* App.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 504EC2FC1FED79650016851F /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 920; + LastUpgradeCheck = 920; + TargetAttributes = { + 504EC3031FED79650016851F = { + CreatedOnToolsVersion = 9.2; + LastSwiftMigration = 1100; + ProvisioningStyle = Automatic; + }; + }; + }; + buildConfigurationList = 504EC2FF1FED79650016851F /* Build configuration list for PBXProject "App" */; + compatibilityVersion = "Xcode 8.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 504EC2FB1FED79650016851F; + packageReferences = ( + D4C12C0A2AAA248700AAC8A2 /* XCLocalSwiftPackageReference "CapApp-SPM" */, + ); + productRefGroup = 504EC3051FED79650016851F /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 504EC3031FED79650016851F /* App */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 504EC3021FED79650016851F /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 504EC3121FED79650016851F /* LaunchScreen.storyboard in Resources */, + 50B271D11FEDC1A000F3C39B /* public in Resources */, + 504EC30F1FED79650016851F /* Assets.xcassets in Resources */, + 50379B232058CBB4000EE86E /* capacitor.config.json in Resources */, + 504EC30D1FED79650016851F /* Main.storyboard in Resources */, + 2FAD9763203C412B000D30F8 /* config.xml in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 504EC3001FED79650016851F /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 504EC3081FED79650016851F /* AppDelegate.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 504EC30B1FED79650016851F /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 504EC30C1FED79650016851F /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + 504EC3101FED79650016851F /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 504EC3111FED79650016851F /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 504EC3141FED79650016851F /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 958DCC722DB07C7200EA8C5F /* debug.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + 504EC3151FED79650016851F /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 504EC3171FED79650016851F /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 958DCC722DB07C7200EA8C5F /* debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = 6KK6V7WSG6; + INFOPLIST_FILE = App/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + OTHER_SWIFT_FLAGS = "$(inherited) \"-D\" \"COCOAPODS\" \"-DDEBUG\""; + PRODUCT_BUNDLE_IDENTIFIER = tf.monochrome.music; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 504EC3181FED79650016851F /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = 6KK6V7WSG6; + INFOPLIST_FILE = App/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = tf.monochrome.music; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = ""; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 504EC2FF1FED79650016851F /* Build configuration list for PBXProject "App" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 504EC3141FED79650016851F /* Debug */, + 504EC3151FED79650016851F /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 504EC3161FED79650016851F /* Build configuration list for PBXNativeTarget "App" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 504EC3171FED79650016851F /* Debug */, + 504EC3181FED79650016851F /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + +/* Begin XCLocalSwiftPackageReference section */ + D4C12C0A2AAA248700AAC8A2 /* XCLocalSwiftPackageReference "CapApp-SPM" */ = { + isa = XCLocalSwiftPackageReference; + relativePath = "CapApp-SPM"; + }; +/* End XCLocalSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + 4D22ABE82AF431CB00220026 /* CapApp-SPM */ = { + isa = XCSwiftPackageProductDependency; + package = D4C12C0A2AAA248700AAC8A2 /* XCLocalSwiftPackageReference "CapApp-SPM" */; + productName = "CapApp-SPM"; + }; +/* End XCSwiftPackageProductDependency section */ + }; + rootObject = 504EC2FC1FED79650016851F /* Project object */; +} diff --git a/ios/App/App.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/ios/App/App.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/ios/App/App.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/ios/App/App.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/ios/App/App.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved new file mode 100644 index 0000000..2d5c82b --- /dev/null +++ b/ios/App/App.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -0,0 +1,15 @@ +{ + "originHash" : "52b8f5ad81945242b71e7fa9d492392d601fa6f5525d16cba3e68e55cab9b529", + "pins" : [ + { + "identity" : "capacitor-swift-pm", + "kind" : "remoteSourceControl", + "location" : "https://github.com/ionic-team/capacitor-swift-pm.git", + "state" : { + "revision" : "0e862e6ff13852a710c8a484180ca4d6a2cc9761", + "version" : "8.2.0" + } + } + ], + "version" : 3 +} diff --git a/ios/App/App/AppDelegate.swift b/ios/App/App/AppDelegate.swift new file mode 100644 index 0000000..c3cd83b --- /dev/null +++ b/ios/App/App/AppDelegate.swift @@ -0,0 +1,49 @@ +import UIKit +import Capacitor + +@UIApplicationMain +class AppDelegate: UIResponder, UIApplicationDelegate { + + var window: UIWindow? + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { + // Override point for customization after application launch. + return true + } + + func applicationWillResignActive(_ application: UIApplication) { + // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. + // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game. + } + + func applicationDidEnterBackground(_ application: UIApplication) { + // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. + // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. + } + + func applicationWillEnterForeground(_ application: UIApplication) { + // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background. + } + + func applicationDidBecomeActive(_ application: UIApplication) { + // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. + } + + func applicationWillTerminate(_ application: UIApplication) { + // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. + } + + func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) -> Bool { + // Called when the app was launched with a url. Feel free to add additional processing here, + // but if you want the App API to support tracking app url opens, make sure to keep this call + return ApplicationDelegateProxy.shared.application(app, open: url, options: options) + } + + func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool { + // Called when the app was launched with an activity, including Universal Links. + // Feel free to add additional processing here, but if you want the App API to support + // tracking app url opens, make sure to keep this call + return ApplicationDelegateProxy.shared.application(application, continue: userActivity, restorationHandler: restorationHandler) + } + +} diff --git a/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png b/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..8ddb86c6672a2e705bc1cf4b469020e393471774 GIT binary patch literal 8170 zcmeI1-%C?r7{|Y7p3&xyoR;>3HJ4O)F;tMqVCpn2MvbyL8 zO>eS9+HQkt=8Z;$cTSL6Q8);l+GTiLlb$>t?JqHfYc{t}i@8RWnzTXe; zxzpKktSEnXK7b-~d+SMnXO}!w3KkOXH=kKh_qJR6fP!tglf%U1PM~7a+}eDqfAaU2 zmnZV>mA8E?(a)GoBjJKeqZ7Bj8P2>5eHyo^MSk#k{(e7xc#>y6EyQ~_zE9bVIXY9O<|zMf8}GnuzhvB~6N8_dgG!mI4n*3{Ij-sGpIhD*4*V7xC= zR+;D?H0t8lBclAhJ`#!81RdM8-kT$N2$~$NLsdcvtpU{m^#bVuX(IUo+2KD!g5H%( Y@zE+9bS;mcvY+=bw{^6>Xz3aG1HE;^?*IS* literal 0 HcmV?d00001 diff --git a/ios/App/App/Assets.xcassets/AppIcon.appiconset/Contents.json b/ios/App/App/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..b1a8483 --- /dev/null +++ b/ios/App/App/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,14 @@ +{ + "images": [ + { + "idiom": "universal", + "size": "1024x1024", + "filename": "AppIcon-512@2x.png", + "platform": "ios" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} \ No newline at end of file diff --git a/ios/App/App/Assets.xcassets/Contents.json b/ios/App/App/Assets.xcassets/Contents.json new file mode 100644 index 0000000..da4a164 --- /dev/null +++ b/ios/App/App/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/ios/App/App/Assets.xcassets/Splash.imageset/Contents.json b/ios/App/App/Assets.xcassets/Splash.imageset/Contents.json new file mode 100644 index 0000000..84a416d --- /dev/null +++ b/ios/App/App/Assets.xcassets/Splash.imageset/Contents.json @@ -0,0 +1,56 @@ +{ + "images": [ + { + "idiom": "universal", + "filename": "Default@1x~universal~anyany.png", + "scale": "1x" + }, + { + "idiom": "universal", + "filename": "Default@2x~universal~anyany.png", + "scale": "2x" + }, + { + "idiom": "universal", + "filename": "Default@3x~universal~anyany.png", + "scale": "3x" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "idiom": "universal", + "scale": "1x", + "filename": "Default@1x~universal~anyany-dark.png" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "idiom": "universal", + "scale": "2x", + "filename": "Default@2x~universal~anyany-dark.png" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "idiom": "universal", + "scale": "3x", + "filename": "Default@3x~universal~anyany-dark.png" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} \ No newline at end of file diff --git a/ios/App/App/Assets.xcassets/Splash.imageset/Default@1x~universal~anyany-dark.png b/ios/App/App/Assets.xcassets/Splash.imageset/Default@1x~universal~anyany-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..c137b7076d027f90a0d672d0faef18a047b865bd GIT binary patch literal 133109 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 z z-9vIW%A!5!!)tmDP7+?v9)v`7Kk2COSvICIKkdZ`wVrEaQTkxfnqxWjZO`0ppv_x2 zN?3j6K#{^68RQu2K_2a7->y~#3q}}fIbLUqvm4btr0z1)Nc$HITgs(SkUi)g{Vw~kvu{p#2FFRbKT63IH%7&KEBaAGv zoGR8C?MR;fW*?ejrJxz9_XIBC^=waks{2VE(}}3KD>Lous&J*{{H-kuk{dOVXXkg( z=8a*9O3*EeJFDtfC$d(YSCo?Hq@B~dhXn{mILdNX)n)5TRBxro7P&;gNImB|39ru* znz-pGqlKtY`n|77(Q&<%KE9Vz_s59h#zkdn+Pv>h74jtqikZx*PVTaB>hvv5YE02u znlq~{NA#`mQoKl+;3KBV4b4bB$Jq(5e^=O$D<+ibM0DJMkkqqS$51Uol9dc0srMW^ zgd~I{OJlDe5R#Ja?OJTn0+@eYh46&%gc*|{oyUwx?uHpt@8O-8F=57JNysr{k~yG= zCqoerMLa=;2}L}q97Q}!y@siK3W|Ox;$dA0>q^1pf^{OSEBRnu3F}H&SIQEu6P?4l z5~L20IzZ|WAS}c|>R=D41Eda6-(?8ZbWqzc$6PE-^VsDvgx7^c?uMN( zZcS-ckM<@xfbNIZB*lvRs~)L+jF}@J@%?1p@<)8nUq72?KVUY`p4@km-)u-Ceb}34 zRU%vdiXW*he;~S_+@u_!LzMwr(9?zc_fTa(l>t?TN3zOr*m-kAQr-Fe+k-n+rY*QJ z&hd3wz3pZzL&5l6VS~c`~^!9q@Qxe&;Vq*Q; zt)`OwR1|xdRvl`pi;GI($6miQ>yB3~wS8Y6>t_>XPo|*>Q?gu3HX6?!Yg}IXxs#D= zn=rpPr|z?S&&B!kyPE0d7TehlB-Z4YRhWAQWY3kQua;}b4kW5GddJ8B+B(r(cMHdi zY`Zg5QtJn@rOV`tiD%n|z3wp-3@okn>ZaNUYx;TI19u^w6%bJg! zxu=b(p`^iDl^;>1wjQ zifVkSl|t}%3(TE9#LOTQy2Y54iom@shRusAuOx?i8ZIAVzm{)Oe8d-jQby!%O=_*D zdtJzDm~I(%gG^7!@`Ho^x&*m@mBV$aA;}t@ds7x|9jh8MaGB@p97gq6d9hP2X`vr4 z=f7fRa1**kQ-HMOL~?sgV|L1|GQQzSCaRxrN->INn3~c6!uPu1!=nIQDmbPw=bC<9`xho{8!8j+Y1D45mP)e zVDHUbBM~ z$%fB3X?I>TXd?B`+%BfQ*CCJT=S2Bvv>E!h$1pxU`3%)EtNuYqZLomb^0;u#Bvk+-SsPLlrGT0=*DLcY;n$iW?}70Ly1F}}^D9p3FVq1Cya&oy+fFYVOo6Lt%8sEJZtPF-kb zP`)87cfP^ve8(MOB=Gi@Dw7}3`NG!cn_632+nKKs*<4q0?R2R3S?2qEs$3E;2>rD= zF_oD?#{2hgme^^l&+0llTN;#Sl}1BJae}k5O^^Xab>DDw$mlA{^}ggzwd;wH&$jUHHZ9!bDz`BDKQ0U-oG35D}MTF*<#Q8yC&t9qC196r}lz0ZbqPg zU6vkiH}q8^@fH3i7X!=W{!Y%L50Ys+@pahm#HAXaIA%=un&vZ^vJdr^ivsi91J*}{ zMZamGMDbg2Ip>~bS$8^WC0_`~$@{JL4f^)B)-s0KpIGpbk(6 z5laZ9fI2`O1Ry{id_aIYKpmKZn~NZ*br1y))H+a9A^^cJ6{31a)F43}1X4g9pbi2M z|7q0m;ZwIqShN79B_J#UnDcB*$N94_ECLX-FI4g{9VY-m6mCErpbi2MsO0eh0qOvC zppu759)IS^)hI9>=Nkp`Fhb;pN**eC1R#jQ4X6XuK>*@Et&)f89WSlM6r4ZfLiLUZ z4XFS5&|oIxknj@48c+uxAD|9U2futtxC*F)?<$t|5I=N>R(bx_Q?XA-g2zAh&R>mn zWjn^bw0rmPcW2t19HD*oNRrY~(M|PmAP~tukUR&6CCOU%hFo=h{ldmSrA{^Fg38MU zY0U)#?m@HgU94Yy?0|dFtW8}v4nJp|e%^Y(J!nJC%}tgM^?%<^M(!yjYQQEVjyCt8 zC>xzI(pf&xX1{6XE*YPA1WfUA7-+L!n7OCJyzs0QQEmfm_Nz6wOWAWvQQn~#aI>Fz zYyX6wh@ta#gio?)0Ys)!FgjrrpqnT-fJXQQhyP?6A-u$F6i^3Y6i^4Kg8&4mgAWK| znFG{8AO+OHM@lrZ4p0Xl5TK5}S4cq}e58On2&7=b0_q?Dfvkf71gL`m1hNi3APA&j z!a^VgSqC2}$U2B1gRBG8K>z~OK>z~OK>z|-2OkgwQjm2JNI}-YN6J5ub)0l+ZLw$p z5~24n%brv}ExiZfF=lQBjSxlwjr<>J1k}MP1VJ5yY7v?|LIDZ!BcUsX%9O7w26ccs z`j+5>IzSynECF>8fZ%%$vJL_%pbi2l$T~nB1Ry{id_aIYh%}Ty3aEpR6iiqMq#)}6 zbr666br666br66+*1-n^ffP(w2&5qE;3EZD2N7g`#H^z%qr_m*0ucV_p!l~m`i7hh zVS`-cFU;EA8uZ7mtieBjvFx2J>);1l#l@#8u6TvcOC0N) zXuz?{rbn;h`eWdHYZDdYAOM08&`OL5(3ah)II*1#O`r}UK!Z9!9Rwgi9RwhV+#Xp6 zzbpXiAdrHr1JpqP0@OhO0@T3=1c4M#2Z0n!Solc6goVgYk#&GN2ta^32ta^32tXj~ z-~)m{3bGCYDabnbNI}*?1Q}!U@BA+bcl~#D&2?Z6bv(*YRk8OfKtIj!4tO*z)hz?g3 zl3&IC}Bi+*jkDjpHKgdbt3ts3K)GZvZ@trazB&G5LLuk4rY|DSotebVCLb1!|ABNbY z3)8D+ZW9UIsufO)@tj$vl@K{yveiaFjQkYf5U&#jm=fl^o;1*ib1 z0H{Ex5Xe3T(>6c_Km|Yr5){BHm>D6^I3TYEi9fIkU=_eBkof_m^x&casCcY>n5PJ^ z3Sbq$Du7ks79`nqWv~k01FImK@op@q1)v8c5DO3sBool6FnS;0G~hJgG~hJgG?4)4 z^m{<3K%|hf5+njW((vn%)D;&zXlb~&%e`E;wO{X?(JrCAjiTnHMQSd`AFxV;=(lN+ z>{0LA7k_tpuf2p@YmsofM+s{x$JwaG6;AG)0Q{upd`w+{y+&KZB^7q1GMYdhPx z#YK-{FTHl6@{ikF?DgLhE&A`6THpIQoJ8HM4_C)bWxpIAkneWxti86}-=ZzYLvxV^ zzchw74f^5J2xLr5K=j6x#Vp)mo(4Ff!5I)4U?`*e1NKJ3K_^_uvXELbd;#+5A2M?? zwr%GuP77eO%O3s>|Av24^FR`UBqVe)IB?7C0Fn?SAxJ_6*0n6_ZXgLk5`rYeTD7G> z8%RQsgdho_KjBhGAxOd>GD&Dj{ovE^Y4|jwE(9@Xsr>=3U55D&#WYC8$Nu8Bz zJmRLLIWK>3xc%SL9+WnP*DdSzIA8r*#P8pI^<3Dz*1z9x%869Dwoh{T=J16R$oS8e-ps_k<_7xjMCNjb6RQ+vU< zrDFKdRrk~TG#KOlCti=D-|o)v^T8WvDJKKx~5rQ}advs1DV#2lyQL9BIjrZL5IE&E;um z#lZ+bX@Tw;Wd)w96uZs$!X>fVwzjtNt)CnEdhUrUTe?~d21A!dqgkKPXcZ*bx9|AH zEzR|DCFzUtxKDmxW@f?m?Y18}EW9GqHQlR`^wd0(5A^GFy0X|THr=62+RnCGWd{FE zJlI;B}cr`dJ%2exBTV_wf^}yPVoPI!wm-l{X4wV|`X!Q!15RI$5_~XocFCx7vMzENN+Z zP;={^#AI@AnXK~=O(iAinSb=zu`50;7cW`5e{sw1gZ$rrx#O*@lD7Ne#yO1( z;Af{su8^&e*({ui1g0<8vKFROOm&MBj+v|t45U2lm`AJLM3-L>ZE?urDW2tS#8F-9 z%S_4cNsg(!yi%GVQe1OPB>s%4kQ3&Z&)c?;<^;VRvx%Z3Fon4tB1}OCcBcLuOaW8a z%!e2imZ=1$fGHf5hCsD$P)y^s2R#*r0L6%*~l9k2aG zvq;JD`l5tgUmRi$b1Jijndx|)GzvFimXyH~WIdl5F0ceFVM)|6Cb;<&mVhN3?3+Wx zM8rhIbhN7!-U07`cfdQ4i?Tb$70AlXd*@*Z!gn*kF=bh@YT5_B-Npf3z@ze-nwkR7 z4x(z|W(xN0JH;|*rWLGlZf8nHDw;h8VLxj~wQ6yvuDQ%0ZT9IEM_u*u%Kg>8hlcxm z4Se={SQ=#MIX$2hNB0{GJgO4<lNlwDR?iaKjQ=_>C_IsBdy*2sVZ{PoQOMvkpW^L+?9R9r`M!1~Z~5_brl&AD9ycd7lBfM~8Qs^IeiiZV z62Rk|2M~V!+L${35L>6l;3plu=@)#z&39*xxzH0g9}Yw4QwM+f@n*7pVfw)sz2DUj z?q+Sf>+H-}eA4dd#jAqs7xhkS<}*jBS8$m783-(aSuh+h9N-3siq^>*q9URqq9URq zq9URqFfvjm8*T&O0N?=N0N~&|fP=kX)SuQjUUh9u+_dGm<7WD!$Al)7#=sMo-(_M z(*lqVEQ6^k3_LsrhEd6`D-0$KCd3xF0iZmlSj+|#+yHI>H-H-;H$ZMc!42RBa09r3 zZE+efCSXj!n1C@ss)$q(sUk2kFfuSQFfuSQEs}atxxpI&MGA_VnimlkvW_V-{G={~ zlhZ{&0qp?oo}4qo$KYd-)Uw@zM$SA|d^RXNWcphNyuUmie`i4Zqn{kUfuJ9}vy8r1r#D)r0yzhFlVr`wiXE;2KwbU+;JQ&HCV~ zt|eZ*Yr6c?v-r9h-14IPm(s7)$g<6XXRO0Jxm-v{yqejHVOP~ z3})n$D&h3&CEhLwcyRpUHYq-aI(*z__dJ3dqPk7zA53SM$88W601S|u4W0&MRgW~R ep6A-A6-vWrw-t6B{VSbLL@Zk!cHu?If&T&gY+_;n literal 0 HcmV?d00001 diff --git a/ios/App/App/Assets.xcassets/Splash.imageset/Default@2x~universal~anyany-dark.png b/ios/App/App/Assets.xcassets/Splash.imageset/Default@2x~universal~anyany-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..c137b7076d027f90a0d672d0faef18a047b865bd GIT binary patch literal 133109 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 z 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 literal 0 HcmV?d00001 diff --git a/ios/App/App/Assets.xcassets/Splash.imageset/Default@3x~universal~anyany-dark.png b/ios/App/App/Assets.xcassets/Splash.imageset/Default@3x~universal~anyany-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..c137b7076d027f90a0d672d0faef18a047b865bd GIT binary patch literal 133109 zcmeHQ4OmoV+8!KtU~>@qS`}1;N_TZ-6C+bZ0bR?`y{fGR!B!d4B!5;=R8Y}@NM*Ia zxJ=Xt+)rD-1r*dw1B3xgG?Xb^z*2sMloXu-0r?qb<~wKR44n5p2iW$@{oMBMx}+IB z%z5WI_j5nb`@Hx2ynlZ6<+-+xjeJZZk=XjaH0L#m04^RSl! z!zGd-Pq2TiBnOfmBoY^i@0?kGh)lkFeew$FEc-cMAJ93k*8b(`xGz@j@m!;L{TJGz zgSi_o-hJ-Nr+pL0`j**Mwd>nD&mL?1@VhOg8xyB3Q%R(9xBh;pGec_q{F&cPTpCmo zQlDT)Hg-t*&qk~(miPUYS%W+~L;4Ue-)kGW_d|9pfdRicbI@~ur?&fs<3qeWYgNzl zT~Y9}s>#xRz`&SYu6~%8za>q1i^IT>XTFbj>>o2rBV`Zqa@SE!t`k{2p2%7lHY?&% zziy&%DRO^^mn*)B4hdw(lDMt>ogvvvWc@q2V@k|Jyu3sx9j00{b=w7@;!9&iu1 zha4aP2mpe<3oZzh2$bMRa3nYq9Ld!A5DpLy00M*qFu{)>4qiGi=yi)0;89p22G@h@ z!S&#JaQ%@YP}7^wS2DAzyWyCSw(#_|4pj`(b!%Jqb}Z)#C;b)Xg!qqsgFou-Zxt3<59 zH~S5kUDQG_I}as-Q}3cJao0AQ^GHFdg?mG9Vcg2SoEQLV=|+KqVb06p#U<$4sb3q8f=p0TD=h*Ub@95mFISdtwEt zwn9inNFAswMp_7^Fe)qUc?*&O$v`vHn|SeGp%liq20v3p-p;oMuab(q9eF!KDncqk zs(9!?NENrskE5BX>V9>uMGMeJfMQQ;A3#xnsS_6XNMRSU8e}!dYLL|+s}Yah2&v+B z`KPj)yC)-dOh~%+_Q>t2vrp}GoiKRVyQ`)RdFj`K+n<_l+oF~)^39kP`{wWdy1Z0% z{Lt`9+gm#0+BH7+cjf=mH*u_Q*9iTCYoT+Ey3Uq{pv0)orW-{;%DA?D{Ws;1Nbh;C zl~sQ^kNJc|*Nm6LeA);24WHpDF_kCS%f}8$e`54kGnbKT6g>r2ZjpEQwvgIW8SLd3 z3-1iJUYFoVUqSx<(i@JEznRE>qZ3)v3#_V^4A8SAFjBU-1j8qD*B-`(_4`E|z|#kA zOg;(l06abT0PmA=ih>5hRv)4+Qz!y>0G?iaAnNw8YEPopiw{IyidxCH01v>^<1C1} zy{syHg{a#D6p};CrUH0`km-#_01v>^iw{IyMBN^Lc(jRAx!*6yq6I*;nGAezW4Q6Z zi5tUp;ksC5?9IoCSC4iC{zqK5n^~;hQ7q>v$k~;2!>Zbnq)GYhFH|@yyPLJXhR){t zV*hy_Gw4O;rVy#KSJX7a{Sm2S+{rcgZ~yMz-z}M^mNq zn**&@t9*0`$psDSRAn>04z5bI?QSZvQyM!PQjLu|ZN9O)tun~iar?@V{PKlU1?$?~ z!L=WS=6#c=)8wS)b=^rf)OZ}2boAw>L08Eo?cK{mc2AmMirMPlee+sqzW#5iPtKo^|4P%KzmuP@^7&=*EMro<*ew#A zy~pTlujcQ&5;WV;)tGs&y+$bz0H~H9OdY1%-^_fQ&T9by`kIr61rP52q`a)hw$n@d z-Of^F?$Yih!Kd=$_OKFw+uu%`sL|hjJGflGQ#XvzmbnjqzwK+QMrSBOK@F9Drz<~AMwefL;81%x&?vhJ1et-?)w)xp~+moS1 zJ#zdfqxGRj*RMQ!ufAr6$sX&TFWtG>+jFrxQGlDcNg1|324ARC}5k)j?~I1%p+`#XRx;PVelQdF7)?wo=e6#@#{G2E&EGnX&TVp0%y{rz(z~`Yb`&GM>dm**7MSikvxr z(_4hk2>C1aci5vEm{M|j(b@sHx#ls}XH(dh2xO543@n;(0h#BF}E8md%j5F;g>)Tv!3pl(($TL>v5gv|Uu;CQD`Ip2) zbjeh!vIKS?VWvvP0qxE_O*-J(2D!wYiX7Y>L~U?f2%OqL=_h**8IPV?ee~3p?vLi0 zFj0CwaE&&kxG}Jd3ON#Kvk1>{WUjqXnC2;K{~hrVeHN$21Pkmwsc&-ruGCSoj3!F% z4q`TVQwSW@N!h#!bB%ATtXjBI*D*E0go%&eKUr6;j;|C6a&;m+!-bFP54QP5$Tj;( z|H$={7ClSbJqQ6x-cOK5fI@&`5=8_k1gO4)Gy)U?RN`37pxBH>boPK5l)?owD9oS| zF@x%}yoDK*RE`qgPrAf+_N&xTixz-iZa}$@Dg0ePxlbZRxlba+Yzng}%%-p&<%abr z2dqa$$6!5*S+B)<6q6xBFyVmpD6B_4a_dnY&JQ#W<+EL62j6zlmE5WN^3xY(vg4nA z^|#V(YHiUhx4}Vk*7-SA&8$#!YM#^8!-}IKqVnc<(K>(_M&MyHgH$+V?|iR0 zzLnF6owEq{8K6)4RjWL5HM=2iDCAH@23%4j`Bbw7HFq5k)*?^3## z4l#{LtXU@$>!-7#^-QCMKv{d5;Bc_O?glI#}5|*Iv6y@;+lsGA_y&rLsn9&U) zf~#7ENp!}1{#F$w4z#frj%Ty&(pw(J1?68?Ezw^x%XlIh7p=JzQQVMo*qc^L*{~Y2 zSW<+=;k@f9>+}us2bAO`w;#!in9-ZXWISe99c!KbK)QjFoJ|vs=juuqcXeleTD)dV zV~AP3nEi%!=aM{6ubOdsT7ToiW`biVwUrs?Wg|QSPA$ozlzw&kzLkDrMvwCrQ7>|? z%6z_a7A0gVED(%GwOG1;W2w<^{krx5Z%z|ewQ0fVma68?XKt%$*1ZF)^cei)rG_u6j|79fu0X^I+tKOW}shv_mSD@{dC-9Bx+ zI>J{;i`nd1nV&VOSmSWs`U1mV4tFV4Qlxj^sw6R^*QrI6R-CJfv16EUJXw`K%TijD z2uXZxB0`cx$|;)>lEl~%AqgP~AqgQ#j2$sc!Ym21q#rU%n(+FZ@fIxrtF0AF-Z5js zj0rO)v1uxbcqrnbh=(GcNaYkoJbM)Ju&#u4C6UEEtSh02haw(|cqrnbhzF?yZ}ksS z2URrJ-Q$N8@ld#f)B#clTJQ$-T{P5pP~Sm)2lXA)cTnF!5Dr1Ohzg%42><=A#F-W? zKu^n8h{GWc7mBeV4v)6tT2`Wnhaw(|cqroWyN9EQXW3dP#*Wypg#Aj`LMygO3|nZi zg%(?Av4vJlg^w+?*g}i04(RIe5W6~TJRV^^!M@N<@`Cj9pqFdX*R9+>`|+fq|C8Px zyl=}!8{1h=|9AR|b?w(JjVxBx3~R{tT&zvpT1qx}P`KoZwC3PW+4-|;#(~NEsMZ{7 zjPlWY>E01d+byT;v{<=Qry*6(kgAf&MQ`4TG{WoIQ+BBCCs9mgFQF~S?@&&Ifoo(D zqB}ONvZ{GgQfs)NHHWRR6$W>*$}3E_@%IXn$#a9^bRo4_f)P%&oZWK3ZXeY>r1_Sk z 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 literal 0 HcmV?d00001 diff --git a/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732-1.png b/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732-1.png new file mode 100644 index 0000000000000000000000000000000000000000..33ea6c970f2df1db62a624a55e5bbcc4ee07bbdf GIT binary patch literal 41273 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 literal 0 HcmV?d00001 diff --git a/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732-2.png b/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732-2.png new file mode 100644 index 0000000000000000000000000000000000000000..33ea6c970f2df1db62a624a55e5bbcc4ee07bbdf GIT binary patch literal 41273 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 literal 0 HcmV?d00001 diff --git a/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732.png b/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732.png new file mode 100644 index 0000000000000000000000000000000000000000..33ea6c970f2df1db62a624a55e5bbcc4ee07bbdf GIT binary patch literal 41273 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 literal 0 HcmV?d00001 diff --git a/ios/App/App/Base.lproj/LaunchScreen.storyboard b/ios/App/App/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 0000000..e7ae5d7 --- /dev/null +++ b/ios/App/App/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ios/App/App/Base.lproj/Main.storyboard b/ios/App/App/Base.lproj/Main.storyboard new file mode 100644 index 0000000..b44df7b --- /dev/null +++ b/ios/App/App/Base.lproj/Main.storyboard @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/ios/App/App/Info.plist b/ios/App/App/Info.plist new file mode 100644 index 0000000..ef1bec3 --- /dev/null +++ b/ios/App/App/Info.plist @@ -0,0 +1,51 @@ + + + + + CAPACITOR_DEBUG + $(CAPACITOR_DEBUG) + CFBundleDevelopmentRegion + en + CFBundleDisplayName + monochrome + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + $(MARKETING_VERSION) + CFBundleVersion + $(CURRENT_PROJECT_VERSION) + LSRequiresIPhoneOS + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UIViewControllerBasedStatusBarAppearance + + + diff --git a/ios/App/CapApp-SPM/.gitignore b/ios/App/CapApp-SPM/.gitignore new file mode 100644 index 0000000..3b29812 --- /dev/null +++ b/ios/App/CapApp-SPM/.gitignore @@ -0,0 +1,9 @@ +.DS_Store +/.build +/Packages +/*.xcodeproj +xcuserdata/ +DerivedData/ +.swiftpm/config/registries.json +.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata +.netrc diff --git a/ios/App/CapApp-SPM/Package.swift b/ios/App/CapApp-SPM/Package.swift new file mode 100644 index 0000000..80f1c8f --- /dev/null +++ b/ios/App/CapApp-SPM/Package.swift @@ -0,0 +1,29 @@ +// swift-tools-version: 5.9 +import PackageDescription + +// DO NOT MODIFY THIS FILE - managed by Capacitor CLI commands +let package = Package( + name: "CapApp-SPM", + platforms: [.iOS(.v15)], + products: [ + .library( + name: "CapApp-SPM", + targets: ["CapApp-SPM"]) + ], + dependencies: [ + .package(url: "https://github.com/ionic-team/capacitor-swift-pm.git", exact: "8.2.0"), + .package(name: "CapacitorApp", path: "../../../node_modules/@capacitor/app"), + .package(name: "CapacitorHaptics", path: "../../../node_modules/@capacitor/haptics") + ], + targets: [ + .target( + name: "CapApp-SPM", + dependencies: [ + .product(name: "Capacitor", package: "capacitor-swift-pm"), + .product(name: "Cordova", package: "capacitor-swift-pm"), + .product(name: "CapacitorApp", package: "CapacitorApp"), + .product(name: "CapacitorHaptics", package: "CapacitorHaptics") + ] + ) + ] +) diff --git a/ios/App/CapApp-SPM/README.md b/ios/App/CapApp-SPM/README.md new file mode 100644 index 0000000..03964db --- /dev/null +++ b/ios/App/CapApp-SPM/README.md @@ -0,0 +1,5 @@ +# CapApp-SPM + +This package is used to host SPM dependencies for your Capacitor project + +Do not modify the contents of it or there may be unintended consequences. diff --git a/ios/App/CapApp-SPM/Sources/CapApp-SPM/CapApp-SPM.swift b/ios/App/CapApp-SPM/Sources/CapApp-SPM/CapApp-SPM.swift new file mode 100644 index 0000000..945afec --- /dev/null +++ b/ios/App/CapApp-SPM/Sources/CapApp-SPM/CapApp-SPM.swift @@ -0,0 +1 @@ +public let isCapacitorApp = true diff --git a/ios/debug.xcconfig b/ios/debug.xcconfig new file mode 100644 index 0000000..53ce18d --- /dev/null +++ b/ios/debug.xcconfig @@ -0,0 +1 @@ +CAPACITOR_DEBUG = true diff --git a/js/app.js b/js/app.js index 1938f69..61a7de9 100644 --- a/js/app.js +++ b/js/app.js @@ -1,5 +1,6 @@ //js/app.js import { isIos, isSafari } from './platform-detection.js'; +import { hapticLight } from './haptics.js'; import { MusicAPI } from './music-api.js'; import { apiSettings, @@ -391,6 +392,9 @@ document.addEventListener('DOMContentLoaded', async () => { }; } + // Haptic feedback on every click + document.addEventListener('click', () => hapticLight(), { capture: true }); + // Initialize analytics initAnalytics(); @@ -2909,6 +2913,7 @@ document.addEventListener('DOMContentLoaded', async () => { headerAccountIcon.style.display = 'block'; }); } + }); function showUpdateNotification(updateCallback) { diff --git a/js/audio-context.js b/js/audio-context.js index 20339ef..6dda5ff 100644 --- a/js/audio-context.js +++ b/js/audio-context.js @@ -300,7 +300,6 @@ class AudioContextManager { this.audio = audioElement; - // Detect iOS - skip Web Audio initialization on iOS to avoid lock screen audio issues if (isIos) { console.log('[AudioContext] Skipping Web Audio initialization on iOS for lock screen compatibility'); return; @@ -697,6 +696,8 @@ class AudioContextManager { return this.preamp || 0; } + /** + * Called when the app enters the background (screen lock, app switch). /** * Export equalizer settings to text format * @returns {string} Exported settings in text format diff --git a/js/events.js b/js/events.js index 9f38c8c..9ed6b0a 100644 --- a/js/events.js +++ b/js/events.js @@ -22,6 +22,7 @@ import { db } from './db.js'; import { syncManager } from './accounts/pocketbase.js'; import { waveformGenerator } from './waveform.js'; import { audioContextManager } from './audio-context.js'; +import { hapticLongPress, hapticMedium, hapticLight } from './haptics.js'; import { trackPlayTrack, trackPauseTrack, @@ -79,7 +80,7 @@ function handleTrackTouchStart(e) { longPressTimer = setTimeout(() => { isLongPress = true; toggleTrackSelection(trackItem, true, false); - if (navigator.vibrate) navigator.vibrate(50); + hapticLongPress(); }, LONG_PRESS_DURATION); } @@ -552,17 +553,20 @@ export function initializePlayerEvents(player, audioPlayer, scrobbler, ui) { setupMediaListeners(player.video); } - playPauseBtn.addEventListener('click', () => player.handlePlayPause()); + playPauseBtn.addEventListener('click', () => { hapticMedium(); player.handlePlayPause(); }); nextBtn.addEventListener('click', () => { + hapticMedium(); trackSkipTrack(player.currentTrack, 'next'); player.playNext(); }); prevBtn.addEventListener('click', () => { + hapticMedium(); trackSkipTrack(player.currentTrack, 'previous'); player.playPrev(); }); shuffleBtn.addEventListener('click', () => { + hapticLight(); player.toggleShuffle(); trackToggleShuffle(player.shuffleActive); shuffleBtn.classList.toggle('active', player.shuffleActive); @@ -570,6 +574,7 @@ export function initializePlayerEvents(player, audioPlayer, scrobbler, ui) { }); repeatBtn.addEventListener('click', () => { + hapticLight(); const mode = player.toggleRepeat(); trackToggleRepeat(mode === REPEAT_MODE.OFF ? 'off' : mode === REPEAT_MODE.ALL ? 'all' : 'one'); repeatBtn.classList.toggle('active', mode !== REPEAT_MODE.OFF); diff --git a/js/haptics.js b/js/haptics.js new file mode 100644 index 0000000..e1966f8 --- /dev/null +++ b/js/haptics.js @@ -0,0 +1,55 @@ +// js/haptics.js +// Capacitor Haptics wrapper with fallback to Web Vibration API + +let _Haptics = null; +let _ImpactStyle = null; +let _NotificationStyle = null; + +// Single stored promise — subsequent calls reuse the same one +const _ready = import('@capacitor/haptics').then((mod) => { + _Haptics = mod.Haptics; + _ImpactStyle = mod.ImpactStyle; + _NotificationStyle = mod.NotificationStyle; +}).catch(() => { + // Not in Capacitor or haptics not available — fall back to navigator.vibrate +}); + +function vibrateFallback(ms) { + if (navigator.vibrate) navigator.vibrate(ms); +} + +/** Light tap — for toggles, menu opens */ +export async function hapticLight() { + await _ready; + try { + if (_Haptics) { await _Haptics.impact({ style: _ImpactStyle.Light }); return; } + } catch {} + vibrateFallback(30); +} + +/** Medium impact — for play/pause, skip */ +export async function hapticMedium() { + await _ready; + try { + if (_Haptics) { await _Haptics.impact({ style: _ImpactStyle.Medium }); return; } + } catch {} + vibrateFallback(50); +} + +/** Success notification — for like/unlike, add to queue */ +export async function hapticSuccess() { + await _ready; + try { + if (_Haptics) { await _Haptics.notification({ type: _NotificationStyle.Success }); return; } + } catch {} + vibrateFallback(40); +} + +/** Long press — replaces navigator.vibrate(50) for track selection */ +export async function hapticLongPress() { + await _ready; + try { + if (_Haptics) { await _Haptics.impact({ style: _ImpactStyle.Medium }); return; } + } catch {} + vibrateFallback(50); +} diff --git a/js/ui-interactions.js b/js/ui-interactions.js index 13a15c0..2dd28cd 100644 --- a/js/ui-interactions.js +++ b/js/ui-interactions.js @@ -23,6 +23,7 @@ import { SVG_TRASH, SVG_EQUAL, } from './icons.js'; +import { hapticSuccess } from './haptics.js'; export function initializeUIInteractions(player, api, ui) { const sidebar = document.querySelector('.sidebar'); @@ -309,6 +310,7 @@ export function initializeUIInteractions(player, api, ui) { likeBtn.classList.toggle('active', added); likeBtn.innerHTML = added ? SVG_HEART_FILLED(20) : SVG_HEART(20); + hapticSuccess(); showNotification(added ? `Added to Liked: ${track.title}` : `Removed from Liked: ${track.title}`); } return; diff --git a/package-lock.json b/package-lock.json index 1183cdb..5052130 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,6 +9,11 @@ "version": "2.5.0", "license": "ISC", "dependencies": { + "@capacitor/android": "^8.2.0", + "@capacitor/app": "^8.0.1", + "@capacitor/core": "^8.2.0", + "@capacitor/haptics": "^8.0.1", + "@capacitor/ios": "^8.2.0", "@dantheman827/taglib-ts": "https://github.com/DanTheMan827/taglib-ts/archive/b4238b2627aceb97f58813258046f1259f68cab7.tar.gz", "@ffmpeg/core": "^0.12.10", "@ffmpeg/ffmpeg": "^0.12.15", @@ -37,6 +42,8 @@ "uuid": "^13.0.0" }, "devDependencies": { + "@capacitor/assets": "^3.0.5", + "@capacitor/cli": "^8.2.0", "@neutralinojs/neu": "^11.7.0", "@types/node": "^25.3.5", "eslint": "^9.39.3", @@ -96,7 +103,6 @@ "version": "7.29.0", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@babel/code-frame": "^7.29.0", "@babel/generator": "^7.29.0", @@ -1492,6 +1498,553 @@ "keyv": "^5.6.0" } }, + "node_modules/@capacitor/android": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@capacitor/android/-/android-8.2.0.tgz", + "integrity": "sha512-XLm5OsWLPfXQxDxzFS7SOdMEgGvW+2c7TGLXkTR2cSKdkWK5Abns4imlT5qghKYhjM9r74IrDkBWg/9ALUGNKQ==", + "license": "MIT", + "peerDependencies": { + "@capacitor/core": "^8.2.0" + } + }, + "node_modules/@capacitor/app": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@capacitor/app/-/app-8.0.1.tgz", + "integrity": "sha512-yeG3yyA0ETKqvgqexwHMBlmVOF13A1hRXzv/km0Ptv5TrNIZvZJK4MTI3uiqvnbHrzoJGP5DwWAjEXEfi90v3Q==", + "license": "MIT", + "peerDependencies": { + "@capacitor/core": ">=8.0.0" + } + }, + "node_modules/@capacitor/assets": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@capacitor/assets/-/assets-3.0.5.tgz", + "integrity": "sha512-ohz/OUq61Y1Fc6aVSt0uDrUdeOA7oTH4pkWDbv/8I3UrPjH7oPkzYhShuDRUjekNp9RBi198VSFdt0CetpEOzw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@capacitor/cli": "^5.3.0", + "@ionic/utils-array": "2.1.6", + "@ionic/utils-fs": "3.1.7", + "@trapezedev/project": "^7.0.10", + "commander": "8.3.0", + "debug": "4.3.4", + "fs-extra": "10.1.0", + "node-fetch": "2.7.0", + "node-html-parser": "5.4.2", + "sharp": "0.32.6", + "tslib": "2.6.2", + "yargs": "17.7.2" + }, + "bin": { + "capacitor-assets": "bin/capacitor-assets" + }, + "engines": { + "node": ">=10.3.0" + } + }, + "node_modules/@capacitor/assets/node_modules/@capacitor/cli": { + "version": "5.7.8", + "resolved": "https://registry.npmjs.org/@capacitor/cli/-/cli-5.7.8.tgz", + "integrity": "sha512-qN8LDlREMhrYhOvVXahoJVNkP8LP55/YPRJrzTAFrMqlNJC18L3CzgWYIblFPnuwfbH/RxbfoZT/ydkwgVpMrw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ionic/cli-framework-output": "^2.2.5", + "@ionic/utils-fs": "^3.1.6", + "@ionic/utils-subprocess": "^2.1.11", + "@ionic/utils-terminal": "^2.3.3", + "commander": "^9.3.0", + "debug": "^4.3.4", + "env-paths": "^2.2.0", + "kleur": "^4.1.4", + "native-run": "^2.0.0", + "open": "^8.4.0", + "plist": "^3.0.5", + "prompts": "^2.4.2", + "rimraf": "^4.4.1", + "semver": "^7.3.7", + "tar": "^6.1.11", + "tslib": "^2.4.0", + "xml2js": "^0.5.0" + }, + "bin": { + "cap": "bin/capacitor", + "capacitor": "bin/capacitor" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@capacitor/assets/node_modules/@capacitor/cli/node_modules/commander": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || >=14" + } + }, + "node_modules/@capacitor/assets/node_modules/@ionic/utils-process": { + "version": "2.1.11", + "resolved": "https://registry.npmjs.org/@ionic/utils-process/-/utils-process-2.1.11.tgz", + "integrity": "sha512-Uavxn+x8j3rDlZEk1X7YnaN6wCgbCwYQOeIjv/m94i1dzslqWhqIHEqxEyeE8HsT5Negboagg7GtQiABy+BLbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ionic/utils-object": "2.1.6", + "@ionic/utils-terminal": "2.3.4", + "debug": "^4.0.0", + "signal-exit": "^3.0.3", + "tree-kill": "^1.2.2", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@capacitor/assets/node_modules/@ionic/utils-stream": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@ionic/utils-stream/-/utils-stream-3.1.6.tgz", + "integrity": "sha512-4+Kitey1lTA1yGtnigeYNhV/0tggI3lWBMjC7tBs1K9GXa/q7q4CtOISppdh8QgtOhrhAXS2Igp8rbko/Cj+lA==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.0.0", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@capacitor/assets/node_modules/@ionic/utils-subprocess": { + "version": "2.1.14", + "resolved": "https://registry.npmjs.org/@ionic/utils-subprocess/-/utils-subprocess-2.1.14.tgz", + "integrity": "sha512-nGYvyGVjU0kjPUcSRFr4ROTraT3w/7r502f5QJEsMRKTqa4eEzCshtwRk+/mpASm0kgBN5rrjYA5A/OZg8ahqg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ionic/utils-array": "2.1.6", + "@ionic/utils-fs": "3.1.7", + "@ionic/utils-process": "2.1.11", + "@ionic/utils-stream": "3.1.6", + "@ionic/utils-terminal": "2.3.4", + "cross-spawn": "^7.0.3", + "debug": "^4.0.0", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@capacitor/assets/node_modules/@ionic/utils-terminal": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/@ionic/utils-terminal/-/utils-terminal-2.3.4.tgz", + "integrity": "sha512-cEiMFl3jklE0sW60r8JHH3ijFTwh/jkdEKWbylSyExQwZ8pPuwoXz7gpkWoJRLuoRHHSvg+wzNYyPJazIHfoJA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/slice-ansi": "^4.0.0", + "debug": "^4.0.0", + "signal-exit": "^3.0.3", + "slice-ansi": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "tslib": "^2.0.1", + "untildify": "^4.0.0", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@capacitor/assets/node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@capacitor/assets/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@capacitor/assets/node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/@capacitor/assets/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/@capacitor/assets/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@capacitor/assets/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@capacitor/assets/node_modules/glob": { + "version": "9.3.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-9.3.5.tgz", + "integrity": "sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "minimatch": "^8.0.2", + "minipass": "^4.2.4", + "path-scurry": "^1.6.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@capacitor/assets/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/@capacitor/assets/node_modules/minimatch": { + "version": "8.0.7", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-8.0.7.tgz", + "integrity": "sha512-V+1uQNdzybxa14e/p00HZnQNNcTjnRJjDxg2V8wtkjFctq4M7hXFws4oekyTP0Jebeq7QYtpFyOeBAjc88zvYg==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@capacitor/assets/node_modules/minipass": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz", + "integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=8" + } + }, + "node_modules/@capacitor/assets/node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@capacitor/assets/node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@capacitor/assets/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@capacitor/assets/node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@capacitor/assets/node_modules/path-scurry/node_modules/minipass": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", + "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/@capacitor/assets/node_modules/rimraf": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-4.4.1.tgz", + "integrity": "sha512-Gk8NlF062+T9CqNGn6h4tls3k6T1+/nXdOcSZVikNVtlRdYpA7wRJJMoXmuvOnLW844rPjdQ7JgXCYM6PPC/og==", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^9.2.0" + }, + "bin": { + "rimraf": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@capacitor/assets/node_modules/sharp": { + "version": "0.32.6", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.32.6.tgz", + "integrity": "sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==", + "dev": true, + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "color": "^4.2.3", + "detect-libc": "^2.0.2", + "node-addon-api": "^6.1.0", + "prebuild-install": "^7.1.1", + "semver": "^7.5.4", + "simple-get": "^4.0.1", + "tar-fs": "^3.0.4", + "tunnel-agent": "^0.6.0" + }, + "engines": { + "node": ">=14.15.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@capacitor/assets/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/@capacitor/assets/node_modules/tar": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "deprecated": "Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "dev": true, + "license": "ISC", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@capacitor/assets/node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=8" + } + }, + "node_modules/@capacitor/assets/node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true, + "license": "0BSD" + }, + "node_modules/@capacitor/assets/node_modules/xml2js": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz", + "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/@capacitor/assets/node_modules/xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/@capacitor/assets/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/@capacitor/cli": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@capacitor/cli/-/cli-8.2.0.tgz", + "integrity": "sha512-1cMEk0d/I6tl1U+v/lnJR5Oylpx8ZBIHrvQxD5zK0MkjYOUyQAAGJgh97rkhGJqjAUvrGpa8H4BmyhNQN9a17A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ionic/cli-framework-output": "^2.2.8", + "@ionic/utils-subprocess": "^3.0.1", + "@ionic/utils-terminal": "^2.3.5", + "commander": "^12.1.0", + "debug": "^4.4.0", + "env-paths": "^2.2.0", + "fs-extra": "^11.2.0", + "kleur": "^4.1.5", + "native-run": "^2.0.3", + "open": "^8.4.0", + "plist": "^3.1.0", + "prompts": "^2.4.2", + "rimraf": "^6.0.1", + "semver": "^7.6.3", + "tar": "^7.5.3", + "tslib": "^2.8.1", + "xml2js": "^0.6.2" + }, + "bin": { + "cap": "bin/capacitor", + "capacitor": "bin/capacitor" + }, + "engines": { + "node": ">=22.0.0" + } + }, + "node_modules/@capacitor/cli/node_modules/commander": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", + "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@capacitor/cli/node_modules/fs-extra": { + "version": "11.3.4", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.4.tgz", + "integrity": "sha512-CTXd6rk/M3/ULNQj8FBqBWHYBVYybQ3VPBw0xGKFe3tuH7ytT6ACnvzpIQ3UZtB8yvUKC2cXn1a+x+5EVQLovA==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/@capacitor/core": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@capacitor/core/-/core-8.2.0.tgz", + "integrity": "sha512-oKaoNeNtH2iIZMDFVrb1atoyRECDGHcfLMunJ5KWN8DtvpVBeeA4c41e20NTuhMxw1cSYbpq2PV2hb+/9CJxlQ==", + "license": "MIT", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@capacitor/haptics": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@capacitor/haptics/-/haptics-8.0.1.tgz", + "integrity": "sha512-8v8rowLBMeb3CryqoQvXndwyUsoi4pPXf0qFw7IGA4D32Uk7+K6juN2SjRowqunoovkvvbFmU9TD7JIAz2zmFw==", + "license": "MIT", + "peerDependencies": { + "@capacitor/core": ">=8.0.0" + } + }, + "node_modules/@capacitor/ios": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@capacitor/ios/-/ios-8.2.0.tgz", + "integrity": "sha512-X2/VtM4qP/R1SM0VQ5W/VotEc6PS/KTooD33EijsfAHWBdee+xmBapW8SeNLnu16wJ+tsfWlvtipaJEyfKbRKQ==", + "license": "MIT", + "peerDependencies": { + "@capacitor/core": "^8.2.0" + } + }, "node_modules/@cloudflare/workerd-darwin-64": { "version": "1.20260317.1", "resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-64/-/workerd-darwin-64-1.20260317.1.tgz", @@ -1600,7 +2153,6 @@ } ], "license": "MIT", - "peer": true, "engines": { "node": ">=18" }, @@ -1645,7 +2197,6 @@ } ], "license": "MIT", - "peer": true, "engines": { "node": ">=18" } @@ -2432,6 +2983,16 @@ "url": "https://github.com/sponsors/nzakas" } }, + "node_modules/@hutson/parse-repository-url": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz", + "integrity": "sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@img/colour": { "version": "1.1.0", "dev": true, @@ -2918,6 +3479,152 @@ "url": "https://opencollective.com/libvips" } }, + "node_modules/@ionic/cli-framework-output": { + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/@ionic/cli-framework-output/-/cli-framework-output-2.2.8.tgz", + "integrity": "sha512-TshtaFQsovB4NWRBydbNFawql6yul7d5bMiW1WYYf17hd99V6xdDdk3vtF51bw6sLkxON3bDQpWsnUc9/hVo3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ionic/utils-terminal": "2.3.5", + "debug": "^4.0.0", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@ionic/utils-array": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@ionic/utils-array/-/utils-array-2.1.6.tgz", + "integrity": "sha512-0JZ1Zkp3wURnv8oq6Qt7fMPo5MpjbLoUoa9Bu2Q4PJuSDWM8H8gwF3dQO7VTeUj3/0o1IB1wGkFWZZYgUXZMUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.0.0", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@ionic/utils-fs": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/@ionic/utils-fs/-/utils-fs-3.1.7.tgz", + "integrity": "sha512-2EknRvMVfhnyhL1VhFkSLa5gOcycK91VnjfrTB0kbqkTFCOXyXgVLI5whzq7SLrgD9t1aqos3lMMQyVzaQ5gVA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/fs-extra": "^8.0.0", + "debug": "^4.0.0", + "fs-extra": "^9.0.0", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@ionic/utils-object": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@ionic/utils-object/-/utils-object-2.1.6.tgz", + "integrity": "sha512-vCl7sl6JjBHFw99CuAqHljYJpcE88YaH2ZW4ELiC/Zwxl5tiwn4kbdP/gxi2OT3MQb1vOtgAmSNRtusvgxI8ww==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.0.0", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@ionic/utils-process": { + "version": "2.1.12", + "resolved": "https://registry.npmjs.org/@ionic/utils-process/-/utils-process-2.1.12.tgz", + "integrity": "sha512-Jqkgyq7zBs/v/J3YvKtQQiIcxfJyplPgECMWgdO0E1fKrrH8EF0QGHNJ9mJCn6PYe2UtHNS8JJf5G21e09DfYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ionic/utils-object": "2.1.6", + "@ionic/utils-terminal": "2.3.5", + "debug": "^4.0.0", + "signal-exit": "^3.0.3", + "tree-kill": "^1.2.2", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@ionic/utils-process/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/@ionic/utils-stream": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/@ionic/utils-stream/-/utils-stream-3.1.7.tgz", + "integrity": "sha512-eSELBE7NWNFIHTbTC2jiMvh1ABKGIpGdUIvARsNPMNQhxJB3wpwdiVnoBoTYp+5a6UUIww4Kpg7v6S7iTctH1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.0.0", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@ionic/utils-subprocess": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@ionic/utils-subprocess/-/utils-subprocess-3.0.1.tgz", + "integrity": "sha512-cT4te3AQQPeIM9WCwIg8ohroJ8TjsYaMb2G4ZEgv9YzeDqHZ4JpeIKqG2SoaA3GmVQ3sOfhPM6Ox9sxphV/d1A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ionic/utils-array": "2.1.6", + "@ionic/utils-fs": "3.1.7", + "@ionic/utils-process": "2.1.12", + "@ionic/utils-stream": "3.1.7", + "@ionic/utils-terminal": "2.3.5", + "cross-spawn": "^7.0.3", + "debug": "^4.0.0", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@ionic/utils-terminal": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@ionic/utils-terminal/-/utils-terminal-2.3.5.tgz", + "integrity": "sha512-3cKScz9Jx2/Pr9ijj1OzGlBDfcmx7OMVBt4+P1uRR0SSW4cm1/y3Mo4OY3lfkuaYifMNBW8Wz6lQHbs1bihr7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/slice-ansi": "^4.0.0", + "debug": "^4.0.0", + "signal-exit": "^3.0.3", + "slice-ansi": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "tslib": "^2.0.1", + "untildify": "^4.0.0", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@ionic/utils-terminal/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, "node_modules/@isaacs/cliui": { "version": "9.0.0", "dev": true, @@ -2926,6 +3633,19 @@ "node": ">=18" } }, + "node_modules/@isaacs/fs-minipass": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", + "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.4" + }, + "engines": { + "node": ">=18.0.0" + } + }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.13", "dev": true, @@ -3170,6 +3890,17 @@ "dev": true, "license": "MIT" }, + "node_modules/@prettier/plugin-xml": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@prettier/plugin-xml/-/plugin-xml-2.2.0.tgz", + "integrity": "sha512-UWRmygBsyj4bVXvDiqSccwT1kmsorcwQwaIy30yVh8T+Gspx4OlC0shX1y+ZuwXZvgnafmpRYKks0bAu9urJew==", + "dev": true, + "license": "MIT", + "dependencies": { + "@xml-tools/parser": "^1.0.11", + "prettier": ">=2.4.0" + } + }, "node_modules/@rollup/plugin-babel": { "version": "5.3.1", "dev": true, @@ -3773,7 +4504,6 @@ "node_modules/@svta/cml-xml": { "version": "1.0.1", "license": "Apache-2.0", - "peer": true, "engines": { "node": ">=20" }, @@ -3788,25 +4518,267 @@ "node": ">=20" } }, + "node_modules/@trapezedev/gradle-parse": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@trapezedev/gradle-parse/-/gradle-parse-7.1.3.tgz", + "integrity": "sha512-WQVF5pEJ5o/mUyvfGTG9nBKx9Te/ilKM3r2IT69GlbaooItT5ao7RyF1MUTBNjHLPk/xpGUY3c6PyVnjDlz0Vw==", + "dev": true, + "license": "SEE LICENSE" + }, + "node_modules/@trapezedev/project": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@trapezedev/project/-/project-7.1.3.tgz", + "integrity": "sha512-GANh8Ey73MechZrryfJoILY9hBnWqzS6AdB53zuWBCBbaiImyblXT41fWdN6pB2f5+cNI2FAUxGfVhl+LeEVbQ==", + "dev": true, + "license": "SEE LICENSE", + "dependencies": { + "@ionic/utils-fs": "^3.1.5", + "@ionic/utils-subprocess": "^2.1.8", + "@prettier/plugin-xml": "^2.2.0", + "@trapezedev/gradle-parse": "7.1.3", + "@xmldom/xmldom": "^0.7.5", + "conventional-changelog": "^3.1.4", + "cross-spawn": "^7.0.3", + "diff": "^5.1.0", + "env-paths": "^3.0.0", + "gradle-to-js": "^2.0.0", + "ini": "^2.0.0", + "kleur": "^4.1.5", + "lodash": "^4.17.21", + "mergexml": "^1.2.3", + "plist": "^3.0.4", + "prettier": "^2.7.1", + "prompts": "^2.4.2", + "replace": "^1.1.0", + "tempy": "^1.0.1", + "tmp": "^0.2.1", + "ts-node": "^10.2.1", + "xcode": "^3.0.1", + "xml-js": "^1.6.11", + "xpath": "^0.0.32", + "yargs": "^17.2.1" + } + }, + "node_modules/@trapezedev/project/node_modules/@ionic/utils-process": { + "version": "2.1.11", + "resolved": "https://registry.npmjs.org/@ionic/utils-process/-/utils-process-2.1.11.tgz", + "integrity": "sha512-Uavxn+x8j3rDlZEk1X7YnaN6wCgbCwYQOeIjv/m94i1dzslqWhqIHEqxEyeE8HsT5Negboagg7GtQiABy+BLbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ionic/utils-object": "2.1.6", + "@ionic/utils-terminal": "2.3.4", + "debug": "^4.0.0", + "signal-exit": "^3.0.3", + "tree-kill": "^1.2.2", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@trapezedev/project/node_modules/@ionic/utils-stream": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@ionic/utils-stream/-/utils-stream-3.1.6.tgz", + "integrity": "sha512-4+Kitey1lTA1yGtnigeYNhV/0tggI3lWBMjC7tBs1K9GXa/q7q4CtOISppdh8QgtOhrhAXS2Igp8rbko/Cj+lA==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.0.0", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@trapezedev/project/node_modules/@ionic/utils-subprocess": { + "version": "2.1.14", + "resolved": "https://registry.npmjs.org/@ionic/utils-subprocess/-/utils-subprocess-2.1.14.tgz", + "integrity": "sha512-nGYvyGVjU0kjPUcSRFr4ROTraT3w/7r502f5QJEsMRKTqa4eEzCshtwRk+/mpASm0kgBN5rrjYA5A/OZg8ahqg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ionic/utils-array": "2.1.6", + "@ionic/utils-fs": "3.1.7", + "@ionic/utils-process": "2.1.11", + "@ionic/utils-stream": "3.1.6", + "@ionic/utils-terminal": "2.3.4", + "cross-spawn": "^7.0.3", + "debug": "^4.0.0", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@trapezedev/project/node_modules/@ionic/utils-terminal": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/@ionic/utils-terminal/-/utils-terminal-2.3.4.tgz", + "integrity": "sha512-cEiMFl3jklE0sW60r8JHH3ijFTwh/jkdEKWbylSyExQwZ8pPuwoXz7gpkWoJRLuoRHHSvg+wzNYyPJazIHfoJA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/slice-ansi": "^4.0.0", + "debug": "^4.0.0", + "signal-exit": "^3.0.3", + "slice-ansi": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "tslib": "^2.0.1", + "untildify": "^4.0.0", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@trapezedev/project/node_modules/@xmldom/xmldom": { + "version": "0.7.13", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.7.13.tgz", + "integrity": "sha512-lm2GW5PkosIzccsaZIz7tp8cPADSIlIHWDFTR1N0SzfinhhYgeIQjFMz4rYzanCScr3DqQLeomUDArp6MWKm+g==", + "deprecated": "this version is no longer supported, please update to at least 0.8.*", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@trapezedev/project/node_modules/env-paths": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-3.0.0.tgz", + "integrity": "sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@trapezedev/project/node_modules/ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/@trapezedev/project/node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/@trapezedev/project/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/@trapezedev/project/node_modules/tempy": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tempy/-/tempy-1.0.1.tgz", + "integrity": "sha512-biM9brNqxSc04Ee71hzFbryD11nX7VPhQQY32AdDmjFvodsRFz/3ufeoTZ6uYkRFfGo188tENcASNs3vTdsM0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "del": "^6.0.0", + "is-stream": "^2.0.0", + "temp-dir": "^2.0.0", + "type-fest": "^0.16.0", + "unique-string": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.12.tgz", + "integrity": "sha512-UCYBaeFvM11aU2y3YPZ//O5Rhj+xKyzy7mvcIoAjASbigy8mHMryP5cK7dgjlz2hWxh1g5pLw084E0a/wlUSFQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/estree": { "version": "1.0.8", "dev": true, "license": "MIT" }, + "node_modules/@types/fs-extra": { + "version": "8.1.5", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-8.1.5.tgz", + "integrity": "sha512-0dzKcwO+S8s2kuF5Z9oUWatQJj5Uq/iqphEtE3GQJVRRYm/tD1LglU2UnXi2A8jLq5umkGouOXOR9y0n613ZwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/json-schema": { "version": "7.0.15", "dev": true, "license": "MIT" }, + "node_modules/@types/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/node": { "version": "25.5.0", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "undici-types": "~7.18.0" } }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/resolve": { "version": "1.20.2", "dev": true, @@ -3817,6 +4789,13 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-+OpjSaq85gvlZAYINyzKpLeiFkSC4EsC6IIiT6v6TLSU5k5U83fHGj9Lel8oKEXM0HqgrMVCjXPDPVICtxF7EQ==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/trusted-types": { "version": "2.0.7", "license": "MIT" @@ -3841,11 +4820,30 @@ } } }, + "node_modules/@xml-tools/parser": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@xml-tools/parser/-/parser-1.0.11.tgz", + "integrity": "sha512-aKqQ077XnR+oQtHJlrAflaZaL7qZsulWc/i/ZEooar5JiWj1eLt0+Wg28cpa+XLney107wXqneC+oG1IZvxkTA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "chevrotain": "7.1.1" + } + }, + "node_modules/@xmldom/xmldom": { + "version": "0.8.11", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.11.tgz", + "integrity": "sha512-cQzWCtO6C8TQiYl1ruKNn2U6Ao4o4WBBcbL61yJl84x+j5sOWWFU9X7DpND8XZG3daDppSsigMdfAIl2upQBRw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, "node_modules/acorn": { "version": "8.16.0", "dev": true, "license": "MIT", - "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -3861,13 +4859,46 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, + "node_modules/acorn-walk": { + "version": "8.3.5", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.5.tgz", + "integrity": "sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.11.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/add-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz", + "integrity": "sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/ajv": { "version": "8.18.0", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -3908,6 +4939,13 @@ "json-bigint": "1.0.0" } }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true, + "license": "MIT" + }, "node_modules/argparse": { "version": "2.0.1", "dev": true, @@ -3928,6 +4966,13 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/array-ify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", + "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==", + "dev": true, + "license": "MIT" + }, "node_modules/array-union": { "version": "2.1.0", "dev": true, @@ -3956,6 +5001,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/asap": { "version": "2.0.6", "dev": true, @@ -4004,6 +5059,21 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/b4a": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.8.0.tgz", + "integrity": "sha512-qRuSmNSkGQaHwNbM7J78Wwy+ghLEYF1zNrSeMxj4Kgw6y33O3mXcQ6Ie9fRvfU/YnxWkOchPXbaLb73TkIsfdg==", + "dev": true, + "license": "Apache-2.0", + "peerDependencies": { + "react-native-b4a": "*" + }, + "peerDependenciesMeta": { + "react-native-b4a": { + "optional": true + } + } + }, "node_modules/babel-plugin-polyfill-corejs2": { "version": "0.4.17", "dev": true, @@ -4061,6 +5131,120 @@ "dev": true, "license": "MIT" }, + "node_modules/bare-events": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.8.2.tgz", + "integrity": "sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ==", + "dev": true, + "license": "Apache-2.0", + "peerDependencies": { + "bare-abort-controller": "*" + }, + "peerDependenciesMeta": { + "bare-abort-controller": { + "optional": true + } + } + }, + "node_modules/bare-fs": { + "version": "4.5.6", + "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.5.6.tgz", + "integrity": "sha512-1QovqDrR80Pmt5HPAsMsXTCFcDYr+NSUKW6nd6WO5v0JBmnItc/irNRzm2KOQ5oZ69P37y+AMujNyNtG+1Rggw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "bare-events": "^2.5.4", + "bare-path": "^3.0.0", + "bare-stream": "^2.6.4", + "bare-url": "^2.2.2", + "fast-fifo": "^1.3.2" + }, + "engines": { + "bare": ">=1.16.0" + }, + "peerDependencies": { + "bare-buffer": "*" + }, + "peerDependenciesMeta": { + "bare-buffer": { + "optional": true + } + } + }, + "node_modules/bare-os": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.8.0.tgz", + "integrity": "sha512-Dc9/SlwfxkXIGYhvMQNUtKaXCaGkZYGcd1vuNUUADVqzu4/vQfvnMkYYOUnt2VwQ2AqKr/8qAVFRtwETljgeFg==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "bare": ">=1.14.0" + } + }, + "node_modules/bare-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.0.0.tgz", + "integrity": "sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "bare-os": "^3.0.1" + } + }, + "node_modules/bare-stream": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.10.0.tgz", + "integrity": "sha512-DOPZF/DDcDruKDA43cOw6e9Quq5daua7ygcAwJE/pKJsRWhgSSemi7qVNGE5kyDIxIeN1533G/zfbvWX7Wcb9w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "streamx": "^2.25.0", + "teex": "^1.0.1" + }, + "peerDependencies": { + "bare-buffer": "*", + "bare-events": "*" + }, + "peerDependenciesMeta": { + "bare-buffer": { + "optional": true + }, + "bare-events": { + "optional": true + } + } + }, + "node_modules/bare-url": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.4.0.tgz", + "integrity": "sha512-NSTU5WN+fy/L0DDenfE8SXQna4voXuW0FHM7wH8i3/q9khUSchfPbPezO4zSFMnDGIf9YE+mt/RWhZgNRKRIXA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "bare-path": "^3.0.0" + } + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, "node_modules/baseline-browser-mapping": { "version": "2.10.9", "dev": true, @@ -4105,6 +5289,16 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/big-integer": { + "version": "1.6.52", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz", + "integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==", + "dev": true, + "license": "Unlicense", + "engines": { + "node": ">=0.6" + } + }, "node_modules/bignumber.js": { "version": "9.3.1", "license": "MIT", @@ -4112,10 +5306,45 @@ "node": "*" } }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, "node_modules/boolbase": { "version": "1.0.0", "license": "ISC" }, + "node_modules/bplist-creator": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.1.0.tgz", + "integrity": "sha512-sXaHZicyEEmY86WyueLTQesbeoH/mquvarJaQNbjuOQO+7gbFcDEWqKmcWA4cOTLzFlfgvkiVxolk1k5bBIpmg==", + "dev": true, + "license": "MIT", + "dependencies": { + "stream-buffers": "2.2.x" + } + }, + "node_modules/bplist-parser": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.3.2.tgz", + "integrity": "sha512-apC2+fspHGI3mMKj+dGevkGo/tCqVB8jMb6i+OX+E29p0Iposz07fABkRIfVUPNd5A5VbuOz1bZbnmkKLYF+wQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "big-integer": "1.6.x" + }, + "engines": { + "node": ">= 5.10.0" + } + }, "node_modules/brace-expansion": { "version": "1.1.12", "dev": true, @@ -4159,7 +5388,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "baseline-browser-mapping": "^2.9.0", "caniuse-lite": "^1.0.30001759", @@ -4174,6 +5402,31 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, "node_modules/buffer-crc32": { "version": "0.2.13", "dev": true, @@ -4280,6 +5533,34 @@ "node": ">=6" } }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/caniuse-lite": { "version": "1.0.30001780", "dev": true, @@ -4314,6 +5595,16 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/chevrotain": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-7.1.1.tgz", + "integrity": "sha512-wy3mC1x4ye+O+QkEinVJkPf5u2vsrDIYW9G7ZuwFl6v/Yu0LwUuT2POsb+NUWApebyxfkQq6+yDfRExbnI5rcw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "regexp-to-ast": "0.5.0" + } + }, "node_modules/chokidar": { "version": "4.0.3", "dev": true, @@ -4328,14 +5619,63 @@ "url": "https://paulmillr.com/funding/" } }, + "node_modules/chownr": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", + "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/client-zip": { "version": "2.5.0", "license": "MIT" }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/codem-isoboxer": { "version": "0.3.10", "license": "MIT" }, + "node_modules/color": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + }, + "engines": { + "node": ">=12.5.0" + } + }, "node_modules/color-convert": { "version": "2.0.1", "dev": true, @@ -4352,6 +5692,17 @@ "dev": true, "license": "MIT" }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, "node_modules/colord": { "version": "2.9.3", "dev": true, @@ -4373,6 +5724,17 @@ "node": ">=4.0.0" } }, + "node_modules/compare-func": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz", + "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-ify": "^1.0.0", + "dot-prop": "^5.1.0" + } + }, "node_modules/concat-map": { "version": "0.0.1", "dev": true, @@ -4410,6 +5772,643 @@ "dev": true, "license": "ISC" }, + "node_modules/conventional-changelog": { + "version": "3.1.25", + "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.25.tgz", + "integrity": "sha512-ryhi3fd1mKf3fSjbLXOfK2D06YwKNic1nC9mWqybBHdObPd8KJ2vjaXZfYj1U23t+V8T8n0d7gwnc9XbIdFbyQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "conventional-changelog-angular": "^5.0.12", + "conventional-changelog-atom": "^2.0.8", + "conventional-changelog-codemirror": "^2.0.8", + "conventional-changelog-conventionalcommits": "^4.5.0", + "conventional-changelog-core": "^4.2.1", + "conventional-changelog-ember": "^2.0.9", + "conventional-changelog-eslint": "^3.0.9", + "conventional-changelog-express": "^2.0.6", + "conventional-changelog-jquery": "^3.0.11", + "conventional-changelog-jshint": "^2.0.9", + "conventional-changelog-preset-loader": "^2.3.4" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-angular": { + "version": "5.0.13", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz", + "integrity": "sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==", + "dev": true, + "license": "ISC", + "dependencies": { + "compare-func": "^2.0.0", + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-atom": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-2.0.8.tgz", + "integrity": "sha512-xo6v46icsFTK3bb7dY/8m2qvc8sZemRgdqLb/bjpBsH2UyOS8rKNTgcb5025Hri6IpANPApbXMg15QLb1LJpBw==", + "dev": true, + "license": "ISC", + "dependencies": { + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-codemirror": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.8.tgz", + "integrity": "sha512-z5DAsn3uj1Vfp7po3gpt2Boc+Bdwmw2++ZHa5Ak9k0UKsYAO5mH1UBTN0qSCuJZREIhX6WU4E1p3IW2oRCNzQw==", + "dev": true, + "license": "ISC", + "dependencies": { + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-conventionalcommits": { + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.3.tgz", + "integrity": "sha512-LTTQV4fwOM4oLPad317V/QNQ1FY4Hju5qeBIM1uTHbrnCE+Eg4CdRZ3gO2pUeR+tzWdp80M2j3qFFEDWVqOV4g==", + "dev": true, + "license": "ISC", + "dependencies": { + "compare-func": "^2.0.0", + "lodash": "^4.17.15", + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-core": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.2.4.tgz", + "integrity": "sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "add-stream": "^1.0.0", + "conventional-changelog-writer": "^5.0.0", + "conventional-commits-parser": "^3.2.0", + "dateformat": "^3.0.0", + "get-pkg-repo": "^4.0.0", + "git-raw-commits": "^2.0.8", + "git-remote-origin-url": "^2.0.0", + "git-semver-tags": "^4.1.1", + "lodash": "^4.17.15", + "normalize-package-data": "^3.0.0", + "q": "^1.5.1", + "read-pkg": "^3.0.0", + "read-pkg-up": "^3.0.0", + "through2": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-ember": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-2.0.9.tgz", + "integrity": "sha512-ulzIReoZEvZCBDhcNYfDIsLTHzYHc7awh+eI44ZtV5cx6LVxLlVtEmcO+2/kGIHGtw+qVabJYjdI5cJOQgXh1A==", + "dev": true, + "license": "ISC", + "dependencies": { + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-eslint": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.9.tgz", + "integrity": "sha512-6NpUCMgU8qmWmyAMSZO5NrRd7rTgErjrm4VASam2u5jrZS0n38V7Y9CzTtLT2qwz5xEChDR4BduoWIr8TfwvXA==", + "dev": true, + "license": "ISC", + "dependencies": { + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-express": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-2.0.6.tgz", + "integrity": "sha512-SDez2f3iVJw6V563O3pRtNwXtQaSmEfTCaTBPCqn0oG0mfkq0rX4hHBq5P7De2MncoRixrALj3u3oQsNK+Q0pQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-jquery": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.11.tgz", + "integrity": "sha512-x8AWz5/Td55F7+o/9LQ6cQIPwrCjfJQ5Zmfqi8thwUEKHstEn4kTIofXub7plf1xvFA2TqhZlq7fy5OmV6BOMw==", + "dev": true, + "license": "ISC", + "dependencies": { + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-jshint": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.9.tgz", + "integrity": "sha512-wMLdaIzq6TNnMHMy31hql02OEQ8nCQfExw1SE0hYL5KvU+JCTuPaDO+7JiogGT2gJAxiUGATdtYYfh+nT+6riA==", + "dev": true, + "license": "ISC", + "dependencies": { + "compare-func": "^2.0.0", + "q": "^1.5.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-preset-loader": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz", + "integrity": "sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-writer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-5.0.1.tgz", + "integrity": "sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "conventional-commits-filter": "^2.0.7", + "dateformat": "^3.0.0", + "handlebars": "^4.7.7", + "json-stringify-safe": "^5.0.1", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "semver": "^6.0.0", + "split": "^1.0.0", + "through2": "^4.0.0" + }, + "bin": { + "conventional-changelog-writer": "cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-changelog-writer/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-changelog-writer/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true, + "license": "ISC" + }, + "node_modules/conventional-changelog-writer/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-changelog-writer/node_modules/meow": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", + "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/conventional-changelog-writer/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/conventional-changelog-writer/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-changelog-writer/node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-changelog-writer/node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/conventional-changelog-writer/node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-changelog-writer/node_modules/read-pkg/node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/conventional-changelog-writer/node_modules/read-pkg/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/conventional-changelog-writer/node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-changelog-writer/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/conventional-changelog-writer/node_modules/type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/conventional-changelog-writer/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-commits-filter": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz", + "integrity": "sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash.ismatch": "^4.4.0", + "modify-values": "^1.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-commits-parser": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz", + "integrity": "sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-text-path": "^1.0.1", + "JSONStream": "^1.0.4", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "split2": "^3.0.0", + "through2": "^4.0.0" + }, + "bin": { + "conventional-commits-parser": "cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/conventional-commits-parser/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-commits-parser/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true, + "license": "ISC" + }, + "node_modules/conventional-commits-parser/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-commits-parser/node_modules/meow": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", + "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/conventional-commits-parser/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/conventional-commits-parser/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-commits-parser/node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-commits-parser/node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/conventional-commits-parser/node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-commits-parser/node_modules/read-pkg/node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/conventional-commits-parser/node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/conventional-commits-parser/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/conventional-commits-parser/node_modules/split2": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", + "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", + "dev": true, + "license": "ISC", + "dependencies": { + "readable-stream": "^3.0.0" + } + }, + "node_modules/conventional-commits-parser/node_modules/type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/conventional-commits-parser/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, "node_modules/convert-source-map": { "version": "2.0.0", "dev": true, @@ -4475,6 +6474,13 @@ "url": "https://opencollective.com/core-js" } }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true, + "license": "MIT" + }, "node_modules/cosmiconfig": { "version": "9.0.1", "dev": true, @@ -4500,6 +6506,13 @@ } } }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true, + "license": "MIT" + }, "node_modules/cross-spawn": { "version": "7.0.6", "dev": true, @@ -4614,6 +6627,16 @@ "node": ">=0.12" } }, + "node_modules/dargs": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz", + "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/dashjs": { "version": "5.1.1", "resolved": "https://github.com/Dash-Industry-Forum/dash.js/archive/refs/tags/v5.1.1.tar.gz", @@ -4686,6 +6709,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/dateformat": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", + "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, "node_modules/debug": { "version": "4.4.3", "dev": true, @@ -4702,6 +6735,69 @@ } } }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decamelize-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", + "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", + "dev": true, + "license": "MIT", + "dependencies": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/decamelize-keys/node_modules/map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, "node_modules/deep-is": { "version": "0.1.4", "dev": true, @@ -4731,6 +6827,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/define-properties": { "version": "1.2.1", "dev": true, @@ -4747,6 +6853,68 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/del": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", + "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", + "dev": true, + "license": "MIT", + "dependencies": { + "globby": "^11.0.1", + "graceful-fs": "^4.2.4", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.2", + "p-map": "^4.0.0", + "rimraf": "^3.0.2", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/del/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/del/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/depd": { "version": "2.0.0", "license": "MIT", @@ -4771,6 +6939,16 @@ "wrappy": "1" } }, + "node_modules/diff": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.2.tgz", + "integrity": "sha512-vtcDfH3TOjP8UekytvnHH1o1P4FcUdt4eQ1Y+Abap1tk/OB2MWQvcwS2ClCd1zuIhc3JKOx6p3kod8Vfys3E+A==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, "node_modules/dir-glob": { "version": "3.0.1", "dev": true, @@ -4888,11 +7066,41 @@ "dev": true, "license": "ISC" }, + "node_modules/elementtree": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/elementtree/-/elementtree-0.1.7.tgz", + "integrity": "sha512-wkgGT6kugeQk/P6VZ/f4T+4HB41BVgNBq5CDIZVbQ02nvTVqAiVTbskxxu3eA/X96lMlfYOwnLQpN2v5E1zDEg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "sax": "1.1.4" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/elementtree/node_modules/sax": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.1.4.tgz", + "integrity": "sha512-5f3k2PbGGp+YtKJjOItpg3P99IMD84E4HOvcfleTb5joCHNXYLsR9yWFPOYGgaeMPDubQILTCMdsFb2OMeOjtg==", + "dev": true, + "license": "ISC" + }, "node_modules/emoji-regex": { "version": "8.0.0", "dev": true, "license": "MIT" }, + "node_modules/end-of-stream": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, "node_modules/entities": { "version": "4.5.0", "license": "BSD-2-Clause", @@ -5151,7 +7359,6 @@ "version": "9.39.4", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", @@ -5352,6 +7559,26 @@ "version": "5.0.4", "license": "MIT" }, + "node_modules/events-universal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/events-universal/-/events-universal-1.0.1.tgz", + "integrity": "sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "bare-events": "^2.7.0" + } + }, + "node_modules/expand-template": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "dev": true, + "license": "(MIT OR WTFPL)", + "engines": { + "node": ">=6" + } + }, "node_modules/ext": { "version": "1.7.0", "dev": true, @@ -5364,6 +7591,13 @@ "version": "3.1.3", "license": "MIT" }, + "node_modules/fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", + "dev": true, + "license": "MIT" + }, "node_modules/fast-glob": { "version": "3.3.3", "dev": true, @@ -5431,6 +7665,16 @@ "reusify": "^1.0.4" } }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "pend": "~1.2.0" + } + }, "node_modules/fdir": { "version": "6.5.0", "dev": true, @@ -5612,6 +7856,13 @@ "url": "https://ko-fi.com/tunnckoCore/commissions" } }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true, + "license": "MIT" + }, "node_modules/fs-extra": { "version": "9.1.0", "dev": true, @@ -5626,6 +7877,39 @@ "node": ">=10" } }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fs-minipass/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, "node_modules/fs.realpath": { "version": "1.0.0", "dev": true, @@ -5704,6 +7988,16 @@ "node": ">=6.9.0" } }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, "node_modules/get-intrinsic": { "version": "1.3.0", "dev": true, @@ -5732,6 +8026,117 @@ "dev": true, "license": "ISC" }, + "node_modules/get-pkg-repo": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz", + "integrity": "sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@hutson/parse-repository-url": "^3.0.0", + "hosted-git-info": "^4.0.0", + "through2": "^2.0.0", + "yargs": "^16.2.0" + }, + "bin": { + "get-pkg-repo": "src/cli.js" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-pkg-repo/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/get-pkg-repo/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/get-pkg-repo/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/get-pkg-repo/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "license": "MIT" + }, + "node_modules/get-pkg-repo/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/get-pkg-repo/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/get-pkg-repo/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/get-pkg-repo/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, "node_modules/get-proto": { "version": "1.0.1", "dev": true, @@ -5760,6 +8165,474 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/git-raw-commits": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.11.tgz", + "integrity": "sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==", + "deprecated": "This package is no longer maintained. For the JavaScript API, please use @conventional-changelog/git-client instead.", + "dev": true, + "license": "MIT", + "dependencies": { + "dargs": "^7.0.0", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "split2": "^3.0.0", + "through2": "^4.0.0" + }, + "bin": { + "git-raw-commits": "cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/git-raw-commits/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/git-raw-commits/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true, + "license": "ISC" + }, + "node_modules/git-raw-commits/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/git-raw-commits/node_modules/meow": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", + "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/git-raw-commits/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/git-raw-commits/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/git-raw-commits/node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/git-raw-commits/node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/git-raw-commits/node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/git-raw-commits/node_modules/read-pkg/node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/git-raw-commits/node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/git-raw-commits/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/git-raw-commits/node_modules/split2": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", + "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", + "dev": true, + "license": "ISC", + "dependencies": { + "readable-stream": "^3.0.0" + } + }, + "node_modules/git-raw-commits/node_modules/type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/git-raw-commits/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/git-remote-origin-url": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz", + "integrity": "sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "gitconfiglocal": "^1.0.0", + "pify": "^2.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/git-semver-tags": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-4.1.1.tgz", + "integrity": "sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA==", + "deprecated": "This package is no longer maintained. For the JavaScript API, please use @conventional-changelog/git-client instead.", + "dev": true, + "license": "MIT", + "dependencies": { + "meow": "^8.0.0", + "semver": "^6.0.0" + }, + "bin": { + "git-semver-tags": "cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/git-semver-tags/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/git-semver-tags/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true, + "license": "ISC" + }, + "node_modules/git-semver-tags/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/git-semver-tags/node_modules/meow": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", + "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/git-semver-tags/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/git-semver-tags/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/git-semver-tags/node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/git-semver-tags/node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/git-semver-tags/node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/git-semver-tags/node_modules/read-pkg/node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/git-semver-tags/node_modules/read-pkg/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/git-semver-tags/node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/git-semver-tags/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/git-semver-tags/node_modules/type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/git-semver-tags/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/gitconfiglocal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz", + "integrity": "sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ==", + "dev": true, + "license": "BSD", + "dependencies": { + "ini": "^1.3.2" + } + }, + "node_modules/github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", + "dev": true, + "license": "MIT" + }, "node_modules/glob": { "version": "13.0.6", "dev": true, @@ -5921,6 +8794,51 @@ "dev": true, "license": "ISC" }, + "node_modules/gradle-to-js": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/gradle-to-js/-/gradle-to-js-2.0.1.tgz", + "integrity": "sha512-is3hDn9zb8XXnjbEeAEIqxTpLHUiGBqjegLmXPuyMBfKAggpadWFku4/AP8iYAGBX6qR9/5UIUIp47V0XI3aMw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "lodash.merge": "^4.6.2" + }, + "bin": { + "gradle-to-js": "cli.js" + } + }, + "node_modules/handlebars": { + "version": "4.7.8", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", + "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.5", + "neo-async": "^2.6.2", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" + } + }, + "node_modules/hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/has-bigints": { "version": "1.1.0", "dev": true, @@ -6012,6 +8930,16 @@ "node": ">= 0.4" } }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "license": "MIT", + "bin": { + "he": "bin/he" + } + }, "node_modules/hls.js": { "version": "1.6.15", "license": "Apache-2.0" @@ -6021,6 +8949,39 @@ "dev": true, "license": "MIT" }, + "node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/hosted-git-info/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, "node_modules/html-entities": { "version": "2.6.0", "funding": [ @@ -6084,6 +9045,27 @@ "dev": true, "license": "ISC" }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, "node_modules/ignore": { "version": "5.3.2", "dev": true, @@ -6138,6 +9120,16 @@ "node": ">=0.8.19" } }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/inflight": { "version": "1.0.6", "dev": true, @@ -6330,6 +9322,22 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-extglob": { "version": "2.1.1", "dev": true, @@ -6447,6 +9455,36 @@ "node": ">=8" } }, + "node_modules/is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-plain-object": { "version": "5.0.0", "dev": true, @@ -6555,6 +9593,19 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-text-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", + "integrity": "sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "text-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-typed-array": { "version": "1.1.15", "dev": true, @@ -6619,6 +9670,19 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/is2": { "version": "2.0.9", "dev": true, @@ -6731,6 +9795,13 @@ "dev": true, "license": "MIT" }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true, + "license": "MIT" + }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "dev": true, @@ -6753,6 +9824,13 @@ "dev": true, "license": "MIT" }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true, + "license": "ISC" + }, "node_modules/json5": { "version": "2.2.3", "dev": true, @@ -6775,6 +9853,16 @@ "graceful-fs": "^4.1.6" } }, + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "dev": true, + "engines": [ + "node >= 0.2.0" + ], + "license": "MIT" + }, "node_modules/jsonpointer": { "version": "5.0.1", "dev": true, @@ -6783,6 +9871,23 @@ "node": ">=0.10.0" } }, + "node_modules/JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "dev": true, + "license": "(MIT OR Apache-2.0)", + "dependencies": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + }, + "bin": { + "JSONStream": "bin.js" + }, + "engines": { + "node": "*" + } + }, "node_modules/keygrip": { "version": "1.1.0", "license": "MIT", @@ -6799,7 +9904,6 @@ "integrity": "sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@keyv/serialize": "^1.1.1" } @@ -6882,6 +9986,46 @@ "@types/trusted-types": "^2.0.2" } }, + "node_modules/load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/load-json-file/node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "dev": true, + "license": "MIT", + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/load-json-file/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/localforage": { "version": "1.10.0", "license": "Apache-2.0", @@ -6912,6 +10056,13 @@ "dev": true, "license": "MIT" }, + "node_modules/lodash.ismatch": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz", + "integrity": "sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==", + "dev": true, + "license": "MIT" + }, "node_modules/lodash.merge": { "version": "4.6.2", "dev": true, @@ -6964,6 +10115,26 @@ "semver": "bin/semver.js" } }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true, + "license": "ISC" + }, + "node_modules/map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/math-intrinsics": { "version": "1.1.0", "dev": true, @@ -7004,6 +10175,39 @@ "node": ">= 8" } }, + "node_modules/mergexml": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/mergexml/-/mergexml-1.2.4.tgz", + "integrity": "sha512-yiOlDqcVCz7AG1eSboonc18FTlfqDEKYfGoAV3Lul98u6YRV/s0kjtf4bjk47t0hLTFJR0BSYMd6BpmX3xDjNQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "@xmldom/xmldom": "^0.7.0", + "formidable": "^3.5.1", + "xpath": "0.0.27" + } + }, + "node_modules/mergexml/node_modules/@xmldom/xmldom": { + "version": "0.7.13", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.7.13.tgz", + "integrity": "sha512-lm2GW5PkosIzccsaZIz7tp8cPADSIlIHWDFTR1N0SzfinhhYgeIQjFMz4rYzanCScr3DqQLeomUDArp6MWKm+g==", + "deprecated": "this version is no longer supported, please update to at least 0.8.*", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/mergexml/node_modules/xpath": { + "version": "0.0.27", + "resolved": "https://registry.npmjs.org/xpath/-/xpath-0.0.27.tgz", + "integrity": "sha512-fg03WRxtkCV6ohClePNAECYsmpKKTv5L8y/X3Dn1hQrec3POx2jHZ/0P2qQ6HvsrU1BmeqXcof3NGGueG6LxwQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.6.0" + } + }, "node_modules/micromatch": { "version": "4.0.8", "dev": true, @@ -7040,6 +10244,29 @@ "node": ">=16" } }, + "node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/miniflare": { "version": "4.20260317.0", "dev": true, @@ -7070,6 +10297,31 @@ "node": "*" } }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "dev": true, + "license": "MIT", + "dependencies": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/minipass": { "version": "7.1.3", "dev": true, @@ -7078,6 +10330,49 @@ "node": ">=16 || 14 >=14.17" } }, + "node_modules/minizlib": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.1.0.tgz", + "integrity": "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "minipass": "^7.1.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "dev": true, + "license": "MIT" + }, + "node_modules/modify-values": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", + "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/ms": { "version": "2.1.3", "license": "MIT" @@ -7099,16 +10394,118 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, + "node_modules/napi-build-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-2.0.0.tgz", + "integrity": "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==", + "dev": true, + "license": "MIT" + }, + "node_modules/native-run": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/native-run/-/native-run-2.0.3.tgz", + "integrity": "sha512-U1PllBuzW5d1gfan+88L+Hky2eZx+9gv3Pf6rNBxKbORxi7boHzqiA6QFGSnqMem4j0A9tZ08NMIs5+0m/VS1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ionic/utils-fs": "^3.1.7", + "@ionic/utils-terminal": "^2.3.4", + "bplist-parser": "^0.3.2", + "debug": "^4.3.4", + "elementtree": "^0.1.7", + "ini": "^4.1.1", + "plist": "^3.1.0", + "split2": "^4.2.0", + "through2": "^4.0.2", + "tslib": "^2.6.2", + "yauzl": "^2.10.0" + }, + "bin": { + "native-run": "bin/native-run" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/native-run/node_modules/ini": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.3.tgz", + "integrity": "sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/native-run/node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, "node_modules/natural-compare": { "version": "1.4.0", "dev": true, "license": "MIT" }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true, + "license": "MIT" + }, "node_modules/next-tick": { "version": "1.1.0", "dev": true, "license": "ISC" }, + "node_modules/node-abi": { + "version": "3.89.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.89.0.tgz", + "integrity": "sha512-6u9UwL0HlAl21+agMN3YAMXcKByMqwGx+pq+P76vii5f7hTPtKDp08/H9py6DY+cfDw7kQNTGEj/rly3IgbNQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-addon-api": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", + "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, "node_modules/node-gyp-build": { "version": "4.8.4", "dev": true, @@ -7119,6 +10516,90 @@ "node-gyp-build-test": "build-test.js" } }, + "node_modules/node-html-parser": { + "version": "5.4.2", + "resolved": "https://registry.npmjs.org/node-html-parser/-/node-html-parser-5.4.2.tgz", + "integrity": "sha512-RaBPP3+51hPne/OolXxcz89iYvQvKOydaqoePpOgXcrOKZhjVIzmpKZz+Hd/RBO2/zN2q6CNJhQzucVz+u3Jyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "css-select": "^4.2.1", + "he": "1.2.0" + } + }, + "node_modules/node-html-parser/node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/node-html-parser/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/node-html-parser/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/node-html-parser/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/node-html-parser/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "license": "BSD-2-Clause", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/node-releases": { "version": "2.0.36", "dev": true, @@ -7149,6 +10630,22 @@ "node": ">=14.14" } }, + "node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/normalize-path": { "version": "3.0.0", "dev": true, @@ -8844,7 +12341,6 @@ "version": "4.0.3", "inBundle": true, "license": "MIT", - "peer": true, "engines": { "node": ">=12" }, @@ -8990,6 +12486,24 @@ "wrappy": "1" } }, + "node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/optionator": { "version": "0.9.4", "dev": true, @@ -9050,6 +12564,32 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/package-json-from-dist": { "version": "1.0.1", "dev": true, @@ -9172,6 +12712,31 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/plist": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/plist/-/plist-3.1.0.tgz", + "integrity": "sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@xmldom/xmldom": "^0.8.8", + "base64-js": "^1.5.1", + "xmlbuilder": "^15.1.1" + }, + "engines": { + "node": ">=10.4.0" + } + }, "node_modules/png2icons": { "version": "2.0.1", "dev": true, @@ -9210,7 +12775,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", @@ -9284,7 +12848,6 @@ "version": "7.1.1", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -9320,6 +12883,71 @@ "node": "^12.20.0 || >=14" } }, + "node_modules/prebuild-install": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.3.tgz", + "integrity": "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==", + "deprecated": "No longer maintained. Please contact the author of the relevant native addon; alternatives are available.", + "dev": true, + "license": "MIT", + "dependencies": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^2.0.0", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + }, + "bin": { + "prebuild-install": "bin.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/prebuild-install/node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true, + "license": "ISC" + }, + "node_modules/prebuild-install/node_modules/tar-fs": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.4.tgz", + "integrity": "sha512-mDAjwmZdh7LTT6pNleZ05Yt65HC3E+NiQzl672vQG38jIrehtJk/J3mNwIg+vShQPcLF/LV7CMnDW6vjj6sfYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "node_modules/prebuild-install/node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/prelude-ls": { "version": "1.2.1", "dev": true, @@ -9353,6 +12981,48 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true, + "license": "MIT" + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prompts/node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/pump": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.4.tgz", + "integrity": "sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, "node_modules/punycode": { "version": "2.3.1", "dev": true, @@ -9361,6 +13031,18 @@ "node": ">=6" } }, + "node_modules/q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "deprecated": "You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other.\n\n(For a CapTP with native promises, see @endo/eventual-send and @endo/captp)", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, "node_modules/qified": { "version": "0.9.0", "dev": true, @@ -9396,6 +13078,16 @@ ], "license": "MIT" }, + "node_modules/quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/r-json": { "version": "1.3.1", "dev": true, @@ -9409,6 +13101,202 @@ "dev": true, "license": "MIT" }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/rc/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true, + "license": "ISC" + }, + "node_modules/read-pkg/node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/read-pkg/node_modules/path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "license": "MIT", + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/readdirp": { "version": "4.1.2", "dev": true, @@ -9432,6 +13320,20 @@ "node": ">=6.0.0" } }, + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/reflect.getprototypeof": { "version": "1.0.10", "dev": true, @@ -9473,6 +13375,13 @@ "version": "0.11.1", "license": "MIT" }, + "node_modules/regexp-to-ast": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/regexp-to-ast/-/regexp-to-ast-0.5.0.tgz", + "integrity": "sha512-tlbJqcMHnPKI9zSrystikWKwHkBqu2a/Sgw01h3zFjvYrMxEDYHzzoMZnUrbIfpTFEsoRnnviOXNCzFiSc54Qw==", + "dev": true, + "license": "MIT" + }, "node_modules/regexp.prototype.flags": { "version": "1.5.4", "dev": true, @@ -9524,6 +13433,289 @@ "regjsparser": "bin/parser" } }, + "node_modules/replace": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/replace/-/replace-1.2.2.tgz", + "integrity": "sha512-C4EDifm22XZM2b2JOYe6Mhn+lBsLBAvLbK8drfUQLTfD1KYl/n3VaW/CDju0Ny4w3xTtegBpg8YNSpFJPUDSjA==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "2.4.2", + "minimatch": "3.0.5", + "yargs": "^15.3.1" + }, + "bin": { + "replace": "bin/replace.js", + "search": "bin/search.js" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/replace/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/replace/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/replace/node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/replace/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/replace/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true, + "license": "MIT" + }, + "node_modules/replace/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/replace/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/replace/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/replace/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/replace/node_modules/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/replace/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/replace/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/replace/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/replace/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/replace/node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/replace/node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/replace/node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/replace/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/replace/node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/replace/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/require-from-string": { "version": "2.0.2", "dev": true, @@ -9532,6 +13724,13 @@ "node": ">=0.10.0" } }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true, + "license": "ISC" + }, "node_modules/resedit": { "version": "2.0.3", "dev": true, @@ -9584,13 +13783,32 @@ "node": ">=0.10.0" } }, + "node_modules/rimraf": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.1.3.tgz", + "integrity": "sha512-LKg+Cr2ZF61fkcaK1UdkH2yEBBKnYjTyWzTJT6KNPcSPaiT7HSdhtMXQuN5wkTX0Xu72KQ1l8S42rlmexS2hSA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "glob": "^13.0.3", + "package-json-from-dist": "^1.0.1" + }, + "bin": { + "rimraf": "dist/esm/bin.mjs" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/rollup": { "version": "2.80.0", "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.80.0.tgz", "integrity": "sha512-cIFJOD1DESzpjOBl763Kp1AH7UE/0fcdHe6rZXUdQ9c50uvgigvW97u3IcSeBwOkgqL/PXPBktBCh0KEu5L8XQ==", "dev": true, "license": "MIT", - "peer": true, "bin": { "rollup": "dist/bin/rollup" }, @@ -9716,6 +13934,13 @@ "node": ">=20.0.0" } }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true, + "license": "ISC" + }, "node_modules/set-function-length": { "version": "1.2.2", "dev": true, @@ -9928,6 +14153,53 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/simple-get": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, "node_modules/simple-icons": { "version": "16.12.0", "funding": [ @@ -9945,6 +14217,55 @@ "node": ">=0.12.18" } }, + "node_modules/simple-plist": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/simple-plist/-/simple-plist-1.3.1.tgz", + "integrity": "sha512-iMSw5i0XseMnrhtIzRb7XpQEXepa9xhWxGUojHBL43SIpQuDQkh3Wpy67ZbDzZVr6EKxvwVChnVpdl8hEVLDiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "bplist-creator": "0.1.0", + "bplist-parser": "0.3.1", + "plist": "^3.0.5" + } + }, + "node_modules/simple-plist/node_modules/bplist-parser": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.3.1.tgz", + "integrity": "sha512-PyJxiNtA5T2PlLIeBot4lbp7rj4OadzjnMZD/G5zuBNt8ei/yCU7+wW0h2bag9vr8c+/WuRWmSxbqAl9hL1rBA==", + "dev": true, + "license": "MIT", + "dependencies": { + "big-integer": "1.6.x" + }, + "engines": { + "node": ">= 5.10.0" + } + }, + "node_modules/simple-swizzle": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.4.tgz", + "integrity": "sha512-nAu1WFPQSMNr2Zn9PGSZK9AGn4t/y97lEm+MXTtUDwfP0ksAIX4nO+6ruD9Jwut4C49SB1Ws+fbXsm/yScWOHw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/simple-swizzle/node_modules/is-arrayish": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.4.tgz", + "integrity": "sha512-m6UrgzFVUYawGBh1dUsWR5M2Clqic9RVXC/9f8ceNlv2IcO9j9J/z8UoCLPqtsPBFNzEpfR3xftohbfqDx8EQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true, + "license": "MIT" + }, "node_modules/slash": { "version": "3.0.0", "dev": true, @@ -10012,6 +14333,65 @@ "dev": true, "license": "MIT" }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", + "dev": true, + "license": "CC-BY-3.0" + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.23", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.23.tgz", + "integrity": "sha512-CWLcCCH7VLu13TgOH+r8p1O/Znwhqv/dbb6lqWy67G+pT1kHmeD/+V36AVb/vq8QMIQwVShJ6Ssl5FPh0fuSdw==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/split": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", + "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", + "dev": true, + "license": "MIT", + "dependencies": { + "through": "2" + }, + "engines": { + "node": "*" + } + }, + "node_modules/split2": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", + "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 10.x" + } + }, "node_modules/stop-iteration-iterator": { "version": "1.1.0", "dev": true, @@ -10024,6 +14404,38 @@ "node": ">= 0.4" } }, + "node_modules/stream-buffers": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz", + "integrity": "sha512-uyQK/mx5QjHun80FLJTfaWE7JtwfRMKBLkMne6udYOmvH0CawotVa7TfgYHzAnpphn4+TweIx1QKMnRIbipmUg==", + "dev": true, + "license": "Unlicense", + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/streamx": { + "version": "2.25.0", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.25.0.tgz", + "integrity": "sha512-0nQuG6jf1w+wddNEEXCF4nTg3LtufWINB5eFEN+5TNZW7KWJp6x87+JFL43vaAUPyCfH1wID+mNVyW6OHtFamg==", + "dev": true, + "license": "MIT", + "dependencies": { + "events-universal": "^1.0.0", + "fast-fifo": "^1.3.2", + "text-decoder": "^1.1.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, "node_modules/string-width": { "version": "4.2.3", "dev": true, @@ -10148,6 +14560,16 @@ "node": ">=8" } }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/strip-comments": { "version": "2.0.1", "dev": true, @@ -10156,6 +14578,19 @@ "node": ">=10" } }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-json-comments": { "version": "3.1.1", "dev": true, @@ -10181,7 +14616,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "@csstools/css-parser-algorithms": "^3.0.5", "@csstools/css-syntax-patches-for-csstree": "^1.0.19", @@ -10451,6 +14885,61 @@ "node": ">=10.0.0" } }, + "node_modules/tar": { + "version": "7.5.12", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.12.tgz", + "integrity": "sha512-9TsuLcdhOn4XztcQqhNyq1KOwOOED/3k58JAvtULiYqbO8B/0IBAAIE1hj0Svmm58k27TmcigyDI0deMlgG3uw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.1.0", + "yallist": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/tar-fs": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.1.2.tgz", + "integrity": "sha512-QGxxTxxyleAdyM3kpFs14ymbYmNFrfY+pHj7Z8FgtbZ7w2//VAgLMac7sT6nRpIHjppXO2AwwEOg0bPFVRcmXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "pump": "^3.0.0", + "tar-stream": "^3.1.5" + }, + "optionalDependencies": { + "bare-fs": "^4.0.1", + "bare-path": "^3.0.0" + } + }, + "node_modules/tar-stream": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.8.tgz", + "integrity": "sha512-U6QpVRyCGHva435KoNWy9PRoi2IFYCgtEhq9nmrPPpbRacPs9IH4aJ3gbrFC8dPcXvdSZ4XXfXT5Fshbp2MtlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "b4a": "^1.6.4", + "bare-fs": "^4.5.5", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + }, + "node_modules/tar/node_modules/yallist": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", + "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, "node_modules/tcp-port-used": { "version": "1.0.2", "dev": true, @@ -10481,6 +14970,16 @@ "dev": true, "license": "MIT" }, + "node_modules/teex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/teex/-/teex-1.0.1.tgz", + "integrity": "sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "streamx": "^2.12.5" + } + }, "node_modules/temp-dir": { "version": "2.0.0", "dev": true, @@ -10510,7 +15009,6 @@ "version": "5.46.1", "dev": true, "license": "BSD-2-Clause", - "peer": true, "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.15.0", @@ -10529,6 +15027,43 @@ "dev": true, "license": "MIT" }, + "node_modules/text-decoder": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.7.tgz", + "integrity": "sha512-vlLytXkeP4xvEq2otHeJfSQIRyWxo/oZGEbXrtEEF9Hnmrdly59sUbzZ/QgyWuLYHctCHxFF4tRQZNQ9k60ExQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "b4a": "^1.6.4" + } + }, + "node_modules/text-extensions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", + "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true, + "license": "MIT" + }, + "node_modules/through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "readable-stream": "3" + } + }, "node_modules/tinyglobby": { "version": "0.2.15", "dev": true, @@ -10544,6 +15079,16 @@ "url": "https://github.com/sponsors/SuperchupuDev" } }, + "node_modules/tmp": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz", + "integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.14" + } + }, "node_modules/to-regex-range": { "version": "5.0.1", "dev": true, @@ -10555,13 +15100,92 @@ "node": ">=8.0" } }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true, + "license": "MIT" + }, + "node_modules/tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true, + "license": "MIT", + "bin": { + "tree-kill": "cli.js" + } + }, + "node_modules/trim-newlines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ts-node": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/ts-node/node_modules/diff": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.4.tgz", + "integrity": "sha512-X07nttJQkwkfKfvTPG/KSnE2OMdcUCao6+eXF3wmnIQRn2aPAHH3VxDbDOdegkd6JbPsXqShpvEOHfAT+nCNwQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, "node_modules/tslib": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "dev": true, - "license": "0BSD", - "optional": true + "license": "0BSD" }, "node_modules/tsscmp": { "version": "1.0.6", @@ -10570,6 +15194,19 @@ "node": ">=0.6.x" } }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, "node_modules/type": { "version": "2.7.3", "dev": true, @@ -10679,7 +15316,6 @@ "version": "5.9.3", "dev": true, "license": "Apache-2.0", - "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -10712,6 +15348,20 @@ "node": "*" } }, + "node_modules/uglify-js": { + "version": "3.19.3", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz", + "integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==", + "dev": true, + "license": "BSD-2-Clause", + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/unbox-primitive": { "version": "1.1.0", "dev": true, @@ -10797,6 +15447,16 @@ "node": ">= 10.0.0" } }, + "node_modules/untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/upath": { "version": "1.2.0", "dev": true, @@ -10875,6 +15535,24 @@ "uuid": "dist-node/bin/uuid" } }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true, + "license": "MIT" + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, "node_modules/vite": { "version": "7.3.1", "dev": true, @@ -11030,6 +15708,13 @@ "dev": true, "license": "MIT" }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true, + "license": "BSD-2-Clause" + }, "node_modules/websocket": { "version": "1.0.35", "dev": true, @@ -11059,6 +15744,17 @@ "dev": true, "license": "MIT" }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/which": { "version": "2.0.2", "dev": true, @@ -11134,6 +15830,13 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/which-module": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", + "dev": true, + "license": "ISC" + }, "node_modules/which-typed-array": { "version": "1.1.20", "dev": true, @@ -11162,6 +15865,13 @@ "node": ">=0.10.0" } }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "dev": true, + "license": "MIT" + }, "node_modules/workbox-background-sync": { "version": "7.4.0", "dev": true, @@ -11422,6 +16132,24 @@ "@cloudflare/workerd-windows-64": "1.20260317.1" } }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/wrappy": { "version": "1.0.2", "dev": true, @@ -11459,6 +16187,30 @@ } } }, + "node_modules/xcode": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/xcode/-/xcode-3.0.1.tgz", + "integrity": "sha512-kCz5k7J7XbJtjABOvkc5lJmkiDh8VhjVCGNiqdKCscmVpdVUpEAyXv1xmCLkQJ5dsHqx3IPO4XW+NTDhU/fatA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "simple-plist": "^1.1.0", + "uuid": "^7.0.3" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/xcode/node_modules/uuid": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz", + "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==", + "dev": true, + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, "node_modules/xdg-basedir": { "version": "4.0.0", "dev": true, @@ -11472,6 +16224,83 @@ "dev": true, "license": "MIT" }, + "node_modules/xml-js": { + "version": "1.6.11", + "resolved": "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz", + "integrity": "sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "sax": "^1.2.4" + }, + "bin": { + "xml-js": "bin/cli.js" + } + }, + "node_modules/xml2js": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.2.tgz", + "integrity": "sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==", + "dev": true, + "license": "MIT", + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/xml2js/node_modules/xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/xmlbuilder": { + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz", + "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.0" + } + }, + "node_modules/xpath": { + "version": "0.0.32", + "resolved": "https://registry.npmjs.org/xpath/-/xpath-0.0.32.tgz", + "integrity": "sha512-rxMJhSIoiO8vXcWvSifKqhvV96GjiD5wYb8/QHdoRyQvraTpp4IEv944nhGausZZ3u7dhQXteZuZbaqfpB7uYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, "node_modules/yaeti": { "version": "0.0.6", "dev": true, @@ -11485,6 +16314,35 @@ "dev": true, "license": "ISC" }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, "node_modules/yauzl": { "version": "3.2.1", "dev": true, @@ -11513,6 +16371,16 @@ "node": ">=8.0.0" } }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/yocto-queue": { "version": "0.1.0", "dev": true, diff --git a/package.json b/package.json index 999cf2d..b705d08 100644 --- a/package.json +++ b/package.json @@ -28,6 +28,8 @@ }, "homepage": "https://github.com/monochrome-music/monochrome#readme", "devDependencies": { + "@capacitor/assets": "^3.0.5", + "@capacitor/cli": "^8.2.0", "@neutralinojs/neu": "^11.7.0", "@types/node": "^25.3.5", "eslint": "^9.39.3", @@ -51,6 +53,11 @@ "serialize-javascript": "^7.0.3" }, "dependencies": { + "@capacitor/android": "^8.2.0", + "@capacitor/app": "^8.0.1", + "@capacitor/core": "^8.2.0", + "@capacitor/haptics": "^8.0.1", + "@capacitor/ios": "^8.2.0", "@dantheman827/taglib-ts": "https://github.com/DanTheMan827/taglib-ts/archive/b4238b2627aceb97f58813258046f1259f68cab7.tar.gz", "@ffmpeg/core": "^0.12.10", "@ffmpeg/ffmpeg": "^0.12.15", diff --git a/public/assets/icons/icon-128.webp b/public/assets/icons/icon-128.webp new file mode 100644 index 0000000000000000000000000000000000000000..e00c0545865ce94bb7658dcb0cd85ea9f0e3c64a GIT binary patch literal 824 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSoCO|{#S9GG!XV7ZFl&wk0|V15 zPZ!6KiaBrZcy}cQ3blw%V8JBd&hUuC zL58tInYw~H?>?l~eg0Wvqq_ZW-f`>3_us2CZkv65{rh9|S|)CVbB~zPpNa4Px%%p= z`|rQMeOmOg?|AZc6W>$iR&#e9et5xd{`o?ttOzFQN!^~jzL&S8UGr6&eD6%qzMDB> z@w;!oHM_UD^t+;U_wC&?D&*w)lm(KmP{Jm3_YwKy{sDDtOjBVreX_p#12F>T#0Dd6v2?p7?jL-Dv6Qq z3f5$aJ*ctk4?pxsBs%8tsUKq9M=Mm{RPF5xKNPqAdWELW=hbQrv-n)^z5o7WS#^1T z@WPexzZm|_iSGTpdLvU|v;OPdaqI6s{+Lm|J9c-B-tVtfw)1wL{d0*uK={8*+n<^Z z_5AM7>YP;{<-FPcKkgU5{=aAL3?FC9%jf;^|M2#|cU{$0mH_5-#x0hN8O2N&p0O-A t%jqy%xWP=FA=i)L)*J>JOPI2K;Fen92~3N;rogPg;OXk;vd$@?2>>j{NR$8o literal 0 HcmV?d00001 diff --git a/public/assets/icons/icon-192.webp b/public/assets/icons/icon-192.webp new file mode 100644 index 0000000000000000000000000000000000000000..549a2a8815f4f74837946e9fad86a6dbb8354a18 GIT binary patch literal 1406 zcmeAS@N?(olHy`uVBq!ia0vp^2SAvE4M+yv$zcaloCO|{#S9GG!XV7ZFl&wk0|Tpp zr;B4q#hka-4fCWuMO-iXpWMkhL&W2GSwi-I?TJdq#dI&VJ!*`&+kD=UH;r}igSp%y zB9m8L?vD-Kx@_**wBob%4=}j^?Yzjy;84QA zARx=YFr2tsZ{}RvQe0eo`P22^zkfe{`ZV>W{-dIuYm$3*OrFQOf#KrSyzSAK{Oo_e zfA?PEgh-t6&5AMj~&9VFX%kzf#qWkQ>?k@PR zHs>ebmizCIf2`P3C%Mu)K-d257w-J){`>2s&Ut^lr~mx_^__e7?q#x&;d^|2ef&*^ zYX@{1SZ6RkP`~h^JAtuj6N6Yn8l%pEQ4a0HVAlUPmtStVbN_z)sw`lf#OCMaDV=NQ zm%sM!%zXQLx%21GU)O*9_U+qWdzZ*^ComqXm*>iKWr~>g^w;Q5R(Qua{lKKX4@->m!gssfl-jnrVS~c6 z`uQTOWV;JKX{}zps_gRS=GCiLpZ@&s-@iTYfA7n^UFA`q^VGgxzJcMw7NCu+>*eR=F?`_K z$!PM7?E#yCE`td$HTrNf^a6c-naLrUf#JXwh6}({I4U)QL*oM%11Q;rU#+XH-7C+> z{+Zi4!a8R6pAQcYXX<```7-nVwzE05)(i)<849Yas~HnyAAB{j-`^~6Z6nt&&TwsE zXgov4o2O5oe){w4>+8$6x99tto0~5$EjWAreZt4@&m(^73bs z&+{=Xu-_%0|L1gK>FQgz^C$2B&HtzVugHhFw?6mo+V?a3_1X93Q=Nam_hh&rKUdme z@4I{tpc0+G;S3rK8s-cl3{#{TxEN0HGO#i{Wouw+C}MVCblAzbfMLNMh5&|uyisLz g2#_nQnLhBJ{G@H;e9Pc8urgurboFyt=akR{01+_%ssI20 literal 0 HcmV?d00001 diff --git a/public/assets/icons/icon-48.webp b/public/assets/icons/icon-48.webp new file mode 100644 index 0000000000000000000000000000000000000000..a674dd80d80be37bfc2eae51861f8bc04868d9f2 GIT binary patch literal 427 zcmV;c0aX5pP)sZsb8uyd@Zhm!lu`<)oTjONt+kMI21IKO{sKw_WXS*vVxcS+;z2Bw#X>xYg|b+P2Ze(f zmGeCJVa_=R`@Z)dUDwqIIx4w%ehpY_fl9o2tu=%YVB0pRwf0P)7z#@%Y~hM}C=!D` z&$9;~Lb!}E%{kYswJ#CZYOPz0vE`h*f>9xAWYfoCC;p%uynx)Hv^n|81dC3gAd= zjOn+D0lh+8i+f^>u&!%6jsr8%heIld1l)z-Jdd|XA=;+a+A#PSHBO5l%cTse9avBiCn8o67D5nMLD<*MTKx+()7&5Kocqgpp65L0 zobTs(&c~ZK#rgUK`2g^ZUmvptpvf-{p@0kza&FkjAj(|-+AcsG;Q1&Nm(B$O55~tt zZ_Ozk{`KV}N$dO%wQp_D_a0}tdtR>|IM7v?_=R2_Tvxj)F2(m+R6+lnsn7Q6DtDbd z+EZ2g%$nv4%bSijg|Bx8PxY5*3@&?rOUY2Fb)v5?g&u7P?of?3g-Zat2;vnle4hl| zlz>WT6@u+%SntQ5kcR;~ge*HhjRBWIbM%qNBy+$HLoHD*E-`<#`I$Rs%YqHOf-*#rr_lZr*X(z7mKhr?>>l;us`p6*m>oukb% z?Vc&;!yZNbUi-})!A`B0PNyr+vk&Wa_j?-LS@x{=MDp&Mldlw}9koSf)^F3eTbrAk z{gMlY`m#QdCeJm=M>OWF%U6ypH$<&oz4wZ<#pTqCzizs)<+)YyCiN?ua`JL>ZQ1sc*~qSeva(Be-W7oi)uoPxgk@!o4ffzEOHaSGZufl# zON2Nrg7LeAOc82lAtnG5pR@?k`V2yWjH&Ti_!JwT`^SAkgSOc+; zY{ZSF&xc~g=a3f@DAqBAliePZtnJ5C25J5ti-DO%1cMd9l=3-hbHl9ym^XMVa`cEl zfp2!G$JHNmN@k%n-eWP5dxO5}&1QI9DV=YH(`>lN6QsB%fuOUk(BtYW)w{9CT;Q>& zrgn=6u=(Km%=5>Fzp%X8@KX6df>hg+2$9JYh0C{vgoGIK+DRoctT8`=yuo?lcUP+0 zHdNJVu~@c8?YFe0$uZy$S@T>~Sdq~>oIom%?OLxQV_!-O)r80xtWw(^) z*#>RBIz^DlT=GYHXWPfpaY9f&`=`raK5@0sDY4$8VDK>RVM7o z{!q{%3t|IEgMTpf93Vm9Y58%|XoMkODcMj3T%jdQZ)^EJ4TT2kAGZ!+o4>5PEPCQ2 zftev~|0$0}hCR4Ycuovf%*rLq^+iAxn8q4wn)!8b8vIi9DG9D(o`Sw~HBO(l*?Edu zv5!0kq?3h!QqS|rAEaTX_uko&z)d{LeMC*Ut*xc~qF literal 0 HcmV?d00001 diff --git a/public/assets/icons/icon-72.webp b/public/assets/icons/icon-72.webp new file mode 100644 index 0000000000000000000000000000000000000000..1cbddf864180393a8ddf72f677a3e3567b198c6e GIT binary patch literal 565 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY1|&n@ZgvM!oCO|{#S9GG!XV7ZFl&wk0|Vo8 zPZ!6KiaBp*`}Q?C2((5&<}7f0Ey(fRzO#avG0W+fy<)GcE#13n)ue5?m%mntp1-48Vd5KK z9{PTZoX33k*=LXG%!sMV%%8jDtLa+Ktb4njRqCDndRo8f%fq$on^&mryy{sb{^X*` z-peeNCcYwHq=@pzeSsy}f#;{bep;j{ef0U~my>oEF6Jl@HSrDZOtVRnf4g$xrI#f_ zy)#U*K6Pw}VOi^%nRoSjZREP>so!?r&AU_@n{_)Z_37b<0ZiVni$tFseI@z5vg7Lf zA7@^x^G)u_K6&@c(T>L-Bls5S`&8`dILOJh-^NjH&sG03%tSd46d3{ktefl@vR<}^ U6>h&N222MGp00i_>zopr0Fmt5_W%F@ literal 0 HcmV?d00001 diff --git a/public/assets/icons/icon-96.webp b/public/assets/icons/icon-96.webp new file mode 100644 index 0000000000000000000000000000000000000000..17fc371d54dc44741962533da231bbc85b160a52 GIT binary patch literal 675 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGooCO|{#S9GG!XV7ZFl&wk0|Qg2 zr;B4q#hkaZclRAK5OC!+RS;q<<$Cace|wkMoc0CBzGdlbOsr3M=QT&USHrjHQMF@{ z6UV}e^GO?5%=f)KrBJ3=bLo>9`+a>447wZw%?yT=5yEd4tog1p{dASZ_T1Y>JkGXL zX9ulfFWKwPYwh5(LHW_WWdDCvd-YT<^qdtRLH zuD6^2^;voBbhFvMdAH5XeIFZbyOy=})bh)kUu*Si?G-h|YUAHn^nGos*|+84&!!V~ z`_CJ?tz~fi82M1@u)!a$4N2er2^Lt$d|?vl-o%_HAaIlM=W1(*jT(X`%?&5`PPj}k zcDcYKDAKvWhsDyF<*b0?M2=IW3+}gRy0vYpobR5yd0$WOiCbTla;f?W)2w{^IjbYS z)NZ_N^7Qe?89q(6y=Bfe$FAMV+y1l0Zu#k_lioOPm|L*_{#|#a2f;4)zkk*IBD1?- za=!Wfdx8d%YH8bV@9Yn0==%P#LO3wLshH*8OeHn$d;S{^nd+3iIr;sc;0MbhMy?x- zNkW1x4IkpI92kKCtJEYQ(6Qjqe+E&P2{T;S6%;Now(B|c_kH!E~9fPN