about summary refs log tree commit diff
path: root/pkgs/applications/networking/instant-messengers/fluffychat
diff options
context:
space:
mode:
authorhacker1024 <hacker1024@users.sourceforge.net>2023-04-26 16:55:12 +1000
committerhacker1024 <hacker1024@users.sourceforge.net>2023-04-26 17:06:00 +1000
commit507705f3be8ee49b0fa62c34758ecd757be05fef (patch)
treef13a66ccbbf826d6357443f41ea102102fdd634e /pkgs/applications/networking/instant-messengers/fluffychat
parentf151560cf02d9b43b1ba9aaa5836262a10426dd3 (diff)
fluffychat: Build from source
Diffstat (limited to 'pkgs/applications/networking/instant-messengers/fluffychat')
-rw-r--r--pkgs/applications/networking/instant-messengers/fluffychat/default.nix51
-rw-r--r--pkgs/applications/networking/instant-messengers/fluffychat/deps.json3242
2 files changed, 3258 insertions, 35 deletions
diff --git a/pkgs/applications/networking/instant-messengers/fluffychat/default.nix b/pkgs/applications/networking/instant-messengers/fluffychat/default.nix
index a29a5364ce7ae..14cac0c95219c 100644
--- a/pkgs/applications/networking/instant-messengers/fluffychat/default.nix
+++ b/pkgs/applications/networking/instant-messengers/fluffychat/default.nix
@@ -1,35 +1,24 @@
 { lib
-, stdenv
-, fetchzip
+, fetchFromGitLab
 , imagemagick
-, autoPatchelfHook
-, gtk3
-, libsecret
-, jsoncpp
-, wrapGAppsHook
+, flutter
 , makeDesktopItem
-, openssl
-, olm
 }:
 
-let
+flutter.buildFlutterApplication rec {
   version = "1.10.0";
-  # map of nix platform -> expected url platform
-  platformMap = {
-    x86_64-linux = "linux-x86";
-    aarch64-linux = "linux-arm64";
-  };
-in
-stdenv.mkDerivation {
-  inherit version;
-  pname = "fluffychat";
+  name = "fluffychat";
 
-  src = fetchzip {
-    url = "https://gitlab.com/api/v4/projects/16112282/packages/generic/fluffychat/${version}/fluffychat-${platformMap.${stdenv.hostPlatform.system}}.tar.gz";
-    stripRoot = false;
-    sha256 = "sha256-SbzTEMeJRFEUN0nZF9hL0UEzTWl1VtHVPIx/AGgQvM8=";
+  src = fetchFromGitLab {
+    owner = "famedly";
+    repo = "fluffychat";
+    rev = "v${version}";
+    hash = "sha256-tENYFrVRt0FBgbhR7D4sy6hJhWmYJDhKaAGsCBkAEt0=";
   };
 
+  depsListFile = ./deps.json;
+  vendorHash = "sha256-VSL3DDOYD2dEu0USFV4FvQweDsNG362TRBdrNGQrsH0=";
+
   desktopItem = makeDesktopItem {
     name = "Fluffychat";
     exec = "@out@/bin/fluffychat";
@@ -38,18 +27,10 @@ stdenv.mkDerivation {
     genericName = "Chat with your friends (matrix client)";
     categories = [ "Chat" "Network" "InstantMessaging" ];
   };
-  buildInputs = [ gtk3 libsecret jsoncpp ];
-  nativeBuildInputs = [ autoPatchelfHook wrapGAppsHook imagemagick ];
-
-  installPhase = ''
-    mkdir -p $out/bin
-    mkdir -p $out/share
-    mv * $out/share
-
-    makeWrapper "$out/share/fluffychat" "$out/bin/fluffychat" \
-      --prefix "LD_LIBRARY_PATH" ":" "${lib.makeLibraryPath [ openssl olm ]}"
+  nativeBuildInputs = [ imagemagick ];
 
-    FAV=$out/share/data/flutter_assets/assets/favicon.png
+  postInstall = ''
+    FAV=$out/app/data/flutter_assets/assets/favicon.png
     ICO=$out/share/icons
 
     install -D $FAV $ICO/fluffychat.png
@@ -70,6 +51,6 @@ stdenv.mkDerivation {
     license = licenses.agpl3Plus;
     maintainers = with maintainers; [ mkg20001 gilice ];
     platforms = [ "x86_64-linux" "aarch64-linux" ];
-    sourceProvenance = [ sourceTypes.binaryNativeCode ];
+    sourceProvenance = [ sourceTypes.fromSource ];
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/fluffychat/deps.json b/pkgs/applications/networking/instant-messengers/fluffychat/deps.json
new file mode 100644
index 0000000000000..2a5ea5d9eb725
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/fluffychat/deps.json
@@ -0,0 +1,3242 @@
+[
+  {
+    "name": "fluffychat",
+    "version": "1.10.0+3253",
+    "kind": "root",
+    "source": "root",
+    "dependencies": [
+      "adaptive_dialog",
+      "animations",
+      "badges",
+      "blurhash_dart",
+      "callkeep",
+      "chewie",
+      "collection",
+      "connectivity_plus",
+      "cupertino_icons",
+      "desktop_drop",
+      "desktop_lifecycle",
+      "desktop_notifications",
+      "device_info_plus",
+      "dynamic_color",
+      "emoji_picker_flutter",
+      "emoji_proposal",
+      "emojis",
+      "file_picker_cross",
+      "flutter",
+      "flutter_app_badger",
+      "flutter_app_lock",
+      "flutter_blurhash",
+      "flutter_cache_manager",
+      "flutter_foreground_task",
+      "flutter_local_notifications",
+      "flutter_localizations",
+      "flutter_map",
+      "flutter_matrix_html",
+      "flutter_olm",
+      "flutter_openssl_crypto",
+      "flutter_ringtone_player",
+      "flutter_secure_storage",
+      "flutter_typeahead",
+      "flutter_web_auth",
+      "flutter_webrtc",
+      "future_loading_dialog",
+      "geolocator",
+      "handy_window",
+      "hive",
+      "hive_flutter",
+      "http",
+      "image_picker",
+      "intl",
+      "just_audio",
+      "just_audio_mpv",
+      "keyboard_shortcuts",
+      "latlong2",
+      "matrix",
+      "matrix_homeserver_recommendations",
+      "matrix_link_text",
+      "native_imaging",
+      "package_info_plus",
+      "path_provider",
+      "permission_handler",
+      "pin_code_text_field",
+      "provider",
+      "punycode",
+      "qr_code_scanner",
+      "qr_flutter",
+      "receive_sharing_intent",
+      "record",
+      "scroll_to_index",
+      "share_plus",
+      "shared_preferences",
+      "slugify",
+      "swipe_to_action",
+      "tor_detector_web",
+      "uni_links",
+      "unifiedpush",
+      "universal_html",
+      "url_launcher",
+      "vibration",
+      "video_compress",
+      "video_player",
+      "vrouter",
+      "wakelock",
+      "webrtc_interface",
+      "dart_code_metrics",
+      "flutter_lints",
+      "flutter_native_splash",
+      "flutter_test",
+      "import_sorter",
+      "integration_test",
+      "msix",
+      "translations_cleaner",
+      "ffi",
+      "file_selector",
+      "file_selector_linux",
+      "flutter_secure_storage_windows",
+      "geolocator_android"
+    ]
+  },
+  {
+    "name": "geolocator_android",
+    "version": "1.0.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "geolocator_platform_interface"
+    ]
+  },
+  {
+    "name": "geolocator_platform_interface",
+    "version": "2.3.6",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "plugin_platform_interface",
+      "vector_math",
+      "meta"
+    ]
+  },
+  {
+    "name": "meta",
+    "version": "1.8.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "vector_math",
+    "version": "2.1.4",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "plugin_platform_interface",
+    "version": "2.1.3",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "meta"
+    ]
+  },
+  {
+    "name": "flutter",
+    "version": "0.0.0",
+    "kind": "direct",
+    "source": "sdk",
+    "dependencies": [
+      "characters",
+      "collection",
+      "js",
+      "material_color_utilities",
+      "meta",
+      "vector_math",
+      "sky_engine"
+    ]
+  },
+  {
+    "name": "sky_engine",
+    "version": "0.0.99",
+    "kind": "transitive",
+    "source": "sdk",
+    "dependencies": []
+  },
+  {
+    "name": "material_color_utilities",
+    "version": "0.2.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "js",
+    "version": "0.6.5",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "meta"
+    ]
+  },
+  {
+    "name": "collection",
+    "version": "1.17.0",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "characters",
+    "version": "1.2.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "flutter_secure_storage_windows",
+    "version": "1.1.2",
+    "kind": "transitive",
+    "source": "git",
+    "dependencies": []
+  },
+  {
+    "name": "file_selector_linux",
+    "version": "0.9.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "cross_file",
+      "file_selector_platform_interface",
+      "flutter"
+    ]
+  },
+  {
+    "name": "file_selector_platform_interface",
+    "version": "2.4.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "cross_file",
+      "flutter",
+      "http",
+      "plugin_platform_interface"
+    ]
+  },
+  {
+    "name": "http",
+    "version": "0.13.5",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "async",
+      "http_parser",
+      "meta",
+      "path"
+    ]
+  },
+  {
+    "name": "path",
+    "version": "1.8.2",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "http_parser",
+    "version": "4.0.2",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "collection",
+      "source_span",
+      "string_scanner",
+      "typed_data"
+    ]
+  },
+  {
+    "name": "typed_data",
+    "version": "1.3.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "collection"
+    ]
+  },
+  {
+    "name": "string_scanner",
+    "version": "1.2.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "source_span"
+    ]
+  },
+  {
+    "name": "source_span",
+    "version": "1.9.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "collection",
+      "path",
+      "term_glyph"
+    ]
+  },
+  {
+    "name": "term_glyph",
+    "version": "1.2.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "async",
+    "version": "2.10.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "collection",
+      "meta"
+    ]
+  },
+  {
+    "name": "cross_file",
+    "version": "0.3.3+2",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "js",
+      "meta"
+    ]
+  },
+  {
+    "name": "file_selector",
+    "version": "0.9.2+2",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "file_selector_ios",
+      "file_selector_linux",
+      "file_selector_macos",
+      "file_selector_platform_interface",
+      "file_selector_web",
+      "file_selector_windows",
+      "flutter"
+    ]
+  },
+  {
+    "name": "file_selector_windows",
+    "version": "0.9.1+4",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "cross_file",
+      "file_selector_platform_interface",
+      "flutter"
+    ]
+  },
+  {
+    "name": "file_selector_web",
+    "version": "0.9.0+2",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "file_selector_platform_interface",
+      "flutter",
+      "flutter_web_plugins"
+    ]
+  },
+  {
+    "name": "flutter_web_plugins",
+    "version": "0.0.0",
+    "kind": "transitive",
+    "source": "sdk",
+    "dependencies": [
+      "flutter",
+      "js",
+      "characters",
+      "collection",
+      "material_color_utilities",
+      "meta",
+      "vector_math"
+    ]
+  },
+  {
+    "name": "file_selector_macos",
+    "version": "0.9.0+4",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "cross_file",
+      "file_selector_platform_interface",
+      "flutter"
+    ]
+  },
+  {
+    "name": "file_selector_ios",
+    "version": "0.5.0+2",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "file_selector_platform_interface",
+      "flutter"
+    ]
+  },
+  {
+    "name": "ffi",
+    "version": "2.0.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "translations_cleaner",
+    "version": "0.0.5",
+    "kind": "dev",
+    "source": "hosted",
+    "dependencies": [
+      "args",
+      "glob"
+    ]
+  },
+  {
+    "name": "glob",
+    "version": "2.1.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "async",
+      "collection",
+      "file",
+      "path",
+      "string_scanner"
+    ]
+  },
+  {
+    "name": "file",
+    "version": "6.1.4",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "meta",
+      "path"
+    ]
+  },
+  {
+    "name": "args",
+    "version": "2.3.2",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "msix",
+    "version": "3.7.0",
+    "kind": "dev",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "args",
+      "yaml",
+      "path",
+      "package_config",
+      "get_it",
+      "image",
+      "pub_semver",
+      "console",
+      "cli_util"
+    ]
+  },
+  {
+    "name": "cli_util",
+    "version": "0.3.5",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "meta",
+      "path"
+    ]
+  },
+  {
+    "name": "console",
+    "version": "4.1.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "vector_math"
+    ]
+  },
+  {
+    "name": "pub_semver",
+    "version": "2.1.3",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "collection",
+      "meta"
+    ]
+  },
+  {
+    "name": "image",
+    "version": "3.1.3",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "archive",
+      "meta",
+      "xml"
+    ]
+  },
+  {
+    "name": "xml",
+    "version": "5.4.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "collection",
+      "meta",
+      "petitparser"
+    ]
+  },
+  {
+    "name": "petitparser",
+    "version": "5.1.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "meta"
+    ]
+  },
+  {
+    "name": "archive",
+    "version": "3.3.2",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "crypto",
+      "path"
+    ]
+  },
+  {
+    "name": "crypto",
+    "version": "3.0.2",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "typed_data"
+    ]
+  },
+  {
+    "name": "get_it",
+    "version": "7.2.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "async",
+      "collection"
+    ]
+  },
+  {
+    "name": "package_config",
+    "version": "2.1.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "path"
+    ]
+  },
+  {
+    "name": "yaml",
+    "version": "3.1.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "collection",
+      "source_span",
+      "string_scanner"
+    ]
+  },
+  {
+    "name": "integration_test",
+    "version": "0.0.0",
+    "kind": "dev",
+    "source": "sdk",
+    "dependencies": [
+      "flutter",
+      "flutter_driver",
+      "flutter_test",
+      "path",
+      "vm_service",
+      "archive",
+      "async",
+      "boolean_selector",
+      "characters",
+      "clock",
+      "collection",
+      "crypto",
+      "fake_async",
+      "file",
+      "js",
+      "matcher",
+      "material_color_utilities",
+      "meta",
+      "source_span",
+      "stack_trace",
+      "stream_channel",
+      "string_scanner",
+      "sync_http",
+      "term_glyph",
+      "test_api",
+      "typed_data",
+      "vector_math",
+      "webdriver"
+    ]
+  },
+  {
+    "name": "webdriver",
+    "version": "3.0.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "archive",
+      "matcher",
+      "path",
+      "stack_trace",
+      "sync_http"
+    ]
+  },
+  {
+    "name": "sync_http",
+    "version": "0.3.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "stack_trace",
+    "version": "1.11.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "path"
+    ]
+  },
+  {
+    "name": "matcher",
+    "version": "0.12.13",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "meta",
+      "stack_trace"
+    ]
+  },
+  {
+    "name": "test_api",
+    "version": "0.4.16",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "async",
+      "boolean_selector",
+      "collection",
+      "meta",
+      "source_span",
+      "stack_trace",
+      "stream_channel",
+      "string_scanner",
+      "term_glyph",
+      "matcher"
+    ]
+  },
+  {
+    "name": "stream_channel",
+    "version": "2.1.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "async"
+    ]
+  },
+  {
+    "name": "boolean_selector",
+    "version": "2.1.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "source_span",
+      "string_scanner"
+    ]
+  },
+  {
+    "name": "fake_async",
+    "version": "1.3.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "clock",
+      "collection"
+    ]
+  },
+  {
+    "name": "clock",
+    "version": "1.1.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "vm_service",
+    "version": "9.4.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "flutter_test",
+    "version": "0.0.0",
+    "kind": "dev",
+    "source": "sdk",
+    "dependencies": [
+      "flutter",
+      "test_api",
+      "path",
+      "fake_async",
+      "clock",
+      "stack_trace",
+      "vector_math",
+      "async",
+      "boolean_selector",
+      "characters",
+      "collection",
+      "js",
+      "matcher",
+      "material_color_utilities",
+      "meta",
+      "source_span",
+      "stream_channel",
+      "string_scanner",
+      "term_glyph"
+    ]
+  },
+  {
+    "name": "flutter_driver",
+    "version": "0.0.0",
+    "kind": "transitive",
+    "source": "sdk",
+    "dependencies": [
+      "file",
+      "flutter",
+      "flutter_test",
+      "fuchsia_remote_debug_protocol",
+      "path",
+      "meta",
+      "vm_service",
+      "webdriver",
+      "archive",
+      "async",
+      "boolean_selector",
+      "characters",
+      "clock",
+      "collection",
+      "crypto",
+      "js",
+      "matcher",
+      "material_color_utilities",
+      "platform",
+      "process",
+      "source_span",
+      "stack_trace",
+      "stream_channel",
+      "string_scanner",
+      "sync_http",
+      "term_glyph",
+      "test_api",
+      "typed_data",
+      "vector_math"
+    ]
+  },
+  {
+    "name": "process",
+    "version": "4.2.4",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "file",
+      "path",
+      "platform"
+    ]
+  },
+  {
+    "name": "platform",
+    "version": "3.1.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "fuchsia_remote_debug_protocol",
+    "version": "0.0.0",
+    "kind": "transitive",
+    "source": "sdk",
+    "dependencies": [
+      "process",
+      "vm_service",
+      "file",
+      "meta",
+      "path",
+      "platform"
+    ]
+  },
+  {
+    "name": "import_sorter",
+    "version": "4.6.0",
+    "kind": "dev",
+    "source": "hosted",
+    "dependencies": [
+      "args",
+      "tint",
+      "yaml"
+    ]
+  },
+  {
+    "name": "tint",
+    "version": "2.0.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "flutter_native_splash",
+    "version": "2.2.0+1",
+    "kind": "dev",
+    "source": "hosted",
+    "dependencies": [
+      "args",
+      "flutter",
+      "flutter_web_plugins",
+      "image",
+      "js",
+      "lint",
+      "meta",
+      "path",
+      "universal_io",
+      "xml",
+      "yaml"
+    ]
+  },
+  {
+    "name": "universal_io",
+    "version": "2.0.4",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "collection",
+      "crypto",
+      "meta",
+      "typed_data"
+    ]
+  },
+  {
+    "name": "lint",
+    "version": "1.10.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "flutter_lints",
+    "version": "2.0.1",
+    "kind": "dev",
+    "source": "hosted",
+    "dependencies": [
+      "lints"
+    ]
+  },
+  {
+    "name": "lints",
+    "version": "2.0.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "dart_code_metrics",
+    "version": "4.21.3",
+    "kind": "dev",
+    "source": "hosted",
+    "dependencies": [
+      "analyzer",
+      "analyzer_plugin",
+      "ansicolor",
+      "args",
+      "collection",
+      "crypto",
+      "file",
+      "glob",
+      "html",
+      "meta",
+      "path",
+      "platform",
+      "pub_updater",
+      "source_span",
+      "xml",
+      "yaml"
+    ]
+  },
+  {
+    "name": "pub_updater",
+    "version": "0.2.4",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "http",
+      "json_annotation",
+      "process"
+    ]
+  },
+  {
+    "name": "json_annotation",
+    "version": "4.8.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "meta"
+    ]
+  },
+  {
+    "name": "html",
+    "version": "0.15.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "csslib",
+      "source_span"
+    ]
+  },
+  {
+    "name": "csslib",
+    "version": "0.17.2",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "source_span"
+    ]
+  },
+  {
+    "name": "ansicolor",
+    "version": "2.0.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "analyzer_plugin",
+    "version": "0.11.2",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "analyzer",
+      "collection",
+      "dart_style",
+      "pub_semver",
+      "yaml"
+    ]
+  },
+  {
+    "name": "dart_style",
+    "version": "2.2.4",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "analyzer",
+      "args",
+      "path",
+      "pub_semver",
+      "source_span"
+    ]
+  },
+  {
+    "name": "analyzer",
+    "version": "5.1.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "_fe_analyzer_shared",
+      "collection",
+      "convert",
+      "crypto",
+      "glob",
+      "meta",
+      "package_config",
+      "path",
+      "pub_semver",
+      "source_span",
+      "watcher",
+      "yaml"
+    ]
+  },
+  {
+    "name": "watcher",
+    "version": "1.0.2",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "async",
+      "path"
+    ]
+  },
+  {
+    "name": "convert",
+    "version": "3.1.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "typed_data"
+    ]
+  },
+  {
+    "name": "_fe_analyzer_shared",
+    "version": "49.0.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "meta"
+    ]
+  },
+  {
+    "name": "webrtc_interface",
+    "version": "1.0.11",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "wakelock",
+    "version": "0.6.2",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "meta",
+      "wakelock_macos",
+      "wakelock_platform_interface",
+      "wakelock_web",
+      "wakelock_windows"
+    ]
+  },
+  {
+    "name": "wakelock_windows",
+    "version": "0.2.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "wakelock_platform_interface",
+      "win32"
+    ]
+  },
+  {
+    "name": "win32",
+    "version": "2.7.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "ffi"
+    ]
+  },
+  {
+    "name": "wakelock_platform_interface",
+    "version": "0.3.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "meta"
+    ]
+  },
+  {
+    "name": "wakelock_web",
+    "version": "0.4.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "flutter_web_plugins",
+      "js",
+      "wakelock_platform_interface"
+    ]
+  },
+  {
+    "name": "wakelock_macos",
+    "version": "0.4.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "flutter_web_plugins",
+      "wakelock_platform_interface"
+    ]
+  },
+  {
+    "name": "vrouter",
+    "version": "1.2.1",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "url_strategy",
+      "url_launcher",
+      "move_to_background"
+    ]
+  },
+  {
+    "name": "move_to_background",
+    "version": "1.0.2",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter"
+    ]
+  },
+  {
+    "name": "url_launcher",
+    "version": "6.1.8",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "url_launcher_android",
+      "url_launcher_ios",
+      "url_launcher_linux",
+      "url_launcher_macos",
+      "url_launcher_platform_interface",
+      "url_launcher_web",
+      "url_launcher_windows"
+    ]
+  },
+  {
+    "name": "url_launcher_windows",
+    "version": "3.0.3",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "url_launcher_platform_interface"
+    ]
+  },
+  {
+    "name": "url_launcher_platform_interface",
+    "version": "2.1.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "plugin_platform_interface"
+    ]
+  },
+  {
+    "name": "url_launcher_web",
+    "version": "2.0.14",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "flutter_web_plugins",
+      "url_launcher_platform_interface"
+    ]
+  },
+  {
+    "name": "url_launcher_macos",
+    "version": "3.0.2",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "url_launcher_platform_interface"
+    ]
+  },
+  {
+    "name": "url_launcher_linux",
+    "version": "3.0.2",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "url_launcher_platform_interface"
+    ]
+  },
+  {
+    "name": "url_launcher_ios",
+    "version": "6.0.18",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "url_launcher_platform_interface"
+    ]
+  },
+  {
+    "name": "url_launcher_android",
+    "version": "6.0.23",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "url_launcher_platform_interface"
+    ]
+  },
+  {
+    "name": "url_strategy",
+    "version": "0.2.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter_web_plugins"
+    ]
+  },
+  {
+    "name": "video_player",
+    "version": "2.5.1",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "html",
+      "video_player_android",
+      "video_player_avfoundation",
+      "video_player_platform_interface",
+      "video_player_web"
+    ]
+  },
+  {
+    "name": "video_player_web",
+    "version": "2.0.13",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "flutter_web_plugins",
+      "video_player_platform_interface"
+    ]
+  },
+  {
+    "name": "video_player_platform_interface",
+    "version": "6.0.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "plugin_platform_interface"
+    ]
+  },
+  {
+    "name": "video_player_avfoundation",
+    "version": "2.3.8",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "video_player_platform_interface"
+    ]
+  },
+  {
+    "name": "video_player_android",
+    "version": "2.3.10",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "video_player_platform_interface"
+    ]
+  },
+  {
+    "name": "video_compress",
+    "version": "3.1.2",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter"
+    ]
+  },
+  {
+    "name": "vibration",
+    "version": "1.7.6",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter"
+    ]
+  },
+  {
+    "name": "universal_html",
+    "version": "2.0.8",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "async",
+      "csslib",
+      "charcode",
+      "collection",
+      "html",
+      "meta",
+      "source_span",
+      "typed_data",
+      "universal_io"
+    ]
+  },
+  {
+    "name": "charcode",
+    "version": "1.3.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "unifiedpush",
+    "version": "4.0.3",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "shared_preferences",
+      "unifiedpush_platform_interface",
+      "unifiedpush_android"
+    ]
+  },
+  {
+    "name": "unifiedpush_android",
+    "version": "1.1.2",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "shared_preferences",
+      "unifiedpush_platform_interface"
+    ]
+  },
+  {
+    "name": "unifiedpush_platform_interface",
+    "version": "1.0.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "plugin_platform_interface"
+    ]
+  },
+  {
+    "name": "shared_preferences",
+    "version": "2.0.15",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "shared_preferences_android",
+      "shared_preferences_ios",
+      "shared_preferences_linux",
+      "shared_preferences_macos",
+      "shared_preferences_platform_interface",
+      "shared_preferences_web",
+      "shared_preferences_windows"
+    ]
+  },
+  {
+    "name": "shared_preferences_windows",
+    "version": "2.1.3",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "file",
+      "flutter",
+      "path",
+      "path_provider_platform_interface",
+      "path_provider_windows",
+      "shared_preferences_platform_interface"
+    ]
+  },
+  {
+    "name": "shared_preferences_platform_interface",
+    "version": "2.1.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "plugin_platform_interface"
+    ]
+  },
+  {
+    "name": "path_provider_windows",
+    "version": "2.1.3",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "ffi",
+      "flutter",
+      "path",
+      "path_provider_platform_interface",
+      "win32"
+    ]
+  },
+  {
+    "name": "path_provider_platform_interface",
+    "version": "2.0.5",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "platform",
+      "plugin_platform_interface"
+    ]
+  },
+  {
+    "name": "shared_preferences_web",
+    "version": "2.0.4",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "flutter_web_plugins",
+      "shared_preferences_platform_interface"
+    ]
+  },
+  {
+    "name": "shared_preferences_macos",
+    "version": "2.0.5",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "shared_preferences_platform_interface"
+    ]
+  },
+  {
+    "name": "shared_preferences_linux",
+    "version": "2.1.3",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "file",
+      "flutter",
+      "path",
+      "path_provider_linux",
+      "path_provider_platform_interface",
+      "shared_preferences_platform_interface"
+    ]
+  },
+  {
+    "name": "path_provider_linux",
+    "version": "2.1.7",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "ffi",
+      "flutter",
+      "path",
+      "path_provider_platform_interface",
+      "xdg_directories"
+    ]
+  },
+  {
+    "name": "xdg_directories",
+    "version": "0.2.0+3",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "meta",
+      "path",
+      "process"
+    ]
+  },
+  {
+    "name": "shared_preferences_ios",
+    "version": "2.1.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "shared_preferences_platform_interface"
+    ]
+  },
+  {
+    "name": "shared_preferences_android",
+    "version": "2.0.15",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "shared_preferences_platform_interface"
+    ]
+  },
+  {
+    "name": "uni_links",
+    "version": "0.5.1",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "uni_links_platform_interface",
+      "uni_links_web"
+    ]
+  },
+  {
+    "name": "uni_links_web",
+    "version": "0.1.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "flutter_web_plugins",
+      "uni_links_platform_interface"
+    ]
+  },
+  {
+    "name": "uni_links_platform_interface",
+    "version": "1.0.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "plugin_platform_interface"
+    ]
+  },
+  {
+    "name": "tor_detector_web",
+    "version": "1.1.0",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "js"
+    ]
+  },
+  {
+    "name": "swipe_to_action",
+    "version": "0.2.0",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "flutter_web_plugins"
+    ]
+  },
+  {
+    "name": "slugify",
+    "version": "2.0.0",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "share_plus",
+    "version": "4.5.3",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "cross_file",
+      "meta",
+      "mime",
+      "flutter",
+      "share_plus_platform_interface",
+      "share_plus_linux",
+      "share_plus_macos",
+      "share_plus_windows",
+      "share_plus_web"
+    ]
+  },
+  {
+    "name": "share_plus_web",
+    "version": "3.1.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "cross_file",
+      "share_plus_platform_interface",
+      "url_launcher",
+      "flutter",
+      "flutter_web_plugins",
+      "meta",
+      "mime"
+    ]
+  },
+  {
+    "name": "mime",
+    "version": "1.0.4",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "share_plus_platform_interface",
+    "version": "3.2.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "cross_file",
+      "flutter",
+      "meta",
+      "mime",
+      "plugin_platform_interface",
+      "path_provider",
+      "uuid"
+    ]
+  },
+  {
+    "name": "uuid",
+    "version": "3.0.7",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "crypto"
+    ]
+  },
+  {
+    "name": "path_provider",
+    "version": "2.0.12",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "path_provider_android",
+      "path_provider_foundation",
+      "path_provider_linux",
+      "path_provider_platform_interface",
+      "path_provider_windows"
+    ]
+  },
+  {
+    "name": "path_provider_foundation",
+    "version": "2.1.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "path_provider_platform_interface"
+    ]
+  },
+  {
+    "name": "path_provider_android",
+    "version": "2.0.22",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "path_provider_platform_interface"
+    ]
+  },
+  {
+    "name": "share_plus_windows",
+    "version": "3.0.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "share_plus_platform_interface",
+      "flutter",
+      "meta",
+      "url_launcher"
+    ]
+  },
+  {
+    "name": "share_plus_macos",
+    "version": "3.0.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "share_plus_platform_interface",
+      "flutter"
+    ]
+  },
+  {
+    "name": "share_plus_linux",
+    "version": "3.0.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "cross_file",
+      "share_plus_platform_interface",
+      "file",
+      "flutter",
+      "meta",
+      "url_launcher"
+    ]
+  },
+  {
+    "name": "scroll_to_index",
+    "version": "3.0.1",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter"
+    ]
+  },
+  {
+    "name": "record",
+    "version": "4.4.4",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "record_platform_interface",
+      "record_web",
+      "record_windows",
+      "record_macos",
+      "record_linux"
+    ]
+  },
+  {
+    "name": "record_linux",
+    "version": "0.4.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "record_platform_interface",
+      "path"
+    ]
+  },
+  {
+    "name": "record_platform_interface",
+    "version": "0.5.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "plugin_platform_interface"
+    ]
+  },
+  {
+    "name": "record_macos",
+    "version": "0.2.2",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "record_platform_interface"
+    ]
+  },
+  {
+    "name": "record_windows",
+    "version": "0.7.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "record_platform_interface",
+      "path"
+    ]
+  },
+  {
+    "name": "record_web",
+    "version": "0.5.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "flutter_web_plugins",
+      "record_platform_interface"
+    ]
+  },
+  {
+    "name": "receive_sharing_intent",
+    "version": "1.4.5",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter"
+    ]
+  },
+  {
+    "name": "qr_flutter",
+    "version": "4.0.0",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "qr"
+    ]
+  },
+  {
+    "name": "qr",
+    "version": "2.1.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "meta"
+    ]
+  },
+  {
+    "name": "qr_code_scanner",
+    "version": "1.0.1",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "js",
+      "flutter",
+      "flutter_web_plugins"
+    ]
+  },
+  {
+    "name": "punycode",
+    "version": "1.0.0",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "provider",
+    "version": "6.0.5",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "collection",
+      "flutter",
+      "nested"
+    ]
+  },
+  {
+    "name": "nested",
+    "version": "1.0.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter"
+    ]
+  },
+  {
+    "name": "pin_code_text_field",
+    "version": "1.8.0",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter"
+    ]
+  },
+  {
+    "name": "permission_handler",
+    "version": "10.2.0",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "meta",
+      "permission_handler_android",
+      "permission_handler_apple",
+      "permission_handler_windows",
+      "permission_handler_platform_interface"
+    ]
+  },
+  {
+    "name": "permission_handler_platform_interface",
+    "version": "3.9.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "meta",
+      "plugin_platform_interface"
+    ]
+  },
+  {
+    "name": "permission_handler_windows",
+    "version": "0.1.2",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "permission_handler_platform_interface"
+    ]
+  },
+  {
+    "name": "permission_handler_apple",
+    "version": "9.0.7",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "permission_handler_platform_interface"
+    ]
+  },
+  {
+    "name": "permission_handler_android",
+    "version": "10.2.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "permission_handler_platform_interface"
+    ]
+  },
+  {
+    "name": "package_info_plus",
+    "version": "1.4.3+1",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "package_info_plus_platform_interface",
+      "package_info_plus_linux",
+      "package_info_plus_macos",
+      "package_info_plus_windows",
+      "package_info_plus_web"
+    ]
+  },
+  {
+    "name": "package_info_plus_web",
+    "version": "1.0.6",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "flutter_web_plugins",
+      "http",
+      "meta",
+      "package_info_plus_platform_interface"
+    ]
+  },
+  {
+    "name": "package_info_plus_platform_interface",
+    "version": "1.0.2",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "meta",
+      "plugin_platform_interface"
+    ]
+  },
+  {
+    "name": "package_info_plus_windows",
+    "version": "2.1.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "package_info_plus_platform_interface",
+      "ffi",
+      "flutter",
+      "win32"
+    ]
+  },
+  {
+    "name": "package_info_plus_macos",
+    "version": "1.3.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter"
+    ]
+  },
+  {
+    "name": "package_info_plus_linux",
+    "version": "1.0.5",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "package_info_plus_platform_interface",
+      "flutter",
+      "path"
+    ]
+  },
+  {
+    "name": "native_imaging",
+    "version": "0.1.0",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "js",
+      "ffi"
+    ]
+  },
+  {
+    "name": "matrix_link_text",
+    "version": "1.0.2",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "url_launcher"
+    ]
+  },
+  {
+    "name": "matrix_homeserver_recommendations",
+    "version": "0.3.0",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "http",
+      "matrix_api_lite"
+    ]
+  },
+  {
+    "name": "matrix_api_lite",
+    "version": "1.1.10",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "enhanced_enum",
+      "http",
+      "mime"
+    ]
+  },
+  {
+    "name": "enhanced_enum",
+    "version": "0.2.4",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "matrix",
+    "version": "0.17.1",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "async",
+      "base58check",
+      "blurhash_dart",
+      "canonical_json",
+      "collection",
+      "crypto",
+      "ffi",
+      "hive",
+      "html",
+      "html_unescape",
+      "http",
+      "image",
+      "js",
+      "markdown",
+      "matrix_api_lite",
+      "mime",
+      "olm",
+      "random_string",
+      "sdp_transform",
+      "slugify",
+      "webrtc_interface"
+    ]
+  },
+  {
+    "name": "sdp_transform",
+    "version": "0.3.2",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "random_string",
+    "version": "2.3.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "olm",
+    "version": "2.0.2",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "js",
+      "ffi",
+      "dart_code_metrics"
+    ]
+  },
+  {
+    "name": "markdown",
+    "version": "4.0.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "args",
+      "charcode",
+      "meta"
+    ]
+  },
+  {
+    "name": "html_unescape",
+    "version": "2.0.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "hive",
+    "version": "2.2.3",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "meta",
+      "crypto"
+    ]
+  },
+  {
+    "name": "canonical_json",
+    "version": "1.1.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "typed_data",
+      "unorm_dart"
+    ]
+  },
+  {
+    "name": "unorm_dart",
+    "version": "0.2.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "blurhash_dart",
+    "version": "1.1.0",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "image"
+    ]
+  },
+  {
+    "name": "base58check",
+    "version": "2.0.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "crypto",
+      "collection"
+    ]
+  },
+  {
+    "name": "latlong2",
+    "version": "0.8.1",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "intl"
+    ]
+  },
+  {
+    "name": "intl",
+    "version": "0.17.0",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "clock",
+      "path"
+    ]
+  },
+  {
+    "name": "keyboard_shortcuts",
+    "version": "0.1.4",
+    "kind": "direct",
+    "source": "git",
+    "dependencies": [
+      "flutter",
+      "visibility_detector",
+      "tuple",
+      "collection"
+    ]
+  },
+  {
+    "name": "tuple",
+    "version": "2.0.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "visibility_detector",
+    "version": "0.3.3",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter"
+    ]
+  },
+  {
+    "name": "just_audio_mpv",
+    "version": "0.1.6",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "just_audio_platform_interface",
+      "mpv_dart"
+    ]
+  },
+  {
+    "name": "mpv_dart",
+    "version": "0.0.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "eventify",
+      "path"
+    ]
+  },
+  {
+    "name": "eventify",
+    "version": "1.0.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "just_audio_platform_interface",
+    "version": "4.2.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "plugin_platform_interface"
+    ]
+  },
+  {
+    "name": "just_audio",
+    "version": "0.9.31",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "just_audio_platform_interface",
+      "just_audio_web",
+      "audio_session",
+      "rxdart",
+      "path",
+      "path_provider",
+      "async",
+      "uuid",
+      "crypto",
+      "meta",
+      "flutter"
+    ]
+  },
+  {
+    "name": "rxdart",
+    "version": "0.27.7",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "audio_session",
+    "version": "0.1.13",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "flutter_web_plugins",
+      "rxdart",
+      "meta"
+    ]
+  },
+  {
+    "name": "just_audio_web",
+    "version": "0.4.7",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "just_audio_platform_interface",
+      "flutter",
+      "flutter_web_plugins"
+    ]
+  },
+  {
+    "name": "image_picker",
+    "version": "0.8.6+1",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "image_picker_android",
+      "image_picker_for_web",
+      "image_picker_ios",
+      "image_picker_platform_interface"
+    ]
+  },
+  {
+    "name": "image_picker_platform_interface",
+    "version": "2.6.2",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "cross_file",
+      "flutter",
+      "http",
+      "plugin_platform_interface"
+    ]
+  },
+  {
+    "name": "image_picker_ios",
+    "version": "0.8.6+6",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "image_picker_platform_interface"
+    ]
+  },
+  {
+    "name": "image_picker_for_web",
+    "version": "2.1.10",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "flutter_web_plugins",
+      "image_picker_platform_interface"
+    ]
+  },
+  {
+    "name": "image_picker_android",
+    "version": "0.8.5+5",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "flutter_plugin_android_lifecycle",
+      "image_picker_platform_interface"
+    ]
+  },
+  {
+    "name": "flutter_plugin_android_lifecycle",
+    "version": "2.0.7",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter"
+    ]
+  },
+  {
+    "name": "hive_flutter",
+    "version": "1.1.0",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "hive",
+      "path_provider",
+      "path"
+    ]
+  },
+  {
+    "name": "handy_window",
+    "version": "0.1.9",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter"
+    ]
+  },
+  {
+    "name": "geolocator",
+    "version": "7.7.1",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "geolocator_platform_interface",
+      "geolocator_android",
+      "geolocator_apple",
+      "geolocator_web"
+    ]
+  },
+  {
+    "name": "geolocator_web",
+    "version": "2.0.6",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "flutter_web_plugins",
+      "geolocator_platform_interface"
+    ]
+  },
+  {
+    "name": "geolocator_apple",
+    "version": "1.2.2",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "geolocator_platform_interface"
+    ]
+  },
+  {
+    "name": "future_loading_dialog",
+    "version": "0.2.4",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter"
+    ]
+  },
+  {
+    "name": "flutter_webrtc",
+    "version": "0.9.24",
+    "kind": "direct",
+    "source": "git",
+    "dependencies": [
+      "dart_webrtc",
+      "flutter",
+      "path_provider",
+      "webrtc_interface"
+    ]
+  },
+  {
+    "name": "dart_webrtc",
+    "version": "1.0.15",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "js",
+      "platform_detect",
+      "webrtc_interface"
+    ]
+  },
+  {
+    "name": "platform_detect",
+    "version": "2.0.7",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "meta",
+      "pub_semver"
+    ]
+  },
+  {
+    "name": "flutter_web_auth",
+    "version": "0.5.0",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "flutter_web_plugins"
+    ]
+  },
+  {
+    "name": "flutter_typeahead",
+    "version": "4.3.2",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "flutter_keyboard_visibility"
+    ]
+  },
+  {
+    "name": "flutter_keyboard_visibility",
+    "version": "5.4.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "meta",
+      "flutter_keyboard_visibility_platform_interface",
+      "flutter_keyboard_visibility_linux",
+      "flutter_keyboard_visibility_macos",
+      "flutter_keyboard_visibility_web",
+      "flutter_keyboard_visibility_windows",
+      "flutter"
+    ]
+  },
+  {
+    "name": "flutter_keyboard_visibility_windows",
+    "version": "1.0.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter_keyboard_visibility_platform_interface",
+      "flutter"
+    ]
+  },
+  {
+    "name": "flutter_keyboard_visibility_platform_interface",
+    "version": "2.0.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "meta",
+      "plugin_platform_interface"
+    ]
+  },
+  {
+    "name": "flutter_keyboard_visibility_web",
+    "version": "2.0.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter_keyboard_visibility_platform_interface",
+      "flutter_web_plugins",
+      "flutter"
+    ]
+  },
+  {
+    "name": "flutter_keyboard_visibility_macos",
+    "version": "1.0.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter_keyboard_visibility_platform_interface",
+      "flutter"
+    ]
+  },
+  {
+    "name": "flutter_keyboard_visibility_linux",
+    "version": "1.0.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter_keyboard_visibility_platform_interface",
+      "flutter"
+    ]
+  },
+  {
+    "name": "flutter_secure_storage",
+    "version": "7.0.1",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "flutter_secure_storage_linux",
+      "flutter_secure_storage_macos",
+      "flutter_secure_storage_platform_interface",
+      "flutter_secure_storage_web",
+      "flutter_secure_storage_windows",
+      "meta"
+    ]
+  },
+  {
+    "name": "flutter_secure_storage_web",
+    "version": "1.1.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "flutter_secure_storage_platform_interface",
+      "flutter_web_plugins",
+      "js"
+    ]
+  },
+  {
+    "name": "flutter_secure_storage_platform_interface",
+    "version": "1.0.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "plugin_platform_interface"
+    ]
+  },
+  {
+    "name": "flutter_secure_storage_macos",
+    "version": "2.0.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "flutter_secure_storage_platform_interface"
+    ]
+  },
+  {
+    "name": "flutter_secure_storage_linux",
+    "version": "1.1.2",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "flutter_secure_storage_platform_interface"
+    ]
+  },
+  {
+    "name": "flutter_ringtone_player",
+    "version": "3.2.0",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "path_provider"
+    ]
+  },
+  {
+    "name": "flutter_openssl_crypto",
+    "version": "0.1.0",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter"
+    ]
+  },
+  {
+    "name": "flutter_olm",
+    "version": "1.2.0",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter"
+    ]
+  },
+  {
+    "name": "flutter_matrix_html",
+    "version": "1.1.0",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "html",
+      "flutter",
+      "cached_network_image",
+      "matrix_link_text",
+      "flutter_math_fork",
+      "flutter_highlight",
+      "isolate",
+      "highlight",
+      "crypto",
+      "csslib"
+    ]
+  },
+  {
+    "name": "highlight",
+    "version": "0.7.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "collection"
+    ]
+  },
+  {
+    "name": "isolate",
+    "version": "2.1.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "flutter_highlight",
+    "version": "0.7.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "highlight"
+    ]
+  },
+  {
+    "name": "flutter_math_fork",
+    "version": "0.4.2+2",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "flutter_svg",
+      "provider",
+      "meta",
+      "collection",
+      "tuple"
+    ]
+  },
+  {
+    "name": "flutter_svg",
+    "version": "0.22.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "meta",
+      "path_drawing",
+      "vector_math",
+      "xml"
+    ]
+  },
+  {
+    "name": "path_drawing",
+    "version": "0.5.1+1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "vector_math",
+      "meta",
+      "path_parsing",
+      "flutter"
+    ]
+  },
+  {
+    "name": "path_parsing",
+    "version": "0.2.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "vector_math",
+      "meta"
+    ]
+  },
+  {
+    "name": "cached_network_image",
+    "version": "3.2.3",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "flutter_cache_manager",
+      "octo_image",
+      "cached_network_image_platform_interface",
+      "cached_network_image_web"
+    ]
+  },
+  {
+    "name": "cached_network_image_web",
+    "version": "1.0.2",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "flutter_cache_manager",
+      "cached_network_image_platform_interface"
+    ]
+  },
+  {
+    "name": "cached_network_image_platform_interface",
+    "version": "2.0.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "flutter_cache_manager"
+    ]
+  },
+  {
+    "name": "flutter_cache_manager",
+    "version": "3.3.0",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "clock",
+      "collection",
+      "file",
+      "flutter",
+      "http",
+      "path",
+      "path_provider",
+      "pedantic",
+      "rxdart",
+      "sqflite",
+      "uuid"
+    ]
+  },
+  {
+    "name": "sqflite",
+    "version": "2.2.4+1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "sqflite_common",
+      "path"
+    ]
+  },
+  {
+    "name": "sqflite_common",
+    "version": "2.4.2+2",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "synchronized",
+      "path",
+      "meta"
+    ]
+  },
+  {
+    "name": "synchronized",
+    "version": "3.0.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "pedantic",
+    "version": "1.11.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "octo_image",
+    "version": "1.0.2",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "flutter_blurhash"
+    ]
+  },
+  {
+    "name": "flutter_blurhash",
+    "version": "0.7.0",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter"
+    ]
+  },
+  {
+    "name": "flutter_map",
+    "version": "3.1.0",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "async",
+      "collection",
+      "flutter",
+      "http",
+      "latlong2",
+      "meta",
+      "polylabel",
+      "positioned_tap_detector_2",
+      "proj4dart",
+      "tuple",
+      "vector_math"
+    ]
+  },
+  {
+    "name": "proj4dart",
+    "version": "2.1.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "mgrs_dart",
+      "wkt_parser",
+      "meta"
+    ]
+  },
+  {
+    "name": "wkt_parser",
+    "version": "2.0.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "mgrs_dart",
+    "version": "2.0.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "unicode"
+    ]
+  },
+  {
+    "name": "unicode",
+    "version": "0.3.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "lists"
+    ]
+  },
+  {
+    "name": "lists",
+    "version": "1.0.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "meta"
+    ]
+  },
+  {
+    "name": "positioned_tap_detector_2",
+    "version": "1.0.4",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter"
+    ]
+  },
+  {
+    "name": "polylabel",
+    "version": "1.0.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "collection"
+    ]
+  },
+  {
+    "name": "flutter_localizations",
+    "version": "0.0.0",
+    "kind": "direct",
+    "source": "sdk",
+    "dependencies": [
+      "flutter",
+      "intl",
+      "characters",
+      "clock",
+      "collection",
+      "js",
+      "material_color_utilities",
+      "meta",
+      "path",
+      "vector_math"
+    ]
+  },
+  {
+    "name": "flutter_local_notifications",
+    "version": "12.0.4",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "clock",
+      "flutter",
+      "flutter_local_notifications_linux",
+      "flutter_local_notifications_platform_interface",
+      "timezone"
+    ]
+  },
+  {
+    "name": "timezone",
+    "version": "0.9.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "path"
+    ]
+  },
+  {
+    "name": "flutter_local_notifications_platform_interface",
+    "version": "6.0.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "plugin_platform_interface"
+    ]
+  },
+  {
+    "name": "flutter_local_notifications_linux",
+    "version": "1.0.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "flutter_local_notifications_platform_interface",
+      "dbus",
+      "path",
+      "xdg_directories"
+    ]
+  },
+  {
+    "name": "dbus",
+    "version": "0.7.3",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "args",
+      "ffi",
+      "meta",
+      "xml"
+    ]
+  },
+  {
+    "name": "flutter_foreground_task",
+    "version": "3.10.0",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "plugin_platform_interface",
+      "platform",
+      "shared_preferences",
+      "shared_preferences_android",
+      "shared_preferences_ios"
+    ]
+  },
+  {
+    "name": "flutter_app_lock",
+    "version": "3.0.0",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter"
+    ]
+  },
+  {
+    "name": "flutter_app_badger",
+    "version": "1.5.0",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter"
+    ]
+  },
+  {
+    "name": "file_picker_cross",
+    "version": "4.6.0",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "file_picker",
+      "http",
+      "http_parser",
+      "file_selector",
+      "file_selector_linux",
+      "flutter_file_dialog",
+      "path_provider",
+      "package_info_plus",
+      "share_plus",
+      "disk_space"
+    ]
+  },
+  {
+    "name": "disk_space",
+    "version": "0.2.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter"
+    ]
+  },
+  {
+    "name": "flutter_file_dialog",
+    "version": "2.3.2",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter"
+    ]
+  },
+  {
+    "name": "file_picker",
+    "version": "4.6.1",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "flutter_web_plugins",
+      "flutter_plugin_android_lifecycle",
+      "plugin_platform_interface",
+      "ffi",
+      "path",
+      "win32"
+    ]
+  },
+  {
+    "name": "emojis",
+    "version": "0.9.9",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "collection"
+    ]
+  },
+  {
+    "name": "emoji_proposal",
+    "version": "0.0.1",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "emojis",
+      "sentiment_dart"
+    ]
+  },
+  {
+    "name": "sentiment_dart",
+    "version": "0.0.5",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "remove_emoji"
+    ]
+  },
+  {
+    "name": "remove_emoji",
+    "version": "0.0.7",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "emoji_picker_flutter",
+    "version": "1.5.2",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "flutter_web_plugins",
+      "plugin_platform_interface",
+      "shared_preferences"
+    ]
+  },
+  {
+    "name": "dynamic_color",
+    "version": "1.6.0",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "flutter_test",
+      "material_color_utilities"
+    ]
+  },
+  {
+    "name": "device_info_plus",
+    "version": "8.0.0",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "device_info_plus_platform_interface",
+      "ffi",
+      "file",
+      "flutter",
+      "flutter_web_plugins",
+      "meta",
+      "win32"
+    ]
+  },
+  {
+    "name": "device_info_plus_platform_interface",
+    "version": "7.0.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "meta",
+      "plugin_platform_interface"
+    ]
+  },
+  {
+    "name": "desktop_notifications",
+    "version": "0.6.3",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "dbus"
+    ]
+  },
+  {
+    "name": "desktop_lifecycle",
+    "version": "0.1.0",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter"
+    ]
+  },
+  {
+    "name": "desktop_drop",
+    "version": "0.4.0",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "flutter_web_plugins",
+      "cross_file"
+    ]
+  },
+  {
+    "name": "cupertino_icons",
+    "version": "1.0.5",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": []
+  },
+  {
+    "name": "connectivity_plus",
+    "version": "3.0.2",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "flutter_web_plugins",
+      "connectivity_plus_platform_interface",
+      "js",
+      "meta",
+      "nm"
+    ]
+  },
+  {
+    "name": "nm",
+    "version": "0.5.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "dbus"
+    ]
+  },
+  {
+    "name": "connectivity_plus_platform_interface",
+    "version": "1.2.3",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter",
+      "meta",
+      "plugin_platform_interface"
+    ]
+  },
+  {
+    "name": "chewie",
+    "version": "1.4.0",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "cupertino_icons",
+      "flutter",
+      "provider",
+      "video_player",
+      "wakelock"
+    ]
+  },
+  {
+    "name": "callkeep",
+    "version": "0.3.3",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter"
+    ]
+  },
+  {
+    "name": "badges",
+    "version": "2.0.3",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter"
+    ]
+  },
+  {
+    "name": "animations",
+    "version": "2.0.7",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "flutter"
+    ]
+  },
+  {
+    "name": "adaptive_dialog",
+    "version": "1.8.2",
+    "kind": "direct",
+    "source": "hosted",
+    "dependencies": [
+      "animations",
+      "collection",
+      "dynamic_color",
+      "flutter",
+      "intersperse",
+      "macos_ui",
+      "meta"
+    ]
+  },
+  {
+    "name": "macos_ui",
+    "version": "1.7.6",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": [
+      "flutter"
+    ]
+  },
+  {
+    "name": "intersperse",
+    "version": "2.0.0",
+    "kind": "transitive",
+    "source": "hosted",
+    "dependencies": []
+  }
+]