diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs index 34d3416a238d..7cdd0738a1fd 100644 --- a/.git-blame-ignore-revs +++ b/.git-blame-ignore-revs @@ -160,6 +160,9 @@ ad815aebfbfe1415ff6436521d545029c803c3fb # nixos/nvidia: apply nixfmt-rfc-style (#313440) fbdcdde04a7caa007e825a8b822c75fab9adb2d6 +# treewide: reformat files which need reformatting after (#341407) +e0464e47880a69896f0fb1810f00e0de469f770a + # step-cli: format package.nix with nixfmt (#331629) fc7a83f8b62e90de5679e993d4d49ca014ea013d diff --git a/.gitattributes b/.gitattributes index 01d363cbb1c1..32cd96ef9e2c 100644 --- a/.gitattributes +++ b/.gitattributes @@ -16,3 +16,5 @@ nixos/doc/default.nix linguist-documentation=false nixos/modules/module-list.nix merge=union # pkgs/top-level/all-packages.nix merge=union + +ci/OWNERS linguist-language=CODEOWNERS diff --git a/.github/OWNERS b/.github/OWNERS deleted file mode 100644 index 94f0ef5b6934..000000000000 --- a/.github/OWNERS +++ /dev/null @@ -1,19 +0,0 @@ -# -# Currently unused! Use CODEOWNERS for now, see workflows/codeowners.yml -# -#################### -# -# This file is used to describe who owns what in this repository. -# Users/teams will get review requests for PRs that change their files. -# -# This file does not replace `meta.maintainers` -# but is instead used for other things than derivations and modules, -# like documentation, package sets, and other assets. -# -# This file uses the same syntax as the natively supported CODEOWNERS file, -# see https://help.github.com/articles/about-codeowners/ for documentation. -# However it comes with some notable differences: -# - There is no need for user/team listed here to have write access. -# - No reviews will be requested for PRs that target the wrong base branch. -# -# Processing of this file is implemented in workflows/codeowners.yml diff --git a/.github/workflows/codeowners.yml b/.github/workflows/codeowners.yml index f4c6f23a0aef..164b5a1136f2 100644 --- a/.github/workflows/codeowners.yml +++ b/.github/workflows/codeowners.yml @@ -13,13 +13,9 @@ on: types: [opened, ready_for_review, synchronize, reopened, edited] env: - # TODO: Once confirmed that this works by seeing that the action would request - # reviews from the same people (or refuse for wrong base branches), - # move all entries from CODEOWNERS to OWNERS and change this value here - # OWNERS_FILE: .github/OWNERS - OWNERS_FILE: .github/CODEOWNERS - # Also remove this - DRY_MODE: 1 + OWNERS_FILE: ci/OWNERS + # Don't do anything on draft PRs + DRY_MODE: ${{ github.event.pull_request.draft && '1' || '' }} jobs: # Check that code owners is valid @@ -84,5 +80,3 @@ jobs: run: result/bin/request-reviews.sh ${{ github.repository }} ${{ github.event.number }} "$OWNERS_FILE" env: GH_TOKEN: ${{ steps.app-token.outputs.token }} - # Don't do anything on draft PRs - DRY_MODE: ${{ github.event.pull_request.draft && '1' || '' }} diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b09cbaba14cd..74cf3c6ea7c2 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -193,19 +193,12 @@ The last checkbox is about whether it fits the guidelines in this `CONTRIBUTING. [rebase]: #rebasing-between-branches-ie-from-master-to-staging From time to time, changes between branches must be rebased, for example, if the -number of new rebuilds they would cause is too large for the target branch. When -rebasing, care must be taken to include only the intended changes, otherwise -many CODEOWNERS will be inadvertently requested for review. To achieve this, -rebasing should not be performed directly on the target branch, but on the merge -base between the current and target branch. As an additional precautionary measure, -you should temporarily mark the PR as draft for the duration of the operation. -This reduces the probability of mass-pinging people. (OfBorg might still -request a couple of persons for reviews though.) +number of new rebuilds they would cause is too large for the target branch. In the following example, we assume that the current branch, called `feature`, is based on `master`, and we rebase it onto the merge base between -`master` and `staging` so that the PR can eventually be retargeted to -`staging` without causing a mess. The example uses `upstream` as the remote for `NixOS/nixpkgs.git` +`master` and `staging` so that the PR can be retargeted to +`staging`. The example uses `upstream` as the remote for `NixOS/nixpkgs.git` while `origin` is the remote you are pushing to. @@ -234,36 +227,6 @@ git status git push origin feature --force-with-lease ``` -#### Something went wrong and a lot of people were pinged - -It happens. Remember to be kind, especially to new contributors. -There is no way back, so the pull request should be closed and locked -(if possible). The changes should be re-submitted in a new PR, in which the people -originally involved in the conversation need to manually be pinged again. -No further discussion should happen on the original PR, as a lot of people -are now subscribed to it. - -The following message (or a version thereof) might be left when closing to -describe the situation, since closing and locking without any explanation -is kind of rude: - -```markdown -It looks like you accidentally mass-pinged a bunch of people, which are now subscribed -and getting notifications for everything in this pull request. Unfortunately, they -cannot be automatically unsubscribed from the issue (removing review request does not -unsubscribe), therefore development cannot continue in this pull request anymore. - -Please open a new pull request with your changes, link back to this one and ping the -people actually involved in here over there. - -In order to avoid this in the future, there are instructions for how to properly -rebase between branches in our [contribution guidelines](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md#rebasing-between-branches-ie-from-master-to-staging). -Setting your pull request to draft prior to rebasing is strongly recommended. -In draft status, you can preview the list of people that are about to be requested -for review, which allows you to sidestep this issue. -This is not a bulletproof method though, as OfBorg still does review requests even on draft PRs. -``` - ## How to backport pull requests [pr-backport]: #how-to-backport-pull-requests @@ -637,7 +600,7 @@ Names of files and directories should be in lowercase, with dashes between words ```nix { - buildInputs = lib.optional stdenv.isDarwin iconv; + buildInputs = lib.optional stdenv.hostPlatform.isDarwin iconv; } ``` @@ -645,7 +608,7 @@ Names of files and directories should be in lowercase, with dashes between words ```nix { - buildInputs = if stdenv.isDarwin then [ iconv ] else null; + buildInputs = if stdenv.hostPlatform.isDarwin then [ iconv ] else null; } ``` diff --git a/.github/CODEOWNERS b/ci/OWNERS similarity index 95% rename from .github/CODEOWNERS rename to ci/OWNERS index b4233462e699..2e14d140b803 100644 --- a/.github/CODEOWNERS +++ b/ci/OWNERS @@ -1,22 +1,24 @@ -# CODEOWNERS file +# This file is used to describe who owns what in this repository. +# Users/teams will get review requests for PRs that change their files. # -# This file is used to describe who owns what in this repository. This file does not -# replace `meta.maintainers` but is instead used for other things than derivations -# and modules, like documentation, package sets, and other assets. +# This file does not replace `meta.maintainers` +# but is instead used for other things than derivations and modules, +# like documentation, package sets, and other assets. # -# For documentation on this file, see https://help.github.com/articles/about-codeowners/ -# Mentioned users will get code review requests. +# This file uses the same syntax as the natively supported CODEOWNERS file, +# see https://help.github.com/articles/about-codeowners/ for documentation. +# However it comes with some notable differences: +# - There is no need for user/team listed here to have write access. +# - No reviews will be requested for PRs that target the wrong base branch. # -# IMPORTANT NOTE: in order to actually get pinged, commit access is required. -# This also holds true for GitHub teams. Since almost none of our teams have write -# permissions, you need to list all members of the team with commit access individually. +# Processing of this file is implemented in workflows/codeowners.yml # CI /.github/workflows @NixOS/Security @Mic92 @zowoq /.github/workflows/check-nix-format.yml @infinisil /.github/workflows/nixpkgs-vet.yml @infinisil @philiptaron /.github/workflows/codeowners.yml @infinisil -/.github/OWNERS @infinisil +/ci/OWNERS @infinisil /ci @infinisil @philiptaron @NixOS/Security # Development support diff --git a/ci/request-reviews/get-reviewers.sh b/ci/request-reviews/get-reviewers.sh index d5cd9e0a4fd4..be0fd10c5b22 100755 --- a/ci/request-reviews/get-reviewers.sh +++ b/ci/request-reviews/get-reviewers.sh @@ -10,16 +10,18 @@ log() { echo "$@" >&2 } -if (( "$#" < 5 )); then - log "Usage: $0 GIT_REPO BASE_REF HEAD_REF OWNERS_FILE PR_AUTHOR" +if (( "$#" < 7 )); then + log "Usage: $0 GIT_REPO OWNERS_FILE BASE_REPO BASE_REF HEAD_REF PR_NUMBER PR_AUTHOR" exit 1 fi gitRepo=$1 -baseRef=$2 -headRef=$3 -ownersFile=$4 -prAuthor=$5 +ownersFile=$2 +baseRepo=$3 +baseRef=$4 +headRef=$5 +prNumber=$6 +prAuthor=$7 tmp=$(mktemp -d) trap 'rm -rf "$tmp"' exit @@ -32,8 +34,8 @@ log "This PR touches ${#touchedFiles[@]} files" # remove code owners to avoid pinging them git -C "$gitRepo" show "$baseRef":"$ownersFile" > "$tmp"/codeowners -# Associative arrays with the team/user as the key for easy deduplication -declare -A teams users +# Associative array with the user as the key for easy de-duplication +declare -A users=() for file in "${touchedFiles[@]}"; do result=$(codeowners --file "$tmp"/codeowners "$file") @@ -59,10 +61,34 @@ for file in "${touchedFiles[@]}"; do fi # The first regex match is everything after the @ entry=${BASH_REMATCH[1]} - if [[ "$entry" =~ .*/(.*) ]]; then - # Teams look like $org/$team, where we only need $team for the API - # call to request reviews from teams - teams[${BASH_REMATCH[1]}]= + + if [[ "$entry" =~ (.*)/(.*) ]]; then + # Teams look like $org/$team + org=${BASH_REMATCH[1]} + team=${BASH_REMATCH[2]} + + # Instead of requesting a review from the team itself, + # we request reviews from the individual users. + # This is because once somebody from a team reviewed the PR, + # the API doesn't expose that the team was already requested for a review, + # so we wouldn't be able to avoid rerequesting reviews + # without saving some some extra state somewhere + + # We could also consider implementing a more advanced heuristic + # in the future that e.g. only pings one team member, + # but escalates to somebody else if that member doesn't respond in time. + gh api \ + --cache=1h \ + -H "Accept: application/vnd.github+json" \ + -H "X-GitHub-Api-Version: 2022-11-28" \ + "/orgs/$org/teams/$team/members" \ + --jq '.[].login' > "$tmp/team-members" + readarray -t members < "$tmp/team-members" + log "Team $entry has these members: ${members[*]}" + + for user in "${members[@]}"; do + users[$user]= + done else # Everything else is a user users[$entry]= @@ -77,11 +103,23 @@ if [[ -v users[$prAuthor] ]]; then unset 'users[$prAuthor]' fi +gh api \ + -H "Accept: application/vnd.github+json" \ + -H "X-GitHub-Api-Version: 2022-11-28" \ + "/repos/$baseRepo/pulls/$prNumber/reviews" \ + --jq '.[].user.login' > "$tmp/already-reviewed-by" + +# And we don't want to rerequest reviews from people who already reviewed +while read -r user; do + if [[ -v users[$user] ]]; then + log "User $user is a code owner but has already left a review, ignoring" + unset 'users[$user]' + fi +done < "$tmp/already-reviewed-by" + # Turn it into a JSON for the GitHub API call to request PR reviewers jq -n \ --arg users "${!users[*]}" \ - --arg teams "${!teams[*]}" \ '{ reviewers: $users | split(" "), - team_reviewers: $teams | split(" ") }' diff --git a/ci/request-reviews/request-reviews.sh b/ci/request-reviews/request-reviews.sh index d62ab309bcc8..a70a95a65b3a 100755 --- a/ci/request-reviews/request-reviews.sh +++ b/ci/request-reviews/request-reviews.sh @@ -80,7 +80,7 @@ if ! "$SCRIPT_DIR"/verify-base-branch.sh "$tmp/nixpkgs.git" "$headRef" "$baseRep fi log "Getting code owners to request reviews from" -"$SCRIPT_DIR"/get-reviewers.sh "$tmp/nixpkgs.git" "$baseBranch" "$headRef" "$ownersFile" "$prAuthor" > "$tmp/reviewers.json" +"$SCRIPT_DIR"/get-reviewers.sh "$tmp/nixpkgs.git" "$ownersFile" "$baseRepo" "$baseBranch" "$headRef" "$prNumber" "$prAuthor" > "$tmp/reviewers.json" log "Requesting reviews from: $(<"$tmp/reviewers.json")" diff --git a/ci/request-reviews/verify-base-branch.sh b/ci/request-reviews/verify-base-branch.sh index 17d721c5ddd1..7be280db8d65 100755 --- a/ci/request-reviews/verify-base-branch.sh +++ b/ci/request-reviews/verify-base-branch.sh @@ -90,8 +90,9 @@ for testBranch in "${devBranches[@]}"; do log -e "\e[33m" echo "The PR's base branch is set to $baseBranch, but $extraCommits commits from the $testBranch branch are included. Make sure you know the [right base branch for your changes](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md#branch-conventions), then:" echo "- If the changes should go to the $testBranch branch, [change the base branch](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-base-branch-of-a-pull-request) to $testBranch" - echo "- If the changes should go to the $baseBranch branch, rebase your PR onto the merge base with the $testBranch branch:" - echo " \`\`\`" + echo "- If the changes should go to the $baseBranch branch, rebase your PR onto the merge base with the $baseBranch branch:" + echo " \`\`\`bash" + echo " # git rebase --onto \$(git merge-base upstream/$baseBranch HEAD) \$(git merge-base upstream/$testBranch HEAD)" echo " git rebase --onto $prMergeBase $testMergeBase" echo " git push --force-with-lease" echo " \`\`\`" diff --git a/doc/languages-frameworks/beam.section.md b/doc/languages-frameworks/beam.section.md index 3653cdb337d1..2aac65900b9a 100644 --- a/doc/languages-frameworks/beam.section.md +++ b/doc/languages-frameworks/beam.section.md @@ -349,8 +349,8 @@ let nodePackages.prettier ]; - inputs = basePackages ++ lib.optionals stdenv.isLinux [ inotify-tools ] - ++ lib.optionals stdenv.isDarwin + inputs = basePackages ++ lib.optionals stdenv.hostPlatform.isLinux [ inotify-tools ] + ++ lib.optionals stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [ CoreFoundation CoreServices ]); # define shell startup command diff --git a/doc/languages-frameworks/emscripten.section.md b/doc/languages-frameworks/emscripten.section.md index 9ce48db2c2de..d1ed62d0503f 100644 --- a/doc/languages-frameworks/emscripten.section.md +++ b/doc/languages-frameworks/emscripten.section.md @@ -84,7 +84,7 @@ One advantage is that when `pkgs.zlib` is updated, it will automatically update echo "================= /testing zlib using node =================" ''; - postPatch = pkgs.lib.optionalString pkgs.stdenv.isDarwin '' + postPatch = pkgs.lib.optionalString pkgs.stdenv.hostPlatform.isDarwin '' substituteInPlace configure \ --replace-fail '/usr/bin/libtool' 'ar' \ --replace-fail 'AR="libtool"' 'AR="ar"' \ diff --git a/doc/languages-frameworks/perl.section.md b/doc/languages-frameworks/perl.section.md index a3d76a44f656..843d46584cdd 100644 --- a/doc/languages-frameworks/perl.section.md +++ b/doc/languages-frameworks/perl.section.md @@ -125,8 +125,8 @@ On Darwin, if a script has too many `-Idir` flags in its first line (its “sheb hash = "sha256-vOhB/FwQMC8PPvdnjDvxRpU6jAZcC6GMQfc0AH4uwKg="; }; - nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang; - postInstall = lib.optionalString stdenv.isDarwin '' + nativeBuildInputs = lib.optional stdenv.hostPlatform.isDarwin shortenPerlShebang; + postInstall = lib.optionalString stdenv.hostPlatform.isDarwin '' shortenPerlShebang $out/bin/exiftool ''; }; diff --git a/doc/languages-frameworks/python.section.md b/doc/languages-frameworks/python.section.md index e0127bd3d47d..3d9736da7fa0 100644 --- a/doc/languages-frameworks/python.section.md +++ b/doc/languages-frameworks/python.section.md @@ -1306,7 +1306,7 @@ for example: ] ++ lib.optionals (pythonAtLeast "3.8") [ # broken due to python3.8 async changes "async" - ] ++ lib.optionals stdenv.isDarwin [ + ] ++ lib.optionals stdenv.buildPlatform.isDarwin [ # can fail when building with other packages "socket" ]; diff --git a/doc/stdenv/platform-notes.chapter.md b/doc/stdenv/platform-notes.chapter.md index 409c9f2e7b2e..9b0fdd149f9a 100644 --- a/doc/stdenv/platform-notes.chapter.md +++ b/doc/stdenv/platform-notes.chapter.md @@ -22,7 +22,7 @@ Some common issues when packaging software for Darwin: stdenv.mkDerivation { name = "libfoo-1.2.3"; # ... - makeFlags = lib.optional stdenv.isDarwin "LDFLAGS=-Wl,-install_name,$(out)/lib/libfoo.dylib"; + makeFlags = lib.optional stdenv.hostPlatform.isDarwin "LDFLAGS=-Wl,-install_name,$(out)/lib/libfoo.dylib"; } ``` diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 3a1645c55170..5b2f39708c7e 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -668,6 +668,12 @@ githubId = 19290901; name = "Andrew Brooks"; }; + agilesteel = { + email = "agilesteel@gmail.com"; + github = "agilesteel"; + githubId = 1141462; + name = "Vladyslav Pekker"; + }; aherrmann = { email = "andreash87@gmx.ch"; github = "aherrmann"; @@ -8239,6 +8245,13 @@ github = "hacker1024"; githubId = 20849728; }; + hadilq = { + name = "Hadi Lashkari Ghouchani"; + email = "hadilq.dev@gmail.com"; + github = "hadilq"; + githubId = 5190539; + keys = [ { fingerprint = "AD3D 53CB A68A FEC0 8065 BCBB 416A D9E8 E372 C075"; } ]; + }; hagl = { email = "harald@glie.be"; github = "hagl"; @@ -13923,6 +13936,13 @@ name = "Mark Vainomaa"; keys = [ { fingerprint = "DB43 2895 CF68 F0CE D4B7 EF60 DA01 5B05 B5A1 1B22"; } ]; }; + mikut = { + email = "mikut@mikut.dev"; + github = "Mikutut"; + githubId = 65046942; + name = "Marcin Mikuła"; + keys = [ { fingerprint = "5547 2A56 AC30 69C9 15C8 B98D 997F 71FA 1D74 6E37"; } ]; + }; milahu = { email = "milahu@gmail.com"; github = "milahu"; diff --git a/nixos/doc/manual/release-notes/rl-2411.section.md b/nixos/doc/manual/release-notes/rl-2411.section.md index 4c27a603167e..07c094e822e9 100644 --- a/nixos/doc/manual/release-notes/rl-2411.section.md +++ b/nixos/doc/manual/release-notes/rl-2411.section.md @@ -229,6 +229,8 @@ - `buildbot` was updated to 4.0, the AngularJS frontend has been replaced by a React frontend, see the [upstream release notes](https://docs.buildbot.net/current/manual/upgrading/4.0-upgrade.html). +- `headscale` has been updated to version 0.23.0 which reworked large parts of the configuration including DNS, Magic DNS prefixes and ACL policy files. See the [upstream changelog](https://github.com/juanfont/headscale/releases/tag/v0.23.0) for details. + - `nginx` package no longer includes `gd` and `geoip` dependencies. For enabling it, override `nginx` package with the optionals `withImageFilter` and `withGeoIP`. - `systemd.enableUnifiedCgroupHierarchy` option has been removed. diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 193cb43118f4..c86a571cc0c0 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -1231,6 +1231,7 @@ ./services/networking/syncthing.nix ./services/networking/tailscale.nix ./services/networking/tailscale-auth.nix + ./services/networking/tailscale-derper.nix ./services/networking/tayga.nix ./services/networking/tcpcrypt.nix ./services/networking/teamspeak3.nix diff --git a/nixos/modules/services/misc/redmine.nix b/nixos/modules/services/misc/redmine.nix index 549228a4dae4..4cd2f35113ec 100644 --- a/nixos/modules/services/misc/redmine.nix +++ b/nixos/modules/services/misc/redmine.nix @@ -436,6 +436,30 @@ in TimeoutSec = "300"; WorkingDirectory = "${cfg.package}/share/redmine"; ExecStart="${bundle} exec rails server -u webrick -e production -b ${toString cfg.address} -p ${toString cfg.port} -P '${cfg.stateDir}/redmine.pid'"; + AmbientCapabilities = ""; + CapabilityBoundingSet = ""; + LockPersonality = true; + MemoryDenyWriteExecute = true; + NoNewPrivileges = true; + PrivateDevices = true; + PrivateTmp = true; + ProcSubset = "pid"; + ProtectClock = true; + ProtectControlGroups = true; + ProtectHome = true; + ProtectHostname = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + ProtectProc = "noaccess"; + ProtectSystem = "full"; + RemoveIPC = true; + RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" ]; + RestrictNamespaces = true; + RestrictRealtime = true; + RestrictSUIDSGID = true; + SystemCallArchitectures = "native"; + UMask = 027; }; }; diff --git a/nixos/modules/services/networking/headscale.nix b/nixos/modules/services/networking/headscale.nix index ea66faeabbf2..622a13fe7b61 100644 --- a/nixos/modules/services/networking/headscale.nix +++ b/nixos/modules/services/networking/headscale.nix @@ -3,25 +3,33 @@ lib, pkgs, ... -}: -with lib; let +}: let cfg = config.services.headscale; dataDir = "/var/lib/headscale"; runDir = "/run/headscale"; + cliConfig = { + # Turn off update checks since the origin of our package + # is nixpkgs and not Github. + disable_check_updates = true; + + unix_socket = "${runDir}/headscale.sock"; + }; + settingsFormat = pkgs.formats.yaml {}; configFile = settingsFormat.generate "headscale.yaml" cfg.settings; + cliConfigFile = settingsFormat.generate "headscale.yaml" cliConfig; in { options = { services.headscale = { - enable = mkEnableOption "headscale, Open Source coordination server for Tailscale"; + enable = lib.mkEnableOption "headscale, Open Source coordination server for Tailscale"; - package = mkPackageOption pkgs "headscale" { }; + package = lib.mkPackageOption pkgs "headscale" {}; - user = mkOption { + user = lib.mkOption { default = "headscale"; - type = types.str; + type = lib.types.str; description = '' User account under which headscale runs. @@ -33,9 +41,9 @@ in { ''; }; - group = mkOption { + group = lib.mkOption { default = "headscale"; - type = types.str; + type = lib.types.str; description = '' Group under which headscale runs. @@ -47,8 +55,8 @@ in { ''; }; - address = mkOption { - type = types.str; + address = lib.mkOption { + type = lib.types.str; default = "127.0.0.1"; description = '' Listening address of headscale. @@ -56,8 +64,8 @@ in { example = "0.0.0.0"; }; - port = mkOption { - type = types.port; + port = lib.mkOption { + type = lib.types.port; default = 8080; description = '' Listening port of headscale. @@ -65,18 +73,33 @@ in { example = 443; }; - settings = mkOption { + settings = lib.mkOption { description = '' Overrides to {file}`config.yaml` as a Nix attribute set. Check the [example config](https://github.com/juanfont/headscale/blob/main/config-example.yaml) for possible options. ''; - type = types.submodule { + type = lib.types.submodule { freeformType = settingsFormat.type; + imports = with lib; [ + (mkAliasOptionModule ["acl_policy_path"] ["policy" "path"]) + (mkAliasOptionModule ["db_host"] ["database" "postgres" "host"]) + (mkAliasOptionModule ["db_name"] ["database" "postgres" "name"]) + (mkAliasOptionModule ["db_password_file"] ["database" "postgres" "password_file"]) + (mkAliasOptionModule ["db_path"] ["database" "sqlite" "path"]) + (mkAliasOptionModule ["db_port"] ["database" "postgres" "port"]) + (mkAliasOptionModule ["db_type"] ["database" "type"]) + (mkAliasOptionModule ["db_user"] ["database" "postgres" "user"]) + (mkAliasOptionModule ["dns_config" "base_domain"] ["dns" "base_domain"]) + (mkAliasOptionModule ["dns_config" "domains"] ["dns" "search_domains"]) + (mkAliasOptionModule ["dns_config" "magic_dns"] ["dns" "magic_dns"]) + (mkAliasOptionModule ["dns_config" "nameservers"] ["dns" "nameservers" "global"]) + ]; + options = { - server_url = mkOption { - type = types.str; + server_url = lib.mkOption { + type = lib.types.str; default = "http://127.0.0.1:8080"; description = '' The url clients will connect to. @@ -84,25 +107,49 @@ in { example = "https://myheadscale.example.com:443"; }; - private_key_path = mkOption { - type = types.path; - default = "${dataDir}/private.key"; - description = '' - Path to private key file, generated automatically if it does not exist. - ''; - }; - - noise.private_key_path = mkOption { - type = types.path; + noise.private_key_path = lib.mkOption { + type = lib.types.path; default = "${dataDir}/noise_private.key"; description = '' Path to noise private key file, generated automatically if it does not exist. ''; }; + prefixes = let + prefDesc = '' + Each prefix consists of either an IPv4 or IPv6 address, + and the associated prefix length, delimited by a slash. + It must be within IP ranges supported by the Tailscale + client - i.e., subnets of 100.64.0.0/10 and fd7a:115c:a1e0::/48. + ''; + in { + v4 = lib.mkOption { + type = lib.types.str; + default = "100.64.0.0/10"; + description = prefDesc; + }; + + v6 = lib.mkOption { + type = lib.types.str; + default = "fd7a:115c:a1e0::/48"; + description = prefDesc; + }; + + allocation = lib.mkOption { + type = lib.types.enum ["sequential" "random"]; + example = "random"; + default = "sequential"; + description = '' + Strategy used for allocation of IPs to nodes, available options: + - sequential (default): assigns the next free IP from the previous given IP. + - random: assigns the next free IP from a pseudo-random IP generator (crypto/rand). + ''; + }; + }; + derp = { - urls = mkOption { - type = types.listOf types.str; + urls = lib.mkOption { + type = lib.types.listOf lib.types.str; default = ["https://controlplane.tailscale.com/derpmap/default"]; description = '' List of urls containing DERP maps. @@ -110,8 +157,8 @@ in { ''; }; - paths = mkOption { - type = types.listOf types.path; + paths = lib.mkOption { + type = lib.types.listOf lib.types.path; default = []; description = '' List of file paths containing DERP maps. @@ -119,8 +166,8 @@ in { ''; }; - auto_update_enable = mkOption { - type = types.bool; + auto_update_enable = lib.mkOption { + type = lib.types.bool; default = true; description = '' Whether to automatically update DERP maps on a set frequency. @@ -128,18 +175,26 @@ in { example = false; }; - update_frequency = mkOption { - type = types.str; + update_frequency = lib.mkOption { + type = lib.types.str; default = "24h"; description = '' Frequency to update DERP maps. ''; example = "5m"; }; + + server.private_key_path = lib.mkOption { + type = lib.types.path; + default = "${dataDir}/derp_server_private.key"; + description = '' + Path to derp private key file, generated automatically if it does not exist. + ''; + }; }; - ephemeral_node_inactivity_timeout = mkOption { - type = types.str; + ephemeral_node_inactivity_timeout = lib.mkOption { + type = lib.types.str; default = "30m"; description = '' Time before an inactive ephemeral node is deleted. @@ -147,104 +202,100 @@ in { example = "5m"; }; - db_type = mkOption { - type = types.enum ["sqlite3" "postgres"]; - example = "postgres"; - default = "sqlite3"; - description = "Database engine to use."; - }; - - db_host = mkOption { - type = types.nullOr types.str; - default = null; - example = "127.0.0.1"; - description = "Database host address."; - }; - - db_port = mkOption { - type = types.nullOr types.port; - default = null; - example = 3306; - description = "Database host port."; - }; - - db_name = mkOption { - type = types.nullOr types.str; - default = null; - example = "headscale"; - description = "Database name."; - }; - - db_user = mkOption { - type = types.nullOr types.str; - default = null; - example = "headscale"; - description = "Database user."; - }; - - db_password_file = mkOption { - type = types.nullOr types.path; - default = null; - example = "/run/keys/headscale-dbpassword"; - description = '' - A file containing the password corresponding to - {option}`database.user`. - ''; - }; - - db_path = mkOption { - type = types.nullOr types.str; - default = "${dataDir}/db.sqlite"; - description = "Path to the sqlite3 database file."; - }; - - log.level = mkOption { - type = types.str; - default = "info"; - description = '' - headscale log level. - ''; - example = "debug"; - }; - - log.format = mkOption { - type = types.str; - default = "text"; - description = '' - headscale log format. - ''; - example = "json"; - }; - - dns_config = { - nameservers = mkOption { - type = types.listOf types.str; - default = ["1.1.1.1"]; + database = { + type = lib.mkOption { + type = lib.types.enum ["sqlite" "sqlite3" "postgres"]; + example = "postgres"; + default = "sqlite"; description = '' - List of nameservers to pass to Tailscale clients. + Database engine to use. + Please note that using Postgres is highly discouraged as it is only supported for legacy reasons. + All new development, testing and optimisations are done with SQLite in mind. ''; }; - override_local_dns = mkOption { - type = types.bool; - default = false; - description = '' - Whether to use [Override local DNS](https://tailscale.com/kb/1054/dns/). - ''; - example = true; + sqlite = { + path = lib.mkOption { + type = lib.types.nullOr lib.types.str; + default = "${dataDir}/db.sqlite"; + description = "Path to the sqlite3 database file."; + }; + + write_ahead_log = lib.mkOption { + type = lib.types.bool; + default = true; + description = '' + Enable WAL mode for SQLite. This is recommended for production environments. + https://www.sqlite.org/wal.html + ''; + example = true; + }; }; - domains = mkOption { - type = types.listOf types.str; - default = []; + postgres = { + host = lib.mkOption { + type = lib.types.nullOr lib.types.str; + default = null; + example = "127.0.0.1"; + description = "Database host address."; + }; + + port = lib.mkOption { + type = lib.types.nullOr lib.types.port; + default = null; + example = 3306; + description = "Database host port."; + }; + + name = lib.mkOption { + type = lib.types.nullOr lib.types.str; + default = null; + example = "headscale"; + description = "Database name."; + }; + + user = lib.mkOption { + type = lib.types.nullOr lib.types.str; + default = null; + example = "headscale"; + description = "Database user."; + }; + + password_file = lib.mkOption { + type = lib.types.nullOr lib.types.path; + default = null; + example = "/run/keys/headscale-dbpassword"; + description = '' + A file containing the password corresponding to + {option}`database.user`. + ''; + }; + }; + }; + + log = { + level = lib.mkOption { + type = lib.types.str; + default = "info"; description = '' - Search domains to inject to Tailscale clients. + headscale log level. ''; - example = ["mydomain.internal"]; + example = "debug"; }; - magic_dns = mkOption { - type = types.bool; + format = lib.mkOption { + type = lib.types.str; + default = "text"; + description = '' + headscale log format. + ''; + example = "json"; + }; + }; + + dns = { + magic_dns = lib.mkOption { + type = lib.types.bool; default = true; description = '' Whether to use [MagicDNS](https://tailscale.com/kb/1081/magicdns/). @@ -253,8 +304,8 @@ in { example = false; }; - base_domain = mkOption { - type = types.str; + base_domain = lib.mkOption { + type = lib.types.str; default = ""; description = '' Defines the base domain to create the hostnames for MagicDNS. @@ -264,11 +315,30 @@ in { `myhost.mynamespace.example.com`). ''; }; + + nameservers = { + global = lib.mkOption { + type = lib.types.listOf lib.types.str; + default = []; + description = '' + List of nameservers to pass to Tailscale clients. + ''; + }; + }; + + search_domains = lib.mkOption { + type = lib.types.listOf lib.types.str; + default = []; + description = '' + Search domains to inject to Tailscale clients. + ''; + example = ["mydomain.internal"]; + }; }; oidc = { - issuer = mkOption { - type = types.str; + issuer = lib.mkOption { + type = lib.types.str; default = ""; description = '' URL to OpenID issuer. @@ -276,33 +346,33 @@ in { example = "https://openid.example.com"; }; - client_id = mkOption { - type = types.str; + client_id = lib.mkOption { + type = lib.types.str; default = ""; description = '' OpenID Connect client ID. ''; }; - client_secret_path = mkOption { - type = types.nullOr types.str; + client_secret_path = lib.mkOption { + type = lib.types.nullOr lib.types.str; default = null; description = '' Path to OpenID Connect client secret file. Expands environment variables in format ''${VAR}. ''; }; - scope = mkOption { - type = types.listOf types.str; + scope = lib.mkOption { + type = lib.types.listOf lib.types.str; default = ["openid" "profile" "email"]; description = '' Scopes used in the OIDC flow. ''; }; - extra_params = mkOption { - type = types.attrsOf types.str; - default = { }; + extra_params = lib.mkOption { + type = lib.types.attrsOf lib.types.str; + default = {}; description = '' Custom query parameters to send with the Authorize Endpoint request. ''; @@ -311,27 +381,27 @@ in { }; }; - allowed_domains = mkOption { - type = types.listOf types.str; - default = [ ]; + allowed_domains = lib.mkOption { + type = lib.types.listOf lib.types.str; + default = []; description = '' Allowed principal domains. if an authenticated user's domain is not in this list authentication request will be rejected. ''; - example = [ "example.com" ]; + example = ["example.com"]; }; - allowed_users = mkOption { - type = types.listOf types.str; - default = [ ]; + allowed_users = lib.mkOption { + type = lib.types.listOf lib.types.str; + default = []; description = '' Users allowed to authenticate even if not in allowedDomains. ''; - example = [ "alice@example.com" ]; + example = ["alice@example.com"]; }; - strip_email_domain = mkOption { - type = types.bool; + strip_email_domain = lib.mkOption { + type = lib.types.bool; default = true; description = '' Whether the domain part of the email address should be removed when generating namespaces. @@ -339,16 +409,16 @@ in { }; }; - tls_letsencrypt_hostname = mkOption { - type = types.nullOr types.str; + tls_letsencrypt_hostname = lib.mkOption { + type = lib.types.nullOr lib.types.str; default = ""; description = '' Domain name to request a TLS certificate for. ''; }; - tls_letsencrypt_challenge_type = mkOption { - type = types.enum ["TLS-ALPN-01" "HTTP-01"]; + tls_letsencrypt_challenge_type = lib.mkOption { + type = lib.types.enum ["TLS-ALPN-01" "HTTP-01"]; default = "HTTP-01"; description = '' Type of ACME challenge to use, currently supported types: @@ -356,8 +426,8 @@ in { ''; }; - tls_letsencrypt_listen = mkOption { - type = types.nullOr types.str; + tls_letsencrypt_listen = lib.mkOption { + type = lib.types.nullOr lib.types.str; default = ":http"; description = '' When HTTP-01 challenge is chosen, letsencrypt must set up a @@ -366,28 +436,40 @@ in { ''; }; - tls_cert_path = mkOption { - type = types.nullOr types.path; + tls_cert_path = lib.mkOption { + type = lib.types.nullOr lib.types.path; default = null; description = '' Path to already created certificate. ''; }; - tls_key_path = mkOption { - type = types.nullOr types.path; + tls_key_path = lib.mkOption { + type = lib.types.nullOr lib.types.path; default = null; description = '' Path to key for already created certificate. ''; }; - acl_policy_path = mkOption { - type = types.nullOr types.path; - default = null; - description = '' - Path to a file containing ACL policies. - ''; + policy = { + mode = lib.mkOption { + type = lib.types.enum ["file" "database"]; + default = "file"; + description = '' + The mode can be "file" or "database" that defines + where the ACL policies are stored and read from. + ''; + }; + + path = lib.mkOption { + type = lib.types.nullOr lib.types.path; + default = null; + description = '' + If the mode is set to "file", the path to a + HuJSON file containing ACL policies. + ''; + }; }; }; }; @@ -395,67 +477,49 @@ in { }; }; - imports = [ - # TODO address + port = listen_addr - (mkRenamedOptionModule ["services" "headscale" "serverUrl"] ["services" "headscale" "settings" "server_url"]) - (mkRenamedOptionModule ["services" "headscale" "privateKeyFile"] ["services" "headscale" "settings" "private_key_path"]) - (mkRenamedOptionModule ["services" "headscale" "derp" "urls"] ["services" "headscale" "settings" "derp" "urls"]) - (mkRenamedOptionModule ["services" "headscale" "derp" "paths"] ["services" "headscale" "settings" "derp" "paths"]) + imports = with lib; [ (mkRenamedOptionModule ["services" "headscale" "derp" "autoUpdate"] ["services" "headscale" "settings" "derp" "auto_update_enable"]) + (mkRenamedOptionModule ["services" "headscale" "derp" "paths"] ["services" "headscale" "settings" "derp" "paths"]) (mkRenamedOptionModule ["services" "headscale" "derp" "updateFrequency"] ["services" "headscale" "settings" "derp" "update_frequency"]) + (mkRenamedOptionModule ["services" "headscale" "derp" "urls"] ["services" "headscale" "settings" "derp" "urls"]) (mkRenamedOptionModule ["services" "headscale" "ephemeralNodeInactivityTimeout"] ["services" "headscale" "settings" "ephemeral_node_inactivity_timeout"]) - (mkRenamedOptionModule ["services" "headscale" "database" "type"] ["services" "headscale" "settings" "db_type"]) - (mkRenamedOptionModule ["services" "headscale" "database" "path"] ["services" "headscale" "settings" "db_path"]) - (mkRenamedOptionModule ["services" "headscale" "database" "host"] ["services" "headscale" "settings" "db_host"]) - (mkRenamedOptionModule ["services" "headscale" "database" "port"] ["services" "headscale" "settings" "db_port"]) - (mkRenamedOptionModule ["services" "headscale" "database" "name"] ["services" "headscale" "settings" "db_name"]) - (mkRenamedOptionModule ["services" "headscale" "database" "user"] ["services" "headscale" "settings" "db_user"]) - (mkRenamedOptionModule ["services" "headscale" "database" "passwordFile"] ["services" "headscale" "settings" "db_password_file"]) (mkRenamedOptionModule ["services" "headscale" "logLevel"] ["services" "headscale" "settings" "log" "level"]) - (mkRenamedOptionModule ["services" "headscale" "dns" "nameservers"] ["services" "headscale" "settings" "dns_config" "nameservers"]) - (mkRenamedOptionModule ["services" "headscale" "dns" "domains"] ["services" "headscale" "settings" "dns_config" "domains"]) - (mkRenamedOptionModule ["services" "headscale" "dns" "magicDns"] ["services" "headscale" "settings" "dns_config" "magic_dns"]) - (mkRenamedOptionModule ["services" "headscale" "dns" "baseDomain"] ["services" "headscale" "settings" "dns_config" "base_domain"]) - (mkRenamedOptionModule ["services" "headscale" "openIdConnect" "issuer"] ["services" "headscale" "settings" "oidc" "issuer"]) (mkRenamedOptionModule ["services" "headscale" "openIdConnect" "clientId"] ["services" "headscale" "settings" "oidc" "client_id"]) (mkRenamedOptionModule ["services" "headscale" "openIdConnect" "clientSecretFile"] ["services" "headscale" "settings" "oidc" "client_secret_path"]) - (mkRenamedOptionModule ["services" "headscale" "tls" "letsencrypt" "hostname"] ["services" "headscale" "settings" "tls_letsencrypt_hostname"]) - (mkRenamedOptionModule ["services" "headscale" "tls" "letsencrypt" "challengeType"] ["services" "headscale" "settings" "tls_letsencrypt_challenge_type"]) - (mkRenamedOptionModule ["services" "headscale" "tls" "letsencrypt" "httpListen"] ["services" "headscale" "settings" "tls_letsencrypt_listen"]) + (mkRenamedOptionModule ["services" "headscale" "openIdConnect" "issuer"] ["services" "headscale" "settings" "oidc" "issuer"]) + (mkRenamedOptionModule ["services" "headscale" "serverUrl"] ["services" "headscale" "settings" "server_url"]) (mkRenamedOptionModule ["services" "headscale" "tls" "certFile"] ["services" "headscale" "settings" "tls_cert_path"]) (mkRenamedOptionModule ["services" "headscale" "tls" "keyFile"] ["services" "headscale" "settings" "tls_key_path"]) - (mkRenamedOptionModule ["services" "headscale" "aclPolicyFile"] ["services" "headscale" "settings" "acl_policy_path"]) + (mkRenamedOptionModule ["services" "headscale" "tls" "letsencrypt" "challengeType"] ["services" "headscale" "settings" "tls_letsencrypt_challenge_type"]) + (mkRenamedOptionModule ["services" "headscale" "tls" "letsencrypt" "hostname"] ["services" "headscale" "settings" "tls_letsencrypt_hostname"]) + (mkRenamedOptionModule ["services" "headscale" "tls" "letsencrypt" "httpListen"] ["services" "headscale" "settings" "tls_letsencrypt_listen"]) (mkRemovedOptionModule ["services" "headscale" "openIdConnect" "domainMap"] '' Headscale no longer uses domain_map. If you're using an old version of headscale you can still set this option via services.headscale.settings.oidc.domain_map. '') ]; - config = mkIf cfg.enable { - services.headscale.settings = { - listen_addr = mkDefault "${cfg.address}:${toString cfg.port}"; + config = lib.mkIf cfg.enable { + services.headscale.settings = lib.mkMerge [ + cliConfig + { + listen_addr = lib.mkDefault "${cfg.address}:${toString cfg.port}"; - # Turn off update checks since the origin of our package - # is nixpkgs and not Github. - disable_check_updates = true; - - unix_socket = "${runDir}/headscale.sock"; - - tls_letsencrypt_cache_dir = "${dataDir}/.cache"; - }; + tls_letsencrypt_cache_dir = "${dataDir}/.cache"; + } + ]; environment = { - # Setup the headscale configuration in a known path in /etc to - # allow both the Server and the Client use it to find the socket - # for communication. - etc."headscale/config.yaml".source = configFile; + # Headscale CLI needs a minimal config to be able to locate the unix socket + # to talk to the server instance. + etc."headscale/config.yaml".source = cliConfigFile; - systemPackages = [ cfg.package ]; + systemPackages = [cfg.package]; }; - users.groups.headscale = mkIf (cfg.group == "headscale") {}; + users.groups.headscale = lib.mkIf (cfg.group == "headscale") {}; - users.users.headscale = mkIf (cfg.user == "headscale") { + users.users.headscale = lib.mkIf (cfg.user == "headscale") { description = "headscale user"; home = dataDir; group = cfg.group; @@ -464,23 +528,20 @@ in { systemd.services.headscale = { description = "headscale coordination server for Tailscale"; - wants = [ "network-online.target" ]; + wants = ["network-online.target"]; after = ["network-online.target"]; wantedBy = ["multi-user.target"]; - restartTriggers = [configFile]; - - environment.GIN_MODE = "release"; script = '' - ${optionalString (cfg.settings.db_password_file != null) '' - export HEADSCALE_DB_PASS="$(head -n1 ${escapeShellArg cfg.settings.db_password_file})" + ${lib.optionalString (cfg.settings.database.postgres.password_file != null) '' + export HEADSCALE_DATABASE_POSTGRES_PASS="$(head -n1 ${lib.escapeShellArg cfg.settings.database.postgres.password_file})" ''} - exec ${cfg.package}/bin/headscale serve + exec ${lib.getExe cfg.package} serve --config ${configFile} ''; serviceConfig = let - capabilityBoundingSet = ["CAP_CHOWN"] ++ optional (cfg.port < 1024) "CAP_NET_BIND_SERVICE"; + capabilityBoundingSet = ["CAP_CHOWN"] ++ lib.optional (cfg.port < 1024) "CAP_NET_BIND_SERVICE"; in { Restart = "always"; Type = "simple"; @@ -525,5 +586,5 @@ in { }; }; - meta.maintainers = with maintainers; [kradalby misterio77]; + meta.maintainers = with lib.maintainers; [kradalby misterio77]; } diff --git a/nixos/modules/services/networking/tailscale-derper.nix b/nixos/modules/services/networking/tailscale-derper.nix new file mode 100644 index 000000000000..9549cc5c6640 --- /dev/null +++ b/nixos/modules/services/networking/tailscale-derper.nix @@ -0,0 +1,132 @@ +{ + config, + lib, + pkgs, + ... +}: + +let + cfg = config.services.tailscale.derper; +in +{ + meta.maintainers = with lib.maintainers; [ SuperSandro2000 ]; + + options = { + services.tailscale.derper = { + enable = lib.mkEnableOption "Tailscale Derper. See upstream doc how to configure it on clients"; + + domain = lib.mkOption { + type = lib.types.str; + description = "Domain name under which the derper server is reachable."; + }; + + openFirewall = lib.mkOption { + type = lib.types.bool; + default = true; + description = '' + Whether to open the firewall for the specified port. + Derper requires the used ports to be opened, otherwise it doesn't work as expected. + ''; + }; + + package = lib.mkPackageOption pkgs [ + "tailscale" + "derper" + ] { }; + + stunPort = lib.mkOption { + type = lib.types.port; + default = 3478; + description = '' + STUN port to listen on. + See online docs on how to configure a different external port. + ''; + }; + + port = lib.mkOption { + type = lib.types.port; + default = 8010; + description = "The port the derper process will listen on. This is not the port tailscale will connect to."; + }; + + verifyClients = lib.mkOption { + type = lib.types.bool; + default = false; + description = '' + Whether to verify clients against a locally running tailscale daemon if they are allowed to connect to this node or not. + ''; + }; + }; + }; + + config = lib.mkIf cfg.enable { + networking.firewall = lib.mkIf cfg.openFirewall { + # port 80 and 443 are opened by nginx already + allowedUDPPorts = [ cfg.stunPort ]; + }; + + services = { + nginx = { + enable = true; + upstreams.tailscale-derper = { + servers."127.0.0.1:${toString cfg.port}" = { }; + extraConfig = '' + keepalive 64; + ''; + }; + virtualHosts."${cfg.domain}" = { + addSSL = true; # this cannot be forceSSL as derper sends some information over port 80, too. + locations."/" = { + proxyPass = "http://tailscale-derper"; + proxyWebsockets = true; + extraConfig = '' + keepalive_timeout 0; + proxy_buffering off; + ''; + }; + }; + }; + + tailscale.enable = lib.mkIf cfg.verifyClients true; + }; + + systemd.services.tailscale-derper = { + serviceConfig = { + ExecStart = + "${lib.getExe' cfg.package "derper"} -a :${toString cfg.port} -c /var/lib/derper/derper.key -hostname=${cfg.domain} -stun-port ${toString cfg.stunPort}" + + lib.optionalString cfg.verifyClients " -verify-clients"; + DynamicUser = true; + Restart = "always"; + RestartSec = "5sec"; # don't crash loop immediately + StateDirectory = "derper"; + Type = "simple"; + + CapabilityBoundingSet = [ "" ]; + DeviceAllow = null; + LockPersonality = true; + NoNewPrivileges = true; + MemoryDenyWriteExecute = true; + PrivateDevices = true; + PrivateUsers = true; + ProcSubset = "pid"; + ProtectClock = true; + ProtectControlGroups = true; + ProtectHostname = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + ProtectProc = "invisible"; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + "AF_UNIX" + ]; + RestrictNamespaces = true; + RestrictRealtime = true; + SystemCallArchitectures = "native"; + SystemCallFilter = [ "@system-service" ]; + }; + wantedBy = [ "multi-user.target" ]; + }; + }; +} diff --git a/nixos/modules/services/web-apps/node-red.nix b/nixos/modules/services/web-apps/node-red.nix index 4c095ea79bbd..cf6429c0094e 100644 --- a/nixos/modules/services/web-apps/node-red.nix +++ b/nixos/modules/services/web-apps/node-red.nix @@ -10,7 +10,7 @@ in options.services.node-red = { enable = mkEnableOption "the Node-RED service"; - package = mkPackageOption pkgs [ "nodePackages" "node-red" ] { }; + package = mkPackageOption pkgs [ "node-red" ] { }; openFirewall = mkOption { type = types.bool; @@ -31,8 +31,8 @@ in configFile = mkOption { type = types.path; - default = "${cfg.package}/lib/node_modules/node-red/settings.js"; - defaultText = literalExpression ''"''${package}/lib/node_modules/node-red/settings.js"''; + default = "${cfg.package}/lib/node_modules/node-red/packages/node_modules/node-red/settings.js"; + defaultText = literalExpression ''"''${package}/lib/node_modules/node-red/packages/node_modules/node-red/settings.js"''; description = '' Path to the JavaScript configuration file. See @@ -118,7 +118,7 @@ in environment = { HOME = cfg.userDir; }; - path = lib.optionals cfg.withNpmAndGcc [ pkgs.nodePackages.npm pkgs.gcc ]; + path = lib.optionals cfg.withNpmAndGcc [ pkgs.nodejs pkgs.gcc ]; serviceConfig = mkMerge [ { User = cfg.user; diff --git a/nixos/modules/virtualisation/libvirtd.nix b/nixos/modules/virtualisation/libvirtd.nix index 72c2a2ef5551..195c5259a324 100644 --- a/nixos/modules/virtualisation/libvirtd.nix +++ b/nixos/modules/virtualisation/libvirtd.nix @@ -301,6 +301,27 @@ in ''; }; + shutdownTimeout = mkOption { + type = types.ints.unsigned; + default = 300; + description = '' + Number of seconds we're willing to wait for a guest to shut down. + If parallel shutdown is enabled, this timeout applies as a timeout + for shutting down all guests on a single URI defined in the variable URIS. + If this is 0, then there is no time out (use with caution, as guests might not + respond to a shutdown request). + ''; + }; + + startDelay = mkOption { + type = types.ints.unsigned; + default = 0; + description = '' + Number of seconds to wait between each guest start. + If set to 0, all guests will start up in parallel. + ''; + }; + allowedBridges = mkOption { type = types.listOf types.str; default = [ "virbr0" ]; @@ -495,6 +516,8 @@ in environment.ON_BOOT = "${cfg.onBoot}"; environment.ON_SHUTDOWN = "${cfg.onShutdown}"; environment.PARALLEL_SHUTDOWN = "${toString cfg.parallelShutdown}"; + environment.SHUTDOWN_TIMEOUT = "${toString cfg.shutdownTimeout}"; + environment.START_DELAY = "${toString cfg.startDelay}"; }; systemd.sockets.virtlogd = { diff --git a/pkgs/applications/audio/ardour/default.nix b/pkgs/applications/audio/ardour/default.nix index bb969408bac1..66a62f61908a 100644 --- a/pkgs/applications/audio/ardour/default.nix +++ b/pkgs/applications/audio/ardour/default.nix @@ -64,14 +64,14 @@ }: stdenv.mkDerivation rec { pname = "ardour"; - version = "8.6"; + version = "8.8"; # We can't use `fetchFromGitea` here, as attempting to fetch release archives from git.ardour.org # result in an empty archive. See https://tracker.ardour.org/view.php?id=7328 for more info. src = fetchgit { url = "git://git.ardour.org/ardour/ardour.git"; rev = version; - hash = "sha256-sMp24tjtX8fZJWc7dvb+9e6pEflT4ugoOZjDis6/3nM="; + hash = "sha256-S96hlk4M+38OjjF3T6lhDm3cBjN5t4y6EeYRmvAmVfE="; }; bundledContent = fetchzip { diff --git a/pkgs/applications/audio/sidplayfp/default.nix b/pkgs/applications/audio/sidplayfp/default.nix index f80707c96ff1..8fab5a4e54da 100644 --- a/pkgs/applications/audio/sidplayfp/default.nix +++ b/pkgs/applications/audio/sidplayfp/default.nix @@ -16,13 +16,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "sidplayfp"; - version = "2.9.0"; + version = "2.10.0"; src = fetchFromGitHub { owner = "libsidplayfp"; repo = "sidplayfp"; rev = "v${finalAttrs.version}"; - hash = "sha256-07Pwh7qbw6Emr5+F89v9i2ARdSosukjjuarJ+uZR7xY="; + hash = "sha256-PT0WijNvcF7opTVxpj6oRb514Alz12gZCSMYa4bqyrY="; }; strictDeps = true; diff --git a/pkgs/applications/blockchains/monero-cli/default.nix b/pkgs/applications/blockchains/monero-cli/default.nix index 7e87695e78c8..7415e90502cb 100644 --- a/pkgs/applications/blockchains/monero-cli/default.nix +++ b/pkgs/applications/blockchains/monero-cli/default.nix @@ -27,7 +27,7 @@ }: let - # submodules + # submodules; revs are taken from monero repo's `/external` at the given monero version tag. supercop = fetchFromGitHub { owner = "monero-project"; repo = "supercop"; @@ -37,12 +37,11 @@ let trezor-common = fetchFromGitHub { owner = "trezor"; repo = "trezor-common"; - rev = "bc28c316d05bf1e9ebfe3d7df1ab25831d98d168"; - hash = "sha256-F1Hf1WwHqXMd/5OWrdkpomszACTozDuC7DQXW3p6248="; + rev = "bff7fdfe436c727982cc553bdfb29a9021b423b0"; + hash = "sha256-VNypeEz9AV0ts8X3vINwYMOgO8VpNmyUPC4iY3OOuZI="; }; in - stdenv.mkDerivation rec { pname = "monero-cli"; version = "0.18.3.4"; @@ -111,14 +110,28 @@ stdenv.mkDerivation rec { "-DCMAKE_CXX_FLAGS=-fpermissive" ]; - outputs = [ "out" "source" ]; + outputs = [ + "out" + "source" + ]; meta = { description = "Private, secure, untraceable currency"; homepage = "https://getmonero.org/"; license = lib.licenses.bsd3; - platforms = lib.platforms.all; - maintainers = with lib.maintainers; [ rnhmjoj ]; + + platforms = with lib.platforms; linux; + + # macOS/ARM has a working `monerod` (at least), but `monero-wallet-cli` + # segfaults on start after entering the wallet password, when built in release mode. + # Building the same revision in debug mode to root-cause the above problem doesn't work + # because of https://github.com/monero-project/monero/issues/9486 + badPlatforms = [ "aarch64-darwin" ]; + + maintainers = with lib.maintainers; [ + pmw + rnhmjoj + ]; mainProgram = "monero-wallet-cli"; }; } diff --git a/pkgs/applications/editors/qemacs/default.nix b/pkgs/applications/editors/qemacs/default.nix index 67f8f6825aa0..46ecfa025959 100644 --- a/pkgs/applications/editors/qemacs/default.nix +++ b/pkgs/applications/editors/qemacs/default.nix @@ -10,13 +10,13 @@ stdenv.mkDerivation rec { pname = "qemacs"; - version = "6.1.1b"; + version = "6.3.2"; src = fetchFromGitHub { owner = "qemacs"; repo = "qemacs"; - rev = "06b3d373bbcc52b51ccb438bf3cab38a49492ff0"; - hash = "sha256-Z4BbA8W3bYdw+cHgI24r55OP1Olr3GwKLlfRxjy45i8="; + rev = "0e90c181078f3d85d0d44d985d541184223668e1"; + hash = "sha256-3kq89CoUi9ocR0q2SqYF8S/xNgBpInC4f2d/dJg/nEM="; }; postPatch = '' @@ -49,7 +49,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://bellard.org/qemacs/"; description = "Very small but powerful UNIX editor"; - license = licenses.lgpl2Only; + license = licenses.mit; maintainers = with maintainers; [ iblech ]; }; } diff --git a/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix b/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix index 137d364e5472..987e1755d3de 100644 --- a/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/nvim-treesitter/overrides.nix @@ -90,4 +90,5 @@ in license = licenses.asl20; maintainers = with maintainers; [ figsoda ]; }; + nvimRequireCheck = "nvim-treesitter"; } diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix index a65e920150fb..bb74c4a41733 100644 --- a/pkgs/applications/editors/vim/plugins/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/overrides.nix @@ -1,139 +1,140 @@ -{ lib -, stdenv -, # nixpkgs functions - buildGoModule -, buildVimPlugin -, fetchFromGitHub -, fetchFromSourcehut -, fetchpatch -, fetchurl -, neovimUtils -, substituteAll -, # Language dependencies - fetchYarnDeps -, mkYarnModules -, python3 -, rustPlatform -, # Misc dependencies - arrow-cpp -, Cocoa -, coc-clangd -, coc-diagnostic -, coc-pyright -, code-minimap -, dasht -, deno -, direnv -, duckdb -, fish -, fzf -, gawk -, git -, himalaya -, htop -, jq -, khard -, languagetool -, llvmPackages -, meson -, neovim-unwrapped -, nim1 -, nodePackages -, openscad -, pandoc -, parinfer-rust -, phpactor -, ranger -, ripgrep -, skim -, sqlite -, statix -, stylish-haskell -, tabnine -, taskwarrior2 -, taskwarrior3 -, tmux -, tup -, vim -, which -, xkb-switch -, ycmd -, zoxide -, nodejs -, xdotool -, xorg -, xxd -, zathura -, zenity -, zsh -, # codeium-nvim dependencies - codeium -, # codesnap-nvim dependencies - clang -, libuv -, # command-t dependencies - getconf -, ruby -, # cornelis dependencies - cornelis -, # cpsm dependencies - boost -, cmake -, icu -, ncurses -, # LanguageClient-neovim dependencies - CoreFoundation -, CoreServices -, # nvim-treesitter dependencies - callPackage -, # Preview-nvim dependencies - md-tui -, # sg.nvim dependencies - darwin -, # sved dependencies - glib -, gobject-introspection -, wrapGAppsHook3 -, writeText -, # sniprun dependencies - bashInteractive -, coreutils -, curl -, gnugrep -, gnused -, makeWrapper -, procps -, # sg-nvim dependencies - openssl -, pkg-config -, # vim-agda dependencies - agda -, # vim-go dependencies - asmfmt -, delve -, errcheck -, go-motion -, go-tools -, gocode-gomod -, godef -, gogetdoc -, golangci-lint -, golint -, gomodifytags -, gopls -, gotags -, gotools -, iferr -, impl -, reftools -, revive -, # hurl dependencies - hurl -, # must be lua51Packages - luajitPackages -, aider-chat -, -}: self: super: +{ + lib, + stdenv, + # nixpkgs functions + buildGoModule, + buildVimPlugin, + fetchFromGitHub, + fetchFromSourcehut, + fetchpatch, + fetchurl, + neovimUtils, + substituteAll, + # Language dependencies + fetchYarnDeps, + mkYarnModules, + python3, + rustPlatform, + # Misc dependencies + arrow-cpp, + Cocoa, + coc-clangd, + coc-diagnostic, + coc-pyright, + code-minimap, + dasht, + deno, + direnv, + duckdb, + fish, + fzf, + gawk, + git, + himalaya, + htop, + jq, + khard, + languagetool, + llvmPackages, + meson, + neovim-unwrapped, + nim1, + nodePackages, + openscad, + pandoc, + parinfer-rust, + phpactor, + ranger, + ripgrep, + skim, + sqlite, + statix, + stylish-haskell, + tabnine, + taskwarrior2, + taskwarrior3, + tmux, + tup, + vim, + which, + xkb-switch, + ycmd, + zoxide, + nodejs, + xdotool, + xorg, + xxd, + zathura, + zenity, + zsh, + # codeium-nvim dependencies + codeium, + # codesnap-nvim dependencies + clang, + libuv, + # command-t dependencies + getconf, + ruby, + # cornelis dependencies + cornelis, + # cpsm dependencies + boost, + cmake, + icu, + ncurses, + # LanguageClient-neovim dependencies + CoreFoundation, + CoreServices, + # nvim-treesitter dependencies + callPackage, + # Preview-nvim dependencies + md-tui, + # sg.nvim dependencies + darwin, + # sved dependencies + glib, + gobject-introspection, + wrapGAppsHook3, + writeText, + # sniprun dependencies + bashInteractive, + coreutils, + curl, + gnugrep, + gnused, + makeWrapper, + procps, + # sg-nvim dependencies + openssl, + pkg-config, + # vim-agda dependencies + agda, + # vim-go dependencies + asmfmt, + delve, + errcheck, + go-motion, + go-tools, + gocode-gomod, + godef, + gogetdoc, + golangci-lint, + golint, + gomodifytags, + gopls, + gotags, + gotools, + iferr, + impl, + reftools, + revive, + # hurl dependencies + hurl, + # must be lua51Packages + luajitPackages, + aider-chat, +}: +self: super: let luaPackages = neovim-unwrapped.lua.pkgs; in @@ -143,7 +144,13 @@ in }; advanced-git-search-nvim = super.advanced-git-search-nvim.overrideAttrs { - dependencies = with super; [ telescope-nvim vim-fugitive vim-rhubarb ]; + dependencies = with super; [ + telescope-nvim + vim-fugitive + vim-rhubarb + ]; + # TODO: enable after https://github.com/NixOS/nixpkgs/pull/342240 merged + # nvimRequireCheck = "advanced_git_search.utils"; }; animation-nvim = super.animation-nvim.overrideAttrs { @@ -153,6 +160,7 @@ in autosave-nvim = super.autosave-nvim.overrideAttrs { dependencies = with super; [ plenary-nvim ]; + nvimRequireCheck = "autosave"; }; avante-nvim = (callPackage ./avante-nvim { }).overrideAttrs { @@ -165,13 +173,17 @@ in }; barbecue-nvim = super.barbecue-nvim.overrideAttrs { - dependencies = with self; [ nvim-lspconfig nvim-navic ]; + dependencies = with self; [ + nvim-lspconfig + nvim-navic + ]; meta = { description = "VS Code like winbar for Neovim"; homepage = "https://github.com/utilyre/barbecue.nvim"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ lightquantum ]; }; + nvimRequireCheck = "barbecue"; }; # The GitHub repository returns 404, which breaks the update script @@ -201,8 +213,11 @@ in }; chadtree = super.chadtree.overrideAttrs { - passthru.python3Dependencies = ps: - with ps; [ + buildInputs = [ + python3 + ]; + passthru.python3Dependencies = + ps: with ps; [ pynvim-pp pyyaml std2 @@ -210,10 +225,17 @@ in # We need some patches so it stops complaining about not being in a venv patches = [ ./patches/chadtree/emulate-venv.patch ]; + nvimRequireCheck = "chadtree"; }; ChatGPT-nvim = super.ChatGPT-nvim.overrideAttrs { - dependencies = with self; [ nui-nvim plenary-nvim telescope-nvim ]; + dependencies = with self; [ + nui-nvim + plenary-nvim + telescope-nvim + ]; + # TODO: enable after https://github.com/NixOS/nixpkgs/pull/342240 merged + # nvimRequireCheck = "chatgpt"; }; clang_complete = super.clang_complete.overrideAttrs { @@ -227,7 +249,8 @@ in substituteInPlace "$out"/plugin/clang_complete.vim \ --replace "let g:clang_library_path = '' + "''" - + '' " "let g:clang_library_path='${llvmPackages.libclang.lib}/lib/libclang.so'" + + '' + " "let g:clang_library_path='${llvmPackages.libclang.lib}/lib/libclang.so'" substituteInPlace "$out"/plugin/libclang.py \ --replace "/usr/lib/clang" "${llvmPackages.clang.cc}/lib/clang" @@ -245,119 +268,192 @@ in postPatch = '' sed -i -e 's/require "health"/vim.health/' lua/clipboard-image/health.lua ''; + nvimRequireCheck = "clipboard-image"; }; cmake-tools-nvim = super.cmake-tools-nvim.overrideAttrs { dependencies = with self; [ plenary-nvim ]; + nvimRequireCheck = "cmake-tools"; }; cmp-ai = super.cmp-ai.overrideAttrs { - dependencies = with self; [ nvim-cmp plenary-nvim ]; + dependencies = with self; [ + nvim-cmp + plenary-nvim + ]; + nvimRequireCheck = "cmp_ai"; }; cmp-clippy = super.cmp-clippy.overrideAttrs { - dependencies = with self; [ nvim-cmp plenary-nvim ]; + dependencies = with self; [ + nvim-cmp + plenary-nvim + ]; + nvimRequireCheck = "cmp_clippy"; }; cmp-copilot = super.cmp-copilot.overrideAttrs { - dependencies = with self; [ nvim-cmp copilot-vim ]; + dependencies = with self; [ + nvim-cmp + copilot-vim + ]; + nvimRequireCheck = "cmp_copilot"; }; cmp-ctags = super.cmp-ctags.overrideAttrs { dependencies = with self; [ nvim-cmp ]; + nvimRequireCheck = "cmp_ctags"; }; cmp-dap = super.cmp-dap.overrideAttrs { - dependencies = with self; [ nvim-cmp nvim-dap ]; + dependencies = with self; [ + nvim-cmp + nvim-dap + ]; + nvimRequireCheck = "cmp_dap"; }; cmp-dictionary = super.cmp-dictionary.overrideAttrs { dependencies = with self; [ nvim-cmp ]; + nvimRequireCheck = "cmp_dictionary"; }; cmp-digraphs = super.cmp-digraphs.overrideAttrs { dependencies = with self; [ nvim-cmp ]; + nvimRequireCheck = "cmp_digraphs"; }; cmp-fish = super.cmp-fish.overrideAttrs { dependencies = with self; [ nvim-cmp ]; + nvimRequireCheck = "cmp_fish"; }; cmp-fuzzy-buffer = super.cmp-fuzzy-buffer.overrideAttrs { - dependencies = with self; [ nvim-cmp fuzzy-nvim ]; + dependencies = with self; [ + nvim-cmp + fuzzy-nvim + ]; + nvimRequireCheck = "cmp_fuzzy_buffer"; }; cmp-fuzzy-path = super.cmp-fuzzy-path.overrideAttrs { - dependencies = with self; [ nvim-cmp fuzzy-nvim ]; + dependencies = with self; [ + nvim-cmp + fuzzy-nvim + ]; + nvimRequireCheck = "cmp_fuzzy_path"; }; cmp-git = super.cmp-git.overrideAttrs { - dependencies = with self; [ nvim-cmp plenary-nvim ]; + dependencies = with self; [ + nvim-cmp + plenary-nvim + ]; + nvimRequireCheck = "cmp_git"; }; cmp-greek = super.cmp-greek.overrideAttrs { dependencies = with self; [ nvim-cmp ]; + nvimRequireCheck = "cmp_greek"; }; cmp-look = super.cmp-look.overrideAttrs { dependencies = with self; [ nvim-cmp ]; + nvimRequireCheck = "cmp_look"; }; cmp-neosnippet = super.cmp-neosnippet.overrideAttrs { - dependencies = with self; [ nvim-cmp neosnippet-vim ]; + dependencies = with self; [ + nvim-cmp + neosnippet-vim + ]; + nvimRequireCheck = "cmp_neosnippet"; }; cmp-npm = super.cmp-npm.overrideAttrs { - dependencies = with self; [ nvim-cmp plenary-nvim ]; + dependencies = with self; [ + nvim-cmp + plenary-nvim + ]; + nvimRequireCheck = "cmp-npm"; }; cmp-nvim-lsp-signature-help = super.cmp-nvim-lsp-signature-help.overrideAttrs { dependencies = with self; [ nvim-cmp ]; + nvimRequireCheck = "cmp_nvim_lsp_signature_help"; }; cmp-nvim-tags = super.cmp-nvim-tags.overrideAttrs { dependencies = with self; [ nvim-cmp ]; + nvimRequireCheck = "cmp_nvim_tags"; }; cmp-pandoc-nvim = super.cmp-pandoc-nvim.overrideAttrs { - dependencies = with self; [ nvim-cmp plenary-nvim ]; + dependencies = with self; [ + nvim-cmp + plenary-nvim + ]; + nvimRequireCheck = "cmp_pandoc"; }; cmp-rg = super.cmp-rg.overrideAttrs { dependencies = with self; [ nvim-cmp ]; + nvimRequireCheck = "cmp-rg"; }; cmp-snippy = super.cmp-snippy.overrideAttrs { - dependencies = with self; [ nvim-cmp nvim-snippy ]; + dependencies = with self; [ + nvim-cmp + nvim-snippy + ]; + nvimRequireCheck = "cmp_snippy"; }; cmp-tabby = super.cmp-tabby.overrideAttrs { dependencies = with self; [ nvim-cmp ]; + nvimRequireCheck = "cmp_tabby"; }; cmp-tabnine = super.cmp-tabnine.overrideAttrs { buildInputs = [ tabnine ]; + dependencies = with self; [ nvim-cmp ]; postFixup = '' mkdir -p $target/binaries/${tabnine.version} ln -s ${tabnine}/bin/ $target/binaries/${tabnine.version}/${tabnine.passthru.platform} ''; + nvimRequireCheck = "cmp_tabnine"; }; cmp-tmux = super.cmp-tmux.overrideAttrs { - dependencies = with self; [ nvim-cmp tmux ]; + dependencies = with self; [ + nvim-cmp + tmux + ]; + nvimRequireCheck = "cmp_tmux"; }; cmp-vim-lsp = super.cmp-vim-lsp.overrideAttrs { - dependencies = with self; [ nvim-cmp vim-lsp ]; + dependencies = with self; [ + nvim-cmp + vim-lsp + ]; }; cmp-vimwiki-tags = super.cmp-vimwiki-tags.overrideAttrs { - dependencies = with self; [ nvim-cmp vimwiki ]; + dependencies = with self; [ + nvim-cmp + vimwiki + ]; + nvimRequireCheck = "cmp_vimwiki_tags"; }; cmp-zsh = super.cmp-zsh.overrideAttrs { - dependencies = with self; [ nvim-cmp zsh ]; + dependencies = with self; [ + nvim-cmp + zsh + ]; + nvimRequireCheck = "cmp_zsh"; }; coc-clangd = buildVimPlugin { @@ -382,79 +478,89 @@ in src = "${nodePackages."@yaegassy/coc-nginx"}/lib/node_modules/@yaegassy/coc-nginx"; }; - codeium-nvim = let - # Update according to https://github.com/Exafunction/codeium.nvim/blob/main/lua/codeium/versions.json - codeiumVersion = "1.20.9"; - codeiumHashes = { - x86_64-linux = "sha256-IeNK7UQtOhqC/eQv7MAya4jB1WIGykSR7IgutZatmHM="; - aarch64-linux = "sha256-ujTFki/3V79El2WCkG0PJhbaMT0knC9mrS9E7Uv9HD4="; - x86_64-darwin = "sha256-r2KloEQsUku9sk8h76kwyQuMTHcq/vwfTSK2dkiXDzE="; - aarch64-darwin = "sha256-1jNH0Up8mAahDgvPF6g42LV+RVDVsPqDM54lE2KYY48="; - }; - - codeium' = codeium.overrideAttrs rec { - version = codeiumVersion; - - src = let - inherit (stdenv.hostPlatform) system; - throwSystem = throw "Unsupported system: ${system}"; - - platform = { - x86_64-linux = "linux_x64"; - aarch64-linux = "linux_arm"; - x86_64-darwin = "macos_x64"; - aarch64-darwin = "macos_arm"; - }.${system} or throwSystem; - - hash = codeiumHashes.${system} or throwSystem; - in fetchurl { - name = "codeium-${version}.gz"; - url = "https://github.com/Exafunction/codeium/releases/download/language-server-v${version}/language_server_${platform}.gz"; - inherit hash; + codeium-nvim = + let + # Update according to https://github.com/Exafunction/codeium.nvim/blob/main/lua/codeium/versions.json + codeiumVersion = "1.20.9"; + codeiumHashes = { + x86_64-linux = "sha256-IeNK7UQtOhqC/eQv7MAya4jB1WIGykSR7IgutZatmHM="; + aarch64-linux = "sha256-ujTFki/3V79El2WCkG0PJhbaMT0knC9mrS9E7Uv9HD4="; + x86_64-darwin = "sha256-r2KloEQsUku9sk8h76kwyQuMTHcq/vwfTSK2dkiXDzE="; + aarch64-darwin = "sha256-1jNH0Up8mAahDgvPF6g42LV+RVDVsPqDM54lE2KYY48="; }; - }; - in super.codeium-nvim.overrideAttrs { - dependencies = with self; [ nvim-cmp plenary-nvim ]; - buildPhase = '' - cat << EOF > lua/codeium/installation_defaults.lua - return { - tools = { - language_server = "${codeium'}/bin/codeium_language_server" + codeium' = codeium.overrideAttrs rec { + version = codeiumVersion; + + src = + let + inherit (stdenv.hostPlatform) system; + throwSystem = throw "Unsupported system: ${system}"; + + platform = + { + x86_64-linux = "linux_x64"; + aarch64-linux = "linux_arm"; + x86_64-darwin = "macos_x64"; + aarch64-darwin = "macos_arm"; + } + .${system} or throwSystem; + + hash = codeiumHashes.${system} or throwSystem; + in + fetchurl { + name = "codeium-${version}.gz"; + url = "https://github.com/Exafunction/codeium/releases/download/language-server-v${version}/language_server_${platform}.gz"; + inherit hash; + }; + }; + + in + super.codeium-nvim.overrideAttrs { + dependencies = with self; [ + nvim-cmp + plenary-nvim + ]; + buildPhase = '' + cat << EOF > lua/codeium/installation_defaults.lua + return { + tools = { + language_server = "${codeium'}/bin/codeium_language_server" + }; }; - }; - EOF - ''; + EOF + ''; - doCheck = true; - checkInputs = [ jq ]; - checkPhase = '' - runHook preCheck + doCheck = true; + checkInputs = [ jq ]; + checkPhase = '' + runHook preCheck - expected_codeium_version=$(jq -r '.version' lua/codeium/versions.json) - actual_codeium_version=$(${codeium'}/bin/codeium_language_server --version) + expected_codeium_version=$(jq -r '.version' lua/codeium/versions.json) + actual_codeium_version=$(${codeium'}/bin/codeium_language_server --version) - expected_codeium_stamp=$(jq -r '.stamp' lua/codeium/versions.json) - actual_codeium_stamp=$(${codeium'}/bin/codeium_language_server --stamp | grep STABLE_BUILD_SCM_REVISION | cut -d' ' -f2) + expected_codeium_stamp=$(jq -r '.stamp' lua/codeium/versions.json) + actual_codeium_stamp=$(${codeium'}/bin/codeium_language_server --stamp | grep STABLE_BUILD_SCM_REVISION | cut -d' ' -f2) - if [ "$actual_codeium_stamp" != "$expected_codeium_stamp" ]; then - echo " - The version of codeium patched in vimPlugins.codeium-nvim is incorrect. - Expected stamp: $expected_codeium_stamp - Actual stamp: $actual_codeium_stamp + if [ "$actual_codeium_stamp" != "$expected_codeium_stamp" ]; then + echo " + The version of codeium patched in vimPlugins.codeium-nvim is incorrect. + Expected stamp: $expected_codeium_stamp + Actual stamp: $actual_codeium_stamp - Expected codeium version: $expected_codeium_version - Actual codeium version: $actual_codeium_version + Expected codeium version: $expected_codeium_version + Actual codeium version: $actual_codeium_version - Please, update 'codeiumVersion' in pkgs/applications/editors/vim/plugins/overrides.nix accordingly to: - https://github.com/Exafunction/codeium.nvim/blob/main/lua/codeium/versions.json - " - exit 1 - fi + Please, update 'codeiumVersion' in pkgs/applications/editors/vim/plugins/overrides.nix accordingly to: + https://github.com/Exafunction/codeium.nvim/blob/main/lua/codeium/versions.json + " + exit 1 + fi - runHook postCheck - ''; - }; + runHook postCheck + ''; + nvimRequireCheck = "codeium"; + }; codesnap-nvim = let @@ -478,11 +584,13 @@ in rustPlatform.bindgenHook ]; - buildInputs = [ - libuv.dev - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.AppKit - ]; + buildInputs = + [ + libuv.dev + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.AppKit + ]; }; in buildVimPlugin { @@ -493,12 +601,14 @@ in # - Copy the resulting binary from the codesnap-lib derivation # Note: the destination should be generator.so, even on darwin # https://github.com/mistricky/codesnap.nvim/blob/main/scripts/build_generator.sh - postInstall = let - extension = if stdenv.hostPlatform.isDarwin then "dylib" else "so"; - in '' - rm -r $out/lua/*.so - cp ${codesnap-lib}/lib/libgenerator.${extension} $out/lua/generator.so - ''; + postInstall = + let + extension = if stdenv.hostPlatform.isDarwin then "dylib" else "so"; + in + '' + rm -r $out/lua/*.so + cp ${codesnap-lib}/lib/libgenerator.${extension} $out/lua/generator.so + ''; doInstallCheck = true; nvimRequireCheck = "codesnap"; @@ -510,7 +620,10 @@ in }; command-t = super.command-t.overrideAttrs { - nativeBuildInputs = [ getconf ruby ]; + nativeBuildInputs = [ + getconf + ruby + ]; buildPhase = '' substituteInPlace lua/wincent/commandt/lib/Makefile \ --replace '/bin/bash' 'bash' \ @@ -518,6 +631,7 @@ in make build rm ruby/command-t/ext/command-t/*.o ''; + nvimRequireCheck = "wincent.commandt"; }; competitest-nvim = super.competitest-nvim.overrideAttrs { @@ -538,6 +652,7 @@ in compiler-explorer-nvim = super.compiler-explorer-nvim.overrideAttrs { dependencies = with self; [ plenary-nvim ]; + nvimRequireCheck = "compiler-explorer"; }; compiler-nvim = super.compiler-nvim.overrideAttrs { @@ -547,6 +662,7 @@ in completion-buffers = super.completion-buffers.overrideAttrs { dependencies = with self; [ completion-nvim ]; + nvimRequireCheck = "completion_buffers"; }; completion-tabnine = super.completion-tabnine.overrideAttrs { @@ -559,15 +675,25 @@ in }; completion-treesitter = super.completion-treesitter.overrideAttrs { - dependencies = with self; [ completion-nvim nvim-treesitter ]; + dependencies = with self; [ + completion-nvim + nvim-treesitter + ]; }; CopilotChat-nvim = super.CopilotChat-nvim.overrideAttrs { - dependencies = with self; [ copilot-lua plenary-nvim ]; + dependencies = with self; [ + copilot-lua + plenary-nvim + ]; + nvimRequireCheck = "CopilotChat"; }; copilot-lualine = super.copilot-lualine.overrideAttrs { - dependencies = with self; [ copilot-lua lualine-nvim ]; + dependencies = with self; [ + copilot-lua + lualine-nvim + ]; doInstallCheck = true; nvimRequireCheck = "copilot-lualine"; }; @@ -585,8 +711,8 @@ in }); coq_nvim = super.coq_nvim.overrideAttrs { - passthru.python3Dependencies = ps: - with ps; [ + passthru.python3Dependencies = + ps: with ps; [ pynvim-pp pyyaml std2 @@ -594,6 +720,7 @@ in # We need some patches so it stops complaining about not being in a venv patches = [ ./patches/coq_nvim/emulate-venv.patch ]; + nvimRequireCheck = "coq"; }; cord-nvim = @@ -612,11 +739,13 @@ in cargoHash = "sha256-M5mTdBACTaUVZhPpMOf1KQ3BcQpEoD2isAKRn+iAWjc="; - installPhase = let - cargoTarget = stdenv.hostPlatform.rust.cargoShortTarget; - in '' - install -D target/${cargoTarget}/release/libcord.${extension} $out/lib/cord.${extension} - ''; + installPhase = + let + cargoTarget = stdenv.hostPlatform.rust.cargoShortTarget; + in + '' + install -D target/${cargoTarget}/release/libcord.${extension} $out/lib/cord.${extension} + ''; }; in buildVimPlugin { @@ -671,6 +800,7 @@ in crates-nvim = super.crates-nvim.overrideAttrs { dependencies = with self; [ plenary-nvim ]; + nvimRequireCheck = "crates"; }; ctrlp-cmatcher = super.ctrlp-cmatcher.overrideAttrs { @@ -688,7 +818,10 @@ in sha256 = "sha256-yXKCq8sqO0Db/sZREuSeqKwKO71cmTsAvWftoOQehZo="; }) ]; - buildInputs = with python3.pkgs; [ python3 setuptools ]; + buildInputs = with python3.pkgs; [ + python3 + setuptools + ]; buildPhase = '' patchShebangs . ./install.sh @@ -701,6 +834,7 @@ in ddc-source-lsp = super.ddc-source-lsp.overrideAttrs { dependencies = with self; [ ddc-vim ]; + nvimRequireCheck = "ddc_source_lsp"; }; ddc-vim = super.ddc-vim.overrideAttrs { @@ -716,7 +850,10 @@ in }; ddc-ui-pum = super.ddc-ui-pum.overrideAttrs { - dependencies = with self; [ ddc-vim pum-vim ]; + dependencies = with self; [ + ddc-vim + pum-vim + ]; }; defx-nvim = super.defx-nvim.overrideAttrs { @@ -731,7 +868,10 @@ in }; deoplete-fish = super.deoplete-fish.overrideAttrs { - dependencies = with self; [ deoplete-nvim vim-fish ]; + dependencies = with self; [ + deoplete-nvim + vim-fish + ]; }; deoplete-go = super.deoplete-go.overrideAttrs { @@ -757,6 +897,7 @@ in diagram-nvim = super.diagram-nvim.overrideAttrs { dependencies = with self; [ image-nvim ]; + nvimRequireCheck = "diagram"; }; diffview-nvim = super.diffview-nvim.overrideAttrs { @@ -768,8 +909,7 @@ in direnv-vim = super.direnv-vim.overrideAttrs (old: { preFixup = - old.preFixup - or "" + old.preFixup or "" + '' substituteInPlace $out/autoload/direnv.vim \ --replace "let s:direnv_cmd = get(g:, 'direnv_cmd', 'direnv')" \ @@ -778,13 +918,16 @@ in }); elixir-tools-nvim = super.elixir-tools-nvim.overrideAttrs { + dependencies = with self; [ plenary-nvim ]; fixupPhase = '' patchShebangs $(find $out/bin/ -type f -not -name credo-language-server) ''; + nvimRequireCheck = "elixir"; }; executor-nvim = super.executor-nvim.overrideAttrs { dependencies = with self; [ nui-nvim ]; + nvimRequireCheck = "executor"; }; fcitx-vim = super.fcitx-vim.overrideAttrs { @@ -797,6 +940,7 @@ in flit-nvim = super.flit-nvim.overrideAttrs { dependencies = with self; [ leap-nvim ]; + nvimRequireCheck = "flit"; }; forms = super.forms.overrideAttrs { @@ -840,6 +984,7 @@ in fuzzy-nvim = super.fuzzy-nvim.overrideAttrs { dependencies = with self; [ telescope-fzf-native-nvim ]; + nvimRequireCheck = "fuzzy_nvim"; }; fzf-checkout-vim = super.fzf-checkout-vim.overrideAttrs { @@ -867,6 +1012,8 @@ in fzf-lua = super.fzf-lua.overrideAttrs { propagatedBuildInputs = [ fzf ]; + # FIXME: address already in use + # nvimRequireCheck = "fzf-lua"; }; fzf-vim = super.fzf-vim.overrideAttrs { @@ -890,22 +1037,29 @@ in gitlinker-nvim = super.gitlinker-nvim.overrideAttrs { dependencies = with self; [ plenary-nvim ]; + nvimRequireCheck = "gitlinker"; }; gitsigns-nvim = super.gitsigns-nvim.overrideAttrs { dependencies = with self; [ plenary-nvim ]; + nvimRequireCheck = "gitsigns"; }; git-worktree-nvim = super.git-worktree-nvim.overrideAttrs { dependencies = with super; [ plenary-nvim ]; + nvimRequireCheck = "git-worktree"; }; guard-nvim = super.guard-nvim.overrideAttrs { dependencies = with self; [ guard-collection ]; + nvimRequireCheck = "guard"; }; hardhat-nvim = super.hardhat-nvim.overrideAttrs { - dependencies = with self; [ overseer-nvim plenary-nvim ]; + dependencies = with self; [ + overseer-nvim + plenary-nvim + ]; doInstallCheck = true; nvimRequireCheck = "hardhat"; @@ -913,26 +1067,34 @@ in harpoon = super.harpoon.overrideAttrs { dependencies = with self; [ plenary-nvim ]; + nvimRequireCheck = "harpoon"; }; harpoon2 = super.harpoon2.overrideAttrs { dependencies = with self; [ plenary-nvim ]; + nvimRequireCheck = "harpoon"; }; haskell-snippets-nvim = super.haskell-snippets-nvim.overrideAttrs { dependencies = [ self.luasnip ]; + nvimRequireCheck = "haskell-snippets"; }; haskell-scope-highlighting-nvim = super.haskell-scope-highlighting-nvim.overrideAttrs { dependencies = with self; [ nvim-treesitter ]; + nvimRequireCheck = "haskell-scope-highlighting"; }; - haskell-tools-nvim = neovimUtils.buildNeovimPlugin { luaAttr = luaPackages.haskell-tools-nvim; }; + haskell-tools-nvim = neovimUtils.buildNeovimPlugin { + luaAttr = luaPackages.haskell-tools-nvim; + nvimRequireCheck = "haskell-tools"; + }; hex-nvim = super.hex-nvim.overrideAttrs { postPatch = '' substituteInPlace lua/hex.lua --replace xxd ${xxd}/bin/xxd ''; + nvimRequireCheck = "hex"; }; himalaya-vim = super.himalaya-vim.overrideAttrs { @@ -955,7 +1117,10 @@ in }; idris2-nvim = super.idris2-nvim.overrideAttrs { - dependencies = with self; [ nui-nvim nvim-lspconfig ]; + dependencies = with self; [ + nui-nvim + nvim-lspconfig + ]; doInstallCheck = true; nvimRequireCheck = "idris2"; @@ -994,6 +1159,7 @@ in jupytext-nvim = super.jupytext-nvim.overrideAttrs { passthru.python3Dependencies = ps: [ ps.jupytext ]; + nvimRequireCheck = "jupytext"; }; kulala-nvim = super.kulala-nvim.overrideAttrs { @@ -1006,6 +1172,7 @@ in substituteInPlace lua/kulala/config/init.lua \ --replace 'curl_path = "curl"' 'curl_path = "${lib.getExe curl}"' ''; + nvimRequireCheck = "kulala"; }; LanguageClient-neovim = @@ -1047,18 +1214,28 @@ in lazy-lsp-nvim = super.lazy-lsp-nvim.overrideAttrs { dependencies = with self; [ nvim-lspconfig ]; + nvimRequireCheck = "lazy-lsp"; }; lazy-nvim = super.lazy-nvim.overrideAttrs { patches = [ ./patches/lazy-nvim/no-helptags.patch ]; + nvimRequireCheck = "lazy"; }; lean-nvim = super.lean-nvim.overrideAttrs { - dependencies = with self; [ nvim-lspconfig plenary-nvim ]; + dependencies = with self; [ + nvim-lspconfig + plenary-nvim + ]; + nvimRequireCheck = "lean"; }; leap-ast-nvim = super.leap-ast-nvim.overrideAttrs { - dependencies = with self; [ leap-nvim nvim-treesitter ]; + dependencies = with self; [ + leap-nvim + nvim-treesitter + ]; + nvimRequireCheck = "leap-ast"; }; lens-vim = super.lens-vim.overrideAttrs { @@ -1079,6 +1256,7 @@ in lir-nvim = super.lir-nvim.overrideAttrs { dependencies = with self; [ plenary-nvim ]; + nvimRequireCheck = "lir"; }; lsp-progress-nvim = neovimUtils.buildNeovimPlugin { @@ -1087,14 +1265,24 @@ in }; luasnip = super.luasnip.overrideAttrs { - dependencies = with self; [ luaPackages.jsregexp ]; + dependencies = [ luaPackages.jsregexp ]; + nvimRequireCheck = "luasnip"; }; - lz-n = neovimUtils.buildNeovimPlugin { luaAttr = luaPackages.lz-n; }; + lz-n = neovimUtils.buildNeovimPlugin { + luaAttr = luaPackages.lz-n; + nvimRequireCheck = "lz.n"; + }; - lze = neovimUtils.buildNeovimPlugin { luaAttr = luaPackages.lze; }; + lze = neovimUtils.buildNeovimPlugin { + luaAttr = luaPackages.lze; + nvimRequireCheck = "lze"; + }; - lzn-auto-require = neovimUtils.buildNeovimPlugin { luaAttr = luaPackages.lzn-auto-require; }; + lzn-auto-require = neovimUtils.buildNeovimPlugin { + luaAttr = luaPackages.lzn-auto-require; + nvimRequireCheck = "lzn-auto-require.loader"; + }; magma-nvim-goose = buildVimPlugin { pname = "magma-nvim-goose"; @@ -1105,8 +1293,8 @@ in rev = "5d916c39c1852e09fcd39eab174b8e5bbdb25f8f"; sha256 = "10d6dh0czdpgfpzqs5vzxfffkm0460qjzi2mfkacgghqf3iwkbja"; }; - passthru.python3Dependencies = ps: - with ps; [ + passthru.python3Dependencies = + ps: with ps; [ pynvim jupyter-client ueberzug @@ -1152,11 +1340,16 @@ in }; mason-lspconfig-nvim = super.mason-lspconfig-nvim.overrideAttrs { - dependencies = with self; [ mason-nvim nvim-lspconfig ]; + dependencies = with self; [ + mason-nvim + nvim-lspconfig + ]; + nvimRequireCheck = "mason-lspconfig"; }; mason-tool-installer-nvim = super.mason-tool-installer-nvim.overrideAttrs { dependencies = with self; [ mason-nvim ]; + nvimRequireCheck = "mason-tool-installer"; }; meson = buildVimPlugin { @@ -1194,44 +1387,59 @@ in meta.homepage = "https://github.com/jose-elias-alvarez/minsnip.nvim/"; }; - moveline-nvim = let - version = "2024-07-25"; - src = fetchFromGitHub { - owner = "willothy"; - repo = "moveline.nvim"; - rev = "9f67f4b9e752a87eea8205f0279f261a16c733d8"; - sha256 = "sha256-B4t5+Q4Urx5bGm8glNpYkHhpp/rAhz+lDd2EpWFUYoY="; - }; - moveline-lib = rustPlatform.buildRustPackage { + moveline-nvim = + let + version = "2024-07-25"; + src = fetchFromGitHub { + owner = "willothy"; + repo = "moveline.nvim"; + rev = "9f67f4b9e752a87eea8205f0279f261a16c733d8"; + sha256 = "sha256-B4t5+Q4Urx5bGm8glNpYkHhpp/rAhz+lDd2EpWFUYoY="; + }; + moveline-lib = rustPlatform.buildRustPackage { + inherit src version; + pname = "moveline-lib"; + cargoHash = "sha256-e9QB4Rfm+tFNrLAHN/nYUQ5PiTET8knQQIQkMH3UFkU="; + }; + in + buildVimPlugin { inherit src version; - pname = "moveline-lib"; - cargoHash = "sha256-e9QB4Rfm+tFNrLAHN/nYUQ5PiTET8knQQIQkMH3UFkU="; + pname = "moveline-nvim"; + preInstall = '' + mkdir -p lua + ln -s ${moveline-lib}/lib/libmoveline.so lua/moveline.so + ''; + meta = { + description = "Neovim plugin for moving lines up and down"; + homepage = "https://github.com/willothy/moveline.nvim"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ redxtech ]; + badPlatforms = [ + "aarch64-darwin" + "x86_64-darwin" + ]; + }; + nvimRequireCheck = "moveline"; }; - in buildVimPlugin { - inherit src version; - pname = "moveline-nvim"; - preInstall = '' - mkdir -p lua - ln -s ${moveline-lib}/lib/libmoveline.so lua/moveline.so - ''; - meta = { - description = "Neovim plugin for moving lines up and down"; - homepage = "https://github.com/willothy/moveline.nvim"; - license = lib.licenses.mit; - maintainers = with lib.maintainers; [ redxtech ]; - }; - }; multicursors-nvim = super.multicursors-nvim.overrideAttrs { - dependencies = with self; [ nvim-treesitter hydra-nvim ]; + dependencies = with self; [ + nvim-treesitter + hydra-nvim + ]; + nvimRequireCheck = "multicursors"; }; ncm2 = super.ncm2.overrideAttrs { dependencies = with self; [ nvim-yarp ]; + nvimRequireCheck = "ncm2"; }; ncm2-jedi = super.ncm2-jedi.overrideAttrs { - dependencies = with self; [ nvim-yarp ncm2 ]; + dependencies = with self; [ + nvim-yarp + ncm2 + ]; passthru.python3Dependencies = ps: with ps; [ jedi ]; }; @@ -1253,6 +1461,7 @@ in neogit = super.neogit.overrideAttrs { dependencies = with self; [ plenary-nvim ]; + nvimRequireCheck = "neogit"; }; neorg = neovimUtils.buildNeovimPlugin { @@ -1263,55 +1472,76 @@ in }; neotest = super.neotest.overrideAttrs { - dependencies = with self; [ nvim-nio plenary-nvim ]; + dependencies = with self; [ + nvim-nio + plenary-nvim + ]; + nvimRequirecheck = "neotest"; }; neotest-gradle = super.neotest-gradle.overrideAttrs { dependencies = with self; [ plenary-nvim ]; + nvimRequirecheck = "neotest-gradle"; }; neotest-gtest = super.neotest-gtest.overrideAttrs { dependencies = [ self.plenary-nvim ]; + nvimRequirecheck = "neotest-gtest"; }; neotest-playwright = super.neotest-playwright.overrideAttrs { dependencies = [ self.telescope-nvim ]; + nvimRequirecheck = "neotest-playwright"; }; neotest-golang = super.neotest-golang.overrideAttrs { dependencies = [ self.nvim-dap-go ]; + nvimRequirecheck = "neotest-golang"; }; neo-tree-nvim = super.neo-tree-nvim.overrideAttrs { - dependencies = with self; [ plenary-nvim nui-nvim ]; + dependencies = with self; [ + plenary-nvim + nui-nvim + ]; + nvimRequirecheck = "neo-tree"; }; noice-nvim = super.noice-nvim.overrideAttrs { dependencies = with self; [ nui-nvim ]; + nvimRequirecheck = "noice"; }; none-ls-nvim = super.none-ls-nvim.overrideAttrs { dependencies = [ self.plenary-nvim ]; + nvimRequireCheck = "null-ls"; }; null-ls-nvim = super.null-ls-nvim.overrideAttrs { dependencies = with self; [ plenary-nvim ]; + nvimRequireCheck = "null-ls"; }; nvim-coverage = super.nvim-coverage.overrideAttrs { dependencies = with self; [ plenary-nvim ]; + nvimRequireCheck = "coverage"; }; nvim-dap-python = super.nvim-dap-python.overrideAttrs { dependencies = with self; [ nvim-dap ]; + nvimRequireCheck = "dap-python"; }; nvim-dap-rego = super.nvim-dap-rego.overrideAttrs { dependencies = with self; [ nvim-dap ]; + nvimRequireCheck = "dap-rego"; }; nvim-dap-ui = super.nvim-dap-ui.overrideAttrs { - dependencies = with self; [ nvim-dap nvim-nio ]; + dependencies = with self; [ + nvim-dap + nvim-nio + ]; doInstallCheck = true; nvimRequireCheck = "dapui"; @@ -1319,6 +1549,7 @@ in nvim-dap-rr = super.nvim-dap-rr.overrideAttrs { dependencies = [ self.nvim-dap ]; + nvimRequireCheck = "nvim-dap-rr"; }; nvim-genghis = super.nvim-genghis.overrideAttrs { @@ -1330,52 +1561,68 @@ in nvim-lsputils = super.nvim-lsputils.overrideAttrs { dependencies = with self; [ popfix ]; + nvimRequireCheck = "lsputil.codeAction"; }; nvim-metals = super.nvim-metals.overrideAttrs { + dependencies = with self; [ plenary-nvim ]; dontBuild = true; + nvimRequireCheck = "metals"; }; nvim-navbuddy = super.nvim-navbuddy.overrideAttrs { - dependencies = with self; [ nui-nvim nvim-lspconfig nvim-navic ]; + dependencies = with self; [ + nui-nvim + nvim-lspconfig + nvim-navic + ]; + # TODO: enable after https://github.com/NixOS/nixpkgs/pull/342240 merged + # nvimRequireCheck = "nvim-navbuddy"; }; vim-mediawiki-editor = super.vim-mediawiki-editor.overrideAttrs { passthru.python3Dependencies = [ python3.pkgs.mwclient ]; }; - nvim-dbee = super.nvim-dbee.overrideAttrs (oa: let - dbee-go = buildGoModule { - name = "nvim-dbee"; - src = "${oa.src}/dbee"; - vendorHash = "sha256-U/3WZJ/+Bm0ghjeNUILsnlZnjIwk3ySaX3Rd4L9Z62A="; - buildInputs = [ - arrow-cpp - duckdb - ]; - }; - in { - dependencies = [ self.nui-nvim ]; + nvim-dbee = super.nvim-dbee.overrideAttrs ( + oa: + let + dbee-go = buildGoModule { + name = "nvim-dbee"; + src = "${oa.src}/dbee"; + vendorHash = "sha256-U/3WZJ/+Bm0ghjeNUILsnlZnjIwk3ySaX3Rd4L9Z62A="; + buildInputs = [ + arrow-cpp + duckdb + ]; + }; + in + { + dependencies = [ self.nui-nvim ]; - # nvim-dbee looks for the go binary in paths returned bu M.dir() and M.bin() defined in lua/dbee/install/init.lua - postPatch = '' - substituteInPlace lua/dbee/install/init.lua \ - --replace-fail 'return vim.fn.stdpath("data") .. "/dbee/bin"' 'return "${dbee-go}/bin"' - ''; - - preFixup = '' - mkdir $target/bin - ln -s ${dbee-go}/bin/dbee $target/bin/dbee + # nvim-dbee looks for the go binary in paths returned bu M.dir() and M.bin() defined in lua/dbee/install/init.lua + postPatch = '' + substituteInPlace lua/dbee/install/init.lua \ + --replace-fail 'return vim.fn.stdpath("data") .. "/dbee/bin"' 'return "${dbee-go}/bin"' ''; - meta.platforms = lib.platforms.linux; - }); + preFixup = '' + mkdir $target/bin + ln -s ${dbee-go}/bin/dbee $target/bin/dbee + ''; + + meta.platforms = lib.platforms.linux; + nvimRequireCheck = "dbee"; + } + ); nvim-navic = super.nvim-navic.overrideAttrs { - dependencies = [ self.nvim-lspconfig ]; + dependencies = [ self.nvim-lspconfig ]; + nvimRequireCheck = "nvim-navic"; }; - nvim-spectre = super.nvim-spectre.overrideAttrs (old: + nvim-spectre = super.nvim-spectre.overrideAttrs ( + old: let spectre_oxi = rustPlatform.buildRustPackage { pname = "spectre_oxi"; @@ -1395,12 +1642,13 @@ in }; in { - dependencies = with self; - [ plenary-nvim ]; + dependencies = with self; [ plenary-nvim ]; postInstall = '' ln -s ${spectre_oxi}/lib/libspectre_oxi.* $out/lua/spectre_oxi.so ''; - }); + nvimRequireCheck = "spectre"; + } + ); nvim-teal-maker = super.nvim-teal-maker.overrideAttrs { postPatch = '' @@ -1413,22 +1661,30 @@ in nvim-treesitter = super.nvim-treesitter.overrideAttrs ( callPackage ./nvim-treesitter/overrides.nix { } self super ); + nvim-treesitter-parsers = lib.recurseIntoAttrs self.nvim-treesitter.grammarPlugins; nvim-ufo = super.nvim-ufo.overrideAttrs { dependencies = with self; [ promise-async ]; + nvimRequireCheck = "ufo"; }; obsidian-nvim = super.obsidian-nvim.overrideAttrs { dependencies = with self; [ plenary-nvim ]; + nvimRequireCheck = "obsidian"; }; octo-nvim = super.octo-nvim.overrideAttrs { - dependencies = with self; [ telescope-nvim plenary-nvim ]; + dependencies = with self; [ + telescope-nvim + plenary-nvim + ]; + nvimRequireCheck = "octo"; }; ollama-nvim = super.ollama-nvim.overrideAttrs { dependencies = [ self.plenary-nvim ]; + nvimRequireCheck = "ollama"; }; onehalf = super.onehalf.overrideAttrs { @@ -1438,8 +1694,14 @@ in # The plugin depends on either skim-vim or fzf-vim, but we don't want to force the user so we # avoid choosing one of them and leave it to the user openscad-nvim = super.openscad-nvim.overrideAttrs { - buildInputs = [ zathura htop openscad ]; + buildInputs = [ + zathura + htop + openscad + ]; + # FIXME: cant find plugin root dir + # nvimRequireCheck = "openscad"; patches = [ (substituteAll { src = ./patches/openscad.nvim/program_paths.patch; @@ -1452,10 +1714,12 @@ in orgmode = super.orgmode.overrideAttrs { dependencies = with self; [ (nvim-treesitter.withPlugins (p: [ p.org ])) ]; + nvimRequireCheck = "orgmode"; }; otter-nvim = super.otter-nvim.overrideAttrs { dependencies = [ self.nvim-lspconfig ]; + nvimRequirecheck = "otter"; }; overseer-nvim = super.overseer-nvim.overrideAttrs { @@ -1471,12 +1735,18 @@ in runHook postCheck ''; + nvimRequireCheck = "overseer"; }; inherit parinfer-rust; phpactor = buildVimPlugin { - inherit (phpactor) pname src meta version; + inherit (phpactor) + pname + src + meta + version + ; postPatch = '' substituteInPlace plugin/phpactor.vim \ --replace "g:phpactorpath = expand(':p:h') . '/..'" "g:phpactorpath = '${phpactor}'" @@ -1488,6 +1758,7 @@ in # we need the 'query' grammer to make (nvim-treesitter.withPlugins (p: [ p.query ])) ]; + nvimRequireCheck = "nvim-treesitter-playground"; }; plenary-nvim = super.plenary-nvim.overrideAttrs { @@ -1511,6 +1782,7 @@ in range-highlight-nvim = super.range-highlight-nvim.overrideAttrs { dependencies = with self; [ cmd-parser-nvim ]; + nvimRequireCheck = "range-highlight"; }; ranger-nvim = super.ranger-nvim.overrideAttrs { @@ -1519,6 +1791,7 @@ in postPatch = '' substituteInPlace lua/ranger-nvim.lua --replace '@ranger@' ${ranger}/bin/ranger ''; + nvimRequireCheck = "ranger-nvim"; }; aider-nvim = super.aider-nvim.overrideAttrs { @@ -1528,33 +1801,56 @@ in substituteInPlace lua/aider.lua --replace '@aider@' ${aider-chat}/bin/aider substituteInPlace lua/helpers.lua --replace '@aider@' ${aider-chat}/bin/aider ''; + nvimRequireCheck = "aider"; }; refactoring-nvim = super.refactoring-nvim.overrideAttrs { - dependencies = with self; [ nvim-treesitter plenary-nvim ]; + dependencies = with self; [ + nvim-treesitter + plenary-nvim + ]; + nvimRequireCheck = "refactoring"; }; # needs "http" and "json" treesitter grammars too rest-nvim = super.rest-nvim.overrideAttrs { dependencies = with self; [ plenary-nvim - (nvim-treesitter.withPlugins (p: [ p.http p.json ])) + (nvim-treesitter.withPlugins (p: [ + p.http + p.json + ])) ]; + nvimRequireCheck = "rest-nvim"; }; - rocks-nvim = neovimUtils.buildNeovimPlugin { luaAttr = luaPackages.rocks-nvim; }; + rocks-nvim = neovimUtils.buildNeovimPlugin { + luaAttr = luaPackages.rocks-nvim; + nvimRequireCheck = "rocks"; + }; - rocks-config-nvim = neovimUtils.buildNeovimPlugin { luaAttr = luaPackages.rocks-config-nvim; }; + rocks-config-nvim = neovimUtils.buildNeovimPlugin { + luaAttr = luaPackages.rocks-config-nvim; + nvimRequireCheck = "rocks-config"; + }; roslyn-nvim = super.roslyn-nvim.overrideAttrs { dependencies = with self; [ nvim-lspconfig ]; + nvimRequireCheck = "roslyn"; }; - rtp-nvim = neovimUtils.buildNeovimPlugin { luaAttr = luaPackages.rtp-nvim; }; + rtp-nvim = neovimUtils.buildNeovimPlugin { + luaAttr = luaPackages.rtp-nvim; + nvimRequireCheck = "rtp_nvim"; + }; - rustaceanvim = neovimUtils.buildNeovimPlugin { luaAttr = luaPackages.rustaceanvim; }; + rustaceanvim = neovimUtils.buildNeovimPlugin { + luaAttr = luaPackages.rustaceanvim; + nvimRequireCheck = "rustaceanvim"; + }; - sg-nvim = super.sg-nvim.overrideAttrs (old: + sg-nvim = super.sg-nvim.overrideAttrs ( + old: let sg-nvim-rust = rustPlatform.buildRustPackage { pname = "sg-nvim-rust"; @@ -1589,7 +1885,9 @@ in mkdir -p $out/target/debug ln -s ${sg-nvim-rust}/{bin,lib}/* $out/target/debug ''; - }); + nvimRequireCheck = "sg"; + } + ); skim = buildVimPlugin { pname = "skim"; @@ -1602,7 +1900,10 @@ in }; smart-open-nvim = super.smart-open-nvim.overrideAttrs { - dependencies = with self; [ telescope-nvim sqlite-lua ]; + dependencies = with self; [ + telescope-nvim + sqlite-lua + ]; }; sniprun = @@ -1628,7 +1929,16 @@ in postInstall = '' wrapProgram $out/bin/sniprun \ - --prefix PATH ${lib.makeBinPath [bashInteractive coreutils curl gnugrep gnused procps]} + --prefix PATH ${ + lib.makeBinPath [ + bashInteractive + coreutils + curl + gnugrep + gnused + procps + ] + } ''; doCheck = false; @@ -1650,6 +1960,7 @@ in changelog = "https://github.com/michaelb/sniprun/blob/v${version}/CHANGELOG.md"; maintainers = with lib.maintainers; [ GaetanLepage ]; }; + nvimRequireCheck = "sniprun"; }; # The GitHub repository returns 404, which breaks the update script @@ -1675,17 +1986,19 @@ in --replace "path = vim.g.sqlite_clib_path" "path = vim.g.sqlite_clib_path or ${lib.escapeShellArg libsqlite}" ''; - passthru = oa.passthru // { - initLua = ''vim.g.sqlite_clib_path = "${sqlite.out}/lib/libsqlite3${stdenv.hostPlatform.extensions.sharedLibrary}"''; - }; + passthru = oa.passthru // { + initLua = ''vim.g.sqlite_clib_path = "${sqlite.out}/lib/libsqlite3${stdenv.hostPlatform.extensions.sharedLibrary}"''; + }; }); ssr = super.ssr-nvim.overrideAttrs { dependencies = with self; [ nvim-treesitter ]; + nvimRequireCheck = "ssr"; }; startup-nvim = super.startup-nvim.overrideAttrs { dependencies = with super; [ plenary-nvim ]; + nvimRequireCheck = "startup"; }; statix = buildVimPlugin rec { @@ -1708,6 +2021,7 @@ in substituteInPlace lua/stylish/components/menu.lua --replace xdotool ${xdotool}/bin/xdotool substituteInPlace lua/stylish/components/menu.lua --replace xwininfo ${xorg.xwininfo}/bin/xwininfo ''; + nvimRequireCheck = "stylish"; }; sved = @@ -1716,10 +2030,19 @@ in svedbackend = stdenv.mkDerivation { name = "svedbackend-${super.sved.name}"; inherit (super.sved) src; - nativeBuildInputs = [ wrapGAppsHook3 gobject-introspection ]; + nativeBuildInputs = [ + wrapGAppsHook3 + gobject-introspection + ]; buildInputs = [ glib - (python3.withPackages (ps: with ps; [ pygobject3 pynvim dbus-python ])) + (python3.withPackages ( + ps: with ps; [ + pygobject3 + pynvim + dbus-python + ] + )) ]; preferLocalBuild = true; installPhase = '' @@ -1727,12 +2050,14 @@ in ''; }; # the vim plugin expects evinceSync.py to be a python file, but it is a C wrapper - pythonWrapper = writeText "evinceSync-wrapper.py" /* python */ '' - #!${python3}/bin/python3 - import os - import sys - os.execv("${svedbackend}/bin/evinceSync.py", sys.argv) - ''; + pythonWrapper = + writeText "evinceSync-wrapper.py" # python + '' + #!${python3}/bin/python3 + import os + import sys + os.execv("${svedbackend}/bin/evinceSync.py", sys.argv) + ''; in super.sved.overrideAttrs { preferLocalBuild = true; @@ -1748,6 +2073,7 @@ in syntax-tree-surfer = super.syntax-tree-surfer.overrideAttrs { dependencies = with self; [ nvim-treesitter ]; meta.maintainers = with lib.maintainers; [ callumio ]; + nvimRequireCheck = "syntax-tree-surfer"; }; taskwarrior3 = buildVimPlugin { @@ -1761,11 +2087,17 @@ in }; telescope-cheat-nvim = super.telescope-cheat-nvim.overrideAttrs { - dependencies = with self; [ sqlite-lua telescope-nvim ]; + dependencies = with self; [ + sqlite-lua + telescope-nvim + ]; }; telescope-frecency-nvim = super.telescope-frecency-nvim.overrideAttrs { - dependencies = with self; [ sqlite-lua telescope-nvim ]; + dependencies = with self; [ + sqlite-lua + telescope-nvim + ]; }; telescope-fzf-native-nvim = super.telescope-fzf-native-nvim.overrideAttrs { @@ -1803,7 +2135,11 @@ in }); telescope-media-files-nvim = super.telescope-media-files-nvim.overrideAttrs { - dependencies = with self; [ telescope-nvim popup-nvim plenary-nvim ]; + dependencies = with self; [ + telescope-nvim + popup-nvim + plenary-nvim + ]; }; telescope-nvim = super.telescope-nvim.overrideAttrs { @@ -1840,6 +2176,7 @@ in tssorter-nvim = super.tssorter-nvim.overrideAttrs { dependencies = with self; [ nvim-treesitter ]; + nvimRequireCheck = "tssorter"; }; tup = @@ -1861,7 +2198,11 @@ in }; typescript-tools-nvim = super.typescript-tools-nvim.overrideAttrs { - dependencies = with self; [ nvim-lspconfig plenary-nvim ]; + dependencies = with self; [ + nvim-lspconfig + plenary-nvim + ]; + nvimRequireCheck = "typescript-tools"; }; unicode-vim = @@ -1900,7 +2241,10 @@ in }; vim-addon-actions = super.vim-addon-actions.overrideAttrs { - dependencies = with self; [ vim-addon-mw-utils tlib_vim ]; + dependencies = with self; [ + vim-addon-mw-utils + tlib_vim + ]; }; vim-addon-async = super.vim-addon-async.overrideAttrs { @@ -1924,7 +2268,10 @@ in }; vim-addon-mru = super.vim-addon-mru.overrideAttrs { - dependencies = with self; [ vim-addon-other vim-addon-mw-utils ]; + dependencies = with self; [ + vim-addon-other + vim-addon-mw-utils + ]; }; vim-addon-nix = super.vim-addon-nix.overrideAttrs { @@ -1939,19 +2286,34 @@ in }; vim-addon-sql = super.vim-addon-sql.overrideAttrs { - dependencies = with self; [ vim-addon-completion vim-addon-background-cmd tlib_vim ]; + dependencies = with self; [ + vim-addon-completion + vim-addon-background-cmd + tlib_vim + ]; }; vim-addon-syntax-checker = super.vim-addon-syntax-checker.overrideAttrs { - dependencies = with self; [ vim-addon-mw-utils tlib_vim ]; + dependencies = with self; [ + vim-addon-mw-utils + tlib_vim + ]; }; vim-addon-toggle-buffer = super.vim-addon-toggle-buffer.overrideAttrs { - dependencies = with self; [ vim-addon-mw-utils tlib_vim ]; + dependencies = with self; [ + vim-addon-mw-utils + tlib_vim + ]; }; vim-addon-xdebug = super.vim-addon-xdebug.overrideAttrs { - dependencies = with self; [ webapi-vim vim-addon-mw-utils vim-addon-signs vim-addon-async ]; + dependencies = with self; [ + webapi-vim + vim-addon-mw-utils + vim-addon-signs + vim-addon-async + ]; }; vim-agda = super.vim-agda.overrideAttrs { @@ -2120,7 +2482,10 @@ in }; vim-snipmate = super.vim-snipmate.overrideAttrs { - dependencies = with self; [ vim-addon-mw-utils tlib_vim ]; + dependencies = with self; [ + vim-addon-mw-utils + tlib_vim + ]; }; vim-speeddating = super.vim-speeddating.overrideAttrs { @@ -2129,8 +2494,7 @@ in vim-stylish-haskell = super.vim-stylish-haskell.overrideAttrs (old: { postPatch = - old.postPatch - or "" + old.postPatch or "" + '' substituteInPlace ftplugin/haskell/stylish-haskell.vim --replace \ 'g:stylish_haskell_command = "stylish-haskell"' \ @@ -2250,16 +2614,23 @@ in }; vim-zettel = super.vim-zettel.overrideAttrs { - dependencies = with self; [ vimwiki fzf-vim ]; + dependencies = with self; [ + vimwiki + fzf-vim + ]; }; windows-nvim = super.windows-nvim.overrideAttrs { - dependencies = with self; [ middleclass animation-nvim ]; + dependencies = with self; [ + middleclass + animation-nvim + ]; nvimRequireCheck = "windows"; }; wtf-nvim = super.wtf-nvim.overrideAttrs { dependencies = with self; [ nui-nvim ]; + nvimRequireCheck = "wtf"; }; YankRing-vim = super.YankRing-vim.overrideAttrs { @@ -2268,6 +2639,7 @@ in yazi-nvim = super.yazi-nvim.overrideAttrs { dependencies = with self; [ plenary-nvim ]; + nvimRequireCheck = "yazi"; }; YouCompleteMe = super.YouCompleteMe.overrideAttrs { @@ -2284,7 +2656,10 @@ in description = "Code-completion engine for Vim"; homepage = "https://github.com/Valloric/YouCompleteMe"; license = licenses.gpl3; - maintainers = with maintainers; [ marcweber jagajaga ]; + maintainers = with maintainers; [ + marcweber + jagajaga + ]; platforms = platforms.unix; }; }; @@ -2310,7 +2685,7 @@ in stripDebugList = [ "autoload/leaderf/python" ]; }; } - // ( +// ( let nodePackageNames = [ "coc-cmake" @@ -2360,7 +2735,8 @@ in "coc-yaml" "coc-yank" ]; - nodePackage2VimPackage = name: + nodePackage2VimPackage = + name: buildVimPlugin { pname = name; inherit (nodePackages.${name}) version meta; diff --git a/pkgs/applications/editors/vscode/extensions/myriad-dreamin.tinymist/default.nix b/pkgs/applications/editors/vscode/extensions/myriad-dreamin.tinymist/default.nix index 73e603bbde85..d1dcbafac6d1 100644 --- a/pkgs/applications/editors/vscode/extensions/myriad-dreamin.tinymist/default.nix +++ b/pkgs/applications/editors/vscode/extensions/myriad-dreamin.tinymist/default.nix @@ -11,7 +11,7 @@ vscode-utils.buildVscodeMarketplaceExtension { name = "tinymist"; publisher = "myriad-dreamin"; inherit (tinymist) version; - hash = "sha256-PcCZkY1+ks9J5JaDJLVgiJuXgRxIvUZHI00gatjeVbA="; + hash = "sha256-CQVujtl1SFcUmEG7O1cvN2gr6v3kcWMMZz+oYEkclKI="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/editors/vscode/vscodium.nix b/pkgs/applications/editors/vscode/vscodium.nix index 54a1a98ad7c6..c0797da3bf53 100644 --- a/pkgs/applications/editors/vscode/vscodium.nix +++ b/pkgs/applications/editors/vscode/vscodium.nix @@ -15,11 +15,11 @@ let archive_fmt = if stdenv.hostPlatform.isDarwin then "zip" else "tar.gz"; sha256 = { - x86_64-linux = "14pqi5l7zbkhpsl8hd7mqss4xkqnxf0f0h5bs710iadpcscgpndf"; - x86_64-darwin = "10k4qgck48xh12xq80y8x3jf9qp5fn15n995mn8gbid39907ars0"; - aarch64-linux = "0jk33jw5rj98qr6fhi4r3vz5f1673m5v1g28jdyn3prs20hp0msg"; - aarch64-darwin = "1sw39iyz5m0hdy875b3ygzvpl7vz9j3d1w6fpmf30a3iyl3ndh66"; - armv7l-linux = "1rjv5c85ffy5szxhf71kjmvxiahyyvx2dl6183v5q7apv9pa64hj"; + x86_64-linux = "0wx0jjckyz2hxas3108m9l2nm8vlgxh8rc9g673g9a43zzg98prf"; + x86_64-darwin = "1s56qd9ycqnm4fxg4c75cfjxy0hpn762f84l4gg2054yic7c3s2v"; + aarch64-linux = "070wj6h5riv9vp73np9k9qk85y26wj22626jafvss0zjkdjrrhgh"; + aarch64-darwin = "09pl31zplrixi828yxqyl1khyxp3mw4d3gsfrj1dz62rxbnahmq6"; + armv7l-linux = "1sqidmzdyrxgskylhyi1xav7apq0f8ca9qz0g7svcy5jn1wk855f"; }.${system} or throwSystem; sourceRoot = lib.optionalString (!stdenv.hostPlatform.isDarwin) "."; @@ -29,7 +29,7 @@ in # Please backport all compatible updates to the stable release. # This is important for the extension ecosystem. - version = "1.93.1.24256"; + version = "1.94.0.24282"; pname = "vscodium"; executableName = "codium"; diff --git a/pkgs/applications/graphics/curtail/default.nix b/pkgs/applications/graphics/curtail/default.nix index 7c9d4298cb7b..88f0a64df13a 100644 --- a/pkgs/applications/graphics/curtail/default.nix +++ b/pkgs/applications/graphics/curtail/default.nix @@ -20,14 +20,14 @@ python3.pkgs.buildPythonApplication rec { pname = "curtail"; - version = "1.10.0"; + version = "1.11.0"; format = "other"; src = fetchFromGitHub { owner = "Huluti"; repo = "Curtail"; rev = "refs/tags/${version}"; - sha256 = "sha256-xwpjyMMdjYMrd79/EzoNae4rQuq2VjwJRNoudNGD78E="; + sha256 = "sha256-bN901v2M644EN7tBKN9/kv12AE2XuIPjDSCoohfevFI="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/graphics/f3d/default.nix b/pkgs/applications/graphics/f3d/default.nix index 3ce409516249..c654e78a9b45 100644 --- a/pkgs/applications/graphics/f3d/default.nix +++ b/pkgs/applications/graphics/f3d/default.nix @@ -80,5 +80,8 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ bcdarwin pbsds ]; platforms = with platforms; unix; mainProgram = "f3d"; + # error: use of undeclared identifier 'NSMenuItem' + # adding AppKit does not solve it + broken = with stdenv.hostPlatform; isDarwin && isx86_64; }; } diff --git a/pkgs/applications/misc/survex/default.nix b/pkgs/applications/misc/survex/default.nix index bfb79fd10b93..a74d7e424e88 100644 --- a/pkgs/applications/misc/survex/default.nix +++ b/pkgs/applications/misc/survex/default.nix @@ -13,6 +13,7 @@ , perl , pkg-config , proj +, gdal , python3 , wrapGAppsHook3 , wxGTK32 @@ -20,21 +21,13 @@ stdenv.mkDerivation rec { pname = "survex"; - version = "1.4.3"; + version = "1.4.11"; src = fetchurl { url = "https://survex.com/software/${version}/${pname}-${version}.tar.gz"; - hash = "sha256-7NtGTe9xNRPEvG9fQ2fC6htQLEMHfqGmBM2ezhi6oNM="; + hash = "sha256-Q+86sDfU3zYhRhnnO2rfzwmF3CmWPYcIf2VeQctIZ7Y="; }; - patches = [ - # Fix cavern.tst to work with SOURCE_DATE_EPOCH set - (fetchpatch { - url = "https://github.com/ojwb/survex/commit/b1200a60be7bdea20ffebbd8bb15386041727fa6.patch"; - hash = "sha256-OtFjqpU+u8XGy+PAHg2iea++b681p/Kl8YslisBs4sA="; - }) - ]; - nativeBuildInputs = [ perl pkg-config @@ -46,6 +39,7 @@ stdenv.mkDerivation rec { ffmpeg glib proj + gdal wxGTK32 ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Carbon diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.nix b/pkgs/applications/networking/browsers/chromium/upstream-info.nix index 4c2ee8a3c357..5d437695be93 100644 --- a/pkgs/applications/networking/browsers/chromium/upstream-info.nix +++ b/pkgs/applications/networking/browsers/chromium/upstream-info.nix @@ -1,11 +1,11 @@ { stable = { chromedriver = { - hash_darwin = "sha256-cWY8P3D+PrIlbEdMYPp+4cFQZfOLbGeebC1Glg53Sx4="; + hash_darwin = "sha256-/0mBZCSNULvZSQ/irsQSgNPsuOSWiRRnJA/6ogHYeGk="; hash_darwin_aarch64 = - "sha256-Tu11SCTlB+8/ao0uS7AbknB5WuvN+cw/gHiyL6xKH1o="; - hash_linux = "sha256-Da+xaXNNP8eRccq87LBxMb+2oXJ4WRGLdWoCAhG2yAQ="; - version = "129.0.6668.89"; + "sha256-JWcYFYaaXM2KN6oSu7wwxztYPbhql2XYZlvL2ymKgwI="; + hash_linux = "sha256-odFoTWjDa9ilyOrQ0T+0xxedRD7YOe/s7xdAyyku74w="; + version = "129.0.6668.91"; }; deps = { gn = { @@ -15,8 +15,8 @@ version = "2024-08-19"; }; }; - hash = "sha256-+n9LjRLFvVB/pYkSrRCxln/Xn2paFyoY+mJGD73NtII="; - version = "129.0.6668.89"; + hash = "sha256-LOZ9EPw7VgBNEV7Wxb8H5WfSYTTWOL8EDP91uCrZAsA="; + version = "129.0.6668.100"; }; ungoogled-chromium = { deps = { diff --git a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix index 3585115bbc40..a004579709dd 100644 --- a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix +++ b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix @@ -1,1035 +1,1035 @@ { - version = "131.0"; + version = "131.0.2"; sources = [ - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/ach/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/ach/firefox-131.0.2.tar.bz2"; locale = "ach"; arch = "linux-x86_64"; - sha256 = "be36e045c268ad7b8c6a18e118941bc166f7c0db4f981a571fa0b3bfcdea185d"; + sha256 = "527b6512afdc455e4aaf0ba9240af3680eff5f1406a01e5d611031e6e82aa131"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/af/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/af/firefox-131.0.2.tar.bz2"; locale = "af"; arch = "linux-x86_64"; - sha256 = "8dfd7493a79ce8a9dba6a48c56c93eeee62251712098b300f54d9938cf6aa219"; + sha256 = "427a80d18d0aa466e3a74757a45922f22c17778b20d692041a4c68ef29eb8e19"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/an/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/an/firefox-131.0.2.tar.bz2"; locale = "an"; arch = "linux-x86_64"; - sha256 = "395c27aec8a019ef51ce47f4b6254a9778a67acbae2e196f107628e86b37df6f"; + sha256 = "b3f43839be8aa08e0c637ca8ac8ff006f55c2a8a8d5f62000161188bf0339dca"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/ar/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/ar/firefox-131.0.2.tar.bz2"; locale = "ar"; arch = "linux-x86_64"; - sha256 = "9c04d516a5d2c82508711910a4eb9bbc30395bf648349ddbef7150d950129a04"; + sha256 = "89beb5f30b2e7fb6eebad33e73950fce763bc0e5028ac633da0d0a28925c956e"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/ast/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/ast/firefox-131.0.2.tar.bz2"; locale = "ast"; arch = "linux-x86_64"; - sha256 = "ee75f84752e949454adbfbc634e3f4bbe746c253fcb845b5a098708dcf1d529b"; + sha256 = "5e1a279ff78a09dc067d079bdac89ac4b605317e571b5479f0c360874ea2acc3"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/az/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/az/firefox-131.0.2.tar.bz2"; locale = "az"; arch = "linux-x86_64"; - sha256 = "ed02a584a8c7d1a3d513f179650e9de68af0b68d827fc0ad1709f8632e40a626"; + sha256 = "2fc304846cef2a210e937fa556fd89c1146cffd178f38a15bede9d38227fa056"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/be/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/be/firefox-131.0.2.tar.bz2"; locale = "be"; arch = "linux-x86_64"; - sha256 = "4b6de517ee047134134da171dab4a508e81f885e0a31bd612f5333339e82f456"; + sha256 = "c1e3f9de73ea2bc2d67e9701776e9aeaf68c68efc6a313995c23210a096bfff5"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/bg/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/bg/firefox-131.0.2.tar.bz2"; locale = "bg"; arch = "linux-x86_64"; - sha256 = "090d3d91b669ef4c9974db5bf8932387db6cbbf7d394fb19dc723a922fdb5bb4"; + sha256 = "bef3ad9b1325e90d1cc707e8f1d6292b1e7bdd65a450cd58e7e1301e1ab02539"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/bn/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/bn/firefox-131.0.2.tar.bz2"; locale = "bn"; arch = "linux-x86_64"; - sha256 = "2e16f5f6db31ca4cad8afdf9d5013e60af2abb06018e85e28416e2a3684a0348"; + sha256 = "e7f926434d77fa6ee7d3ccd3a9594727332c8e34dde1284aa1824872212cad9f"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/br/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/br/firefox-131.0.2.tar.bz2"; locale = "br"; arch = "linux-x86_64"; - sha256 = "6b9c60151b003c076e4abd635069f6ea8ef1ef3a8c3d7ae10858064273bb1d12"; + sha256 = "f3adeb1b84151625b231c97cb13fbac0063506eae79740e8632fb7b89f0b567f"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/bs/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/bs/firefox-131.0.2.tar.bz2"; locale = "bs"; arch = "linux-x86_64"; - sha256 = "e456f09524e58843948dd0c0eb52fd5f740ee6442595697c0e548d7beac1b917"; + sha256 = "50fc2475f46ebe795be92db93d46023a60fc40220676fcfa358813d89d517592"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/ca-valencia/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/ca-valencia/firefox-131.0.2.tar.bz2"; locale = "ca-valencia"; arch = "linux-x86_64"; - sha256 = "568cde24b87cfcf1a87876aa8d78d7bd5200f49d1bf8a6529f66ba14a06a3dac"; + sha256 = "c04d62e2701767071c793c19e16d5c0d681160e1879b4fe2990504872201abb5"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/ca/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/ca/firefox-131.0.2.tar.bz2"; locale = "ca"; arch = "linux-x86_64"; - sha256 = "88188fb21436e3e4db9be013766ea3a8f5d7aca4130759e864ad91165d24e37f"; + sha256 = "f0e22f2be9e7647a3b613b32c685570ff33a837b6cdb0bfccc5dc40703d2f416"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/cak/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/cak/firefox-131.0.2.tar.bz2"; locale = "cak"; arch = "linux-x86_64"; - sha256 = "c836b79f48de1b023c41b1551de43a5482919af70542c2b9d0391f76487bb18c"; + sha256 = "6abc55ba6f9866a5b1564a9905f8f75b8d74630970bf8cd0d5d1c5445927a7a9"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/cs/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/cs/firefox-131.0.2.tar.bz2"; locale = "cs"; arch = "linux-x86_64"; - sha256 = "38e5938e3e23a52881f1ada0a927be7dca3db522aacfc6501267fe2f365e5666"; + sha256 = "fbd1552f25072df5fa972eec2ca7d4dab0b92183fd0b5bbc78a1842607e96b2b"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/cy/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/cy/firefox-131.0.2.tar.bz2"; locale = "cy"; arch = "linux-x86_64"; - sha256 = "d016960dafc9ded6a5ae0bf9ddc2df5bcc0cdaa965dba7800d1334c2b1cb5445"; + sha256 = "f92405ab9181ac6a2da4ed1cf5ba58da45068fdd5078c9de307eddcc99cb1280"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/da/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/da/firefox-131.0.2.tar.bz2"; locale = "da"; arch = "linux-x86_64"; - sha256 = "95352744ab62e2966fd182da671c88765d272e35f866ff1fec8f28049151e018"; + sha256 = "1d627b82f98119cb3fe4eb63e9d60fc8b301b9c6f33b9064ae74978e11324d01"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/de/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/de/firefox-131.0.2.tar.bz2"; locale = "de"; arch = "linux-x86_64"; - sha256 = "16934d819edacb15eb88a9430ccbcc2e7a322d3ebdb42de9a708f02f088d70bb"; + sha256 = "7c7debaeae65be2128b9b72a0348caebed3d3b7ccecc6b71c2a0f3ef7c0868c4"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/dsb/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/dsb/firefox-131.0.2.tar.bz2"; locale = "dsb"; arch = "linux-x86_64"; - sha256 = "0a89ea6ae7e01a116d2ececa0980b6050f90514678b94431c420590d3e900912"; + sha256 = "bca7844a47613cb12dea31c17edad3d269dd31e948b6266cb81755ab967eeec2"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/el/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/el/firefox-131.0.2.tar.bz2"; locale = "el"; arch = "linux-x86_64"; - sha256 = "01d4bd428e8e999d8979c1429728bbc1fd1cdc2659472e54dee68ab0a6b7c990"; + sha256 = "6982d4fca6a8c2522b7c696965cecd2ae6e85835c8738f9aaf7f24e70ef04704"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/en-CA/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/en-CA/firefox-131.0.2.tar.bz2"; locale = "en-CA"; arch = "linux-x86_64"; - sha256 = "a14301b5d8f87724cff8c671a4a72d1e5951e00899c0c9a9b477b997ca1e495f"; + sha256 = "bbef2bc9883fdaca9d9e042691edaa7d657b449b963bf1a87beef17252759ab0"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/en-GB/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/en-GB/firefox-131.0.2.tar.bz2"; locale = "en-GB"; arch = "linux-x86_64"; - sha256 = "178b7a57e3bf382730ddd9b6c605683521aed7c9974b6d39ff51f5d5190e1fef"; + sha256 = "cda36e33d2de502a51a9ce1cd50530661e79c58b114fa97651db45debb98f865"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/en-US/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/en-US/firefox-131.0.2.tar.bz2"; locale = "en-US"; arch = "linux-x86_64"; - sha256 = "4ca8504a62a31472ecb8c3a769d4301dd4ac692d4cc5d51b8fe2cf41e7b11106"; + sha256 = "e4dfdafd8b82e5d958a78935f55a9b882c9b7da6ce985cb3d3d779e66cb17311"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/eo/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/eo/firefox-131.0.2.tar.bz2"; locale = "eo"; arch = "linux-x86_64"; - sha256 = "bcab9efc4930052472646180a418e6b93c661c5ed4c54374915b33abde1351b5"; + sha256 = "8b4161b162f1ec2f95bb267c0cc25781118e9ecbc30ac5511a33d01c160e570b"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/es-AR/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/es-AR/firefox-131.0.2.tar.bz2"; locale = "es-AR"; arch = "linux-x86_64"; - sha256 = "05bfe84b133e1d1a35c2934a0dd78589580f8edb9b050d11338a45533d6faef3"; + sha256 = "688234988b4e9c6eae823e7f4f5b154ef46a7d82b3cd948a51960889fe1a5c9e"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/es-CL/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/es-CL/firefox-131.0.2.tar.bz2"; locale = "es-CL"; arch = "linux-x86_64"; - sha256 = "10d336cb4d2a316100c1db7714ae3da48d73e1ad6e7c36101bdb6a034d89196e"; + sha256 = "3145000164c9084c5f1c7330434d9928d8d09ab04b35e4b633d63a854e4d10f7"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/es-ES/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/es-ES/firefox-131.0.2.tar.bz2"; locale = "es-ES"; arch = "linux-x86_64"; - sha256 = "e4b1cb7f8363a62341d6a2bac3d534793dc317425cd05c5793f67d3c1d3ad6d4"; + sha256 = "d065683be41858b32af1105d1cf8384f0fd7702d398f264c46b8af764c2c236e"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/es-MX/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/es-MX/firefox-131.0.2.tar.bz2"; locale = "es-MX"; arch = "linux-x86_64"; - sha256 = "ab45bf37e36d53d04450fd747b7cf2159e8b23ad940369c9bf967a8a5eeee054"; + sha256 = "6088d01fad25fb22492e06cb0d1d8220bf3dec078bfa27d15dce3fd58b596b9b"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/et/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/et/firefox-131.0.2.tar.bz2"; locale = "et"; arch = "linux-x86_64"; - sha256 = "85c73ca19aaecb687af7d7b4aaee2f2ebcfaacfdc3e5b5ce08d35f7a17afe8ff"; + sha256 = "d861f81a1e43af6ae00cd06162fdac10c764679d2cb71a15d39fdb1480af814e"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/eu/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/eu/firefox-131.0.2.tar.bz2"; locale = "eu"; arch = "linux-x86_64"; - sha256 = "0ee96359d320da3f3fa8854a3264b856570d51f27394f872240318992bf8c8c0"; + sha256 = "fe640b6f16c251155f502698059862e92783e5e262ecce84407b34c22353bc5d"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/fa/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/fa/firefox-131.0.2.tar.bz2"; locale = "fa"; arch = "linux-x86_64"; - sha256 = "d38bc508f1fc3e2c265cff4b8fe9833e987944fe90a1a7d53bcae9c56e8d517c"; + sha256 = "c0279be2794845a72febe8ebb23d6aa0bcdf01b1a61456050fff24212547b3d3"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/ff/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/ff/firefox-131.0.2.tar.bz2"; locale = "ff"; arch = "linux-x86_64"; - sha256 = "06d7f72078a4dec3baa02ab156d484db96907e1adf9a232a5d35105eaae5d019"; + sha256 = "902951f2c0cc8ebf3f7840d010a44db59d4b04f19c7078a6441a15f137e8b302"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/fi/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/fi/firefox-131.0.2.tar.bz2"; locale = "fi"; arch = "linux-x86_64"; - sha256 = "54c9bd17b3315c44bf033e46f50d5cb56361501c8033a229d62552a7262cd8fe"; + sha256 = "29039a92015229c01ebc6427137a7ac55a5840e6bf611b9a19f16bdaae6ff83b"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/fr/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/fr/firefox-131.0.2.tar.bz2"; locale = "fr"; arch = "linux-x86_64"; - sha256 = "7505dc3135353166de0dffa8fc5dc847f6f0b832fbcb8f7a08075fd13c4fcff7"; + sha256 = "9a4301ffb22bff92e56ef89c93bf75feead7641de935aa8308deac3138bee49c"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/fur/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/fur/firefox-131.0.2.tar.bz2"; locale = "fur"; arch = "linux-x86_64"; - sha256 = "3ee1af04cc890d7903553a16a2dcd670d13342de55d2628da78641b6ee2b13fa"; + sha256 = "895748cef8cf62da9bb4e7d5b5fb0de37e6aa41a5375d08967c2c468fdd864cb"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/fy-NL/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/fy-NL/firefox-131.0.2.tar.bz2"; locale = "fy-NL"; arch = "linux-x86_64"; - sha256 = "d1e270655135f486eda9990bf0a9377c2c6be5555ec68446e75414ad3ea0e8c4"; + sha256 = "6df68bc761b69d745338480d55b3ffa783c2372c8f92964d5b642df26234e3a5"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/ga-IE/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/ga-IE/firefox-131.0.2.tar.bz2"; locale = "ga-IE"; arch = "linux-x86_64"; - sha256 = "1df9e69c392873b40e597225dd4f43e46d777cdc02861dd3c0a53fde401699a1"; + sha256 = "5609bf0266ecb2107dda877599d5d31058115d838247e7fc47aaca7fc8cc6298"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/gd/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/gd/firefox-131.0.2.tar.bz2"; locale = "gd"; arch = "linux-x86_64"; - sha256 = "50654e4fd3a2ab1634ce84af6bf70d61b7ecc47c01b1bcc54056f6f55ad94bab"; + sha256 = "01ceaa470e7a4ceb122d32fa285a4c6013a65efe5f81514fe8da4f3202c6140a"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/gl/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/gl/firefox-131.0.2.tar.bz2"; locale = "gl"; arch = "linux-x86_64"; - sha256 = "c41fd6c1e753aecb5960f980d1e819a9086a10abb7877193be175bc98e9e4093"; + sha256 = "a660c3ea3354578bf52134b889b66229e71224658fb2d6ee8420f9ac6fb9f2b0"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/gn/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/gn/firefox-131.0.2.tar.bz2"; locale = "gn"; arch = "linux-x86_64"; - sha256 = "3aac4478640f9695bdf7deec5785d539bd28a116511a83f7e8b90b9599d83ced"; + sha256 = "96c6800986c4d8db286034a81004984e9e055fc4c040e5a13bf92c8589d3bb47"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/gu-IN/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/gu-IN/firefox-131.0.2.tar.bz2"; locale = "gu-IN"; arch = "linux-x86_64"; - sha256 = "98260679d210ffdb7a0abbb7a4f6335a7964e9e67ce67acb2282932f4171e7a9"; + sha256 = "fe6c2b96625c2e21b2eddfea742525c24d17b715935fde1766a70a56a6cf38f6"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/he/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/he/firefox-131.0.2.tar.bz2"; locale = "he"; arch = "linux-x86_64"; - sha256 = "9dd1ba7f70d9c2abe78f20c8f7c43f8fe2071283592f5403d395fe1e9afee832"; + sha256 = "2931f17eeffb5b04ad6beec6bff778fb28cb58a57eae6c68c3146ae9a76bc750"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/hi-IN/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/hi-IN/firefox-131.0.2.tar.bz2"; locale = "hi-IN"; arch = "linux-x86_64"; - sha256 = "7bf4cebc1d95a8879465b07f060ac0a300d2e198e86e68303ff87c68986bd4f2"; + sha256 = "b576b994c1bcc0238e2ac6cc8fa2f2a204abf138c10bb8303e3b761914123601"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/hr/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/hr/firefox-131.0.2.tar.bz2"; locale = "hr"; arch = "linux-x86_64"; - sha256 = "b2057d0916c17948c782741cc8ad33dee728fac50028fe69c1314ce5e2830d50"; + sha256 = "e1df99138e5e0c6c4d5dd419eedcbe2a13c7e5ab34876b0e7623b3e09561f89a"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/hsb/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/hsb/firefox-131.0.2.tar.bz2"; locale = "hsb"; arch = "linux-x86_64"; - sha256 = "197bc7a7fd7fc0a7d5002a45307f37a201d19cc4916c7207b0aa87d2ca1bd777"; + sha256 = "fe8d4188275ee3e99e3a7a9522e6a7c252f3accb5d732c5c511e7c96b45d8b03"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/hu/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/hu/firefox-131.0.2.tar.bz2"; locale = "hu"; arch = "linux-x86_64"; - sha256 = "bf5d21d0890c5cc740b0ef60a9940d7bf70874ec8e98d6a2fa6a3906dbad5eee"; + sha256 = "2ba69b66d2abdeef334599df98a32b66cc8cc386cb61142bd54934be6267f7b4"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/hy-AM/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/hy-AM/firefox-131.0.2.tar.bz2"; locale = "hy-AM"; arch = "linux-x86_64"; - sha256 = "d6811fa82f435c027dce0b5feeea2320a7aacf94b1fe7923486c4a13cfd6284b"; + sha256 = "fc4264f273a1f6bc62a4312652bbced16dad2140583ec397617ac714b4c202c8"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/ia/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/ia/firefox-131.0.2.tar.bz2"; locale = "ia"; arch = "linux-x86_64"; - sha256 = "666c537a9233bdacf0f16cc98a6708cb8dcba48a3d55cf8c6bcfb5418259a8b3"; + sha256 = "2efef62ee6975b8e90bf680c8e539dfca65917e88d147e17cd03c38a3e0d93a4"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/id/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/id/firefox-131.0.2.tar.bz2"; locale = "id"; arch = "linux-x86_64"; - sha256 = "9eddc0df63e3d3fa25ac4e61c68c04e497e4034cd8c8492d4556df3c0eaafd80"; + sha256 = "893487ca5380db8d7a23a26fe4849c5e8911137dd4224313bbc468d7841d8f14"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/is/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/is/firefox-131.0.2.tar.bz2"; locale = "is"; arch = "linux-x86_64"; - sha256 = "af257fa9ff0b926845bd910c365da4858b5ae375c66776369023fdfc8ef1ff4e"; + sha256 = "6b42330188084788c0bacdc2082561609916ac457ecbd8ff5cedee5d8ac7777d"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/it/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/it/firefox-131.0.2.tar.bz2"; locale = "it"; arch = "linux-x86_64"; - sha256 = "ebecd0d93cde4e9ac3fbb970d343dd826a7fdaa7c0c0c1411f739dbb59703a3d"; + sha256 = "424839a7f830de29929881f851b64f6387a863ae9002b1987cd53f2164d2cc16"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/ja/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/ja/firefox-131.0.2.tar.bz2"; locale = "ja"; arch = "linux-x86_64"; - sha256 = "ec23826e3e748f4b3c3a79d8f0945d224b1fe0b26acc814ab046e1f296a791b1"; + sha256 = "25b4a500d4521cc87734c9bd6046c37dd2cabaeccafd369a6cc28e9707c3e1b9"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/ka/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/ka/firefox-131.0.2.tar.bz2"; locale = "ka"; arch = "linux-x86_64"; - sha256 = "07cc5996d15647a3b0f487218bc02464e16fa8144ea2da0a15b533804b0f2fda"; + sha256 = "7bac8c0adc85bc3028c8a00078242bafd83da33254b951a5b5379943fdbd2efe"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/kab/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/kab/firefox-131.0.2.tar.bz2"; locale = "kab"; arch = "linux-x86_64"; - sha256 = "fd63ef6a93b4f75d4106113053cff8b12466973a147b1c32d95575c5726340ba"; + sha256 = "354d024e12979ba7b973f2f4021067ced8259f5ff9a223ab5907c7fea4018c3f"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/kk/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/kk/firefox-131.0.2.tar.bz2"; locale = "kk"; arch = "linux-x86_64"; - sha256 = "dddde0f27826990d7d20f1cf8fff06d6e127b52ed78afa1b7ef15bdec114118f"; + sha256 = "0118f62d2966c5294d58529fbc2c471120883e0b27ca041d7c71994a123b2fce"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/km/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/km/firefox-131.0.2.tar.bz2"; locale = "km"; arch = "linux-x86_64"; - sha256 = "bae7a63f5b94f827abfe274026ad5410dea884ad7cf9ca768c7c4742a7c8f38f"; + sha256 = "67882687e698c39def447698ffa588659234ed115cdb3f3b930f9a38e9e1ca30"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/kn/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/kn/firefox-131.0.2.tar.bz2"; locale = "kn"; arch = "linux-x86_64"; - sha256 = "8a3fec8a361e4f53df91a36cb21224ada7fabc71258849ec984cfa1f72598645"; + sha256 = "5f498e93a6ee985ac48a4d1d081c2d1bd1b001ca008db92ea80d87b1ce57049c"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/ko/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/ko/firefox-131.0.2.tar.bz2"; locale = "ko"; arch = "linux-x86_64"; - sha256 = "2bb0ecf8437409bcc55543269276d147059533703e75ee163fff317847c133f6"; + sha256 = "e849db47d9c7099f35f3f1289a87b5da9c9b4b000e22fff072adabad802393d7"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/lij/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/lij/firefox-131.0.2.tar.bz2"; locale = "lij"; arch = "linux-x86_64"; - sha256 = "0f2dedf32734f4b0c635a1431380a76239eb1e1c143f52088dab1bdb5c5dac73"; + sha256 = "4eb17b843956122b4f7f05ad765beac62440cda277fc37b29cae9b855697708f"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/lt/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/lt/firefox-131.0.2.tar.bz2"; locale = "lt"; arch = "linux-x86_64"; - sha256 = "f02bc3969e126a27603ec1e5b28c6faa9c937c41fd87ab5120a1592a2d619fa5"; + sha256 = "31362336d8ac4a12529fd1976b1ff81b29ed6c65dbd4ebffb06bf72bc1f40c12"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/lv/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/lv/firefox-131.0.2.tar.bz2"; locale = "lv"; arch = "linux-x86_64"; - sha256 = "4391ef6457ae6e98368a8d2e2df159920bb0dff8be0c1187d1c73d1eaf53b90c"; + sha256 = "39b6cb02cd5ef24d725c9cff0800afd716e856c2f79419c79a1b45e50986f642"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/mk/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/mk/firefox-131.0.2.tar.bz2"; locale = "mk"; arch = "linux-x86_64"; - sha256 = "6a1a7cdc3935e06a0328b5275f53988acd7d87ae326c75c20e525fb1100144c6"; + sha256 = "fa2f898afc24c4decee3beaea31ff38bb811ed8f823abb89cd6aed97b504614b"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/mr/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/mr/firefox-131.0.2.tar.bz2"; locale = "mr"; arch = "linux-x86_64"; - sha256 = "cbbd5bebcf46c689962c5a72a17ec5368f7a157fa25f0aeb12b407774d180806"; + sha256 = "0b4b33bb20fb50b6d1c55868160301290e0f572df1955b4deb7f53bd1d21f708"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/ms/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/ms/firefox-131.0.2.tar.bz2"; locale = "ms"; arch = "linux-x86_64"; - sha256 = "d02ef946ab3953041a392d820f6bdd298198c6d22de0287b400459844e2fdf6e"; + sha256 = "61cf2b7bfd32b854644944988aa5bed4012e3ebc871d819ae6840285dcd9448e"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/my/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/my/firefox-131.0.2.tar.bz2"; locale = "my"; arch = "linux-x86_64"; - sha256 = "b45dbeec1516896b9e5907dbb1bed8a5511490c0897379c1a5af8a1449ec2328"; + sha256 = "6824547014b2e19e45692d0b337f9da45b124fa322d84bc09ef3fcb490729a5a"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/nb-NO/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/nb-NO/firefox-131.0.2.tar.bz2"; locale = "nb-NO"; arch = "linux-x86_64"; - sha256 = "5f92f97ade31f4037a7075524bd85cd89c50d3509772302a5c7ef340d02396ed"; + sha256 = "cfdf63f6bc5808e4bb08ffc55a3b77bae6c2b09ceb8c04d31c78d1339e5a2809"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/ne-NP/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/ne-NP/firefox-131.0.2.tar.bz2"; locale = "ne-NP"; arch = "linux-x86_64"; - sha256 = "c41f60083d56c8fe2ca59806ee409c004ac4f6483322918ef1b89a5951a20681"; + sha256 = "cfd98141bee7492c2f60389f8cf776701353ca96fc41f0902a8ae81a8d7d0a3e"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/nl/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/nl/firefox-131.0.2.tar.bz2"; locale = "nl"; arch = "linux-x86_64"; - sha256 = "a3db7e65ff3a835c05d0c5eefd3687e1530c202a71983b95e8630cfa84830d7d"; + sha256 = "babb03ff3a2b0d9e6d8012ef3016f318829adf212d3d7b5fac50f7698518e63c"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/nn-NO/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/nn-NO/firefox-131.0.2.tar.bz2"; locale = "nn-NO"; arch = "linux-x86_64"; - sha256 = "35ee4826270682c72110740f885a5f9aca2d7493e9a4c11e4c9e8a941153f988"; + sha256 = "88b73c62f2a7aee0934dcc20888c33bc0cc4a98c6b16f14524b0dc70861e2d20"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/oc/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/oc/firefox-131.0.2.tar.bz2"; locale = "oc"; arch = "linux-x86_64"; - sha256 = "a54883fb3df19b3b43c83c7766da428969f7c5854d38487f8ff3631417ca67ef"; + sha256 = "bb33a83e0c5b92c58f9954d919afa09c49f065fd65c57e7b95c4006f63173c89"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/pa-IN/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/pa-IN/firefox-131.0.2.tar.bz2"; locale = "pa-IN"; arch = "linux-x86_64"; - sha256 = "85f7114a305787f4ae0560541cdb9c43a8020b442d78260665f2fefcc165020d"; + sha256 = "abc324edac905e1dc3061a6ee442d00d6369dff5aa29d36ba16048be4b3deb61"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/pl/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/pl/firefox-131.0.2.tar.bz2"; locale = "pl"; arch = "linux-x86_64"; - sha256 = "7bdf350ffc508334c773c88027bceed8aed7f2ebe7095d7aed8fb15136f8250a"; + sha256 = "a6392cd311337221cf5fcc7cd863dad6caa18fd803f67cde15ef5afbd68bffda"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/pt-BR/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/pt-BR/firefox-131.0.2.tar.bz2"; locale = "pt-BR"; arch = "linux-x86_64"; - sha256 = "e3bc372080adf7f311ce23c6957226b9b8b997bf836ca3643961172f4db775f0"; + sha256 = "aef36414761717f17abb72a96b923bed9d85f92a2fd7b1cde4599238baaaff91"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/pt-PT/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/pt-PT/firefox-131.0.2.tar.bz2"; locale = "pt-PT"; arch = "linux-x86_64"; - sha256 = "68767d1baadc4f1ef7f9512d32e3d0b5c7c957d601a3feb35dd60cb6b9e03aa5"; + sha256 = "971d85215cb85084780e074dee0712c704dfb7b82a1a7b71812aaff188e8a1ed"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/rm/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/rm/firefox-131.0.2.tar.bz2"; locale = "rm"; arch = "linux-x86_64"; - sha256 = "19533cfa2c200c063615bd8f37bbee176386e29ad600e31de401c3d11a89686e"; + sha256 = "7d9773d01bcc541909347a4453cf52663f70fc177ab24e7772076660458b87fa"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/ro/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/ro/firefox-131.0.2.tar.bz2"; locale = "ro"; arch = "linux-x86_64"; - sha256 = "c51110fd220b8dd1579955dd25dc7c3fa37d5a607394a8e353752d7635e93a8f"; + sha256 = "9dff6288dcb84fb744b3459558a65d9f5584be8b8270caf8aed17e2a0bf86532"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/ru/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/ru/firefox-131.0.2.tar.bz2"; locale = "ru"; arch = "linux-x86_64"; - sha256 = "904956c953a448ab488275c1c29b663b7a21ed1fe57e83b70ca20cad32d16564"; + sha256 = "ad65bb096027ec583349b4ce4cb66bb1d3539435098d609c03d5a2a4109487cb"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/sat/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/sat/firefox-131.0.2.tar.bz2"; locale = "sat"; arch = "linux-x86_64"; - sha256 = "7f291835df563dd0531411353ba52cbc695bc60ebefaf1ceed81ada42cbe8bb4"; + sha256 = "042a8593c78b841b47c7d164daaf7fd98f766ee5baffc6b886d7f40fc640707a"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/sc/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/sc/firefox-131.0.2.tar.bz2"; locale = "sc"; arch = "linux-x86_64"; - sha256 = "77ccc26e54cfec33d0913cd8a761df49d968291400c16c29e96c39c4dfac5e85"; + sha256 = "ca96dd09fff80be17c86a8d93642860ad8044458cb96ea6876d4a2ad2d76c098"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/sco/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/sco/firefox-131.0.2.tar.bz2"; locale = "sco"; arch = "linux-x86_64"; - sha256 = "c382e40193be0361cfe245a8f833b4376f775e0aaf6aaadecd8f8061186db5a9"; + sha256 = "cc07b39d982446d48ec6e42666ed923492bd413b50f58d5ccfdeda5f37435ad1"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/si/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/si/firefox-131.0.2.tar.bz2"; locale = "si"; arch = "linux-x86_64"; - sha256 = "0ff3338cef8108b68da7a877d1557b30d317dfb6fe38bd0f6be98eaf5fc5907d"; + sha256 = "e4dc05ab27ceafe6f20b291673279c70dcba13ab50f97ba3f069f6fd460cdfab"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/sk/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/sk/firefox-131.0.2.tar.bz2"; locale = "sk"; arch = "linux-x86_64"; - sha256 = "334ac54b662381df95c6abd5ff79933a1de5668cb9fbb5e127dce3279bdf8835"; + sha256 = "1638ab3838cf94f45933e68a154b227c3163f111a61fc3e9c4bb87a13fd4db2c"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/skr/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/skr/firefox-131.0.2.tar.bz2"; locale = "skr"; arch = "linux-x86_64"; - sha256 = "8f82cc7434a7c4b03a1cab1c7350d52a97191df1acb143e851b332a913355445"; + sha256 = "c764ec80fdb67f80d8ab1b1f7b1015e2de9fa3f7b01f2670ce75df81d3ae1bcd"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/sl/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/sl/firefox-131.0.2.tar.bz2"; locale = "sl"; arch = "linux-x86_64"; - sha256 = "f0515b2d890c89d7ad662ca4a31d566e2a105a70de4304040b6143c1efbfdb4b"; + sha256 = "dc02bff971d084c5a2649e6dbd44f4824296aa3f11276c815504158a155139a1"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/son/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/son/firefox-131.0.2.tar.bz2"; locale = "son"; arch = "linux-x86_64"; - sha256 = "1c5bbe37dffd1cf947d49556ab1364292228076d550a59bea4bd3c0679349223"; + sha256 = "6bc1c8599016ffc0d68889afa1afe4e4a7c047489d10cbc4c135480ca7ab5c04"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/sq/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/sq/firefox-131.0.2.tar.bz2"; locale = "sq"; arch = "linux-x86_64"; - sha256 = "b9fc2a2ef9cb6d8f4f127892dbffcb509f364bb8cd57fa77ccbc8a8e89fffef5"; + sha256 = "d10954422766b3b240eb116e24c92714e8e9fbeb399b3ea228344c775d27de16"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/sr/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/sr/firefox-131.0.2.tar.bz2"; locale = "sr"; arch = "linux-x86_64"; - sha256 = "426dc93eb8ee7b97f30b5499536335a210614e446ba3dabd41f32891c5820785"; + sha256 = "7e3739bc464ca17051355bd74ba1dee2cc7fb0ac0999a9208e2491b6488cfad2"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/sv-SE/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/sv-SE/firefox-131.0.2.tar.bz2"; locale = "sv-SE"; arch = "linux-x86_64"; - sha256 = "905eed6e5c04c5b2b6397870f78ee934531753c4757dcfca9b8a41f9ae126cdf"; + sha256 = "414031af9009a87262f968b5425407a71245b248ad432cd6d8ea6537a01e40e2"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/szl/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/szl/firefox-131.0.2.tar.bz2"; locale = "szl"; arch = "linux-x86_64"; - sha256 = "3c4b7ff974100fb84e81c90de0c1f8a55befd8a2b679139b1850b3815fb5c052"; + sha256 = "992d61038093b9cb968d83a90c809a96e01a81f71f0cdb481b1667af4622acfe"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/ta/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/ta/firefox-131.0.2.tar.bz2"; locale = "ta"; arch = "linux-x86_64"; - sha256 = "e990210216baafa2cf5c1a395ce9b160d7be00907df0dbf24c751f0e29982359"; + sha256 = "c530ae2909247b43a20b9689792950517d320bdc5e90919785b72572275b92e8"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/te/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/te/firefox-131.0.2.tar.bz2"; locale = "te"; arch = "linux-x86_64"; - sha256 = "c3c3d2fb66b429bb893451d585588781ef7c0affa54d15d65b5ae1aa9f389871"; + sha256 = "b2b719cce62a44ddbf5e008f97aa94284b09bb0c6b1ec21a3211ab2266b3b9ef"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/tg/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/tg/firefox-131.0.2.tar.bz2"; locale = "tg"; arch = "linux-x86_64"; - sha256 = "caf1776c1234c3e9f6cdebd736cdeaa3cba9845f2c7d4c853c3ddd1633f4846f"; + sha256 = "52c9aad562314320ed130f1ec4f54d1243b5b814407316e25684664836ca1a98"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/th/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/th/firefox-131.0.2.tar.bz2"; locale = "th"; arch = "linux-x86_64"; - sha256 = "0d78523d823d766cec251d2000c873a11a99dcf74fa92c19754b1107f3e0f3fa"; + sha256 = "59145339f4242eb490afd50046068bda122a5aed76fbcda2d79915c013636a27"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/tl/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/tl/firefox-131.0.2.tar.bz2"; locale = "tl"; arch = "linux-x86_64"; - sha256 = "e57a609c57c652abef1adb88bf3a08216ff39c20d092181d3e121b1d9de7e14c"; + sha256 = "e31b80215abf2411836600306e2f1c3fedc6d77d79d725a65f9beff31dfcecec"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/tr/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/tr/firefox-131.0.2.tar.bz2"; locale = "tr"; arch = "linux-x86_64"; - sha256 = "fe856dbc9c613c082ced57848bf42e32f26ea7d1ed83c5fb5c5bffc39d75c0d6"; + sha256 = "fb595007d56aabd01b731fc22032f4403b228ad7d90857eab230c7e87ad88be2"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/trs/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/trs/firefox-131.0.2.tar.bz2"; locale = "trs"; arch = "linux-x86_64"; - sha256 = "e80d41003ed574f5eb9ad4b002cef4714e53f2f1d9668c42acc2380689121ad1"; + sha256 = "e13a8b96c8928521a5b924202fcdb51527c7ffff606418a3e1171c607c309789"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/uk/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/uk/firefox-131.0.2.tar.bz2"; locale = "uk"; arch = "linux-x86_64"; - sha256 = "29d6d49bdc4c6245a2671517a35eac92b779a5a0327930ae74c005f16ffdad86"; + sha256 = "f04ba96d8b68ae829ee697506bbefb3107a3be6b967d94e9a71f86150d82412b"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/ur/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/ur/firefox-131.0.2.tar.bz2"; locale = "ur"; arch = "linux-x86_64"; - sha256 = "f55549d3e88defa2fbd36e8db24af4c8b7b71b64f8d5592cfe81b8e8f353e9ba"; + sha256 = "4033bbb80962e5dfe1ba3297ac8b8da890575cb78ed2cf43d88b569d1703a581"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/uz/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/uz/firefox-131.0.2.tar.bz2"; locale = "uz"; arch = "linux-x86_64"; - sha256 = "cc9e7d5a228dde6ea65391b14393142914223b56e22fe972d17e75f66a487f17"; + sha256 = "fe2ca7a82c2d2e473cad42828828b31582295d36860edc1ce401f808bf2483a3"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/vi/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/vi/firefox-131.0.2.tar.bz2"; locale = "vi"; arch = "linux-x86_64"; - sha256 = "f5eca75e5dfda2c66eed895e9d4ab457664a24c45303f97419aa00b67738616f"; + sha256 = "adc7e754a99e10bcb025575b7127697f1d9bdc8cc6d9cd19f3dd94ef9d9d4e14"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/xh/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/xh/firefox-131.0.2.tar.bz2"; locale = "xh"; arch = "linux-x86_64"; - sha256 = "b14003bae074c80ca541bdb5e7e41a1e3bce0d852aa9428857f5107a4618367a"; + sha256 = "594c6157abb1e790aad5998f33cc4596ddac955ad4846ee6b73bbcdc85251ca9"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/zh-CN/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/zh-CN/firefox-131.0.2.tar.bz2"; locale = "zh-CN"; arch = "linux-x86_64"; - sha256 = "c97d2837b587c95ec94053148f7d8dcff191650a29722df5e64f6cd79fe8b182"; + sha256 = "09751376f6ab2aa0b54774a2a9ea5aa0b960fe3e3968be6b07a11fefb1057f2b"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-x86_64/zh-TW/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-x86_64/zh-TW/firefox-131.0.2.tar.bz2"; locale = "zh-TW"; arch = "linux-x86_64"; - sha256 = "e458b9095394da982fbe6dd4f31b1062cfad583901e778e0c1fe23787d5e5860"; + sha256 = "d1cbeea48dd5ffba0a327fc21f160a1ee85319880d3573a7daa1abb708c6114f"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/ach/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/ach/firefox-131.0.2.tar.bz2"; locale = "ach"; arch = "linux-i686"; - sha256 = "83ba8fee02e95660a0ad6e07456868e4e066f9cebbd9537153c1f7039d16e3fb"; + sha256 = "03de31c56efa3f0549ac76fed108aaaed21ec22929e68db46446966ba1c847a7"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/af/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/af/firefox-131.0.2.tar.bz2"; locale = "af"; arch = "linux-i686"; - sha256 = "521398ece32a30b965c33305aaf9d135108ab6869e317630bd31df9e96bfe62d"; + sha256 = "26a1af678adb5f674911f9774983b904ba920ae5d3398a6fc9012a836539dd18"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/an/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/an/firefox-131.0.2.tar.bz2"; locale = "an"; arch = "linux-i686"; - sha256 = "3924f628eb44a021252a3b4ac2b523813504e5d440dcd9f18e4ae92f65d4fffa"; + sha256 = "310e0c2f11fa310f7b8a4f4faac61f7239789c3ef39143fdf5af9b1287a7b3e7"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/ar/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/ar/firefox-131.0.2.tar.bz2"; locale = "ar"; arch = "linux-i686"; - sha256 = "fd80dcb273fb5cb2d8676059c604c9cc4f25c635b2adc506546f8ad7ce5c119a"; + sha256 = "6f5252403db1ba5d69dded7fe77f645fa2e98107d5493bd3cef2eefd6ffbfb7b"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/ast/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/ast/firefox-131.0.2.tar.bz2"; locale = "ast"; arch = "linux-i686"; - sha256 = "1c6d1d015b8a74331085e109bea804ffb74aac12d943fa1906fc1b6e61b565f3"; + sha256 = "68e0421ef7dd36084f1c0b359b8290012485435ffd5f38ce2489ac3fe1f3100f"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/az/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/az/firefox-131.0.2.tar.bz2"; locale = "az"; arch = "linux-i686"; - sha256 = "017ed0050d8e3d2b365417d77c8ac908450c6ab5ac726e31201b391c61c8f861"; + sha256 = "612a38963292360f48861f45f0329c684160a7b7a0469d3083d7e44805e3e35a"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/be/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/be/firefox-131.0.2.tar.bz2"; locale = "be"; arch = "linux-i686"; - sha256 = "f392d4425528b775ae0d70e0c8ce5046147f28dc2df1e3c6458f7f5260ebe610"; + sha256 = "2198c01b752bcd4ebad05971c415c66874251915b0c16786e047ae35cfb8ec15"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/bg/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/bg/firefox-131.0.2.tar.bz2"; locale = "bg"; arch = "linux-i686"; - sha256 = "6b9d732d27be5bef6ec372f8429e3ea45f417e35760a9bc902cd54ab834e01c5"; + sha256 = "f20853b619a2d219b65694ee6ddb59bf182ad7edefda2b306b7080bfa3c3715a"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/bn/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/bn/firefox-131.0.2.tar.bz2"; locale = "bn"; arch = "linux-i686"; - sha256 = "7c10b98aa56a807a83b9f7b6c4981f4ed3346861d6771b43bb3862bf04d20945"; + sha256 = "af37330da40ce409d3a157c61840a117a5d04dae5e6ac3d2230efc50f475273a"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/br/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/br/firefox-131.0.2.tar.bz2"; locale = "br"; arch = "linux-i686"; - sha256 = "c1d6762c815a5e2bfa467e3745957f47059903a0aa35cf01d55a79096024c023"; + sha256 = "861c17d1ebf2094f8679fe678c0525eef29d6afbf0781ccb86e9daafd75b333d"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/bs/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/bs/firefox-131.0.2.tar.bz2"; locale = "bs"; arch = "linux-i686"; - sha256 = "a00960745ee1c41d3f19deb9661ca39667e4f4ca03d46cfe34d64452fbb59020"; + sha256 = "2a5148ac7d36d5bb4e9388ac1f1bad3c06bb39c4b70b183f4a1201a6cb27cc9c"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/ca-valencia/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/ca-valencia/firefox-131.0.2.tar.bz2"; locale = "ca-valencia"; arch = "linux-i686"; - sha256 = "54941df90c607ab8b26bd552898495d77929fb56f2d4cfd95ca3181f54368c0c"; + sha256 = "27c4c492da208d2617178d3f644f121af2cf4f3825927da291817218054ce371"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/ca/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/ca/firefox-131.0.2.tar.bz2"; locale = "ca"; arch = "linux-i686"; - sha256 = "dc90165a2292dd67f6aa6cc220081a1d50ab3b833862083526784c5fff86e487"; + sha256 = "12a554bfd7ffde103d3b6e0c267ac810d1397065c4e633bb2d25cdc5f1868153"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/cak/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/cak/firefox-131.0.2.tar.bz2"; locale = "cak"; arch = "linux-i686"; - sha256 = "074ce8c8bacd04d6bc9d3fdbb168e0d7a55db9c262c8a203344dc0fc6a487e7b"; + sha256 = "db3af6bbca61071d6ee79d87b20d73712eaaab3fd7ed8746075955acbf539ccc"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/cs/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/cs/firefox-131.0.2.tar.bz2"; locale = "cs"; arch = "linux-i686"; - sha256 = "4a4ba7a9383e9d6e5c315215bbf5993a5457a0d09957eee4939f4d9eeca4076e"; + sha256 = "d4ce0b7f57f13372eb777b98e560a020b0a472239845467fcdc1047bda5907e6"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/cy/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/cy/firefox-131.0.2.tar.bz2"; locale = "cy"; arch = "linux-i686"; - sha256 = "8080d000239021410eabda919bf652bf45f53604dfa4c99cc0e61569f58a6087"; + sha256 = "66d59de875d50461f71907d9b3f13f2fa27f547113ca9e189717275450d3b716"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/da/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/da/firefox-131.0.2.tar.bz2"; locale = "da"; arch = "linux-i686"; - sha256 = "9b87cfcbc140b0c12f1ecd99c42631bc27973789ccdc38fe964e17364a9e05d0"; + sha256 = "a2982b8ed2404d127bff728d349f55532b1d34d191f9b9450ddee813b080e047"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/de/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/de/firefox-131.0.2.tar.bz2"; locale = "de"; arch = "linux-i686"; - sha256 = "88b046d3a3816677840720f5dc2147fc4bb2b897bf83156a024ab1b26a56ff2d"; + sha256 = "19b5dfd6d408bcc8fefcd67213e977813f1a4d8fc3ffafb996ff570b6b65e7a2"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/dsb/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/dsb/firefox-131.0.2.tar.bz2"; locale = "dsb"; arch = "linux-i686"; - sha256 = "b6739f5b999318b16cfac3f532ada04cac675df5e9e8899ac9160cb5d6767f72"; + sha256 = "aaa37978ea85f230df2b5fb75a057f27779cd604765ba1cbcb916b1382d99d71"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/el/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/el/firefox-131.0.2.tar.bz2"; locale = "el"; arch = "linux-i686"; - sha256 = "2a9671f3264e4329038636833a1bf7f1a51afa41c67077b68f7e565b7001e63f"; + sha256 = "cb4e13115000b5995fe0d912c9ffbe2d949ecaf35825a4980efc150a1656fa7f"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/en-CA/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/en-CA/firefox-131.0.2.tar.bz2"; locale = "en-CA"; arch = "linux-i686"; - sha256 = "dbc4f976e12495215eb18bdaa7539dabcadf4d2a8970ad67dc998c581d93da63"; + sha256 = "3cfc57ec6ab362b0f179d26ddd551de57f0e1370aca681eaa82fb302c56ab648"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/en-GB/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/en-GB/firefox-131.0.2.tar.bz2"; locale = "en-GB"; arch = "linux-i686"; - sha256 = "6543475d273b76a676c18b87cc4082b38230ea90730d6c46e3e5d185555571ce"; + sha256 = "5afb012598048c02a5c4c2d75131b1322f0a3678d63c6e5f86e5e93945bbe6a2"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/en-US/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/en-US/firefox-131.0.2.tar.bz2"; locale = "en-US"; arch = "linux-i686"; - sha256 = "a7cc3e751bba91c17e72ff89b1df38c48b70ba7bf27059e96a776b2a7b10be90"; + sha256 = "c16b3ae2b09dbb734ead021e6658a7fd8e13b27921e81e8217b067d6b5c1fb72"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/eo/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/eo/firefox-131.0.2.tar.bz2"; locale = "eo"; arch = "linux-i686"; - sha256 = "48f3ad261441e32544c19bc950f653da07c05f5c10482e0782b6c4fa53364a0b"; + sha256 = "bc7bab135cea44df1c6488c19eff37e2f9209058b23e6fb0b23f76c95777f4f5"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/es-AR/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/es-AR/firefox-131.0.2.tar.bz2"; locale = "es-AR"; arch = "linux-i686"; - sha256 = "459f3832fe806137f61ac38bb9aef32bf066ae6019c352bd4741a0a0639e4386"; + sha256 = "32b613b62374596cfef0bc699b0015bf11606fc1c5a9dd8ed421fc8211101c12"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/es-CL/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/es-CL/firefox-131.0.2.tar.bz2"; locale = "es-CL"; arch = "linux-i686"; - sha256 = "2acbf635708fd4d9d32c5b31ff6945112c9a818b2b6c84757741756ed5bd7bf5"; + sha256 = "c3b841c29df069e4a36a64b8478589bda74074abd484e4ce5138e4dc34b4bfa2"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/es-ES/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/es-ES/firefox-131.0.2.tar.bz2"; locale = "es-ES"; arch = "linux-i686"; - sha256 = "aa3e5b3f4562f1dcf0fd5bd8c89baffd4b58772451aaf84251db5fa7f211f74d"; + sha256 = "fd796eebd62b3077da48f12a98cee7fd496d6e2aa0d42c7d7a9d0cc40ec67850"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/es-MX/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/es-MX/firefox-131.0.2.tar.bz2"; locale = "es-MX"; arch = "linux-i686"; - sha256 = "6e57f48f027bbbe7981e973bed22f751f4b6490b7db390b4b2ac571fa66971fd"; + sha256 = "be53013f134b329a958a7ce414233f4d63826dc12d12409a87a90a303adb6937"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/et/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/et/firefox-131.0.2.tar.bz2"; locale = "et"; arch = "linux-i686"; - sha256 = "68b1a58660a2805e682e9ddd2a89ac0d6f60147d08c780f867275c0cc7bf69f5"; + sha256 = "42f045c4ff9b4b38afe3213de75ed3a5ec6524878da4f000d62032dc26d662bc"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/eu/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/eu/firefox-131.0.2.tar.bz2"; locale = "eu"; arch = "linux-i686"; - sha256 = "de410d170095aac2aa208ae58f649da4a6ef92455b72827ab048310377574fd3"; + sha256 = "792c68072cd0dfa9bf2a4fbd9d3e73e02742de53564dfdb73721e715d578a1c6"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/fa/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/fa/firefox-131.0.2.tar.bz2"; locale = "fa"; arch = "linux-i686"; - sha256 = "7cc566821f0405d46821d105a8fbc8cb243aab46cb303d0e9f01d8c623c2834f"; + sha256 = "1a24b7e9631cb9004007aa93b3b0af4e79959623bd3f26d110a319975eadfe3d"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/ff/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/ff/firefox-131.0.2.tar.bz2"; locale = "ff"; arch = "linux-i686"; - sha256 = "8e8a1f7d3aebfb25d8a6119dd42aef27c488fb73bbc10ea6a071687eac8314af"; + sha256 = "e54c977af5912e57fa68ab517e0abd7a4d29e833db03426ea3495d18aa06994a"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/fi/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/fi/firefox-131.0.2.tar.bz2"; locale = "fi"; arch = "linux-i686"; - sha256 = "18af8487bc33f9f9729596d1f5704aabb9fadc39e6251c69a4859a87f17c0757"; + sha256 = "c931f44c1212d8ce4f9f89671f6dd8a8ffa40cbd287cebcc301e21d3140d7c03"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/fr/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/fr/firefox-131.0.2.tar.bz2"; locale = "fr"; arch = "linux-i686"; - sha256 = "410459a59a30ce239f8a62dd1413009031368e06b2f1365689a4df47da01d022"; + sha256 = "4fea57e93126a3245516eb96f4ef4f4f6b152a074636803586ad268a6fc8fbfc"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/fur/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/fur/firefox-131.0.2.tar.bz2"; locale = "fur"; arch = "linux-i686"; - sha256 = "29c4220b2f822554be9139ab56aaada57de6885d408cbe9d51eb8450bc3e11e4"; + sha256 = "1991c1bf0850f5ae57dba9fff457e43c0aa114a1e61aeb0992e4a809bcc8bc5e"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/fy-NL/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/fy-NL/firefox-131.0.2.tar.bz2"; locale = "fy-NL"; arch = "linux-i686"; - sha256 = "8c062382c3a6a2c6227c63ce0091c86e784e38d1e580e413b526bfa2775ebcc1"; + sha256 = "966fedda91135cf0dc17ef0cbfafe86ec67dce378620d06b12a6beae4530c851"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/ga-IE/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/ga-IE/firefox-131.0.2.tar.bz2"; locale = "ga-IE"; arch = "linux-i686"; - sha256 = "c2409a66e16cca2311e4cf5d5413c9ebc9de739ec2e31fe7209caa5a1bc553a0"; + sha256 = "d84717cfffbbd8da24c616fe9013ea89efa52e7dd46eacb6f2959553bf29c8a1"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/gd/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/gd/firefox-131.0.2.tar.bz2"; locale = "gd"; arch = "linux-i686"; - sha256 = "722998440e0fd75924c3e9acc287de9c9b7cd47f771f0026afbeecac53a8ef21"; + sha256 = "58638664036b2a62941ea26540c60c3491302781fc95e63c869e19ac06b9a9d2"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/gl/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/gl/firefox-131.0.2.tar.bz2"; locale = "gl"; arch = "linux-i686"; - sha256 = "998cf6c3087b4e1f3db8a32c033cf5cfc0fc5c035e997e22ef2a2d25dda5a150"; + sha256 = "159149639ed016988e0c80f455afb8827b56e51669dc6235f177ccb983b4c130"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/gn/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/gn/firefox-131.0.2.tar.bz2"; locale = "gn"; arch = "linux-i686"; - sha256 = "eb2fa6461477e3bb68cc778c78517523ffc032a63ad7d90eb604e6aa92203fa8"; + sha256 = "564bc3def2436c69fb9c6d67257fd4bf74dfd3b02fb660b49454598c74c05d3f"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/gu-IN/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/gu-IN/firefox-131.0.2.tar.bz2"; locale = "gu-IN"; arch = "linux-i686"; - sha256 = "3203cea87f755aa28a1e443b62aed7d4be36307cdbb33b848a9d2dbd5367a56e"; + sha256 = "039d0371c559b811bbdb4b7ef539a80d1332003a9e016b5369c75c09de2b5296"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/he/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/he/firefox-131.0.2.tar.bz2"; locale = "he"; arch = "linux-i686"; - sha256 = "f58019e1f1f35fe219ff60fa77bd92103ea10caa0ce00f9f1ea7068c17f7d9e7"; + sha256 = "7922aa4516af3c0488b8cd7af89943cbdbad6aa323309762224aeac06464b2dc"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/hi-IN/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/hi-IN/firefox-131.0.2.tar.bz2"; locale = "hi-IN"; arch = "linux-i686"; - sha256 = "0add549f900a133463ae2e5dc9238998ae4f3ad79ceee00819a1544d4edb5db9"; + sha256 = "31d3b9003eb95a78a36cba3c55d6f6fb44100b5ff9e8a1187abc7734d6f40c6e"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/hr/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/hr/firefox-131.0.2.tar.bz2"; locale = "hr"; arch = "linux-i686"; - sha256 = "24d09424247be0b9a033e1b7cf53d3a207088a147c9245e1c6fbade572e8abc5"; + sha256 = "c96e07aad4df0d4a1d4b12443a34df418ef507672827640b786204727a832973"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/hsb/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/hsb/firefox-131.0.2.tar.bz2"; locale = "hsb"; arch = "linux-i686"; - sha256 = "59aeffafaa7360f49a4b5a1ac85469ce95134539c5739c3cf910c25283bd5be3"; + sha256 = "c6b0e30e8092b3a795b9c049cb9d5e11a947488fb330685930079fb5bcef443c"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/hu/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/hu/firefox-131.0.2.tar.bz2"; locale = "hu"; arch = "linux-i686"; - sha256 = "2da80cff3c8f2b2c77e12e63fc0859a7c60a0444531ac484aafa4d4f33d7de29"; + sha256 = "2dc85073703d29f547f271ff6f959878630baba40cefd7bfc36d44eb134df634"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/hy-AM/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/hy-AM/firefox-131.0.2.tar.bz2"; locale = "hy-AM"; arch = "linux-i686"; - sha256 = "f5a18ec68bfe50836ec99be8c06f31b19fe320a2c3212b436a5f88a6482b8b25"; + sha256 = "09c33667f6209397deb055361b7dfb00e36cbc2f013ae3bb2626505b6879babc"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/ia/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/ia/firefox-131.0.2.tar.bz2"; locale = "ia"; arch = "linux-i686"; - sha256 = "5dd21bc4afeefda95933a23d5dbd211374b94eef30bb30e06d1a4536c9474811"; + sha256 = "f67078cfb6a22c087b4d0d299be015df22b7ac83ba770f423915a993a9dce8de"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/id/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/id/firefox-131.0.2.tar.bz2"; locale = "id"; arch = "linux-i686"; - sha256 = "07e1171d55b74c9ed72578d3cf7c9647c15603467214b476b78c4cb8ac230e4b"; + sha256 = "a0d88c7953338c441e6d852ef9f039d1c41d665f821e9a20f06c6c936a0a2a0c"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/is/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/is/firefox-131.0.2.tar.bz2"; locale = "is"; arch = "linux-i686"; - sha256 = "60ab3d8c14812a70fd37324446df565fc667c72e6cf1dedc9feff208c244f321"; + sha256 = "5f2ef3376cca80471f7ae55bf5a5c3966c689f5bef14a24dd69f900b697e3fd1"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/it/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/it/firefox-131.0.2.tar.bz2"; locale = "it"; arch = "linux-i686"; - sha256 = "208ed3506b64c2330354ad0454cc6293180d4e3673a0b9600411f797184a357f"; + sha256 = "15ffa20cc125ba635470059da1e66188bd2c2ef3e560efe9db34efc06c5f513c"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/ja/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/ja/firefox-131.0.2.tar.bz2"; locale = "ja"; arch = "linux-i686"; - sha256 = "fe2d750e42d22ff39479cb56d0165bcb1b3f7d1d3ef61ee05f821ac639c1e7af"; + sha256 = "97a9d6fdd3935f1b167e19f2c020db23aef269e0bee82346e707d3cea0b9beb5"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/ka/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/ka/firefox-131.0.2.tar.bz2"; locale = "ka"; arch = "linux-i686"; - sha256 = "55bf8f71a339ca05f631db4c407e566ce3406e1f365b3cee17b8b0445818f62e"; + sha256 = "89241d1886fb0cbc2889642e9290a804a9a25cb155916b874687fd23e1528327"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/kab/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/kab/firefox-131.0.2.tar.bz2"; locale = "kab"; arch = "linux-i686"; - sha256 = "36dba89b95b919a62ca6deda0a94a67d9d6ccf693628a900739e05061eee7b92"; + sha256 = "13284e4658715c1087400b5dbccf03a9ac629a599c27d42bc1570865aead0ade"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/kk/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/kk/firefox-131.0.2.tar.bz2"; locale = "kk"; arch = "linux-i686"; - sha256 = "7ee06218eb0dab593425c3832747025f84cf114feaa5afe0a869b2f304bfdfe0"; + sha256 = "457544007f2581af769551f7187e0b63d723c2afb6c7ad51ef9ede1f9866e46c"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/km/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/km/firefox-131.0.2.tar.bz2"; locale = "km"; arch = "linux-i686"; - sha256 = "f5f781b13b5e1bc7ad92fb27d972d7b1787dc2f9d5bbf791a26699dce227450e"; + sha256 = "4a66e15adaa68167db4bca551cbfede1702f849488d9ab06af431bb96dafbdde"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/kn/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/kn/firefox-131.0.2.tar.bz2"; locale = "kn"; arch = "linux-i686"; - sha256 = "725f60ccabc19ef7f79517ff29604dbe1a13c649b4b6a684da4a8f2b38c6ec95"; + sha256 = "6f707b1143879355150d80132e5a0127c186065cdd32a7c24e6a4e523547b6f5"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/ko/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/ko/firefox-131.0.2.tar.bz2"; locale = "ko"; arch = "linux-i686"; - sha256 = "bcc1c2e460b7bf4c3d93bbf7cde52e9d04d0caad8881343e6d1ecdec46b0d698"; + sha256 = "0ad5fbf600e461446d0696869e1e4b6c1d59023cf2d3326bfdcdd1d961012238"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/lij/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/lij/firefox-131.0.2.tar.bz2"; locale = "lij"; arch = "linux-i686"; - sha256 = "0b27c55d3e156a906f5ad60a3888deeb3bc9398736055b35d40cb07474d456b3"; + sha256 = "212b6377d6b965adcaddc08108ac89381df0535970884d28184b267c6b9df7cb"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/lt/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/lt/firefox-131.0.2.tar.bz2"; locale = "lt"; arch = "linux-i686"; - sha256 = "626e768087e0022719b8c93b2ca10cf82c18589460e9d872354cd5c66c7fbc30"; + sha256 = "c147e8f500de569eb41f651efed7502a05edf28ab00b22ea492e3a8117986ce4"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/lv/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/lv/firefox-131.0.2.tar.bz2"; locale = "lv"; arch = "linux-i686"; - sha256 = "2e9a55e044378957f3dbfd9221fa0a50fed95e94c2527659d5143a84eea54015"; + sha256 = "8c7cdc6a56ba3819a27c2797902ab5a0726e48833ce28c78424b9d14a7cc1851"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/mk/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/mk/firefox-131.0.2.tar.bz2"; locale = "mk"; arch = "linux-i686"; - sha256 = "64d2eebd96481291a1c9d65f3a55d488abff13a39a23616e25bc6cac942b4061"; + sha256 = "978625c709d94ff5eb9f48ea6bb7a8df9e04fa946049047d035156914c631c81"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/mr/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/mr/firefox-131.0.2.tar.bz2"; locale = "mr"; arch = "linux-i686"; - sha256 = "262d9e221a4d29365998dd50450fae04b5b18dd90b71509f5a1c50c59eb53de1"; + sha256 = "f116ce967dafdab84585f800591dbb7e035a4e3a9066f237b19bdca53bcbd5d3"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/ms/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/ms/firefox-131.0.2.tar.bz2"; locale = "ms"; arch = "linux-i686"; - sha256 = "11d89bf414498cdddb182a518451af7abf8ca2152163b0e0eefb9ae65154aec5"; + sha256 = "eb3acc9024ccf4825810cc3930073f9867f8ca9a599a384c9d21cdfce8c23323"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/my/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/my/firefox-131.0.2.tar.bz2"; locale = "my"; arch = "linux-i686"; - sha256 = "289a37c7ca53552b1cfe7b90505455b38e5b3e7d1eb46e5d1d85ee4a8fe61045"; + sha256 = "c6a24d2752bbc0ff19210e974f60716a2a78bf1ae320d2677e0244196c0fde20"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/nb-NO/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/nb-NO/firefox-131.0.2.tar.bz2"; locale = "nb-NO"; arch = "linux-i686"; - sha256 = "0d79fba27168c2ad413365baa7e73dfa55946f3b5866f52df6ebbf34b7237d97"; + sha256 = "f1c601ee6ccdca91f7b858e8e1e5d68da3c5e9bf719c71dcb69056db715ff547"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/ne-NP/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/ne-NP/firefox-131.0.2.tar.bz2"; locale = "ne-NP"; arch = "linux-i686"; - sha256 = "a8ef15d05d244fe0c17095001f73ecb5caf0da8e2e04df12a14b4d7aa82020e0"; + sha256 = "8346a9d07133dd249feeb11b3027a2c5b58ab34e2646c6a313b5b415d181fbe0"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/nl/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/nl/firefox-131.0.2.tar.bz2"; locale = "nl"; arch = "linux-i686"; - sha256 = "7e9c9eef46135db2dc4db3cdaccf37284de0e056674b8c16372ba1282cb4e902"; + sha256 = "9bac061c56ee6f64524b0647a7769e332aa009e29b00929c396ee179567d1103"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/nn-NO/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/nn-NO/firefox-131.0.2.tar.bz2"; locale = "nn-NO"; arch = "linux-i686"; - sha256 = "7857a5af826dc219b952c0d810ada22737ec5e6fa40c059497a3eba3464621bd"; + sha256 = "932ee1f6bb43850221c0b01ff5843222e9f4e9c402900c1ee4025c7dfa4ca97f"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/oc/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/oc/firefox-131.0.2.tar.bz2"; locale = "oc"; arch = "linux-i686"; - sha256 = "429d710a49d9177bd797f07668fb421133d09c47496790efbd37cd3e247c2a66"; + sha256 = "597a74962c9f5aa5d65363e5facb6eb3ac82f14fd530d71417dabfefa27791b9"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/pa-IN/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/pa-IN/firefox-131.0.2.tar.bz2"; locale = "pa-IN"; arch = "linux-i686"; - sha256 = "bb8da6c0f3745556044a19592203a920e794a58ef19e482be11ff80dc9039060"; + sha256 = "60284dee578b6b77646af44a7492aa80abe9d37e3e9665fd1a5bb783ba2fe438"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/pl/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/pl/firefox-131.0.2.tar.bz2"; locale = "pl"; arch = "linux-i686"; - sha256 = "bcf5c54d77b222c24abbe6772303a7efb32669a8d02bd3946b941443f287ccae"; + sha256 = "c4f49784cebacabda2ef04c85018e4084524f060d705f317695eebd8a90e588a"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/pt-BR/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/pt-BR/firefox-131.0.2.tar.bz2"; locale = "pt-BR"; arch = "linux-i686"; - sha256 = "270e2d32a46eaf38d1cb54735dd2638e0daecc91f340888c05bb2cea1546e372"; + sha256 = "f99eb39bb29b7cde49a68c42bb7b38951ad7909cfd62e87b3e9fcc5bf4e49f21"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/pt-PT/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/pt-PT/firefox-131.0.2.tar.bz2"; locale = "pt-PT"; arch = "linux-i686"; - sha256 = "05ccb4ade03ad2423e37d43d893095fdea237976f0f0b05cbc2618f71d45a001"; + sha256 = "76fd00ab01465234c701a6439926422175723ea750be7b4198f9b34c85e4094e"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/rm/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/rm/firefox-131.0.2.tar.bz2"; locale = "rm"; arch = "linux-i686"; - sha256 = "6ed0abb3c7ef0a70d38eeb2fac2c5a696d8ced9ff012e9e7d0a7e0f302ab070c"; + sha256 = "4c1b4250d01c0a6ef44e03cf228dd9b99702f7f05c01a01df1084cbe6dcf0c17"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/ro/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/ro/firefox-131.0.2.tar.bz2"; locale = "ro"; arch = "linux-i686"; - sha256 = "7a32973c56d5da861646ef3027f23f5b100f58c44aff0973353fb636c4daca2e"; + sha256 = "d8900e1f2e73f6d92c721f6a2957e2fce6d5f1c394ab01fe83ae07e5c737bbf0"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/ru/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/ru/firefox-131.0.2.tar.bz2"; locale = "ru"; arch = "linux-i686"; - sha256 = "6a65a50ac05ad6d2a3db84870bedf317703b7997da9cb49007b117d3bc8550e2"; + sha256 = "fd87c820afda233d7e4e3b035310f99bcdc791410c3c6c9fb8a8742c46ca2553"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/sat/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/sat/firefox-131.0.2.tar.bz2"; locale = "sat"; arch = "linux-i686"; - sha256 = "af517a95ed0aa06bab8801faed62fe6c8b51f9092f9e9090ef13f498bd9a8c75"; + sha256 = "bc7a20761305e9c28a78ac9d46ea557cb906161c9e4b7d90a8cb65f1fa602fee"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/sc/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/sc/firefox-131.0.2.tar.bz2"; locale = "sc"; arch = "linux-i686"; - sha256 = "a18a4ec67b378b13da669bd85dc952a6fa6924dcb8c095f5341f873719688700"; + sha256 = "c25978257a485ac84ffc4e9bb334697846bdf4f6792a70ff26bc6bd8d1cd3a34"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/sco/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/sco/firefox-131.0.2.tar.bz2"; locale = "sco"; arch = "linux-i686"; - sha256 = "5fa7e2de0dae283a5e9b1d1f8d70c51c31620f5ba603aa8d2e901cd3511b3886"; + sha256 = "0638816ff9341c124ccc42c0540846241c4ad85cc5db8ce7f08cff61238f75ab"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/si/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/si/firefox-131.0.2.tar.bz2"; locale = "si"; arch = "linux-i686"; - sha256 = "a33336c5002776b0ab28e4e6e7345578e3bea7ab56688f03f55647fe8e7bd723"; + sha256 = "979f2584d10e00d20d7765901c04877ad0b17d1812fdc53b2058f5a2f9320b57"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/sk/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/sk/firefox-131.0.2.tar.bz2"; locale = "sk"; arch = "linux-i686"; - sha256 = "fd3e8a086d0706adf6db3b4b1e5026e3e6a83afc691d3ba251f8ea6720e6a3f3"; + sha256 = "4acdb909eedc19ef738abe67fb493636f08488288f2329434bce5cd5bd0afa90"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/skr/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/skr/firefox-131.0.2.tar.bz2"; locale = "skr"; arch = "linux-i686"; - sha256 = "06e96322334a8df2a3739772ebc81a4bc1789a2d603d2413582917e91c6f3495"; + sha256 = "be931bc1ffcf6842fb5ed14149ead798be516154bc9180a4cb0b5a1d6fdaf0ae"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/sl/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/sl/firefox-131.0.2.tar.bz2"; locale = "sl"; arch = "linux-i686"; - sha256 = "7e9fd7510407060b6def90213e910c2c20e00481529ac830bf4d721c29277188"; + sha256 = "18eb7375de916e9f9793210e9e57bf2ae2262a2b5df07c0246302d7c9e367a30"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/son/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/son/firefox-131.0.2.tar.bz2"; locale = "son"; arch = "linux-i686"; - sha256 = "80b150886b7c4a9d3446e95ca72da53de964a582a398438cf216b7a8e1b0b220"; + sha256 = "9c05cd64d7969fccbe58b1334eb8eb6c825006f7526acfb453059c201497b1e0"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/sq/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/sq/firefox-131.0.2.tar.bz2"; locale = "sq"; arch = "linux-i686"; - sha256 = "c31aec576632d56988af5b8131ac5ed03f87d625f5d8c4ab6a5577c731cd34ae"; + sha256 = "87f8c2e52d0c79b3f9c36d87338fa37a72d759ea9030db8ea0e325eacf006cbc"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/sr/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/sr/firefox-131.0.2.tar.bz2"; locale = "sr"; arch = "linux-i686"; - sha256 = "8353aca1dcc8ff255f522e4e2d75dbb49b88515f2cf5232e0f4bec0f3f41e11b"; + sha256 = "f768bda142f6a224611655b1fbc7b7c54b39b973b4c7cb107b5cd8855f2e07ef"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/sv-SE/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/sv-SE/firefox-131.0.2.tar.bz2"; locale = "sv-SE"; arch = "linux-i686"; - sha256 = "3a4d6c3ed47b0462656be24dfa63cae290b8e431eeadab4f8b79c39c73b6057e"; + sha256 = "44c9ac40b6c0d729a84bd44dbd34f5c31679a68da6235f9a14cea4a3cc9648c9"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/szl/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/szl/firefox-131.0.2.tar.bz2"; locale = "szl"; arch = "linux-i686"; - sha256 = "3e01f04a7aa1b499dc1501ab94e72fb28e0b43ca8dbec281fdae5d51ad51afe5"; + sha256 = "4d34fb57acc094e7bae5d5b223a95e90c5afbfab7241ad8b2ee04c752c536617"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/ta/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/ta/firefox-131.0.2.tar.bz2"; locale = "ta"; arch = "linux-i686"; - sha256 = "3497d024c31681b9cc8c63991bd2c56b7725511f62d19c254045c0fae4727363"; + sha256 = "cb263fea289fd83a186ab2119f62840862558114187c0a71c180c8608afefc6d"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/te/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/te/firefox-131.0.2.tar.bz2"; locale = "te"; arch = "linux-i686"; - sha256 = "b0de9d80858ef7fadbea770071521690d62566651afd4d31443511904ad4bc09"; + sha256 = "913dfe42eea9deb1fc51898b5c501c2baaf9ac45e1833389f1613e844c7d9590"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/tg/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/tg/firefox-131.0.2.tar.bz2"; locale = "tg"; arch = "linux-i686"; - sha256 = "9c5647246fbb4b8b33bc8254ac4f4241f718e33c0b1ea2d342eb565bdc978ab6"; + sha256 = "382c3d55d3d15ebf8846a496e867c994b6371374acc46348349bb7cf3ea0057c"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/th/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/th/firefox-131.0.2.tar.bz2"; locale = "th"; arch = "linux-i686"; - sha256 = "f3fe34265c98836738f1efe2fe722956518cd2688656839c77ecdd03df24bb00"; + sha256 = "5c9a7ebe6cb1440a52a5cfaf646a1155520636505e360cf86f261e0c000916eb"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/tl/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/tl/firefox-131.0.2.tar.bz2"; locale = "tl"; arch = "linux-i686"; - sha256 = "517933b38b7c68a39294dd3cd0c3694ea8064c890065d47de1f5e4014d7a43e8"; + sha256 = "9023c8e221653da3812464e88da05d6ccbe6207e0248343ade81da7fc3601a6d"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/tr/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/tr/firefox-131.0.2.tar.bz2"; locale = "tr"; arch = "linux-i686"; - sha256 = "4f4b473e0f2f7ecc75da6d45c4d56d1ae289e833adc4a4a430c87f9e53795f40"; + sha256 = "64514261ea0056769256f15de8d44b842d72d5df74a2d19e4c85a6428fa2c27d"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/trs/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/trs/firefox-131.0.2.tar.bz2"; locale = "trs"; arch = "linux-i686"; - sha256 = "fd55e24f139f5835dcab9ccf155b4fe41117eec466f3d29ec589ee8b54905f06"; + sha256 = "75dbb9049b0dcf9fcef852a72e34d6720af5334e8d259860c105a847afca716d"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/uk/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/uk/firefox-131.0.2.tar.bz2"; locale = "uk"; arch = "linux-i686"; - sha256 = "a1f86b3c2156995d95fa067011fbdfd29f600691cc1ba441316b5359c601ce9b"; + sha256 = "c25c97abda25126de4236025d01539fb20d8b8310c0d2ae6a3b0617603df7ed6"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/ur/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/ur/firefox-131.0.2.tar.bz2"; locale = "ur"; arch = "linux-i686"; - sha256 = "2806785190413b23624b277828d9f059a7522fccfef6000be8377db85d649aec"; + sha256 = "e97cef7b1975831dbba2c749c2c0921a7952135179a4315920ddf6254fa02e4c"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/uz/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/uz/firefox-131.0.2.tar.bz2"; locale = "uz"; arch = "linux-i686"; - sha256 = "903740e232e85385bc5843a09d0a3cd1d5cf5375a3049de7194d9106406a3e1f"; + sha256 = "b9cf58f68739e10db1e1e1965b43d6b56dd76ea6a2e1909fffe53545ca0f74a6"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/vi/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/vi/firefox-131.0.2.tar.bz2"; locale = "vi"; arch = "linux-i686"; - sha256 = "783eb539fbd0d4be1cd6fc194ceaa979e0f99555b07139ff24fabf4f6920c839"; + sha256 = "3d1a607b339aaea4f3256eeb93ebda4fba6b2eb3a2d7827383890bb97803a4e5"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/xh/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/xh/firefox-131.0.2.tar.bz2"; locale = "xh"; arch = "linux-i686"; - sha256 = "1b65fa5e41797446f47de7f5f7c7e205c5bbf7528f365b193861de051df97947"; + sha256 = "ce24d048663738c67db900ef55860d8bb26fda05244204d49aa721813fd95e84"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/zh-CN/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/zh-CN/firefox-131.0.2.tar.bz2"; locale = "zh-CN"; arch = "linux-i686"; - sha256 = "0a22d85fd7f932d3959ee475cccaf8e3dc9625c5f1677fc7c5c40d262605890a"; + sha256 = "09337ba82fc55111c42f3960a07640fc1c2aaae7239300163c56e32d343ed68e"; } - { url = "https://archive.mozilla.org/pub/firefox/releases/131.0/linux-i686/zh-TW/firefox-131.0.tar.bz2"; + { url = "https://archive.mozilla.org/pub/firefox/releases/131.0.2/linux-i686/zh-TW/firefox-131.0.2.tar.bz2"; locale = "zh-TW"; arch = "linux-i686"; - sha256 = "0425c6cb289e0a77ee4ebb03068c8991430d356747a927f8adfcd074ea8702af"; + sha256 = "4cd7f598dd1d61b67623d81e460936ed750f4648d3c2c791cec0ae8555ee1898"; } ]; } diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix index d6ec46a37fba..74504e0ede53 100644 --- a/pkgs/applications/networking/browsers/firefox/packages.nix +++ b/pkgs/applications/networking/browsers/firefox/packages.nix @@ -5,10 +5,10 @@ { firefox = buildMozillaMach rec { pname = "firefox"; - version = "131.0"; + version = "131.0.2"; src = fetchurl { url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz"; - sha512 = "324cbaadff4d19a18d56ca01ae7212ac8362e3f5933f3017a19b64c35d58606ace8bba3672790ecb48d4a849619cdc95701440701725e8eb2859d55f1e8d8e3c"; + sha512 = "fb1a1179a8c62de975c93e1ac6f058cb5492e955bbb7ac2d4b83cdd14ba17bdb2450078bd6f626124b14542f3fda9514bea476aaa34ff4f5a2bee6b1625ec963"; }; extraPatches = [ @@ -35,11 +35,11 @@ firefox-beta = buildMozillaMach rec { pname = "firefox-beta"; - version = "131.0b9"; + version = "132.0b5"; applicationName = "Mozilla Firefox Beta"; src = fetchurl { url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz"; - sha512 = "043f983a295fa27d3641f6db231da2e3a88d43609f9c1f4fbd0d98356ab902e802b20a81ae8bbf3812d8ae6776fd6ea557f19cc083f09aae42b8cd98424430dc"; + sha512 = "7b9b3120ce3f5918bb0a6d385b23503ff2dbd0b6171d63ce6310eca43d252537b43cc79ace326d2e29611ae4fb06d815bcaefb63c6942d00e53277deeb0eba70"; }; meta = { @@ -64,13 +64,13 @@ firefox-devedition = buildMozillaMach rec { pname = "firefox-devedition"; - version = "131.0b9"; + version = "132.0b5"; applicationName = "Mozilla Firefox Developer Edition"; requireSigning = false; branding = "browser/branding/aurora"; src = fetchurl { url = "mirror://mozilla/devedition/releases/${version}/source/firefox-${version}.source.tar.xz"; - sha512 = "f1f56bd121ecdf1f659ce85ea77a9b1abe983583081f6cadaaf4c57695148b481eed1ecfa7ac2d3449fbc1a0c8560a8a5665e309722a5fc5455df740cf639989"; + sha512 = "3c2f028ae1d2ebf01a4fc341ee7f706bfdacb0c4dd2db2e3f24b42fe1e4e89f67a3827ad794c557c084a723272928264ae9e0bf67a4268078ebd8e4af1f97688"; }; meta = { @@ -96,10 +96,10 @@ firefox-esr-128 = buildMozillaMach rec { pname = "firefox"; - version = "128.3.0esr"; + version = "128.3.1esr"; src = fetchurl { url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz"; - sha512 = "3c6ef272c0fb653d030fe3f7f72aa0e1097b1c6759556166815cde15465330f988b3bc23df4b4eb753daee930edbb1ef72145273cb29d0952bd9d7c547050f9b"; + sha512 = "c5c1a2e951e0dbb1259a0f77a26b8678bfa4a4c7e909f8fcd5c6d0f807625926824ed235e114d9bab5e289232efaaf4c6691764db64860161ebc9bece9200f0c"; }; meta = { @@ -125,11 +125,11 @@ firefox-esr-115 = (buildMozillaMach rec { pname = "firefox-esr-115"; - version = "115.16.0esr"; + version = "115.16.1esr"; applicationName = "Mozilla Firefox ESR"; src = fetchurl { url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz"; - sha512 = "b6f93ec3d6acac5df177253c65b833c017e65ed6e78e96ff029098443928d291f6f67164aedb83d80aa28ee9dee305086597798238d3330e35183030e53e3550"; + sha512 = "eca42b3494fdab73e67d5c8e8b76520729adb75b5cad85172953dba56b225b0f05dcfea70fe8cc3e1bf1cd3d7103159cc20095d5480bb1b0e6d3ec90588988a8"; }; meta = { diff --git a/pkgs/applications/networking/browsers/floorp/default.nix b/pkgs/applications/networking/browsers/floorp/default.nix index 08a45eddd14f..66303b7cceff 100644 --- a/pkgs/applications/networking/browsers/floorp/default.nix +++ b/pkgs/applications/networking/browsers/floorp/default.nix @@ -57,6 +57,9 @@ maxSilent = 14400; # 4h, double the default of 7200s (c.f. #129212, #129115) license = lib.licenses.mpl20; mainProgram = "floorp"; + knownVulnerabilities = [ + "CVE-2024-9680" + ]; }; tests = [ nixosTests.floorp ]; }).override diff --git a/pkgs/applications/networking/browsers/ladybird/default.nix b/pkgs/applications/networking/browsers/ladybird/default.nix index c9d4456c3e91..d2e9308a5021 100644 --- a/pkgs/applications/networking/browsers/ladybird/default.nix +++ b/pkgs/applications/networking/browsers/ladybird/default.nix @@ -4,7 +4,6 @@ , fetchzip , fetchurl , cacert -, tzdata , unicode-emoji , unicode-character-database , cmake @@ -13,6 +12,7 @@ , curl , libavif , libjxl +, libpulseaudio , libwebp , libxcrypt , python3 @@ -29,16 +29,6 @@ }: let - inherit (builtins) elemAt; - cldr_version = "45.0.0"; - cldr-json = fetchzip { - url = "https://github.com/unicode-org/cldr-json/releases/download/${cldr_version}/cldr-${cldr_version}-json-modern.zip"; - stripRoot = false; - hash = "sha256-BPDvYjlvJMudX/YlS7HrwKEABYx+1KzjiFlLYA5+Oew="; - postFetch = '' - echo -n ${cldr_version} > $out/version.txt - ''; - }; unicode-idna = fetchurl { url = "https://www.unicode.org/Public/idna/${unicode-character-database.version}/IdnaMappingTable.txt"; hash = "sha256-QCy9KF8flS/NCDS2NUHVT2nT2PG4+Fmb9xoaFJNfgsQ="; @@ -58,13 +48,13 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "ladybird"; - version = "0-unstable-2024-09-21"; + version = "0-unstable-2024-10-05"; src = fetchFromGitHub { owner = "LadybirdWebBrowser"; repo = "ladybird"; - rev = "44f672bacf6779f6bbe5972d84e210f953f14598"; - hash = "sha256-Qku6W1kETOXQh8Kxn0wabe0Xc4gkpxrGbDFwIik34eY="; + rev = "077bc68a4cbf2d8c97abc818515a22471da42c99"; + hash = "sha256-zlQEOk9rex9Evpc2+4q2e2QPwGd9kLOQ393DJPuwh7c="; }; postPatch = '' @@ -77,19 +67,15 @@ stdenv.mkDerivation (finalAttrs: { ''; preConfigure = '' - # Setup caches for LibLocale, LibUnicode, LibTimezone, LibTLS and LibGfx + # Setup caches for LibUnicode, LibTLS and LibGfx # Note that the versions of the input data packages must match the # expected version in the package's CMake. # Check that the versions match - grep -F 'locale_version = "${cldr_version}"' Meta/gn/secondary/Userland/Libraries/LibLocale/BUILD.gn || (echo cldr_version mismatch && exit 1) - grep -F 'tzdb_version = "${tzdata.version}"' Meta/gn/secondary/Userland/Libraries/LibTimeZone/BUILD.gn || (echo tzdata.version mismatch && exit 1) grep -F 'set(CACERT_VERSION "${cacert_version}")' Meta/CMake/ca_certificates_data.cmake || (echo cacert_version mismatch && exit 1) mkdir -p build/Caches - ln -s ${cldr-json} build/Caches/CLDR - cp -r ${unicode-character-database}/share/unicode build/Caches/UCD chmod +w build/Caches/UCD cp ${unicode-emoji}/share/unicode/emoji/emoji-test.txt build/Caches/UCD @@ -97,10 +83,6 @@ stdenv.mkDerivation (finalAttrs: { echo -n ${unicode-character-database.version} > build/Caches/UCD/version.txt chmod -w build/Caches/UCD - mkdir build/Caches/TZDB - tar -xzf ${elemAt tzdata.srcs 0} -C build/Caches/TZDB - echo -n ${tzdata.version} > build/Caches/TZDB/version.txt - mkdir build/Caches/CACERT cp ${cacert}/etc/ssl/certs/ca-bundle.crt build/Caches/CACERT/cacert-${cacert_version}.pem echo -n ${cacert_version} > build/Caches/CACERT/version.txt @@ -134,6 +116,7 @@ stdenv.mkDerivation (finalAttrs: { skia woff2 ] ++ lib.optional stdenv.hostPlatform.isLinux [ + libpulseaudio.dev qtwayland ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ AppKit @@ -151,9 +134,6 @@ stdenv.mkDerivation (finalAttrs: { ]; # FIXME: Add an option to -DENABLE_QT=ON on macOS to use Qt rather than Cocoa for the GUI - # FIXME: Add an option to enable PulseAudio rather than using Qt multimedia on non-macOS - - env.NIX_CFLAGS_COMPILE = "-Wno-error"; postInstall = lib.optionalString stdenv.hostPlatform.isDarwin '' mkdir -p $out/Applications $out/bin diff --git a/pkgs/applications/networking/browsers/librewolf/src.json b/pkgs/applications/networking/browsers/librewolf/src.json index 575b93651312..fc7600f56fea 100644 --- a/pkgs/applications/networking/browsers/librewolf/src.json +++ b/pkgs/applications/networking/browsers/librewolf/src.json @@ -1,11 +1,11 @@ { - "packageVersion": "130.0-3", + "packageVersion": "131.0.2-1", "source": { - "rev": "130.0-3", - "sha256": "0ah6k4637fg3v3l13rk6bw6wxsx0mc41hvi9sld5psbl8l2kyk29" + "rev": "131.0.2-1", + "sha256": "1knx485kdjv8d0rn5ai1x1jp0403dvxz9m7lpim1y2d2ilyi26x7" }, "firefox": { - "version": "130.0", - "sha512": "d0d11b38d9e02fa15298ec13336bb086668b4f36b3ce9ced218a265327fd4822b9fea4303402631947ea3c20490c414de87f8df3e7c23d2e02b70f0456b9af40" + "version": "131.0.2", + "sha512": "fb1a1179a8c62de975c93e1ac6f058cb5492e955bbb7ac2d4b83cdd14ba17bdb2450078bd6f626124b14542f3fda9514bea476aaa34ff4f5a2bee6b1625ec963" } } diff --git a/pkgs/applications/networking/cluster/clusterctl/default.nix b/pkgs/applications/networking/cluster/clusterctl/default.nix index 1e9183adbaaa..94fad04e3126 100644 --- a/pkgs/applications/networking/cluster/clusterctl/default.nix +++ b/pkgs/applications/networking/cluster/clusterctl/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "clusterctl"; - version = "1.8.3"; + version = "1.8.4"; src = fetchFromGitHub { owner = "kubernetes-sigs"; repo = "cluster-api"; rev = "v${version}"; - hash = "sha256-zvMjfaEq6EOWVqjVOoS2nb1fuGyEljcNVfTpAWUsiL8="; + hash = "sha256-a6IgPrGI6jA3rVWqGaVPuLxnCJ82SyxWdZZ6xd5DoNs="; }; vendorHash = "sha256-0VVaD1vGIGezgkVCvIhNHmZqVFxFu4UcUUh0wuX2viw="; diff --git a/pkgs/applications/networking/cluster/jx/default.nix b/pkgs/applications/networking/cluster/jx/default.nix index 9bb95b36dad0..05dc88e53654 100644 --- a/pkgs/applications/networking/cluster/jx/default.nix +++ b/pkgs/applications/networking/cluster/jx/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "jx"; - version = "3.10.155"; + version = "3.10.156"; src = fetchFromGitHub { owner = "jenkins-x"; repo = "jx"; rev = "v${version}"; - sha256 = "sha256-9dRYPeVWwJCbxkjPVI0B4FLaFNHRyGIdKd/ubJbP9tI="; + sha256 = "sha256-bN/sdKuf+JV4fD3g9Wgow94nLMa8qgWEO1UBZAKLBWk="; }; vendorHash = "sha256-AIaZVkWdNj1Vsrv2k4B5lLE0lOFuiTD7lwS/DikmC14="; diff --git a/pkgs/applications/networking/cluster/pachyderm/default.nix b/pkgs/applications/networking/cluster/pachyderm/default.nix index 56bad49da759..1c98712bae9c 100644 --- a/pkgs/applications/networking/cluster/pachyderm/default.nix +++ b/pkgs/applications/networking/cluster/pachyderm/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "pachyderm"; - version = "2.11.3"; + version = "2.11.4"; src = fetchFromGitHub { owner = "pachyderm"; repo = "pachyderm"; rev = "v${version}"; - hash = "sha256-tn+wOd01zClMcANYTolXHTEMGohXGNnKbsZ5NA4kELc="; + hash = "sha256-8bNPUqJrhcTslclhCwNE9SIfTdBXoF14/GI5x+d3s64="; }; vendorHash = "sha256-d2MSMucGMGGPLE0wh8Y27AUVPkeyOCkCa0JSPawYQmc="; diff --git a/pkgs/applications/networking/protonmail-bridge/default.nix b/pkgs/applications/networking/protonmail-bridge/default.nix index 16c2bcf66cef..336afd89ce3c 100644 --- a/pkgs/applications/networking/protonmail-bridge/default.nix +++ b/pkgs/applications/networking/protonmail-bridge/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "protonmail-bridge"; - version = "3.13.0"; + version = "3.14.0"; src = fetchFromGitHub { owner = "ProtonMail"; repo = "proton-bridge"; rev = "v${version}"; - hash = "sha256-rwESt2s/TCAFNkf+JwMa7sfYpRvMT8FoIii4EzR/Z6U="; + hash = "sha256-Pup+A637FvsX4dV0G7K/LMB4HCruh5BT1iu4tIXRI7I="; }; - vendorHash = "sha256-jmXh53KwzPvmu7RP1F1Ein9/EfJ5m/GGVAqjJVcEVsE="; + vendorHash = "sha256-I/OFpEa3aB+qDBS/sbX5WOgrlSyR7aZaQYrsaSVNAAk="; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/applications/radio/cloudlog/default.nix b/pkgs/applications/radio/cloudlog/default.nix index 00aa166d41b0..22713841cccb 100644 --- a/pkgs/applications/radio/cloudlog/default.nix +++ b/pkgs/applications/radio/cloudlog/default.nix @@ -8,13 +8,13 @@ stdenvNoCC.mkDerivation rec { pname = "cloudlog"; - version = "2.6.15"; + version = "2.6.16"; src = fetchFromGitHub { owner = "magicbug"; repo = "Cloudlog"; rev = version; - hash = "sha256-G+PnzyOG/HZ8I66BHdtK0GOUF7ATrTYpzM9sVaSjMDQ="; + hash = "sha256-1GdIC1vC/SG9duQkrOXIe24OyIwdLgeEiG7i+KYP8Cs="; }; postPatch = '' diff --git a/pkgs/applications/science/biology/delly/default.nix b/pkgs/applications/science/biology/delly/default.nix index f122b24d465f..7c6445bcfd02 100644 --- a/pkgs/applications/science/biology/delly/default.nix +++ b/pkgs/applications/science/biology/delly/default.nix @@ -13,13 +13,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "delly"; - version = "1.2.9"; + version = "1.3.1"; src = fetchFromGitHub { owner = "dellytools"; repo = "delly"; rev = "v${finalAttrs.version}"; - hash = "sha256-HeLqf/bUkZQJrW1LHl3XmecW3wS3QmjifoH34VNr3A4="; + hash = "sha256-RqiZzbFsj8g6kptpztW7EsYYzIyHgM9kOCIsq1PiPD8="; }; postPatch = lib.optionalString stdenv.cc.isClang '' diff --git a/pkgs/applications/terminal-emulators/rio/default.nix b/pkgs/applications/terminal-emulators/rio/default.nix index daea4128935c..a59ec5dcc6e9 100644 --- a/pkgs/applications/terminal-emulators/rio/default.nix +++ b/pkgs/applications/terminal-emulators/rio/default.nix @@ -55,16 +55,16 @@ let in rustPlatform.buildRustPackage rec { pname = "rio"; - version = "0.1.16"; + version = "0.1.17"; src = fetchFromGitHub { owner = "raphamorim"; repo = "rio"; rev = "v${version}"; - hash = "sha256-3OtPlaYkTPIF98CyaXWGZ/1msWHFdscqZXVviu0/O/o="; + hash = "sha256-10E7tIuix0BGKFbADLhcReRC01FXV/dBivJjfSe/X/c="; }; - cargoHash = "sha256-VpS3prTmAbWTd+gwAOA0BXso4gkcAFuhMZh8Go3Dlao="; + cargoHash = "sha256-yGOvY5+ThSey/k8ilTTC0CzaOIJtc4hDYmdrHJC3HyE="; nativeBuildInputs = [ ncurses diff --git a/pkgs/applications/version-management/git-credential-manager/default.nix b/pkgs/applications/version-management/git-credential-manager/default.nix index 1cef974df577..ac2b0a8f4910 100644 --- a/pkgs/applications/version-management/git-credential-manager/default.nix +++ b/pkgs/applications/version-management/git-credential-manager/default.nix @@ -34,6 +34,7 @@ buildDotnetModule rec { lib.optional withLibsecretSupport libsecret; makeWrapperArgs = [ "--prefix PATH : ${lib.makeBinPath ([ git ] ++ lib.optionals withGpgSupport [ gnupg pass ])}" + "--inherit-argv0" ]; passthru = { diff --git a/pkgs/applications/video/anilibria-winmaclinux/default.nix b/pkgs/applications/video/anilibria-winmaclinux/default.nix index 8bb21ac9d43b..cb65af545d9e 100644 --- a/pkgs/applications/video/anilibria-winmaclinux/default.nix +++ b/pkgs/applications/video/anilibria-winmaclinux/default.nix @@ -18,13 +18,13 @@ mkDerivation rec { pname = "anilibria-winmaclinux"; - version = "2.2.19"; + version = "2.2.20"; src = fetchFromGitHub { owner = "anilibria"; repo = "anilibria-winmaclinux"; rev = version; - hash = "sha256-f4AlTfLTn0GvBj3ztpkNPc6BDlLsEtz/yE5F2WfjU8U="; + hash = "sha256-Tdrs8WFv3ZoDL3U34l+NQp+oVJ6qxlVFg4YfwBSYlVg="; }; sourceRoot = "${src.name}/src"; diff --git a/pkgs/applications/virtualization/crosvm/default.nix b/pkgs/applications/virtualization/crosvm/default.nix index 96e457b40724..c36ed736176a 100644 --- a/pkgs/applications/virtualization/crosvm/default.nix +++ b/pkgs/applications/virtualization/crosvm/default.nix @@ -6,18 +6,18 @@ rustPlatform.buildRustPackage rec { pname = "crosvm"; - version = "127.0"; + version = "128.1"; src = fetchgit { url = "https://chromium.googlesource.com/chromiumos/platform/crosvm"; - rev = "8fdfed12c960850e9d5e809cfd2a40ce3bdd98d6"; - hash = "sha256-W0zLYM91xoq9vURgYs2noc9F9RtvoXztIIHMx0HVK5g="; + rev = "57702acf01cbd0e560e058dc97d22378d0c49ecc"; + hash = "sha256-lQStmmTxMC9Iq6vJxJMFIUUtaixJNGuBfAvBo9KKrjU="; fetchSubmodules = true; }; separateDebugInfo = true; - cargoHash = "sha256-nEJBRlwMqTahaIC9WdtoxGLVfc+U9sJ0ilzLhavcbD0="; + cargoHash = "sha256-qKCO9Rkk04HznExgYKJgpssZDjWfhsY2XOBifvtHFos="; nativeBuildInputs = [ pkg-config protobuf python3 rustPlatform.bindgenHook wayland-scanner diff --git a/pkgs/applications/window-managers/cage/default.nix b/pkgs/applications/window-managers/cage/default.nix index 9d22cefc461b..ab9f8c5e2340 100644 --- a/pkgs/applications/window-managers/cage/default.nix +++ b/pkgs/applications/window-managers/cage/default.nix @@ -1,5 +1,4 @@ { lib, stdenv, fetchFromGitHub -, substituteAll , meson, ninja, pkg-config, wayland-scanner, scdoc, makeWrapper , wlroots, wayland, wayland-protocols, pixman, libxkbcommon, xcbutilwm , systemd, libGL, libX11, mesa @@ -9,24 +8,15 @@ stdenv.mkDerivation rec { pname = "cage"; - version = "0.1.5-unstable-2024-07-29"; + version = "0.2.0"; src = fetchFromGitHub { owner = "cage-kiosk"; repo = "cage"; - rev = "d3fb99d6654325ec46277cfdb589f89316bed701"; - hash = "sha256-WP0rWO9Wbs/09wTY8IlIUybnVUnwiNdXD9JgsoVG4rM="; + rev = "refs/tags/v${version}"; + hash = "sha256-2SFtz62z0EF8cpFTC6wGi125MD4a5mkXqP/C+7fH+3g="; }; - patches = [ - # TODO: Remove on next stable release. - (substituteAll { - src = ./inject-git-commit.patch; - gitCommit = lib.substring 0 7 src.rev; - gitBranch = "master"; - }) - ]; - depsBuildBuild = [ pkg-config ]; diff --git a/pkgs/applications/window-managers/cage/inject-git-commit.patch b/pkgs/applications/window-managers/cage/inject-git-commit.patch deleted file mode 100644 index b1c73f4a0761..000000000000 --- a/pkgs/applications/window-managers/cage/inject-git-commit.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/meson.build b/meson.build -index 4c0cbe280f..d4479741c8 100644 ---- a/meson.build -+++ b/meson.build -@@ -68,14 +68,12 @@ - - version = '@0@'.format(meson.project_version()) - git = find_program('git', native: true, required: false) --if git.found() -- git_commit = run_command([git, 'rev-parse', '--short', 'HEAD'], check: false) -- git_branch = run_command([git, 'rev-parse', '--abbrev-ref', 'HEAD'], check: false) -- if git_commit.returncode() == 0 and git_branch.returncode() == 0 -+if true -+ if true - version = '@0@-@1@ (branch \'@2@\')'.format( - meson.project_version(), -- git_commit.stdout().strip(), -- git_branch.stdout().strip(), -+ '@gitCommit@'.strip(), -+ '@gitBranch@'.strip(), - ) - endif - endif diff --git a/pkgs/applications/window-managers/hyprwm/hyprpicker/default.nix b/pkgs/applications/window-managers/hyprwm/hyprpicker/default.nix index 0ee4884f5b6f..7d54fa161072 100644 --- a/pkgs/applications/window-managers/hyprwm/hyprpicker/default.nix +++ b/pkgs/applications/window-managers/hyprwm/hyprpicker/default.nix @@ -1,63 +1,53 @@ -{ lib -, stdenv -, fetchFromGitHub -, pkg-config -, cmake -, ninja -, cairo -, fribidi -, libGL -, libdatrie -, libjpeg -, libselinux -, libsepol -, libthai -, libxkbcommon -, pango -, pcre -, util-linux -, wayland -, wayland-protocols -, wayland-scanner -, libXdmcp -, debug ? false +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + pkg-config, + cmake, + cairo, + hyprutils, + hyprwayland-scanner, + libGL, + libjpeg, + libxkbcommon, + pango, + wayland, + wayland-protocols, + wayland-scanner, + libXdmcp, + debug ? false, }: stdenv.mkDerivation (finalAttrs: { pname = "hyprpicker" + lib.optionalString debug "-debug"; - version = "0.3.0"; + version = "0.4.1"; src = fetchFromGitHub { owner = "hyprwm"; repo = "hyprpicker"; rev = "v${finalAttrs.version}"; - hash = "sha256-BYQF1zM6bJ44ag9FJ0aTSkhOTY9U7uRdp3SmRCs5fJM="; + hash = "sha256-gu26MSYbTlRLMUpZ9PeYXtqqhzPDQXxEDkjiJgwzIIc="; }; cmakeBuildType = if debug then "Debug" else "Release"; nativeBuildInputs = [ cmake - ninja + hyprwayland-scanner pkg-config ]; buildInputs = [ cairo - fribidi + hyprutils libGL - libdatrie libjpeg - libselinux - libsepol - libthai libxkbcommon pango - pcre wayland wayland-protocols wayland-scanner libXdmcp - util-linux ]; postInstall = '' @@ -65,11 +55,13 @@ stdenv.mkDerivation (finalAttrs: { install -Dm644 $src/LICENSE -t $out/share/licenses/hyprpicker ''; - meta = with lib; { + passthru.updateScript = nix-update-script { }; + + meta = { description = "Wlroots-compatible Wayland color picker that does not suck"; homepage = "https://github.com/hyprwm/hyprpicker"; - license = licenses.bsd3; - maintainers = with maintainers; [ fufexan ]; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ fufexan ]; platforms = wayland.meta.platforms; mainProgram = "hyprpicker"; }; diff --git a/pkgs/by-name/al/alacarte/package.nix b/pkgs/by-name/al/alacarte/package.nix index c9b1c9d7c618..e7d7795ed17d 100644 --- a/pkgs/by-name/al/alacarte/package.nix +++ b/pkgs/by-name/al/alacarte/package.nix @@ -17,14 +17,14 @@ }: python3.pkgs.buildPythonApplication rec { pname = "alacarte"; - version = "3.52.0"; + version = "3.54.0"; src = fetchFromGitLab { domain = "gitlab.gnome.org"; owner = "GNOME"; repo = "alacarte"; rev = version; - hash = "sha256-SkolSk6RireH3aKkRTUCib/nflqD02PR9uVtXePRHQY="; + hash = "sha256-btqSlO0vM4fmoBcxh3mshv0t2oZSxm8Vr26UvH5fVvE="; }; format = "other"; diff --git a/pkgs/by-name/as/astro-language-server/package.nix b/pkgs/by-name/as/astro-language-server/package.nix index e2bdedc60f0d..33d0b5aedc5e 100644 --- a/pkgs/by-name/as/astro-language-server/package.nix +++ b/pkgs/by-name/as/astro-language-server/package.nix @@ -2,22 +2,22 @@ lib, stdenv, fetchFromGitHub, - pnpm_8, + pnpm, nodejs_22, }: stdenv.mkDerivation (finalAttrs: { pname = "astro-language-server"; - version = "2.14.2"; + version = "2.15.0"; src = fetchFromGitHub { owner = "withastro"; repo = "language-tools"; rev = "@astrojs/language-server@${finalAttrs.version}"; - hash = "sha256-4GaLyaRUN9qS2U7eSzASB6fSQY2+fWtgfb54uuHjuh4="; + hash = "sha256-2MaoW04mX016VIrtfnBX/jzMNCOXE10lSInSyhqot5E="; }; - pnpmDeps = pnpm_8.fetchDeps { + pnpmDeps = pnpm.fetchDeps { inherit (finalAttrs) pname version @@ -25,12 +25,12 @@ stdenv.mkDerivation (finalAttrs: { pnpmWorkspace prePnpmInstall ; - hash = "sha256-q9a4nFPRhR6W/PT1l/Q1799iDmI+WTsudUP8rb8e97g="; + hash = "sha256-zCCDlwsKPZQVEYrv85WcMY2JlWgz0tD6iHLSJg1RkRU="; }; nativeBuildInputs = [ nodejs_22 - pnpm_8.configHook + pnpm.configHook ]; buildInputs = [ nodejs_22 ]; diff --git a/pkgs/by-name/au/authentik/package.nix b/pkgs/by-name/au/authentik/package.nix index 74511b866a38..82a0144e1a58 100644 --- a/pkgs/by-name/au/authentik/package.nix +++ b/pkgs/by-name/au/authentik/package.nix @@ -70,7 +70,7 @@ let openapi-generator-cli generate -i ./schema.yml \ -g typescript-fetch -o $out \ -c ./scripts/api-ts-config.yaml \ - --additional-properties=npmVersion=${nodejs.pkgs.npm.version} \ + --additional-properties=npmVersion="$(${lib.getExe' nodejs "npm"} --version)" \ --git-repo-id authentik --git-user-id goauthentik runHook postBuild ''; diff --git a/pkgs/by-name/az/azure-cli/extensions-manual.nix b/pkgs/by-name/az/azure-cli/extensions-manual.nix index e1b5b2bf8b8a..d46a523ca2bc 100644 --- a/pkgs/by-name/az/azure-cli/extensions-manual.nix +++ b/pkgs/by-name/az/azure-cli/extensions-manual.nix @@ -31,6 +31,33 @@ meta.maintainers = with lib.maintainers; [ katexochen ]; }; + azure-iot = mkAzExtension rec { + pname = "azure-iot"; + description = "The Azure IoT extension for Azure CLI."; + version = "0.25.0"; + url = "https://github.com/Azure/azure-iot-cli-extension/releases/download/v${version}/azure_iot-${version}-py3-none-any.whl"; + sha256 = "7db4bc07667efa8472513d9e121fb2551fcaeae68255c7bc0768ad4177c1b1c6"; + propagatedBuildInputs = ( + with python3Packages; + [ + azure-core + azure-identity + azure-iot-device + azure-mgmt-core + azure-storage-blob + jsonschema + msrest + msrestazure + packaging + tomli + tomli-w + tqdm + treelib + ] + ); + meta.maintainers = with lib.maintainers; [ mikut ]; + }; + containerapp = mkAzExtension rec { pname = "containerapp"; version = "1.0.0b1"; @@ -83,7 +110,6 @@ propagatedBuildInputs = with python3Packages; [ azure-core ]; meta.maintainers = with lib.maintainers; [ katexochen ]; }; - } // lib.optionalAttrs config.allowAliases { # Removed extensions diff --git a/pkgs/by-name/ba/bacon/package.nix b/pkgs/by-name/ba/bacon/package.nix new file mode 100644 index 000000000000..adc286ffd7da --- /dev/null +++ b/pkgs/by-name/ba/bacon/package.nix @@ -0,0 +1,46 @@ +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + darwin, + versionCheckHook, + nix-update-script, +}: + +rustPlatform.buildRustPackage rec { + pname = "bacon"; + version = "3.0.0"; + + src = fetchFromGitHub { + owner = "Canop"; + repo = "bacon"; + rev = "refs/tags/v${version}"; + hash = "sha256-fSlakjZbY8jrFkCqVxPr3UKwf1Oq4yPhLmVbzsksSeg="; + }; + + cargoHash = "sha256-WT0uXmchhapss3AU4+e2wA3nBVjzikfRNRyAvQnpJfY="; + + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ + darwin.apple_sdk.frameworks.CoreServices + ]; + + nativeInstallCheckInputs = [ + versionCheckHook + ]; + versionCheckProgramArg = [ "--version" ]; + doInstallCheck = true; + + passthru = { + updateScript = nix-update-script { }; + }; + + meta = { + description = "Background rust code checker"; + mainProgram = "bacon"; + homepage = "https://github.com/Canop/bacon"; + changelog = "https://github.com/Canop/bacon/blob/v${version}/CHANGELOG.md"; + license = lib.licenses.agpl3Only; + maintainers = with lib.maintainers; [ FlorianFranzen ]; + }; +} diff --git a/pkgs/tools/networking/boundary/default.nix b/pkgs/by-name/bo/boundary/package.nix similarity index 77% rename from pkgs/tools/networking/boundary/default.nix rename to pkgs/by-name/bo/boundary/package.nix index 6a7ddd1d7306..33a77d0b5788 100644 --- a/pkgs/tools/networking/boundary/default.nix +++ b/pkgs/by-name/bo/boundary/package.nix @@ -1,8 +1,12 @@ -{ stdenv, lib, fetchzip }: +{ + stdenv, + lib, + fetchzip, +}: stdenv.mkDerivation rec { pname = "boundary"; - version = "0.15.4"; + version = "0.17.1"; src = let @@ -14,16 +18,17 @@ stdenv.mkDerivation rec { x86_64-darwin = "darwin_amd64"; aarch64-darwin = "darwin_arm64"; }; - sha256 = selectSystem { - x86_64-linux = "sha256-43Q69Pp5NLB4fITy2X8d0XHp5EX+gFLnwtHOontISoU="; - aarch64-linux = "sha256-z87peCBv50eJr/kiFWPZUOeb0WCN4X+0JnxCvn3lCXo="; - x86_64-darwin = "sha256-SAhlZNGq5rkNitKVd+EjLOeeTErhWg14tHFG4Bsexv8="; - aarch64-darwin = "sha256-2DJgOdgJY6eUR2sqWS47vNjdkQGXOEEsSXhZeUBZxxs="; + hash = selectSystem { + x86_64-linux = "sha256-U7ZCmpmcZpgLkf2jwc35Q9jezxUzaKp85WX2Tqs5IFI="; + aarch64-linux = "sha256-gYbeC+f/EXfhzUtwojjvyEATri1XpHpu+JPQtj4oRb4="; + x86_64-darwin = "sha256-N6Uy5JiU9mW1/muHYF6Rf1KLX1iXYt/5ct1IHeFUgds="; + aarch64-darwin = "sha256-Oxfzy/9ggcJXS+tXiYmJXSiqbMKw4vv9RMquUuOlJ08="; }; in fetchzip { url = "https://releases.hashicorp.com/boundary/${version}/boundary_${version}_${suffix}.zip"; - inherit sha256; + inherit hash; + stripRoot = false; }; dontConfigure = true; @@ -64,7 +69,10 @@ stdenv.mkDerivation rec { ''; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.bsl11; - maintainers = with maintainers; [ jk techknowlogick ]; + maintainers = with maintainers; [ + jk + techknowlogick + ]; platforms = platforms.unix; mainProgram = "boundary"; }; diff --git a/pkgs/tools/networking/boundary/update.sh b/pkgs/by-name/bo/boundary/update.sh old mode 100755 new mode 100644 similarity index 55% rename from pkgs/tools/networking/boundary/update.sh rename to pkgs/by-name/bo/boundary/update.sh index 0533c07967c1..0418b2b3dd0a --- a/pkgs/tools/networking/boundary/update.sh +++ b/pkgs/by-name/bo/boundary/update.sh @@ -4,21 +4,18 @@ set -euo pipefail ROOT="$(dirname "$(readlink -f "$0")")" -NIX_DRV="$ROOT/default.nix" +NIX_DRV="$ROOT/package.nix" if [ ! -f "$NIX_DRV" ]; then - echo "ERROR: cannot find default.nix in $ROOT" + echo "ERROR: cannot find package.nix in $ROOT" exit 1 fi -fetch_arch() { - VER="$1"; ARCH="$2" - URL="https://releases.hashicorp.com/boundary/${VER}/boundary_${VER}_${ARCH}.zip" - nix-prefetch "{ stdenv, fetchzip }: -stdenv.mkDerivation rec { - pname = \"boundary\"; version = \"${VER}\"; - src = fetchzip { url = \"$URL\"; }; -} -" +function calc_hash () { + local version=$1 + local arch=$2 + url="https://releases.hashicorp.com/boundary/${version}/boundary_${version}_${arch}.zip" + zip_hash=$(nix-prefetch-url --unpack $url) + nix hash to-sri --type sha256 "$zip_hash" } replace_sha() { @@ -28,10 +25,10 @@ replace_sha() { # https://releases.hashicorp.com/boundary/0.1.4/boundary_0.1.4_linux_amd64.zip BOUNDARY_VER=$(curl -Ls -w "%{url_effective}" -o /dev/null https://github.com/hashicorp/boundary/releases/latest | awk -F'/' '{print $NF}' | sed 's/v//') -BOUNDARY_LINUX_X64_SHA256=$(fetch_arch "$BOUNDARY_VER" "linux_amd64") -BOUNDARY_DARWIN_X64_SHA256=$(fetch_arch "$BOUNDARY_VER" "darwin_amd64") -BOUNDARY_LINUX_AARCH64_SHA256=$(fetch_arch "$BOUNDARY_VER" "linux_arm64") -BOUNDARY_DARWIN_AARCH64_SHA256=$(fetch_arch "$BOUNDARY_VER" "darwin_arm64") +BOUNDARY_LINUX_X64_SHA256=$(calc_hash "$BOUNDARY_VER" "linux_amd64") +BOUNDARY_DARWIN_X64_SHA256=$(calc_hash "$BOUNDARY_VER" "darwin_amd64") +BOUNDARY_LINUX_AARCH64_SHA256=$(calc_hash "$BOUNDARY_VER" "linux_arm64") +BOUNDARY_DARWIN_AARCH64_SHA256=$(calc_hash "$BOUNDARY_VER" "darwin_arm64") sed -i "s/version = \".*\"/version = \"$BOUNDARY_VER\"/" "$NIX_DRV" diff --git a/pkgs/by-name/ci/circom/package.nix b/pkgs/by-name/ci/circom/package.nix index 895f3a6ba3de..f16bf84c4f5d 100644 --- a/pkgs/by-name/ci/circom/package.nix +++ b/pkgs/by-name/ci/circom/package.nix @@ -5,16 +5,16 @@ rustPlatform.buildRustPackage rec { pname = "circom"; - version = "2.1.9"; + version = "2.2.0"; src = fetchFromGitHub { owner = "iden3"; repo = "circom"; rev = "v${version}"; - hash = "sha256-l8204koaKTluYEvk6j9+MokdOqFCq2oExT5P2aW3kzc="; + hash = "sha256-OxfqbsxSIy0tLDMfDmdCZeMb2LCSG7I+Vm9RHb7tXFc="; }; - cargoHash = "sha256-M4FR/dPLIq1Ps0j1B69khmSl4uRE5wxN4dh3iuO/9A4="; + cargoHash = "sha256-KmUTlzRRmtD9vKJmh0MSUQxN8gz4qnp9fLs5Z0Lmypw="; doCheck = false; meta = with lib; { diff --git a/pkgs/by-name/cp/cpu-x/package.nix b/pkgs/by-name/cp/cpu-x/package.nix index 372ebbce2a50..bbc48a13715a 100644 --- a/pkgs/by-name/cp/cpu-x/package.nix +++ b/pkgs/by-name/cp/cpu-x/package.nix @@ -39,13 +39,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "cpu-x"; - version = "5.0.4"; + version = "5.1.0"; src = fetchFromGitHub { owner = "X0rg"; repo = "CPU-X"; rev = "refs/tags/v${finalAttrs.version}"; - hash = "sha256-8jJP0gxH3B6qLrhKNa4P9ZfSjxaXTeBB1+UuadflLQo="; + hash = "sha256-4wW8elGsU3EhDDMPxa5di01NlB0dJ8MN8TiaIBo2qxo="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/de/delfin/package.nix b/pkgs/by-name/de/delfin/package.nix index 359098559bca..085845400af2 100644 --- a/pkgs/by-name/de/delfin/package.nix +++ b/pkgs/by-name/de/delfin/package.nix @@ -21,20 +21,20 @@ stdenv.mkDerivation rec { pname = "delfin"; - version = "0.4.6"; + version = "0.4.7"; src = fetchFromGitea { domain = "codeberg.org"; owner = "avery42"; repo = "delfin"; rev = "v${version}"; - hash = "sha256-kCPLfGeMsWAjNrtrxUeXaLv1ZkDCfhDl0HLwYDaoMTY="; + hash = "sha256-F4ipIOqMS42nXHRSRpzIlTh61g2xjpog7Zmxn6D29nE="; }; cargoDeps = rustPlatform.fetchCargoTarball { inherit src; name = "${pname}-${version}"; - hash = "sha256-LOW4Gm69e0Cyif3UuzYITy0GMGEgZOHURNxrsZRLdWo="; + hash = "sha256-ciw178jBwz4I6I1x6iI45RJ2ITw0JfukLWNyBmE3FZg="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/ei/eiwd/package.nix b/pkgs/by-name/ei/eiwd/package.nix index ed59d32299fa..c2d54101db63 100644 --- a/pkgs/by-name/ei/eiwd/package.nix +++ b/pkgs/by-name/ei/eiwd/package.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "eiwd"; - version = "2.16-1"; + version = "2.22-1"; src = fetchFromGitHub { owner = "illiliti"; repo = "eiwd"; rev = finalAttrs.version; - hash = "sha256-TQA9aVdXGX2hje7lRQ8T9QDpSTYGpB5cIDlNYsUg/dM="; + hash = "sha256-rmkXR4RZbtD6lh8cGrHLWVGTw4fQqP9+Z9qaftG1ld0="; fetchSubmodules = true; }; diff --git a/pkgs/by-name/gi/git-identity/package.nix b/pkgs/by-name/gi/git-identity/package.nix new file mode 100644 index 000000000000..51addeebc16c --- /dev/null +++ b/pkgs/by-name/gi/git-identity/package.nix @@ -0,0 +1,52 @@ +{ + lib, + stdenvNoCC, + fetchFromGitHub, + installShellFiles, + ronn, + nix-update-script, +}: +stdenvNoCC.mkDerivation rec { + pname = "git-identity"; + version = "1.1.1"; + + src = fetchFromGitHub { + owner = "madx"; + repo = "git-identity"; + rev = "refs/tags/v${version}"; + hash = "sha256-u4lIW0bntaKrVUwodXZ8ZwWxSZtLuhVSUAbIj8jjcLw="; + }; + + nativeBuildInputs = [ + installShellFiles + ronn + ]; + + buildPhase = '' + runHook preBuild + ronn --roff git-identity.1.ronn + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + mkdir -p $out/bin + cp git-identity $out/bin/git-identity + installManPage git-identity.1 + installShellCompletion --cmd git-identity \ + --bash git-identity.bash-completion \ + --zsh git-identity.zsh-completion + runHook postInstall + ''; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Manage your identity in Git"; + mainProgram = "git-identity"; + homepage = "https://github.com/madx/git-identity"; + license = lib.licenses.wtfpl; + maintainers = with lib.maintainers; [ mynacol ]; + platforms = lib.platforms.all; + }; +} diff --git a/pkgs/by-name/gi/gitea/package.nix b/pkgs/by-name/gi/gitea/package.nix index 3b5e5ccdf579..e68a58be66e6 100644 --- a/pkgs/by-name/gi/gitea/package.nix +++ b/pkgs/by-name/gi/gitea/package.nix @@ -33,18 +33,18 @@ let }; in buildGoModule rec { pname = "gitea"; - version = "1.22.2"; + version = "1.22.3"; src = fetchFromGitHub { owner = "go-gitea"; repo = "gitea"; rev = "v${gitea.version}"; - hash = "sha256-PwA23cbRgw5crzZmngDjAAIODMtguwBCqc9NqWMjF3o="; + hash = "sha256-F1vvyf/FE/OIfDjM0CCOef/cXy+GPA+8n1AypE0r6p8="; }; proxyVendor = true; - vendorHash = "sha256-rMTKmztQNse/9CK1qFGWmSwqunwh918EvcuIHk6BSTY="; + vendorHash = "sha256-iKf4ozCBcTJQ6bm6dX4dd4buVMGNDVF+rLuYkb7Zxw8="; outputs = [ "out" "data" ]; diff --git a/pkgs/by-name/go/go-licence-detector/package.nix b/pkgs/by-name/go/go-licence-detector/package.nix new file mode 100644 index 000000000000..dd08b14598d4 --- /dev/null +++ b/pkgs/by-name/go/go-licence-detector/package.nix @@ -0,0 +1,26 @@ +{ + lib, + buildGoModule, + fetchFromGitHub, +}: + +buildGoModule rec { + pname = "go-licence-detector"; + version = "0.7.0"; + + src = fetchFromGitHub { + owner = "elastic"; + repo = "go-licence-detector"; + rev = "v${version}"; + hash = "sha256-43MyzEF7BZ7pcgzDvXx9SjXGHaLozmWkGWUO/yf6K98="; + }; + + vendorHash = "sha256-7vIP5pGFH6CbW/cJp+DiRg2jFcLFEBl8dQzUw1ogTTA="; + + meta = with lib; { + description = "Detect licences in Go projects and generate documentation"; + homepage = "https://github.com/elastic/go-licence-detector"; + license = licenses.asl20; + maintainers = with maintainers; [ SuperSandro2000 ]; + }; +} diff --git a/pkgs/by-name/hy/hypre/package.nix b/pkgs/by-name/hy/hypre/package.nix index 1b5c918bee45..0fafb235b7b6 100644 --- a/pkgs/by-name/hy/hypre/package.nix +++ b/pkgs/by-name/hy/hypre/package.nix @@ -7,13 +7,13 @@ stdenv.mkDerivation (finalAttrs: { name = "hypre"; - version = "2.31.0"; + version = "2.32.0"; src = fetchFromGitHub { owner = "hypre-space"; repo = "hypre"; rev = "refs/tags/v${finalAttrs.version}"; - hash = "sha256-eFOyM3IzQUNm7cSnORA3NrKYotEBmLKC8mi+fcwPMQA="; + hash = "sha256-h16+nZ6+GfddfBJDF6sphuZ9Sff++PxW2R58XgJsnsI="; }; sourceRoot = "${finalAttrs.src.name}/src"; diff --git a/pkgs/by-name/hy/hyprland/package.nix b/pkgs/by-name/hy/hyprland/package.nix index 99a80aa30187..a3a7d061dc1f 100644 --- a/pkgs/by-name/hy/hyprland/package.nix +++ b/pkgs/by-name/hy/hyprland/package.nix @@ -1,10 +1,12 @@ { lib, stdenv, + stdenvAdapters, fetchFromGitHub, pkg-config, makeWrapper, cmake, + meson, ninja, aquamarine, binutils, @@ -15,7 +17,6 @@ hyprlang, hyprutils, hyprwayland-scanner, - jq, libGL, libdrm, libexecinfo, @@ -45,30 +46,52 @@ enableNvidiaPatches ? false, }: let - info = builtins.fromJSON (builtins.readFile ./info.json); + inherit (builtins) + foldl' + ; + inherit (lib.asserts) assertMsg; + inherit (lib.attrsets) mapAttrsToList; + inherit (lib.lists) + concatLists + optionals + ; + inherit (lib.strings) + makeBinPath + optionalString + mesonBool + mesonEnable + ; + inherit (lib.trivial) + importJSON + ; + + info = importJSON ./info.json; + + # possibility to add more adapters in the future, such as keepDebugInfo, + # which would be controlled by the `debug` flag + adapters = [ + stdenvAdapters.useMoldLinker + ]; + + customStdenv = foldl' (acc: adapter: adapter acc) stdenv adapters; in -assert lib.assertMsg (!nvidiaPatches) "The option `nvidiaPatches` has been removed."; -assert lib.assertMsg (!enableNvidiaPatches) "The option `enableNvidiaPatches` has been removed."; -assert lib.assertMsg (!hidpiXWayland) +assert assertMsg (!nvidiaPatches) "The option `nvidiaPatches` has been removed."; +assert assertMsg (!enableNvidiaPatches) "The option `enableNvidiaPatches` has been removed."; +assert assertMsg (!hidpiXWayland) "The option `hidpiXWayland` has been removed. Please refer https://wiki.hyprland.org/Configuring/XWayland"; -stdenv.mkDerivation (finalAttrs: { - pname = "hyprland" + lib.optionalString debug "-debug"; - version = "0.43.0"; +customStdenv.mkDerivation (finalAttrs: { + pname = "hyprland" + optionalString debug "-debug"; + version = "0.44.0"; src = fetchFromGitHub { owner = "hyprwm"; repo = "hyprland"; fetchSubmodules = true; rev = "refs/tags/v${finalAttrs.version}"; - hash = "sha256-+wE97utoDfhQP6AMdZHUmBeL8grbce/Jv2i5M+6AbaE="; + hash = "sha256-XgDhPx+tKs+2lyWM/ZqIHnMArd/c0LGmwAwu0EG1uJM="; }; - patches = [ - # forces GCC to use -std=c++26 on CMake < 3.30 - "${finalAttrs.src}/nix/stdcxx.patch" - ]; - postPatch = '' # Fix hardcoded paths to /usr installation sed -i "s#/usr#$out#" src/render/OpenGL.cpp @@ -93,13 +116,14 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ hyprwayland-scanner - jq makeWrapper - cmake + meson ninja pkg-config - python3 # for udis86 wayland-scanner + # for udis86 + cmake + python3 ]; outputs = [ @@ -108,7 +132,7 @@ stdenv.mkDerivation (finalAttrs: { "dev" ]; - buildInputs = + buildInputs = concatLists [ [ aquamarine cairo @@ -129,32 +153,40 @@ stdenv.mkDerivation (finalAttrs: { wayland-protocols xorg.libXcursor ] - ++ lib.optionals stdenv.hostPlatform.isBSD [ epoll-shim ] - ++ lib.optionals stdenv.hostPlatform.isMusl [ libexecinfo ] - ++ lib.optionals enableXWayland [ + (optionals customStdenv.hostPlatform.isBSD [ epoll-shim ]) + (optionals customStdenv.hostPlatform.isMusl [ libexecinfo ]) + (optionals enableXWayland [ xorg.libxcb xorg.libXdmcp xorg.xcbutilerrors xorg.xcbutilwm xwayland - ] - ++ lib.optionals withSystemd [ systemd ]; + ]) + (optionals withSystemd [ systemd ]) + ]; - cmakeBuildType = if debug then "Debug" else "RelWithDebInfo"; + mesonBuildType = if debug then "debugoptimized" else "release"; dontStrip = debug; - cmakeFlags = [ - (lib.cmakeBool "NO_XWAYLAND" (!enableXWayland)) - (lib.cmakeBool "LEGACY_RENDERER" legacyRenderer) - (lib.cmakeBool "NO_SYSTEMD" (!withSystemd)) + mesonFlags = concatLists [ + (mapAttrsToList mesonEnable { + "xwayland" = enableXWayland; + "legacy_renderer" = legacyRenderer; + "systemd" = withSystemd; + }) + (mapAttrsToList mesonBool { + # PCH provides no benefits when building with Nix + "b_pch" = false; + "tracy_enable" = false; + }) ]; postInstall = '' - ${lib.optionalString wrapRuntimeDeps '' + ${optionalString wrapRuntimeDeps '' wrapProgram $out/bin/Hyprland \ --suffix PATH : ${ - lib.makeBinPath [ + makeBinPath [ binutils pciutils pkgconf @@ -163,9 +195,10 @@ stdenv.mkDerivation (finalAttrs: { ''} ''; - passthru.providedSessions = [ "hyprland" ]; - - passthru.updateScript = ./update.sh; + passthru = { + providedSessions = [ "hyprland" ]; + updateScript = ./update.sh; + }; meta = { homepage = "https://github.com/hyprwm/Hyprland"; diff --git a/pkgs/by-name/ki/kine/package.nix b/pkgs/by-name/ki/kine/package.nix new file mode 100644 index 000000000000..938adb99f754 --- /dev/null +++ b/pkgs/by-name/ki/kine/package.nix @@ -0,0 +1,38 @@ +{ + lib, + buildGoModule, + fetchFromGitHub, +}: + +buildGoModule rec { + pname = "kine"; + version = "0.13.2"; + + src = fetchFromGitHub { + owner = "k3s-io"; + repo = "kine"; + rev = "v${version}"; + hash = "sha256-KMyO9zZvQFyRaMtQ/d2Zgg6pG1SFIYWkzZgSZIqhiOQ="; + }; + + vendorHash = "sha256-kbMwLNBPJwFbUSZdYiWWdIZM8fclHDnRnxTTIXTIuHU="; + + ldflags = [ + "-s" + "-w" + "-X github.com/k3s-io/kine/pkg/version.Version=v${version}" + "-X github.com/k3s-io/kine/pkg/version.GitCommit=unknown" + ]; + + env = { + "CGO_CFLAGS" = "-DSQLITE_ENABLE_DBSTAT_VTAB=1 -DSQLITE_USE_ALLOCA=1"; + }; + + meta = { + description = "Kine is an etcdshim that translates etcd API to RDMS"; + homepage = "https://github.com/k3s-io/kine"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ techknowlogick ]; + mainProgram = "kine"; + }; +} diff --git a/pkgs/by-name/kn/knossosnet/package.nix b/pkgs/by-name/kn/knossosnet/package.nix index b621f549ccf5..264904081c05 100644 --- a/pkgs/by-name/kn/knossosnet/package.nix +++ b/pkgs/by-name/kn/knossosnet/package.nix @@ -7,13 +7,13 @@ buildDotnetModule rec { pname = "knossosnet"; - version = "1.2.3"; + version = "1.2.4"; src = fetchFromGitHub { owner = "KnossosNET"; repo = "Knossos.NET"; rev = "v${version}"; - hash = "sha256-5FNb+L+ABkR/ubSZXuV4hlzy6pIWEXaTXl4piNsmkmw="; + hash = "sha256-vlSiM6kskV4wfBZF7Rv5ICyqKG0Zhz/iU8kflYOaf0U="; }; patches = [ ./targetframework.patch ]; diff --git a/pkgs/by-name/li/libblake3/package.nix b/pkgs/by-name/li/libblake3/package.nix new file mode 100644 index 000000000000..bd03de8f4956 --- /dev/null +++ b/pkgs/by-name/li/libblake3/package.nix @@ -0,0 +1,45 @@ +{ + lib, + stdenv, + cmake, + fetchFromGitHub, + fetchpatch, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "libblake3"; + version = "1.5.4"; + + src = fetchFromGitHub { + owner = "BLAKE3-team"; + repo = "BLAKE3"; + rev = "refs/tags/${finalAttrs.version}"; + hash = "sha256-WatbhExS0j2neYsrfbNhYxrckLiXHwQBjctuowtQW+U="; + }; + + sourceRoot = finalAttrs.src.name + "/c"; + + patches = [ + # Fix pkg-config for absolute CMAKE_INSTALL_*DIR + (fetchpatch { + url = "https://github.com/BLAKE3-team/BLAKE3/commit/aa3e8ec32a389461babde3789d6ac50ee3c38662.patch"; + hash = "sha256-V8o85EnRoqYvatqYwdr7h2TBwSOSlKrqfJWPPkQhU+c="; + stripLen = 1; + }) + ]; + + nativeBuildInputs = [ + cmake + ]; + + meta = { + description = "Official C implementation of BLAKE3"; + homepage = "https://github.com/BLAKE3-team/BLAKE3/tree/master/c"; + license = with lib.licenses; [ + asl20 + cc0 + ]; + maintainers = with lib.maintainers; [ fgaz ]; + platforms = lib.platforms.all; + }; +}) diff --git a/pkgs/by-name/li/librewolf-bin/package.nix b/pkgs/by-name/li/librewolf-bin/package.nix index 80c0875fa69c..221d8092ec6b 100644 --- a/pkgs/by-name/li/librewolf-bin/package.nix +++ b/pkgs/by-name/li/librewolf-bin/package.nix @@ -31,5 +31,8 @@ appimageTools.wrapType2 { platforms = [ "x86_64-linux" ]; mainProgram = "librewolf"; sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; + knownVulnerabilities = [ + "CVE-2024-9680" + ]; }; } diff --git a/pkgs/by-name/li/lilipod/package.nix b/pkgs/by-name/li/lilipod/package.nix index 0185a25c8a48..9d26c94d7bda 100644 --- a/pkgs/by-name/li/lilipod/package.nix +++ b/pkgs/by-name/li/lilipod/package.nix @@ -1,8 +1,11 @@ -{ lib -, buildGoModule -, fetchFromGitHub -, installShellFiles -, stdenv +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, + stdenv, + shadow, + util-linux, }: buildGoModule rec { @@ -18,8 +21,6 @@ buildGoModule rec { vendorHash = null; - nativeBuildInputs = [ installShellFiles ]; - buildPhase = '' runHook preBuild @@ -44,13 +45,6 @@ buildGoModule rec { runHook postInstall ''; - postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' - installShellCompletion --cmd lilipod \ - --bash <($out/bin/lilipod completion bash) \ - --fish <($out/bin/lilipod completion fish) \ - --zsh <($out/bin/lilipod completion zsh) - ''; - meta = { description = "Very simple (as in few features) container and image manager"; longDescription = '' diff --git a/pkgs/servers/mediamtx/default.nix b/pkgs/by-name/me/mediamtx/package.nix similarity index 79% rename from pkgs/servers/mediamtx/default.nix rename to pkgs/by-name/me/mediamtx/package.nix index 58c3bab2b160..b0cc36acefcd 100644 --- a/pkgs/servers/mediamtx/default.nix +++ b/pkgs/by-name/me/mediamtx/package.nix @@ -15,26 +15,27 @@ in buildGoModule rec { pname = "mediamtx"; # check for hls.js version updates in internal/servers/hls/hlsjsdownloader/VERSION - version = "1.9.1"; + version = "1.9.2"; src = fetchFromGitHub { owner = "bluenviron"; repo = pname; rev = "v${version}"; - hash = "sha256-DCt0P0DHlWFAQ5i4+7U5+Q2XcCPlSZrlj+Ljcyg/Wj0="; + hash = "sha256-aHVSGyrLuLX/RYf1I1dDackmOeU3m24QcwBus4Uly0I="; }; - vendorHash = "sha256-YKNNQPEdO8K7Lpm/S86GKD3QcNcyvwZSrBspZJMJ78Y="; + vendorHash = "sha256-YpwbFCfI2kfmX3nI1G9OGUv5qpZ/JMis5VyUkqsESZA="; postPatch = '' cp ${hlsJs} internal/servers/hls/hls.min.js + echo "v${version}" > internal/core/VERSION ''; + subPackages = [ "." ]; + # Tests need docker doCheck = false; - ldflags = [ "-X github.com/bluenviron/mediamtx/internal/core.version=v${version}" ]; - passthru.tests = { inherit (nixosTests) mediamtx; }; diff --git a/pkgs/tools/filesystems/mtdutils/default.nix b/pkgs/by-name/mt/mtdutils/package.nix similarity index 56% rename from pkgs/tools/filesystems/mtdutils/default.nix rename to pkgs/by-name/mt/mtdutils/package.nix index 3214694e5290..15359970cfca 100644 --- a/pkgs/tools/filesystems/mtdutils/default.nix +++ b/pkgs/by-name/mt/mtdutils/package.nix @@ -1,17 +1,45 @@ -{ lib, stdenv, fetchgit, autoreconfHook, pkg-config, cmocka, acl, libuuid, lzo, zlib, zstd }: +{ + lib, + stdenv, + fetchgit, + autoreconfHook, + pkg-config, + cmocka, + acl, + libuuid, + lzo, + util-linux, + zlib, + zstd, +}: stdenv.mkDerivation rec { pname = "mtd-utils"; - version = "2.2.0"; + version = "2.2.1"; src = fetchgit { url = "git://git.infradead.org/mtd-utils.git"; rev = "v${version}"; - hash = "sha256-uYXzZnVL5PkyDAntH8YsocwmQ8tf1f0Vl78SdE2B+Oc="; + hash = "sha256-vGgBOKu+ClmyRZHQkAS8r/YJtZihr/oD/yj8V7DeAQ8="; }; - nativeBuildInputs = [ autoreconfHook pkg-config ] ++ lib.optional doCheck cmocka; - buildInputs = [ acl libuuid lzo zlib zstd ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ] ++ lib.optional doCheck cmocka; + buildInputs = [ + acl + libuuid + lzo + util-linux + zlib + zstd + ]; + + postPatch = '' + substituteInPlace ubifs-utils/mount.ubifs \ + --replace-fail "/bin/mount" "${util-linux}/bin/mount" + ''; enableParallelBuilding = true; @@ -20,13 +48,14 @@ stdenv.mkDerivation rec { (lib.enableFeature doCheck "tests") ]; - makeFlags = [ - "AR:=$(AR)" - ]; + makeFlags = [ "AR:=$(AR)" ]; doCheck = stdenv.hostPlatform == stdenv.buildPlatform; - outputs = [ "out" "dev" ]; + outputs = [ + "out" + "dev" + ]; postInstall = '' mkdir -p $dev/lib diff --git a/pkgs/by-name/mu/muffon/package.nix b/pkgs/by-name/mu/muffon/package.nix index 6184aa0ac3ad..f7c33bc22b98 100644 --- a/pkgs/by-name/mu/muffon/package.nix +++ b/pkgs/by-name/mu/muffon/package.nix @@ -7,10 +7,10 @@ let pname = "muffon"; - version = "2.0.3"; + version = "2.1.0"; src = fetchurl { url = "https://github.com/staniel359/muffon/releases/download/v${version}/muffon-${version}-linux-x86_64.AppImage"; - hash = "sha256-2eLe/xvdWcOcUSE0D+pMOcOYCfFVEyKO13LiaJiZgX0="; + hash = "sha256-GT91MLjBWsbk9P5fsIxlYUNziAPsdvMSPq9bLL3rKDw="; }; appimageContents = appimageTools.extractType2 { inherit pname src version; }; in diff --git a/pkgs/by-name/mu/mullvad-browser/package.nix b/pkgs/by-name/mu/mullvad-browser/package.nix index 8c847f3c365b..2dd6f0463833 100644 --- a/pkgs/by-name/mu/mullvad-browser/package.nix +++ b/pkgs/by-name/mu/mullvad-browser/package.nix @@ -90,7 +90,7 @@ let ++ lib.optionals mediaSupport [ ffmpeg ] ); - version = "13.5.6"; + version = "13.5.7"; sources = { x86_64-linux = fetchurl { @@ -102,7 +102,7 @@ let "https://tor.eff.org/dist/mullvadbrowser/${version}/mullvad-browser-linux-x86_64-${version}.tar.xz" "https://tor.calyxinstitute.org/dist/mullvadbrowser/${version}/mullvad-browser-linux-x86_64-${version}.tar.xz" ]; - hash = "sha256-AayGWFfsdAK9Ku4J4nDolJxnQn0HhGeZeEf//9OspWA="; + hash = "sha256-Te6Cw3fUs4XGz07lL54bKUU9HYC5soaKFlbWGujd/oU="; }; }; diff --git a/pkgs/by-name/my/mycelium/Cargo.lock b/pkgs/by-name/my/mycelium/Cargo.lock index fda202d245c1..a1f2878ad7f6 100644 --- a/pkgs/by-name/my/mycelium/Cargo.lock +++ b/pkgs/by-name/my/mycelium/Cargo.lock @@ -170,9 +170,9 @@ checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" [[package]] name = "axum" -version = "0.7.6" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f43644eed690f5374f1af436ecd6aea01cd201f6fbdf0178adaf6907afb2cec" +checksum = "504e3947307ac8326a5437504c517c4b56716c9d98fac0028c2acc7ca47d70ae" dependencies = [ "async-trait", "axum-core", @@ -203,9 +203,9 @@ dependencies = [ [[package]] name = "axum-core" -version = "0.4.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e6b8ba012a258d63c9adfa28b9ddcf66149da6f986c5b5452e629d5ee64bf00" +checksum = "09f2bd6146b97ae3359fa0cc6d6b376d9539582c7b4220f041a33ec24c226199" dependencies = [ "async-trait", "bytes", @@ -1182,9 +1182,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.158" +version = "0.2.159" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439" +checksum = "561d97a539a36e26a9a5fad1ea11a3039a67714694aaa379433e580854bc3dc5" [[package]] name = "libloading" @@ -1312,7 +1312,7 @@ dependencies = [ [[package]] name = "mycelium" -version = "0.5.5" +version = "0.5.6" dependencies = [ "aes-gcm", "arc-swap", @@ -1347,7 +1347,7 @@ dependencies = [ [[package]] name = "mycelium-api" -version = "0.5.5" +version = "0.5.6" dependencies = [ "axum", "base64 0.22.1", @@ -1360,7 +1360,7 @@ dependencies = [ [[package]] name = "mycelium-cli" -version = "0.5.5" +version = "0.5.6" dependencies = [ "base64 0.22.1", "byte-unit", @@ -1377,7 +1377,7 @@ dependencies = [ [[package]] name = "mycelium-metrics" -version = "0.5.5" +version = "0.5.6" dependencies = [ "axum", "mycelium", @@ -1388,7 +1388,7 @@ dependencies = [ [[package]] name = "myceliumd" -version = "0.5.5" +version = "0.5.6" dependencies = [ "base64 0.22.1", "byte-unit", @@ -2064,9 +2064,9 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.12.7" +version = "0.12.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8f4955649ef5c38cc7f9e8aa41761d48fb9677197daea9984dc54f56aad5e63" +checksum = "f713147fbe92361e52392c73b8c9e48c04c6625bce969ef54dc901e58e042a7b" dependencies = [ "base64 0.22.1", "bytes", diff --git a/pkgs/by-name/my/mycelium/package.nix b/pkgs/by-name/my/mycelium/package.nix index 10118b45c390..1c28e77dbfc6 100644 --- a/pkgs/by-name/my/mycelium/package.nix +++ b/pkgs/by-name/my/mycelium/package.nix @@ -12,7 +12,7 @@ rustPlatform.buildRustPackage rec { pname = "mycelium"; - version = "0.5.5"; + version = "0.5.6"; sourceRoot = "${src.name}/myceliumd"; @@ -20,7 +20,7 @@ rustPlatform.buildRustPackage rec { owner = "threefoldtech"; repo = "mycelium"; rev = "v${version}"; - hash = "sha256-IfWS7U52pviRL8oySOjBYCogwqUqoMLmvtHFSjWghHg="; + hash = "sha256-Lv/k35mZCGc4u4E6fMAO5tGi5CmcPXEuSJUHh4iIDdQ="; }; cargoLock = { diff --git a/pkgs/by-name/nb/nbdkit/package.nix b/pkgs/by-name/nb/nbdkit/package.nix new file mode 100644 index 000000000000..8d1ab5b3c89d --- /dev/null +++ b/pkgs/by-name/nb/nbdkit/package.nix @@ -0,0 +1,100 @@ +{ + stdenv, + testers, + fetchurl, + autoreconfHook, + makeWrapper, + pkg-config, + bash-completion, + gnutls, + libtool, + curl, + xz, + zlib-ng, + libssh, + libnbd, + lib, + cdrkit, + e2fsprogs, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "nbdkit"; + version = "1.40.4"; + + src = fetchurl { + url = "https://download.libguestfs.org/nbdkit/${lib.versions.majorMinor finalAttrs.version}-stable/nbdkit-${finalAttrs.version}.tar.gz"; + hash = "sha256-hGoc34F7eAvHjdQHxcquNJhpwpL5CLfv2DBZKVmpcpw="; + }; + + prePatch = '' + patchShebangs . + ''; + + strictDeps = true; + + nativeBuildInputs = [ + bash-completion + autoreconfHook + makeWrapper + pkg-config + e2fsprogs # for Autoconf: xorriso, mkisofs + cdrkit # for Autoconf: mke2fs + ]; + + buildInputs = [ + bash-completion + gnutls + libtool + curl + xz + zlib-ng + libssh + libnbd + e2fsprogs + ]; + + configureFlags = [ + "--enable-linuxdisk" + "--enable-floppy" + "--with-ext2" + "--with-curl" + "--with-iso" + "--with-ssh" + "--with-zlib" + "--with-libnbd" + "--disable-rust" + "--disable-golang" + "--disable-perl" + "--disable-ocaml" + "--disable-tcl" + "--disable-lua" + "--without-libguestfs" + "--disable-example4" + ]; + + installFlags = [ "bashcompdir=$(out)/share/bash-completion/completions" ]; + + postInstall = '' + for bin in $out/bin/*; do + wrapProgram "$bin" \ + --prefix PATH : "$out/bin:${ + lib.makeBinPath [ + e2fsprogs + cdrkit + ] + }" + done + ''; + + passthru.tests.version = testers.testVersion { package = finalAttrs.finalPackage; }; + + meta = { + homepage = "https://gitlab.com/nbdkit/nbdkit"; + description = "NBD server with stable plugin ABI and permissive license"; + license = with lib.licenses; bsd3; + maintainers = with lib.maintainers; [ lukts30 ]; + platforms = lib.platforms.unix; + mainProgram = "nbdkit"; + }; +}) diff --git a/pkgs/by-name/ni/nitrokey-storage-firmware/package.nix b/pkgs/by-name/ni/nitrokey-storage-firmware/package.nix new file mode 100644 index 000000000000..51d448ee808c --- /dev/null +++ b/pkgs/by-name/ni/nitrokey-storage-firmware/package.nix @@ -0,0 +1,84 @@ +{ + lib, + stdenv, + fetchzip, + fetchFromGitHub, +}: +let + pname = "nitrokey-storage-firmware"; + version = "0.57"; + + src = fetchFromGitHub { + owner = "Nitrokey"; + repo = "nitrokey-storage-firmware"; + rev = "V${version}"; + hash = "sha256-u8IK57NVS/IOPIE3Ah/O8WuOIr0EY6AF1bEaeDgIBuk="; + }; + + toolchain = stdenv.mkDerivation (finalAttrs: { + pname = "avr32-toolchain"; + version = "3.0.0.201009140852"; + + src = fetchzip { + url = "https://ww1.microchip.com/downloads/archive/avr32studio-ide-2.6.0.753-linux.gtk.x86_64.zip"; + hash = "sha256-MwsaGyNqbO0lBy1rcczuvKOaGbO3f0V+j84sUCkRlxc="; + }; + + postPatch = '' + cp ${src}/pm_240.h plugins/com.atmel.avr.toolchains.linux.x86_64_${finalAttrs.version}/os/linux/x86_64/avr32/include/avr32/pm_231.h + ''; + + installPhase = '' + runHook preInstall + cp -r plugins/com.atmel.avr.toolchains.linux.x86_64_${finalAttrs.version}/os/linux/x86_64 $out + rm -r $out/avr $out/bin/avr-* + runHook postInstall + ''; + + meta = { + description = "AVR32 toolchain"; + homepage = "https://web.archive.org/web/20210419192039/https://www.microchip.com/mplab/avr-support/avr-and-sam-downloads-archive"; + # The zip does not explicitly say this, + # it only mentions the license(s) of AVR32 Studio. + # Because it is very clearly a fork of GCC 4.3.3, + # it should be licensed under GPLv2+ + license = lib.licenses.gpl2Plus; + platforms = [ "x86_64-linux" ]; + }; + }); +in +stdenv.mkDerivation { + inherit pname version src; + + sourceRoot = "source/src"; + + postPatch = '' + substituteInPlace Makefile \ + --replace-fail '$(shell git describe)' "V${version}" + ''; + + makeFlags = [ + "CC=${toolchain}/bin/avr32-gcc" + "nitrokey-storage-V${version}-reproducible.hex" + ]; + + enableParallelBuilding = true; + + installPhase = '' + runHook preInstall + install -D nitrokey-storage-V${version}-reproducible.hex $out/nitrokey-storage-V${version}-reproducible.hex + runHook postInstall + ''; + + meta = { + description = "Firmware for the Nitrokey Storage device"; + homepage = "https://github.com/Nitrokey/nitrokey-storage-firmware"; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ + imadnyc + kiike + amerino + ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/by-name/no/node-red/package-lock.json b/pkgs/by-name/no/node-red/package-lock.json new file mode 100644 index 000000000000..ac83b8e21b7c --- /dev/null +++ b/pkgs/by-name/no/node-red/package-lock.json @@ -0,0 +1,11921 @@ +{ + "name": "node-red", + "version": "4.0.3", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "node-red", + "version": "4.0.3", + "license": "Apache-2.0", + "dependencies": { + "acorn": "8.12.1", + "acorn-walk": "8.3.4", + "ajv": "8.17.1", + "async-mutex": "0.5.0", + "basic-auth": "2.0.1", + "bcryptjs": "2.4.3", + "body-parser": "1.20.3", + "cheerio": "1.0.0-rc.10", + "clone": "2.1.2", + "content-type": "1.0.5", + "cookie": "0.6.0", + "cookie-parser": "1.4.6", + "cors": "2.8.5", + "cronosjs": "1.7.1", + "denque": "2.1.0", + "express": "4.21.0", + "express-session": "1.18.0", + "form-data": "4.0.0", + "fs-extra": "11.2.0", + "got": "12.6.0", + "hash-sum": "2.0.0", + "hpagent": "1.2.0", + "https-proxy-agent": "5.0.1", + "i18next": "21.10.0", + "iconv-lite": "0.6.3", + "is-utf8": "0.2.1", + "js-yaml": "4.1.0", + "json-stringify-safe": "5.0.1", + "jsonata": "2.0.5", + "lodash.clonedeep": "^4.5.0", + "media-typer": "1.1.0", + "memorystore": "1.6.7", + "mime": "3.0.0", + "moment": "2.30.1", + "moment-timezone": "0.5.45", + "mqtt": "5.7.0", + "multer": "1.4.5-lts.1", + "mustache": "4.2.0", + "node-red-admin": "^4.0.1", + "node-watch": "0.7.4", + "nopt": "5.0.0", + "oauth2orize": "1.12.0", + "on-headers": "1.0.2", + "passport": "0.7.0", + "passport-http-bearer": "1.0.1", + "passport-oauth2-client-password": "0.1.2", + "raw-body": "2.5.2", + "rfdc": "^1.3.1", + "semver": "7.5.4", + "tar": "7.2.0", + "tough-cookie": "^5.0.0", + "uglify-js": "3.17.4", + "uuid": "9.0.1", + "ws": "7.5.10", + "xml2js": "0.6.2" + }, + "devDependencies": { + "dompurify": "2.4.1", + "grunt": "1.6.1", + "grunt-chmod": "~1.1.1", + "grunt-cli": "~1.4.3", + "grunt-concurrent": "3.0.0", + "grunt-contrib-clean": "2.0.1", + "grunt-contrib-compress": "2.0.0", + "grunt-contrib-concat": "2.1.0", + "grunt-contrib-copy": "1.0.0", + "grunt-contrib-jshint": "3.2.0", + "grunt-contrib-uglify": "5.2.2", + "grunt-contrib-watch": "1.1.0", + "grunt-jsdoc": "2.4.1", + "grunt-jsdoc-to-markdown": "6.0.0", + "grunt-jsonlint": "2.1.3", + "grunt-mkdir": "~1.1.0", + "grunt-npm-command": "~0.1.2", + "grunt-sass": "~3.1.0", + "grunt-simple-mocha": "~0.4.1", + "grunt-simple-nyc": "^3.0.1", + "i18next-http-backend": "1.4.1", + "jquery-i18next": "1.2.1", + "jsdoc-nr-template": "github:node-red/jsdoc-nr-template", + "marked": "4.3.0", + "mermaid": "^10.4.0", + "minami": "1.2.3", + "mocha": "9.2.2", + "node-red-node-test-helper": "^0.3.3", + "nodemon": "2.0.20", + "proxy": "^1.0.2", + "sass": "1.62.1", + "should": "13.2.3", + "sinon": "11.1.2", + "stoppable": "^1.1.0", + "supertest": "6.3.3" + }, + "engines": { + "node": ">=18.5" + }, + "optionalDependencies": { + "@node-rs/bcrypt": "1.10.4" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.25.7.tgz", + "integrity": "sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.25.7", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/generator": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.7.tgz", + "integrity": "sha512-5Dqpl5fyV9pIAD62yK9P7fcA768uVPUyrQmqpqstHWgMma4feF1x/oFysBCVZLY5wJ2GkMUCdsNDnGZrPoR6rA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.7", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.7.tgz", + "integrity": "sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.7.tgz", + "integrity": "sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.25.7.tgz", + "integrity": "sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.25.7", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/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/@babel/highlight/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/@babel/highlight/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/@babel/highlight/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/@babel/highlight/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/@babel/highlight/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/@babel/highlight/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/@babel/parser": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.7.tgz", + "integrity": "sha512-aZn7ETtQsjjGG5HruveUK06cU3Hljuhd9Iojm4M8WWv3wLE6OkE5PWbDUkItmMgegmccaITudyuW5RPYrYlgWw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.7" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.7.tgz", + "integrity": "sha512-FjoyLe754PMiYsFaN5C94ttGiOmBNYTf6pLr4xXHAT5uctHb092PBszndLDR5XA/jghQvn4n7JMHl7dmTgbm9w==", + "license": "MIT", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.7.tgz", + "integrity": "sha512-wRwtAgI3bAS+JGU2upWNL9lSlDcRCqD05BZ1n3X2ONLH1WilFP6O1otQjeMK/1g0pvYcXC7b/qVUB1keofjtZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.25.7", + "@babel/parser": "^7.25.7", + "@babel/types": "^7.25.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.7.tgz", + "integrity": "sha512-jatJPT1Zjqvh/1FyJs6qAHL+Dzb7sTb+xr7Q+gM1b+1oBsMsQQ4FkVKb6dFlJvLlVssqkRzV05Jzervt9yhnzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.25.7", + "@babel/generator": "^7.25.7", + "@babel/parser": "^7.25.7", + "@babel/template": "^7.25.7", + "@babel/types": "^7.25.7", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@babel/traverse/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@babel/types": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.7.tgz", + "integrity": "sha512-vwIVdXG+j+FOpkwqHRcBgHLYNL7XMkufrlaFvL9o6Ai9sJn9+PdyIL5qa0XzTZw084c+u9LOls53eoZWP/W5WQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.25.7", + "@babel/helper-validator-identifier": "^7.25.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@braintree/sanitize-url": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-6.0.4.tgz", + "integrity": "sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A==", + "dev": true, + "license": "MIT" + }, + "node_modules/@emnapi/core": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.3.0.tgz", + "integrity": "sha512-9hRqVlhwqBqCoToZ3hFcNVqL+uyHV06Y47ax4UB8L6XgVRqYz7MFnfessojo6+5TK89pKwJnpophwjTMOeKI9Q==", + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.0.1", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.3.0.tgz", + "integrity": "sha512-XMBySMuNZs3DM96xcJmLW4EfGnf+uGmFNjzpehMjuX5PLB5j87ar2Zc4e3PVeZ3I5g3tYtAqskB28manlF69Zw==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.0.1.tgz", + "integrity": "sha512-iIBu7mwkq4UQGeMEM8bLwNK962nXdhodeScX4slfQnRhEMMzvYivHhutCIk8uojvmASXXPC2WNEjwxFWk72Oqw==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "license": "MIT" + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "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==", + "license": "ISC", + "dependencies": { + "minipass": "^7.0.4" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@jsdoc/salty": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/@jsdoc/salty/-/salty-0.2.8.tgz", + "integrity": "sha512-5e+SFVavj1ORKlKaKr2BmTOekmXbelU7dC0cDkQLqag7xfuTPuGMUFx7KWJuv4bYZrTsoL2Z18VVCOKYxzoHcg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "lodash": "^4.17.21" + }, + "engines": { + "node": ">=v12.0.0" + } + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.5.tgz", + "integrity": "sha512-kwUxR7J9WLutBbulqg1dfOrMTwhMdXLdcGUhcbCcGwnPLt3gz19uHVdwH1syKVDbE022ZS2vZxOWflFLS0YTjw==", + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.1.0", + "@emnapi/runtime": "^1.1.0", + "@tybys/wasm-util": "^0.9.0" + } + }, + "node_modules/@node-rs/bcrypt": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt/-/bcrypt-1.10.4.tgz", + "integrity": "sha512-Kzs8HKt2eBeT5VnkeKgiz/QKTjOO3URcvSNEQZahNwZnL6dBeeJQTxxYisc/6969+5n6c3+gNwKvqJsZzmGe7g==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "optionalDependencies": { + "@node-rs/bcrypt-android-arm-eabi": "1.10.4", + "@node-rs/bcrypt-android-arm64": "1.10.4", + "@node-rs/bcrypt-darwin-arm64": "1.10.4", + "@node-rs/bcrypt-darwin-x64": "1.10.4", + "@node-rs/bcrypt-freebsd-x64": "1.10.4", + "@node-rs/bcrypt-linux-arm-gnueabihf": "1.10.4", + "@node-rs/bcrypt-linux-arm64-gnu": "1.10.4", + "@node-rs/bcrypt-linux-arm64-musl": "1.10.4", + "@node-rs/bcrypt-linux-x64-gnu": "1.10.4", + "@node-rs/bcrypt-linux-x64-musl": "1.10.4", + "@node-rs/bcrypt-wasm32-wasi": "1.10.4", + "@node-rs/bcrypt-win32-arm64-msvc": "1.10.4", + "@node-rs/bcrypt-win32-ia32-msvc": "1.10.4", + "@node-rs/bcrypt-win32-x64-msvc": "1.10.4" + } + }, + "node_modules/@node-rs/bcrypt-android-arm-eabi": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-android-arm-eabi/-/bcrypt-android-arm-eabi-1.10.4.tgz", + "integrity": "sha512-55ajutuTdfK1hKseyliflnxzNtxszQQ/EoLtgJlgCe7rI24vGP9EEEZDznB/u9OaJ14/AYzZtIhkEOYdbIdw0A==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/bcrypt-android-arm64": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-android-arm64/-/bcrypt-android-arm64-1.10.4.tgz", + "integrity": "sha512-dCgQT7nH65tORmJw2hQ6zQgFmmC+/JBYZUWtf7pPZI76AVAn5tc7cIUrxYoV4OT1+uD63b9Av+mS1fT2EPzWEg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/bcrypt-darwin-arm64": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-darwin-arm64/-/bcrypt-darwin-arm64-1.10.4.tgz", + "integrity": "sha512-gmHdWikHL3YVZgqXAHT+X/PG+kqIyNlPeFAWKdby83RkDI8FUiPV4qqGilgNnBmVWKkobRae9/I1HDbc4Sbhyg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/bcrypt-darwin-x64": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-darwin-x64/-/bcrypt-darwin-x64-1.10.4.tgz", + "integrity": "sha512-WDzL1WKRtoyTkH6IMPx95Mkd6XaeN0VWJbSDMqQY6AFBOk03yJEj7YYXshCcF+Ur6KBBVSwRf6sdFJ15NI1Z3g==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/bcrypt-freebsd-x64": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-freebsd-x64/-/bcrypt-freebsd-x64-1.10.4.tgz", + "integrity": "sha512-seSPJi+4MIUd1faL/n/wmDdDwaynd/FTkvTnb7qzCk8LBT+/dxi7MTz+uaD8KYDREcB9Wmhv+lwr0S9/jBTcjg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/bcrypt-linux-arm-gnueabihf": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-linux-arm-gnueabihf/-/bcrypt-linux-arm-gnueabihf-1.10.4.tgz", + "integrity": "sha512-YcMLUtN9cGNTWKnaXslxGO1M0S5b4QN9KYhuyG6Kju27RfqvU5UbmpKElCsEUO2EIjxGwzvPu59T+Fyh6sVbwg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/bcrypt-linux-arm64-gnu": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-linux-arm64-gnu/-/bcrypt-linux-arm64-gnu-1.10.4.tgz", + "integrity": "sha512-uYGUK/mO8SiftqmVSAePWxgK82vg+X/gtrVRJi95yq2iwp1+fYJX3ndxCyYPmeplBbd3NJ/F5lPT3FC/IHTTGw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/bcrypt-linux-arm64-musl": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-linux-arm64-musl/-/bcrypt-linux-arm64-musl-1.10.4.tgz", + "integrity": "sha512-rLvSMW/gVUBd2k2gAqQfuOReHWd9+jvz58E3i1TbkRE3a5ChvjOFc9qKPEmXuXuD9Mdj7gUwcYwpq8MdB5MtNw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/bcrypt-linux-x64-gnu": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-linux-x64-gnu/-/bcrypt-linux-x64-gnu-1.10.4.tgz", + "integrity": "sha512-I++6bh+BIp70X/D/crlSgCq8K0s9nGvzmvAGFkqSG4h3LBtjJx4RKbygnoWvcBV9ErK1rvcjfMyjwZt1ukueFA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/bcrypt-linux-x64-musl": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-linux-x64-musl/-/bcrypt-linux-x64-musl-1.10.4.tgz", + "integrity": "sha512-f9RPl/5n2NS0mMJXB4IYbodKnq5HzOK5x1b9eKbcjsY0rw3mJC3K0XRFc8iaw1a5chA+xV1TPXz5mkykmr2CQQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/bcrypt-wasm32-wasi": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-wasm32-wasi/-/bcrypt-wasm32-wasi-1.10.4.tgz", + "integrity": "sha512-VaDOf+wic0yoHFimMkC5VMa/33BNqg6ieD+C/ibb7Av3NnVW4/W9YpDpqAWMR2w3fA40uTLWZ7FZSrcFck27oA==", + "cpu": [ + "wasm32" + ], + "license": "MIT", + "optional": true, + "dependencies": { + "@napi-rs/wasm-runtime": "^0.2.3" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@node-rs/bcrypt-win32-arm64-msvc": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-win32-arm64-msvc/-/bcrypt-win32-arm64-msvc-1.10.4.tgz", + "integrity": "sha512-M7sGnbKPvhYJ5b76ywXiEwR4mIs/JSDHjRrhm9fshKAvltQrwc3Mou22TJggvDN3gKOF1W85uPiM2OgGX/jxMg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/bcrypt-win32-ia32-msvc": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-win32-ia32-msvc/-/bcrypt-win32-ia32-msvc-1.10.4.tgz", + "integrity": "sha512-zn/n4DYnuOfC2JgmVDa0JHP+5DUqAOTl2jmV3yrMrmN+StDT4Om5wtvWxvEmgv3CkeZAuAU3Y/fwjSXIpZ0Fhg==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/bcrypt-win32-x64-msvc": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-win32-x64-msvc/-/bcrypt-win32-x64-msvc-1.10.4.tgz", + "integrity": "sha512-ynQokTTGbuLu/cckaD8dNcE+Zsfam1zElE+teNol8AxcL7Jv+ghJItSnRthPRV/vLxuycDF2DIICgpXG/p9jrQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@prantlf/jsonlint": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/@prantlf/jsonlint/-/jsonlint-10.2.0.tgz", + "integrity": "sha512-KMFfds0peWLLfCu3bhClTiEN0tdj/Z86QJvn1awKHws6r+Sx6T3a44Eadz6OvqN6ZpsRkqaRpZxqddvvDAdDZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "6.10.2", + "commander": "4.0.1" + }, + "bin": { + "jsonlint": "lib/cli.js" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@prantlf/jsonlint/node_modules/ajv": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", + "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "node_modules/@prantlf/jsonlint/node_modules/fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha512-bCK/2Z4zLidyB4ReuIsvALH6w31YfAQDmXMqMx6FyfHqvBxtjC0eRumeSu4Bs3XtXwpyIywtSTrVT99BxY1f9w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@prantlf/jsonlint/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@sindresorhus/is": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.6.0.tgz", + "integrity": "sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==", + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, + "node_modules/@sinonjs/commons": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz", + "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/@sinonjs/samsam": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-6.1.3.tgz", + "integrity": "sha512-nhOb2dWPeb1sd3IQXL/dVPnKHDOAFfvichtBf4xV00/rU1QbPCQqKMbvIheIjqwVjh7qIgf2AHTHi391yMOMpQ==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^1.6.0", + "lodash.get": "^4.4.2", + "type-detect": "^4.0.8" + } + }, + "node_modules/@sinonjs/text-encoding": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.3.tgz", + "integrity": "sha512-DE427ROAphMQzU4ENbliGYrBSYPXF+TtLg9S8vzeA+OF4ZKzoDdzfL8sxuMUGS/lgRhM6j1URSk9ghf7Xo1tyA==", + "dev": true, + "license": "(Unlicense OR Apache-2.0)" + }, + "node_modules/@szmarczak/http-timer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz", + "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==", + "license": "MIT", + "dependencies": { + "defer-to-connect": "^2.0.1" + }, + "engines": { + "node": ">=14.16" + } + }, + "node_modules/@tybys/wasm-util": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.9.0.tgz", + "integrity": "sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/d3-scale": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.8.tgz", + "integrity": "sha512-gkK1VVTr5iNiYJ7vWDI+yUFFlszhNMtVeneJ6lUTKPjprsvLLI9/tgEGiXJOnlINJA8FyA88gfnQsHbybVZrYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/d3-time": "*" + } + }, + "node_modules/@types/d3-scale-chromatic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.0.3.tgz", + "integrity": "sha512-laXM4+1o5ImZv3RpFAsTRn3TEkzqkytiOY0Dz0sq5cnd1dtNlk6sHLon4OvqaiJb28T0S/TdsBI3Sjsy+keJrw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/d3-time": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.3.tgz", + "integrity": "sha512-2p6olUZ4w3s+07q3Tm2dbiMZy5pCDfYwtLXXHUnVzXgQlZ/OyPtUz6OL382BkOuGlLXqfT+wqv8Fw2v8/0geBw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/debug": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/http-cache-semantics": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", + "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==", + "license": "MIT" + }, + "node_modules/@types/linkify-it": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-5.0.0.tgz", + "integrity": "sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/markdown-it": { + "version": "12.2.3", + "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-12.2.3.tgz", + "integrity": "sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/linkify-it": "*", + "@types/mdurl": "*" + } + }, + "node_modules/@types/mdast": { + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.15.tgz", + "integrity": "sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^2" + } + }, + "node_modules/@types/mdurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-2.0.0.tgz", + "integrity": "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/ms": { + "version": "0.7.34", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz", + "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "22.7.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.4.tgz", + "integrity": "sha512-y+NPi1rFzDs1NdQHHToqeiX2TIS79SWEAw9GYhkkx8bD0ChpfqC+n2j5OXOCpzfojBEBt6DnEnnG9MY0zk1XLg==", + "license": "MIT", + "dependencies": { + "undici-types": "~6.19.2" + } + }, + "node_modules/@types/readable-stream": { + "version": "4.0.15", + "resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-4.0.15.tgz", + "integrity": "sha512-oAZ3kw+kJFkEqyh7xORZOku1YAKvsFTogRY8kVl4vHpEKiDkfnSA/My8haRE7fvmix5Zyy+1pwzOi7yycGLBJw==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "safe-buffer": "~5.1.1" + } + }, + "node_modules/@types/unist": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/ws": { + "version": "8.5.12", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.12.tgz", + "integrity": "sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@ungap/promise-all-settled": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", + "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==", + "dev": true, + "license": "ISC" + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "license": "ISC" + }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "license": "MIT", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", + "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", + "license": "MIT", + "dependencies": { + "acorn": "^8.11.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/adm-zip": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.16.tgz", + "integrity": "sha512-TGw5yVi4saajsSEgz25grObGHEUaDrniwvA2qwSC060KfqGPdglhvPMA2lPIoxs3PQIItj2iag35fONcQqgUaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/agent-base/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/agent-base/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escape-sequences": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-escape-sequences/-/ansi-escape-sequences-4.1.0.tgz", + "integrity": "sha512-dzW9kHxH011uBsidTXd14JXgzye/YLb2LzeKZ4bsgl/Knwx8AtbSFkkGxagdNOoh0DlqHCmfiEjWKBaqjOanVw==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-back": "^3.0.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/ansi-escape-sequences/node_modules/array-back": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", + "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "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==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/append-field": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", + "integrity": "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==", + "license": "MIT" + }, + "node_modules/append-transform": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz", + "integrity": "sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==", + "dev": true, + "license": "MIT", + "dependencies": { + "default-require-extensions": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/archiver": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.2.tgz", + "integrity": "sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==", + "dev": true, + "license": "MIT", + "dependencies": { + "archiver-utils": "^2.1.0", + "async": "^3.2.4", + "buffer-crc32": "^0.2.1", + "readable-stream": "^3.6.0", + "readdir-glob": "^1.1.2", + "tar-stream": "^2.2.0", + "zip-stream": "^4.1.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/archiver-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz", + "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==", + "dev": true, + "license": "MIT", + "dependencies": { + "glob": "^7.1.4", + "graceful-fs": "^4.2.0", + "lazystream": "^1.0.0", + "lodash.defaults": "^4.2.0", + "lodash.difference": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.union": "^4.6.0", + "normalize-path": "^3.0.0", + "readable-stream": "^2.0.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/archiver-utils/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/archiver-utils/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/archy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==", + "dev": true, + "license": "MIT" + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" + }, + "node_modules/args": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/args/-/args-5.0.1.tgz", + "integrity": "sha512-1kqmFCFsPffavQFGt8OxJdIcETti99kySRUPMpOhaGjL6mRJn8HFU1OxKY5bMqfZKUwTQc1mZkAjmGYaVOHFtQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "camelcase": "5.0.0", + "chalk": "2.4.2", + "leven": "2.1.0", + "mri": "1.1.4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/args/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/args/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/args/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/args/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/args/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/args/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/args/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/array-back": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", + "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.17" + } + }, + "node_modules/array-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", + "integrity": "sha512-zHjL5SZa68hkKHBFBK6DJCTtr9sfTCPCaph/L7tMSLcTFgy+zX7E+6q5UArbtOtMBCtxdICpfTCspRse+ywyXA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "license": "MIT" + }, + "node_modules/array-slice": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", + "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arrify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "dev": true, + "license": "MIT" + }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "dev": true, + "license": "MIT" + }, + "node_modules/async-mutex": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/async-mutex/-/async-mutex-0.5.0.tgz", + "integrity": "sha512-1A94B18jkJ3DYq284ohPxoXbfTA5HsQ7/Mf4DEhcyLx3Bz27Rh59iScbB6EPiP+B+joue6YCxcMXSbFC1tZKwA==", + "license": "MIT", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, + "node_modules/axios": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.7.tgz", + "integrity": "sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "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==", + "license": "MIT" + }, + "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==", + "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/basic-auth": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", + "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", + "license": "MIT", + "dependencies": { + "safe-buffer": "5.1.2" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/basic-auth-parser": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/basic-auth-parser/-/basic-auth-parser-0.0.2.tgz", + "integrity": "sha512-Y7OBvWn+JnW45JWHLY6ybYub2k9cXCMrtCyO1Hds2s6eqClqWhPnOQpgXUPjAiMHj+A8TEPIQQ1dYENnJoBOHQ==", + "dev": true + }, + "node_modules/bcryptjs": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz", + "integrity": "sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ==", + "license": "MIT" + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bl": { + "version": "6.0.16", + "resolved": "https://registry.npmjs.org/bl/-/bl-6.0.16.tgz", + "integrity": "sha512-V/kz+z2Mx5/6qDfRCilmrukUXcXuCoXKg3/3hDvzKKoSUx8CJKudfIoT29XZc3UE9xBvxs5qictiHdprwtteEg==", + "license": "MIT", + "dependencies": { + "@types/readable-stream": "^4.0.0", + "buffer": "^6.0.3", + "inherits": "^2.0.4", + "readable-stream": "^4.2.0" + } + }, + "node_modules/bl/node_modules/readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "license": "MIT", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true, + "license": "MIT" + }, + "node_modules/body": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/body/-/body-5.1.0.tgz", + "integrity": "sha512-chUsBxGRtuElD6fmw1gHLpvnKdVLK302peeFa9ZqAEk8TyzZ3fygLyUEDDPTJvL9+Bor0dIwn6ePOsRM2y0zQQ==", + "dev": true, + "dependencies": { + "continuable-cache": "^0.3.1", + "error": "^7.0.0", + "raw-body": "~1.1.0", + "safe-json-parse": "~1.0.1" + } + }, + "node_modules/body-parser": { + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.13.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/body/node_modules/bytes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz", + "integrity": "sha512-/x68VkHLeTl3/Ll8IvxdwzhrT+IyKc52e/oyHhA2RwqPqswSnjVbSddfPRwAsJtbilMAPSRWwAlpxdYsSWOTKQ==", + "dev": true + }, + "node_modules/body/node_modules/raw-body": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-1.1.7.tgz", + "integrity": "sha512-WmJJU2e9Y6M5UzTOkHaM7xJGAPQD8PNzx3bAd2+uhZAim6wDk6dAZxPVYLF67XhbR4hmKGh33Lpmh4XWrCH5Mg==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "1", + "string_decoder": "0.10" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/body/node_modules/string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "license": "ISC" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", + "dev": true, + "license": "ISC" + }, + "node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "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.2.1" + } + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "license": "MIT" + }, + "node_modules/busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "dependencies": { + "streamsearch": "^1.1.0" + }, + "engines": { + "node": ">=10.16.0" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cache-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cache-point/-/cache-point-2.0.0.tgz", + "integrity": "sha512-4gkeHlFpSKgm3vm2gJN5sPqfmijYRFYCQ6tv5cLw0xVmT6r1z1vd4FNnpuOREco3cBs1G709sZ72LdgddKvL5w==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-back": "^4.0.1", + "fs-then-native": "^2.0.0", + "mkdirp2": "^1.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cache-point/node_modules/array-back": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz", + "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cacheable-lookup": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz", + "integrity": "sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==", + "license": "MIT", + "engines": { + "node": ">=14.16" + } + }, + "node_modules/cacheable-request": { + "version": "10.2.14", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.14.tgz", + "integrity": "sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==", + "license": "MIT", + "dependencies": { + "@types/http-cache-semantics": "^4.0.2", + "get-stream": "^6.0.1", + "http-cache-semantics": "^4.1.1", + "keyv": "^4.5.3", + "mimic-response": "^4.0.0", + "normalize-url": "^8.0.0", + "responselike": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + } + }, + "node_modules/caching-transform": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-3.0.2.tgz", + "integrity": "sha512-Mtgcv3lh3U0zRii/6qVgQODdPA4G3zhG+jtbCWj39RXuUFTMzH0vcdMtaJS1jPowd+It2Pqr6y3NJMQqOqCE2w==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasha": "^3.0.0", + "make-dir": "^2.0.0", + "package-hash": "^3.0.0", + "write-file-atomic": "^2.4.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/camelcase": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.0.0.tgz", + "integrity": "sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/catharsis": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.9.0.tgz", + "integrity": "sha512-prMTQVpcns/tzFgFVkVp6ak6RykZyWb3gu8ckUpd6YkTlacOd3DXGJjIpD4Q6zJirizvaiAjSSHlOsA+6sNh2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash": "^4.17.15" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/cheerio": { + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.10.tgz", + "integrity": "sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==", + "license": "MIT", + "dependencies": { + "cheerio-select": "^1.5.0", + "dom-serializer": "^1.3.2", + "domhandler": "^4.2.0", + "htmlparser2": "^6.1.0", + "parse5": "^6.0.1", + "parse5-htmlparser2-tree-adapter": "^6.0.1", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/cheeriojs/cheerio?sponsor=1" + } + }, + "node_modules/cheerio-select": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-1.6.0.tgz", + "integrity": "sha512-eq0GdBvxVFbqWgmCm7M3XGs1I8oLy/nExUnh6oLqmBditPO9AqQJrkslDpMun/hZ0yyTs8L0m85OHp4ho6Qm9g==", + "license": "BSD-2-Clause", + "dependencies": { + "css-select": "^4.3.0", + "css-what": "^6.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.3.1", + "domutils": "^2.8.0" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "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==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/cli": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cli/-/cli-1.0.1.tgz", + "integrity": "sha512-41U72MB56TfUMGndAKK8vJ78eooOD4Z5NOL4xEfjc0c23s+6EYKXlXsmACBVclLP1yOfWCgEganVzddVrSNoTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "exit": "0.1.2", + "glob": "^7.1.1" + }, + "engines": { + "node": ">=0.2.5" + } + }, + "node_modules/cli-table": { + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.11.tgz", + "integrity": "sha512-IqLQi4lO0nIB4tcdTpN4LCB9FI3uqrJZK7RC515EnhZ6qBaglkIgICb1wjeAqpdoOabm1+SuQtkXIPdYC93jhQ==", + "dependencies": { + "colors": "1.0.3" + }, + "engines": { + "node": ">= 0.2.0" + } + }, + "node_modules/cli-table/node_modules/colors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", + "integrity": "sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw==", + "license": "MIT", + "engines": { + "node": ">=0.1.90" + } + }, + "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/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/collect-all": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/collect-all/-/collect-all-1.0.4.tgz", + "integrity": "sha512-RKZhRwJtJEP5FWul+gkSMEnaK6H3AGPTTWOiRimCcs+rc/OmQE3Yhy1Q7A7KsdkG3ZXVdZq68Y6ONSdvkeEcKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "stream-connect": "^1.0.2", + "stream-via": "^1.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "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==", + "license": "MIT" + }, + "node_modules/colors": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", + "integrity": "sha512-ENwblkFQpqqia6b++zLD/KUWafYlVY/UNnAp7oz7LY7E924wmpye416wBOmvv/HMWzl8gL1kJlfvId/1Dg176w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/command-line-args": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", + "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-back": "^3.1.0", + "find-replace": "^3.0.0", + "lodash.camelcase": "^4.3.0", + "typical": "^4.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/command-line-args/node_modules/array-back": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", + "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/command-line-args/node_modules/typical": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", + "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/command-line-tool": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/command-line-tool/-/command-line-tool-0.8.0.tgz", + "integrity": "sha512-Xw18HVx/QzQV3Sc5k1vy3kgtOeGmsKIqwtFFoyjI4bbcpSgnw2CWVULvtakyw4s6fhyAdI6soQQhXc2OzJy62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escape-sequences": "^4.0.0", + "array-back": "^2.0.0", + "command-line-args": "^5.0.0", + "command-line-usage": "^4.1.0", + "typical": "^2.6.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/command-line-tool/node_modules/array-back": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz", + "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "typical": "^2.6.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/command-line-usage": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-4.1.0.tgz", + "integrity": "sha512-MxS8Ad995KpdAC0Jopo/ovGIroV/m0KHwzKfXxKag6FHOkGsH8/lv5yjgablcRxCJJC0oJeUMuO/gmaq+Wq46g==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escape-sequences": "^4.0.0", + "array-back": "^2.0.0", + "table-layout": "^0.4.2", + "typical": "^2.6.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/command-line-usage/node_modules/array-back": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz", + "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "typical": "^2.6.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/commander": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.0.1.tgz", + "integrity": "sha512-IPF4ouhCP+qdlcmCedhxX4xiGBPyigb8v5NeUp+0LyhwLgxMqyp3S0vl7TAPfS/hiP7FC3caI/PB9lTmP8r1NA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/commist": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/commist/-/commist-3.2.0.tgz", + "integrity": "sha512-4PIMoPniho+LqXmpS5d3NuGYncG6XWlkBSVGiWycL22dd42OYdUGil2CWuzklaJoNxyxUSpO4MKIBU94viWNAw==", + "license": "MIT" + }, + "node_modules/common-sequence": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/common-sequence/-/common-sequence-2.0.2.tgz", + "integrity": "sha512-jAg09gkdkrDO9EWTdXfv80WWH3yeZl5oT69fGfedBNS9pXUKYInVJ1bJ+/ht2+Moeei48TmSbQDYMc8EOx9G0g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true, + "license": "MIT" + }, + "node_modules/component-emitter": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", + "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/compress-commons": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.2.tgz", + "integrity": "sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-crc32": "^0.2.13", + "crc32-stream": "^4.0.2", + "normalize-path": "^3.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/concat-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", + "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", + "engines": [ + "node >= 6.0" + ], + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/config-master": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/config-master/-/config-master-3.1.0.tgz", + "integrity": "sha512-n7LBL1zBzYdTpF1mx5DNcZnZn05CWIdsdvtPL4MosvqbBUK3Rq6VWEtGUuF3Y0s9/CIhMejezqlSkP6TnCJ/9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "walk-back": "^2.0.1" + } + }, + "node_modules/config-master/node_modules/walk-back": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/walk-back/-/walk-back-2.0.1.tgz", + "integrity": "sha512-Nb6GvBR8UWX1D+Le+xUq0+Q1kFmRBIWVrfLnQAOmcpEzA9oAxwJ9gIr36t9TWYfzvWRvuMtjHiVsJYEkXWaTAQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha512-duS7VP5pvfsNLDvL1O4VOEbw37AI3A4ZUQYemvDlnpGrNu9tprR7BYWpDYwC0Xia0Zxz5ZupdiIrUp0GH1aXfg==", + "dev": true, + "dependencies": { + "date-now": "^0.1.4" + } + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-disposition/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "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/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/continuable-cache": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/continuable-cache/-/continuable-cache-0.3.1.tgz", + "integrity": "sha512-TF30kpKhTH8AGCG3dut0rdd/19B7Z+qCnrMoBLpyQu/2drZdNrrpcjPEoJeSVsQM+8KmWG5O56oPDjSSUsuTyA==", + "dev": true + }, + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true, + "license": "MIT" + }, + "node_modules/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-parser": { + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.6.tgz", + "integrity": "sha512-z3IzaNjdwUC2olLIB5/ITd0/setiaFMLYiZJle7xg5Fe9KWAceil7xszYfHHBtDFYLSgJduS2Ty0P1uJdPDJeA==", + "license": "MIT", + "dependencies": { + "cookie": "0.4.1", + "cookie-signature": "1.0.6" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/cookie-parser/node_modules/cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "license": "MIT" + }, + "node_modules/cookiejar": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz", + "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==", + "dev": true, + "license": "MIT" + }, + "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==", + "license": "MIT" + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "license": "MIT", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/cose-base": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/cose-base/-/cose-base-1.0.3.tgz", + "integrity": "sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==", + "dev": true, + "license": "MIT", + "dependencies": { + "layout-base": "^1.0.0" + } + }, + "node_modules/cp-file": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/cp-file/-/cp-file-6.2.0.tgz", + "integrity": "sha512-fmvV4caBnofhPe8kOcitBwSn2f39QLjnAnGq3gO9dfd75mUytzKNZB1hde6QHunW2Rt+OwuBOMc3i1tNElbszA==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.2", + "make-dir": "^2.0.0", + "nested-error-stacks": "^2.0.0", + "pify": "^4.0.1", + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "crc32": "bin/crc32.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/crc32-stream": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.3.tgz", + "integrity": "sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw==", + "dev": true, + "license": "MIT", + "dependencies": { + "crc-32": "^1.2.0", + "readable-stream": "^3.4.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/cronosjs": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/cronosjs/-/cronosjs-1.7.1.tgz", + "integrity": "sha512-d6S6+ep7dJxsAG8OQQCdKuByI/S/AV64d9OF5mtmcykOyPu92cAkAnF3Tbc9s5oOaLQBYYQmTNvjqYRkPJ/u5Q==", + "license": "ISC", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/cross-fetch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", + "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", + "dev": true, + "license": "MIT", + "dependencies": { + "node-fetch": "2.6.7" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "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==", + "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/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cytoscape": { + "version": "3.30.2", + "resolved": "https://registry.npmjs.org/cytoscape/-/cytoscape-3.30.2.tgz", + "integrity": "sha512-oICxQsjW8uSaRmn4UK/jkczKOqTrVqt5/1WL0POiJUT2EKNc9STM4hYFHv917yu55aTBMFNRzymlJhVAiWPCxw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/cytoscape-cose-bilkent": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cytoscape-cose-bilkent/-/cytoscape-cose-bilkent-4.1.0.tgz", + "integrity": "sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "cose-base": "^1.0.0" + }, + "peerDependencies": { + "cytoscape": "^3.2.0" + } + }, + "node_modules/d3": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/d3/-/d3-7.9.0.tgz", + "integrity": "sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==", + "dev": true, + "license": "ISC", + "dependencies": { + "d3-array": "3", + "d3-axis": "3", + "d3-brush": "3", + "d3-chord": "3", + "d3-color": "3", + "d3-contour": "4", + "d3-delaunay": "6", + "d3-dispatch": "3", + "d3-drag": "3", + "d3-dsv": "3", + "d3-ease": "3", + "d3-fetch": "3", + "d3-force": "3", + "d3-format": "3", + "d3-geo": "3", + "d3-hierarchy": "3", + "d3-interpolate": "3", + "d3-path": "3", + "d3-polygon": "3", + "d3-quadtree": "3", + "d3-random": "3", + "d3-scale": "4", + "d3-scale-chromatic": "3", + "d3-selection": "3", + "d3-shape": "3", + "d3-time": "3", + "d3-time-format": "4", + "d3-timer": "3", + "d3-transition": "3", + "d3-zoom": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-array": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", + "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", + "dev": true, + "license": "ISC", + "dependencies": { + "internmap": "1 - 2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-axis": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz", + "integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-brush": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz", + "integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-drag": "2 - 3", + "d3-interpolate": "1 - 3", + "d3-selection": "3", + "d3-transition": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-chord": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz", + "integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==", + "dev": true, + "license": "ISC", + "dependencies": { + "d3-path": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-color": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", + "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-contour": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.2.tgz", + "integrity": "sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==", + "dev": true, + "license": "ISC", + "dependencies": { + "d3-array": "^3.2.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-delaunay": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz", + "integrity": "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==", + "dev": true, + "license": "ISC", + "dependencies": { + "delaunator": "5" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dispatch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz", + "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-drag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz", + "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==", + "dev": true, + "license": "ISC", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-selection": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dsv": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz", + "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==", + "dev": true, + "license": "ISC", + "dependencies": { + "commander": "7", + "iconv-lite": "0.6", + "rw": "1" + }, + "bin": { + "csv2json": "bin/dsv2json.js", + "csv2tsv": "bin/dsv2dsv.js", + "dsv2dsv": "bin/dsv2dsv.js", + "dsv2json": "bin/dsv2json.js", + "json2csv": "bin/json2dsv.js", + "json2dsv": "bin/json2dsv.js", + "json2tsv": "bin/json2dsv.js", + "tsv2csv": "bin/dsv2dsv.js", + "tsv2json": "bin/dsv2json.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dsv/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/d3-ease": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", + "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-fetch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz", + "integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==", + "dev": true, + "license": "ISC", + "dependencies": { + "d3-dsv": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-force": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz", + "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==", + "dev": true, + "license": "ISC", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-quadtree": "1 - 3", + "d3-timer": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-format": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", + "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-geo": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.1.tgz", + "integrity": "sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==", + "dev": true, + "license": "ISC", + "dependencies": { + "d3-array": "2.5.0 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-hierarchy": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz", + "integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-interpolate": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", + "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", + "dev": true, + "license": "ISC", + "dependencies": { + "d3-color": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz", + "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-polygon": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz", + "integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-quadtree": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz", + "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-random": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz", + "integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-sankey": { + "version": "0.12.3", + "resolved": "https://registry.npmjs.org/d3-sankey/-/d3-sankey-0.12.3.tgz", + "integrity": "sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "d3-array": "1 - 2", + "d3-shape": "^1.2.0" + } + }, + "node_modules/d3-sankey/node_modules/d3-array": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.12.1.tgz", + "integrity": "sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "internmap": "^1.0.0" + } + }, + "node_modules/d3-sankey/node_modules/d3-path": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.9.tgz", + "integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/d3-sankey/node_modules/d3-shape": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.7.tgz", + "integrity": "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "d3-path": "1" + } + }, + "node_modules/d3-sankey/node_modules/internmap": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-1.0.1.tgz", + "integrity": "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==", + "dev": true, + "license": "ISC" + }, + "node_modules/d3-scale": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", + "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "d3-array": "2.10.0 - 3", + "d3-format": "1 - 3", + "d3-interpolate": "1.2.0 - 3", + "d3-time": "2.1.1 - 3", + "d3-time-format": "2 - 4" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-scale-chromatic": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz", + "integrity": "sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "d3-color": "1 - 3", + "d3-interpolate": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-selection": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz", + "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-shape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", + "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", + "dev": true, + "license": "ISC", + "dependencies": { + "d3-path": "^3.1.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", + "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", + "dev": true, + "license": "ISC", + "dependencies": { + "d3-array": "2 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time-format": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", + "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", + "dev": true, + "license": "ISC", + "dependencies": { + "d3-time": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-timer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", + "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-transition": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz", + "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "d3-color": "1 - 3", + "d3-dispatch": "1 - 3", + "d3-ease": "1 - 3", + "d3-interpolate": "1 - 3", + "d3-timer": "1 - 3" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "d3-selection": "2 - 3" + } + }, + "node_modules/d3-zoom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz", + "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==", + "dev": true, + "license": "ISC", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-drag": "2 - 3", + "d3-interpolate": "1 - 3", + "d3-selection": "2 - 3", + "d3-transition": "2 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/dagre-d3-es": { + "version": "7.0.10", + "resolved": "https://registry.npmjs.org/dagre-d3-es/-/dagre-d3-es-7.0.10.tgz", + "integrity": "sha512-qTCQmEhcynucuaZgY5/+ti3X/rnszKZhEQH/ZdWdtP1tA/y3VoHJzcVrO9pjjJCNpigfscAtoUB5ONcd2wNn0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "d3": "^7.8.2", + "lodash-es": "^4.17.21" + } + }, + "node_modules/date-now": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha512-AsElvov3LoNB7tf5k37H2jYSB+ZZPMT5sG2QjJCcdlV5chIv6htBUBUui2IKRjgtKAKtCBN7Zbwa+MtwLjSeNw==", + "dev": true + }, + "node_modules/dateformat": { + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-4.6.3.tgz", + "integrity": "sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/dayjs": { + "version": "1.11.13", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz", + "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==", + "dev": true, + "license": "MIT" + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/decode-named-character-reference": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", + "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "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==", + "license": "MIT", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/decompress-response/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==", + "license": "MIT", + "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/default-require-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz", + "integrity": "sha512-B0n2zDIXpzLzKeoEozorDSa1cHc1t0NjmxP0zuAxbizNU2MBqYJJKYXrrFdKuQliojXynrxgd7l4ahfg/+aA5g==", + "dev": true, + "license": "MIT", + "dependencies": { + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delaunator": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.1.tgz", + "integrity": "sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==", + "dev": true, + "license": "ISC", + "dependencies": { + "robust-predicates": "^3.0.2" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/denque": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz", + "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/dezalgo": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz", + "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==", + "dev": true, + "license": "ISC", + "dependencies": { + "asap": "^2.0.0", + "wrappy": "1" + } + }, + "node_modules/diff": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/dmd": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/dmd/-/dmd-6.2.3.tgz", + "integrity": "sha512-SIEkjrG7cZ9GWZQYk/mH+mWtcRPly/3ibVuXO/tP/MFoWz6KiRK77tSMq6YQBPl7RljPtXPQ/JhxbNuCdi1bNw==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-back": "^6.2.2", + "cache-point": "^2.0.0", + "common-sequence": "^2.0.2", + "file-set": "^4.0.2", + "handlebars": "^4.7.8", + "marked": "^4.3.0", + "object-get": "^2.1.1", + "reduce-flatten": "^3.0.1", + "reduce-unique": "^2.0.1", + "reduce-without": "^1.0.1", + "test-value": "^3.0.0", + "walk-back": "^5.1.0" + }, + "engines": { + "node": ">=12" + } + }, + "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==", + "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/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/dompurify": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.4.1.tgz", + "integrity": "sha512-ewwFzHzrrneRjxzmK6oVz/rZn9VWspGFRDb4/rRtIsM1n36t9AKma/ye8syCpcw+XJ25kOK/hOG7t1j2I2yBqA==", + "dev": true, + "license": "(MPL-2.0 OR Apache-2.0)" + }, + "node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "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/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true, + "license": "MIT" + }, + "node_modules/duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/duplexify/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/duplexify/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/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "license": "MIT" + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" + }, + "node_modules/elkjs": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/elkjs/-/elkjs-0.9.3.tgz", + "integrity": "sha512-f/ZeWvW/BCXbhGEf1Ujp29EASo/lk1FDnETgNKwJrsVvGZhUWCZyg3xLJjAsxfOmt8KjswHmI5EwCQcPMpOYhQ==", + "dev": true, + "license": "EPL-2.0" + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enquirer": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", + "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", + "license": "MIT", + "dependencies": { + "ansi-colors": "^4.1.1", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "license": "BSD-2-Clause", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/error": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/error/-/error-7.2.1.tgz", + "integrity": "sha512-fo9HBvWnx3NGUKMvMwB/CBCMMrfEJgbDTVDEkPygA3Bdd3lM1OyCd+rbQ8BwnpF6GdVeOLDNmyL4N5Bg80ZvdA==", + "dev": true, + "dependencies": { + "string-template": "~0.2.1" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es6-error": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", + "dev": true, + "license": "MIT" + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/eventemitter2": { + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz", + "integrity": "sha512-K7J4xq5xAD5jHsGM5ReWXRTFa3JRGofHiMcVgQ8PRwgWxzjHpMWCIzsmyf60+mh8KLsqYPcjUMa0AC4hd6lPyQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "homedir-polyfill": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/express": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.0.tgz", + "integrity": "sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng==", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.3", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.6.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.3.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.10", + "proxy-addr": "~2.0.7", + "qs": "6.13.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.19.0", + "serve-static": "1.16.2", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express-session": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.18.0.tgz", + "integrity": "sha512-m93QLWr0ju+rOwApSsyso838LQwgfs44QtOP/WBiwtAgPIo/SAh1a5c6nn2BR6mFNZehTpqKDESzP+fRHVbxwQ==", + "license": "MIT", + "dependencies": { + "cookie": "0.6.0", + "cookie-signature": "1.0.7", + "debug": "2.6.9", + "depd": "~2.0.0", + "on-headers": "~1.0.2", + "parseurl": "~1.3.3", + "safe-buffer": "5.2.1", + "uid-safe": "~2.1.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/express-session/node_modules/cookie-signature": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz", + "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==", + "license": "MIT" + }, + "node_modules/express-session/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "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/express/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "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/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "license": "MIT" + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-unique-numbers": { + "version": "8.0.13", + "resolved": "https://registry.npmjs.org/fast-unique-numbers/-/fast-unique-numbers-8.0.13.tgz", + "integrity": "sha512-7OnTFAVPefgw2eBJ1xj2PGGR9FwYzSUso9decayHgCDX4sJkHLdcsYTytTg+tYv+wKF3U8gJuSBz2jJpQV4u/g==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.23.8", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.1.0" + } + }, + "node_modules/fast-uri": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.2.tgz", + "integrity": "sha512-GR6f0hD7XXyNJa25Tb9BuIdN0tdr+0BMi6/CJPH3wJO1JjNG3n/VsSw38AwRdKZABm8lGbPfakLRkYzx2V9row==", + "license": "MIT" + }, + "node_modules/faye-websocket": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", + "integrity": "sha512-Xhj93RXbMSq8urNCUq4p9l0P6hnySJ/7YNRhYNug0bLOuii7pKO7xQFb5mx9xZXWCar88pLPb805PvUkwrLZpQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/figures/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/file-set": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/file-set/-/file-set-4.0.2.tgz", + "integrity": "sha512-fuxEgzk4L8waGXaAkd8cMr73Pm0FxOVkn8hztzUW7BAHhOGH90viQNXbiOsnecCWmfInqU6YmAMwxRMdKETceQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-back": "^5.0.0", + "glob": "^7.1.6" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/file-set/node_modules/array-back": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-5.0.0.tgz", + "integrity": "sha512-kgVWwJReZWmVuWOQKEOohXKJX+nD02JAZ54D1RRWlv8L0NebauKAaFxACKzB74RTclt1+WNz5KHaLRDAPZbDEw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/file-sync-cmp": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/file-sync-cmp/-/file-sync-cmp-0.1.1.tgz", + "integrity": "sha512-0k45oWBokCqh2MOexeYKpyqmGKG+8mQ2Wd8iawx+uWd/weWJQAZ6SoPybagdCI4xFisag8iAR77WPm4h3pTfxA==", + "dev": true, + "license": "MIT" + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", + "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/find-replace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", + "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-back": "^3.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/find-replace/node_modules/array-back": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", + "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/findup-sync": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-5.0.0.tgz", + "integrity": "sha512-MzwXju70AuyflbgeOhzvQWAvvQdo1XL0A9bVvlXsYcFEBM87WR4OakL4OfZq+QRmr+duJubio+UtNQCPsVESzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.3", + "micromatch": "^4.0.4", + "resolve-dir": "^1.0.1" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/fined": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz", + "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==", + "dev": true, + "license": "MIT", + "dependencies": { + "expand-tilde": "^2.0.2", + "is-plain-object": "^2.0.3", + "object.defaults": "^1.1.0", + "object.pick": "^1.2.0", + "parse-filepath": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/flagged-respawn": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", + "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true, + "license": "BSD-3-Clause", + "bin": { + "flat": "cli.js" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha512-0OABksIGrxKK8K4kynWkQ7y1zounQxP+CWnyclVwj81KW3vlLlGUx57DKGcP/LH216GzqnstnPocF16Nxs0Ycg==", + "dev": true, + "license": "MIT", + "dependencies": { + "for-in": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/foreground-child": { + "version": "1.5.6", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz", + "integrity": "sha512-3TOY+4TKV0Ml83PXJQY+JFQaHNV38lzQDIzzXYg1kWdBLenGgoZhAs0CKgzI31vi2pWEpQMq/Yi4bpKwCPkw7g==", + "dev": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^4", + "signal-exit": "^3.0.0" + } + }, + "node_modules/foreground-child/node_modules/cross-spawn": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", + "integrity": "sha512-yAXz/pA1tD8Gtg2S98Ekf/sewp3Lcp3YoFKJ4Hkp5h5yLWnKVTDU0kwjKJ8NDCYcfTLfyGkzTikst+jWypT1iA==", + "dev": true, + "license": "MIT", + "dependencies": { + "lru-cache": "^4.0.1", + "which": "^1.2.9" + } + }, + "node_modules/foreground-child/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/form-data-encoder": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-2.1.4.tgz", + "integrity": "sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==", + "license": "MIT", + "engines": { + "node": ">= 14.17" + } + }, + "node_modules/formidable": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.1.2.tgz", + "integrity": "sha512-CM3GuJ57US06mlpQ47YcunuUZ9jpm8Vx+P2CGt2j7HpgkKZO/DJYQ0Bobim8G6PFQmK5lOqOOdUXboU+h73A4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "dezalgo": "^1.0.4", + "hexoid": "^1.0.0", + "once": "^1.4.0", + "qs": "^6.11.0" + }, + "funding": { + "url": "https://ko-fi.com/tunnckoCore/commissions" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "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": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/fs-then-native": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fs-then-native/-/fs-then-native-2.0.0.tgz", + "integrity": "sha512-X712jAOaWXkemQCAmWeg5rOT2i+KOpWz1Z/txk/cW0qlOu2oQ9H61vc5w3X/iyuUEfq/OyaFJ78/cZAQD1/bgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gaze": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", + "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "globule": "^1.0.0" + }, + "engines": { + "node": ">= 4.0.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.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/getobject": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/getobject/-/getobject-1.0.2.tgz", + "integrity": "sha512-2zblDBaFcb3rB4rF77XVnuINOE2h2k/OnqXAiy0IrTxUfV1iFp3la33oAQVY9pCpWU268WFYVt2t71hlMuLsOg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "license": "MIT", + "dependencies": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==", + "dev": true, + "license": "MIT", + "dependencies": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/globule": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.4.tgz", + "integrity": "sha512-OPTIfhMBh7JbBYDpa5b+Q5ptmMWKwcNcFSR/0c6t8V4f3ZAVBEsKNY37QdVqmLRYSMhOUGYrY0QhSoEpzGr/Eg==", + "dev": true, + "license": "MIT", + "dependencies": { + "glob": "~7.1.1", + "lodash": "^4.17.21", + "minimatch": "~3.0.2" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/got": { + "version": "12.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-12.6.0.tgz", + "integrity": "sha512-WTcaQ963xV97MN3x0/CbAriXFZcXCfgxVp91I+Ze6pawQOa7SgzwSx2zIJJsX+kTajMnVs0xcFD1TxZKFqhdnQ==", + "license": "MIT", + "dependencies": { + "@sindresorhus/is": "^5.2.0", + "@szmarczak/http-timer": "^5.0.1", + "cacheable-lookup": "^7.0.0", + "cacheable-request": "^10.2.8", + "decompress-response": "^6.0.0", + "form-data-encoder": "^2.1.2", + "get-stream": "^6.0.1", + "http2-wrapper": "^2.1.10", + "lowercase-keys": "^3.0.0", + "p-cancelable": "^3.0.0", + "responselike": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sindresorhus/got?sponsor=1" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" + }, + "node_modules/growl": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4.x" + } + }, + "node_modules/grunt": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.6.1.tgz", + "integrity": "sha512-/ABUy3gYWu5iBmrUSRBP97JLpQUm0GgVveDCp6t3yRNIoltIYw7rEj3g5y1o2PGPR2vfTRGa7WC/LZHLTXnEzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "dateformat": "~4.6.2", + "eventemitter2": "~0.4.13", + "exit": "~0.1.2", + "findup-sync": "~5.0.0", + "glob": "~7.1.6", + "grunt-cli": "~1.4.3", + "grunt-known-options": "~2.0.0", + "grunt-legacy-log": "~3.0.0", + "grunt-legacy-util": "~2.0.1", + "iconv-lite": "~0.6.3", + "js-yaml": "~3.14.0", + "minimatch": "~3.0.4", + "nopt": "~3.0.6" + }, + "bin": { + "grunt": "bin/grunt" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/grunt-chmod": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/grunt-chmod/-/grunt-chmod-1.1.1.tgz", + "integrity": "sha512-f807W/VOIhhaOW85JyeRd4DgB0RcbsGQV/4IvtcKctOWGvPJns4AqN7xW73PG9+RwDnSGxApS+6Xov5L2LeNXg==", + "dev": true, + "dependencies": { + "shelljs": "^0.5.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/grunt-cli": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.4.3.tgz", + "integrity": "sha512-9Dtx/AhVeB4LYzsViCjUQkd0Kw0McN2gYpdmGYKtE2a5Yt7v1Q+HYZVWhqXc/kGnxlMtqKDxSwotiGeFmkrCoQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "grunt-known-options": "~2.0.0", + "interpret": "~1.1.0", + "liftup": "~3.0.1", + "nopt": "~4.0.1", + "v8flags": "~3.2.0" + }, + "bin": { + "grunt": "bin/grunt" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/grunt-cli/node_modules/nopt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", + "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", + "dev": true, + "license": "ISC", + "dependencies": { + "abbrev": "1", + "osenv": "^0.1.4" + }, + "bin": { + "nopt": "bin/nopt.js" + } + }, + "node_modules/grunt-concurrent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/grunt-concurrent/-/grunt-concurrent-3.0.0.tgz", + "integrity": "sha512-AgXtjUJESHEGeGX8neL3nmXBTHSj1QC48ABQ3ng2/vjuSBpDD8gKcVHSlXP71pFkIR8TQHf+eomOx6OSYSgfrA==", + "dev": true, + "license": "MIT", + "dependencies": { + "arrify": "^2.0.1", + "async": "^3.1.0", + "indent-string": "^4.0.0", + "pad-stream": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "grunt": ">=1" + } + }, + "node_modules/grunt-contrib-clean": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/grunt-contrib-clean/-/grunt-contrib-clean-2.0.1.tgz", + "integrity": "sha512-uRvnXfhiZt8akb/ZRDHJpQQtkkVkqc/opWO4Po/9ehC2hPxgptB9S6JHDC/Nxswo4CJSM0iFPT/Iym3cEMWzKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "async": "^3.2.3", + "rimraf": "^2.6.2" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "grunt": ">=0.4.5" + } + }, + "node_modules/grunt-contrib-compress": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/grunt-contrib-compress/-/grunt-contrib-compress-2.0.0.tgz", + "integrity": "sha512-r/dAGx4qG+rmBFF4lb/hTktW2huGMGxkSLf9msh3PPtq0+cdQRQerZJ30UKevX3BLQsohwLzO0p1z/LrH6aKXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "adm-zip": "^0.5.1", + "archiver": "^5.1.0", + "chalk": "^4.1.0", + "lodash": "^4.17.20", + "pretty-bytes": "^5.4.1", + "stream-buffers": "^3.0.2" + }, + "engines": { + "node": ">=10.16" + } + }, + "node_modules/grunt-contrib-concat": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/grunt-contrib-concat/-/grunt-contrib-concat-2.1.0.tgz", + "integrity": "sha512-Vnl95JIOxfhEN7bnYIlCgQz41kkbi7tsZ/9a4usZmxNxi1S2YAIOy8ysFmO8u4MN26Apal1O106BwARdaNxXQw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.2", + "source-map": "^0.5.3" + }, + "engines": { + "node": ">=0.12.0" + }, + "peerDependencies": { + "grunt": ">=1.4.1" + } + }, + "node_modules/grunt-contrib-copy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-1.0.0.tgz", + "integrity": "sha512-gFRFUB0ZbLcjKb67Magz1yOHGBkyU6uL29hiEW1tdQ9gQt72NuMKIy/kS6dsCbV0cZ0maNCb0s6y+uT1FKU7jA==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^1.1.1", + "file-sync-cmp": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/grunt-contrib-copy/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/grunt-contrib-copy/node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/grunt-contrib-copy/node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/grunt-contrib-copy/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/grunt-contrib-copy/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/grunt-contrib-copy/node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/grunt-contrib-jshint": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-3.2.0.tgz", + "integrity": "sha512-pcXWCSZWfoMSvcV4BwH21TUtLtcX0Ms8IGuOPIcLeXK3fud9KclY7iqMKY94jFx8TxZzh028YYtpR+io8DiEaQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "~4.1.2", + "hooker": "^0.2.3", + "jshint": "~2.13.4" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/grunt-contrib-uglify": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-5.2.2.tgz", + "integrity": "sha512-ITxiWxrjjP+RZu/aJ5GLvdele+sxlznh+6fK9Qckio5ma8f7Iv8woZjRkGfafvpuygxNefOJNc+hfjjBayRn2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.2", + "maxmin": "^3.0.0", + "uglify-js": "^3.16.1", + "uri-path": "^1.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/grunt-contrib-watch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/grunt-contrib-watch/-/grunt-contrib-watch-1.1.0.tgz", + "integrity": "sha512-yGweN+0DW5yM+oo58fRu/XIRrPcn3r4tQx+nL7eMRwjpvk+rQY6R8o94BPK0i2UhTg9FN21hS+m8vR8v9vXfeg==", + "dev": true, + "license": "MIT", + "dependencies": { + "async": "^2.6.0", + "gaze": "^1.1.0", + "lodash": "^4.17.10", + "tiny-lr": "^1.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/grunt-contrib-watch/node_modules/async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash": "^4.17.14" + } + }, + "node_modules/grunt-jsdoc": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/grunt-jsdoc/-/grunt-jsdoc-2.4.1.tgz", + "integrity": "sha512-S0zxU0wDewRu7z+vijEItOWe/UttxWVmvz0qz2ZVcAYR2GpXjsiski2CAVN0b18t2qeVLdmxZkJaEWCOsKzcAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.1", + "jsdoc": "^3.6.3" + }, + "bin": { + "grunt-jsdoc": "bin/grunt-jsdoc" + }, + "engines": { + "node": ">= 8.12.0" + } + }, + "node_modules/grunt-jsdoc-to-markdown": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/grunt-jsdoc-to-markdown/-/grunt-jsdoc-to-markdown-6.0.0.tgz", + "integrity": "sha512-vvanKUErp6CHl4MuLQ9vwJewpMu8Fi7z09lr4OwMLr+GBu3nG5lRNZuu5mkWY8qv1aU8WkX97/rJaVs3A1Wx8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "jsdoc-to-markdown": "^7.0.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "grunt": ">=1.3.0" + } + }, + "node_modules/grunt-jsonlint": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/grunt-jsonlint/-/grunt-jsonlint-2.1.3.tgz", + "integrity": "sha512-h04qC969LIyhsJaASeJ/hDnnKnsnSNZKqjYHra6cc/WQzrfMZinQPdr11FhU4T8OzAq6ecMX5QauYiJkbjUV/Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@prantlf/jsonlint": "10.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/grunt-known-options": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-2.0.0.tgz", + "integrity": "sha512-GD7cTz0I4SAede1/+pAbmJRG44zFLPipVtdL9o3vqx9IEyb7b4/Y3s7r6ofI3CchR5GvYJ+8buCSioDv5dQLiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/grunt-legacy-log": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-3.0.0.tgz", + "integrity": "sha512-GHZQzZmhyq0u3hr7aHW4qUH0xDzwp2YXldLPZTCjlOeGscAOWWPftZG3XioW8MasGp+OBRIu39LFx14SLjXRcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "colors": "~1.1.2", + "grunt-legacy-log-utils": "~2.1.0", + "hooker": "~0.2.3", + "lodash": "~4.17.19" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/grunt-legacy-log-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-2.1.0.tgz", + "integrity": "sha512-lwquaPXJtKQk0rUM1IQAop5noEpwFqOXasVoedLeNzaibf/OPWjKYvvdqnEHNmU+0T0CaReAXIbGo747ZD+Aaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "~4.1.0", + "lodash": "~4.17.19" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/grunt-legacy-util": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-2.0.1.tgz", + "integrity": "sha512-2bQiD4fzXqX8rhNdXkAywCadeqiPiay0oQny77wA2F3WF4grPJXCvAcyoWUJV+po/b15glGkxuSiQCK299UC2w==", + "dev": true, + "license": "MIT", + "dependencies": { + "async": "~3.2.0", + "exit": "~0.1.2", + "getobject": "~1.0.0", + "hooker": "~0.2.3", + "lodash": "~4.17.21", + "underscore.string": "~3.3.5", + "which": "~2.0.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/grunt-mkdir": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/grunt-mkdir/-/grunt-mkdir-1.1.0.tgz", + "integrity": "sha512-FRE17OYVveNbVJFX8GPGa5bzH2ZiAdBx3q0Kwk2Dg6l+TzLGaTdufUxiUWUbS2MERFacnmXZwDDOR5ZbYW0o+Q==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + }, + "peerDependencies": { + "grunt": ">=0.4.0" + } + }, + "node_modules/grunt-npm-command": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/grunt-npm-command/-/grunt-npm-command-0.1.2.tgz", + "integrity": "sha512-QsGLL8Pp+tzeIkCqohIbOtVopOhINErRVpxKY+SnvSEE3BXOKKSanlIh9cd1mliajO57sXG2ZC4R8L3v2NSPTQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "grunt": ">=0.4.0" + } + }, + "node_modules/grunt-sass": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/grunt-sass/-/grunt-sass-3.1.0.tgz", + "integrity": "sha512-90s27H7FoCDcA8C8+R0GwC+ntYD3lG6S/jqcavWm3bn9RiJTmSfOvfbFa1PXx4NbBWuiGQMLfQTj/JvvqT5w6A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "grunt": ">=1" + } + }, + "node_modules/grunt-simple-mocha": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/grunt-simple-mocha/-/grunt-simple-mocha-0.4.1.tgz", + "integrity": "sha512-EibTuZVvyLd9v/9An+5sL+XLoArs1QkFSTUcOG/AbBzeCYemZppcO9YSEspWUwU/T/NNtAyzB+x7B6zAmKQqkA==", + "dev": true, + "dependencies": { + "mocha": "*" + }, + "bin": { + "grunt-simple-mocha": "bin/grunt-simple-mocha" + }, + "engines": { + "node": "*" + } + }, + "node_modules/grunt-simple-nyc": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/grunt-simple-nyc/-/grunt-simple-nyc-3.0.1.tgz", + "integrity": "sha512-/YLY+jNI6gBuVO3xu07zwvDN+orTAFS50W00yb/2ncvc2PFO4pR+oU7TyiHhe8a6O3KuQDHsyCE0iE+rqJagQg==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash": "^4.17.15", + "nyc": "^14.1.0", + "simple-cli": "^5.0.3" + } + }, + "node_modules/grunt/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/grunt/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/grunt/node_modules/nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg==", + "dev": true, + "license": "ISC", + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + } + }, + "node_modules/grunt/node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/gzip-size": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz", + "integrity": "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "duplexer": "^0.1.1", + "pify": "^4.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "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/handlebars/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-ansi/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hash-sum": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz", + "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==", + "license": "MIT" + }, + "node_modules/hasha": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hasha/-/hasha-3.0.0.tgz", + "integrity": "sha512-w0Kz8lJFBoyaurBiNrIvxPqr/gJ6fOfSkpAPOepN3oECqGJag37xPbOv57izi/KP8auHgNYxn5fXtAb+1LsJ6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-stream": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "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/help-me": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/help-me/-/help-me-5.0.0.tgz", + "integrity": "sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==", + "license": "MIT" + }, + "node_modules/hexoid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz", + "integrity": "sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "parse-passwd": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hooker": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz", + "integrity": "sha512-t+UerCsQviSymAInD01Pw+Dn/usmz1sRO+3Zk1+lx8eg+WKpD2ulcwWqHHL0+aseRBr+3+vIhiG1K1JTwaIcTA==", + "dev": true, + "engines": { + "node": "*" + } + }, + "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/hpagent": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/hpagent/-/hpagent-1.2.0.tgz", + "integrity": "sha512-A91dYTeIB6NoXG+PxTQpCCDDnfHsW9kc06Lvpu1TEe9gnd6ZFeiBoRO9JvzEv6xK7EX97/dUE8g/vBMTqTS3CA==", + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true, + "license": "MIT" + }, + "node_modules/htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", + "license": "BSD-2-Clause" + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "license": "MIT", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-parser-js": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/http2-wrapper": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.1.tgz", + "integrity": "sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==", + "license": "MIT", + "dependencies": { + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.2.0" + }, + "engines": { + "node": ">=10.19.0" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "license": "MIT", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/https-proxy-agent/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/https-proxy-agent/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/i18next": { + "version": "21.10.0", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-21.10.0.tgz", + "integrity": "sha512-YeuIBmFsGjUfO3qBmMOc0rQaun4mIpGKET5WDwvu8lU7gvwpcariZLNtL0Fzj+zazcHUrlXHiptcFhBMFaxzfg==", + "funding": [ + { + "type": "individual", + "url": "https://locize.com" + }, + { + "type": "individual", + "url": "https://locize.com/i18next.html" + }, + { + "type": "individual", + "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" + } + ], + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.17.2" + } + }, + "node_modules/i18next-http-backend": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/i18next-http-backend/-/i18next-http-backend-1.4.1.tgz", + "integrity": "sha512-s4Q9hK2jS29iyhniMP82z+yYY8riGTrWbnyvsSzi5TaF7Le4E7b5deTmtuaRuab9fdDcYXtcwdBgawZG+JCEjA==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-fetch": "3.1.5" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "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-by-default": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", + "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==", + "dev": true, + "license": "ISC" + }, + "node_modules/immutable": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.7.tgz", + "integrity": "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==", + "dev": true, + "license": "MIT" + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "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", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true, + "license": "ISC" + }, + "node_modules/internmap": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", + "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/interpret": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", + "integrity": "sha512-CLM8SNMDu7C5psFCn6Wg/tgpj/bKAg7hc2gWqcuR9OD5Ft9PhBpIu8PLicPeis+xDd6YX2ncI8MCA64I9tftIA==", + "dev": true, + "license": "MIT" + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-absolute": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", + "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-relative": "^1.0.0", + "is-windows": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-relative": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", + "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-unc-path": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-unc-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", + "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "unc-path-regex": "^0.1.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==", + "license": "MIT" + }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-lib-coverage": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", + "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=6" + } + }, + "node_modules/istanbul-lib-hook": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz", + "integrity": "sha512-vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "append-transform": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", + "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@babel/generator": "^7.4.0", + "@babel/parser": "^7.4.3", + "@babel/template": "^7.4.0", + "@babel/traverse": "^7.4.3", + "@babel/types": "^7.4.0", + "istanbul-lib-coverage": "^2.0.5", + "semver": "^6.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/istanbul-lib-instrument/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/istanbul-lib-report": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz", + "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "istanbul-lib-coverage": "^2.0.5", + "make-dir": "^2.1.0", + "supports-color": "^6.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/istanbul-lib-report/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/istanbul-lib-report/node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz", + "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^2.0.5", + "make-dir": "^2.1.0", + "rimraf": "^2.6.3", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/istanbul-lib-source-maps/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-reports": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.7.tgz", + "integrity": "sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "html-escaper": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jquery-i18next": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/jquery-i18next/-/jquery-i18next-1.2.1.tgz", + "integrity": "sha512-UNcw3rgxoKjGEg4w23FEn2h3OlPJU7rPzsgDuXDBZktIzeiVbJohs9Cv9hj8oP8KNfBRKOoErL/OVxg2FaAR4g==", + "dev": true, + "license": "MIT" + }, + "node_modules/js-sdsl": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.3.0.tgz", + "integrity": "sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/js-sdsl" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/js2xmlparser": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.2.tgz", + "integrity": "sha512-6n4D8gLlLf1n5mNLQPRfViYzu9RATblzPEtm1SthMX1Pjao0r9YI9nw7ZIfRxQMERS87mcswrg+r/OYrPRX6jA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "xmlcreate": "^2.0.4" + } + }, + "node_modules/jsdoc": { + "version": "3.6.11", + "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-3.6.11.tgz", + "integrity": "sha512-8UCU0TYeIYD9KeLzEcAu2q8N/mx9O3phAGl32nmHlE0LpaJL71mMkP4d+QE5zWfNt50qheHtOZ0qoxVrsX5TUg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@babel/parser": "^7.9.4", + "@types/markdown-it": "^12.2.3", + "bluebird": "^3.7.2", + "catharsis": "^0.9.0", + "escape-string-regexp": "^2.0.0", + "js2xmlparser": "^4.0.2", + "klaw": "^3.0.0", + "markdown-it": "^12.3.2", + "markdown-it-anchor": "^8.4.1", + "marked": "^4.0.10", + "mkdirp": "^1.0.4", + "requizzle": "^0.2.3", + "strip-json-comments": "^3.1.0", + "taffydb": "2.6.2", + "underscore": "~1.13.2" + }, + "bin": { + "jsdoc": "jsdoc.js" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/jsdoc-api": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/jsdoc-api/-/jsdoc-api-7.2.0.tgz", + "integrity": "sha512-93YDnlm/OYTlLOFeNs4qAv0RBCJ0kGj67xQaWy8wrbk97Rw1EySitoOTHsTHXPEs3uyx2IStPKGrbE7LTnZXbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-back": "^6.2.2", + "cache-point": "^2.0.0", + "collect-all": "^1.0.4", + "file-set": "^4.0.2", + "fs-then-native": "^2.0.0", + "jsdoc": "^4.0.0", + "object-to-spawn-args": "^2.0.1", + "temp-path": "^1.0.0", + "walk-back": "^5.1.0" + }, + "engines": { + "node": ">=12.17" + } + }, + "node_modules/jsdoc-api/node_modules/@types/markdown-it": { + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-14.1.2.tgz", + "integrity": "sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/linkify-it": "^5", + "@types/mdurl": "^2" + } + }, + "node_modules/jsdoc-api/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/jsdoc-api/node_modules/jsdoc": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-4.0.3.tgz", + "integrity": "sha512-Nu7Sf35kXJ1MWDZIMAuATRQTg1iIPdzh7tqJ6jjvaU/GfDf+qi5UV8zJR3Mo+/pYFvm8mzay4+6O5EWigaQBQw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@babel/parser": "^7.20.15", + "@jsdoc/salty": "^0.2.1", + "@types/markdown-it": "^14.1.1", + "bluebird": "^3.7.2", + "catharsis": "^0.9.0", + "escape-string-regexp": "^2.0.0", + "js2xmlparser": "^4.0.2", + "klaw": "^3.0.0", + "markdown-it": "^14.1.0", + "markdown-it-anchor": "^8.6.7", + "marked": "^4.0.10", + "mkdirp": "^1.0.4", + "requizzle": "^0.2.3", + "strip-json-comments": "^3.1.0", + "underscore": "~1.13.2" + }, + "bin": { + "jsdoc": "jsdoc.js" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/jsdoc-api/node_modules/linkify-it": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz", + "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "uc.micro": "^2.0.0" + } + }, + "node_modules/jsdoc-api/node_modules/markdown-it": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz", + "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1", + "entities": "^4.4.0", + "linkify-it": "^5.0.0", + "mdurl": "^2.0.0", + "punycode.js": "^2.3.1", + "uc.micro": "^2.1.0" + }, + "bin": { + "markdown-it": "bin/markdown-it.mjs" + } + }, + "node_modules/jsdoc-api/node_modules/mdurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz", + "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==", + "dev": true, + "license": "MIT" + }, + "node_modules/jsdoc-api/node_modules/uc.micro": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", + "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==", + "dev": true, + "license": "MIT" + }, + "node_modules/jsdoc-nr-template": { + "version": "1.0.0", + "resolved": "git+ssh://git@github.com/node-red/jsdoc-nr-template.git#3c7c8f96d585c7c5918a2e63519310e1297e162d", + "dev": true + }, + "node_modules/jsdoc-parse": { + "version": "6.2.4", + "resolved": "https://registry.npmjs.org/jsdoc-parse/-/jsdoc-parse-6.2.4.tgz", + "integrity": "sha512-MQA+lCe3ioZd0uGbyB3nDCDZcKgKC7m/Ivt0LgKZdUoOlMJxUWJQ3WI6GeyHp9ouznKaCjlp7CU9sw5k46yZTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-back": "^6.2.2", + "find-replace": "^5.0.1", + "lodash.omit": "^4.5.0", + "sort-array": "^5.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/jsdoc-parse/node_modules/find-replace": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-5.0.2.tgz", + "integrity": "sha512-Y45BAiE3mz2QsrN2fb5QEtO4qb44NcS7en/0y9PEVsg351HsLeVclP8QPMH79Le9sH3rs5RSwJu99W0WPZO43Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@75lb/nature": "latest" + }, + "peerDependenciesMeta": { + "@75lb/nature": { + "optional": true + } + } + }, + "node_modules/jsdoc-to-markdown": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/jsdoc-to-markdown/-/jsdoc-to-markdown-7.1.1.tgz", + "integrity": "sha512-CI86d63xAVNO+ENumWwmJ034lYe5iGU5GwjtTA11EuphP9tpnoi4hrKgR/J8uME0D+o4KUpVfwX1fjZhc8dEtg==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-back": "^6.2.2", + "command-line-tool": "^0.8.0", + "config-master": "^3.1.0", + "dmd": "^6.1.0", + "jsdoc-api": "^7.1.1", + "jsdoc-parse": "^6.1.0", + "walk-back": "^5.1.0" + }, + "bin": { + "jsdoc2md": "bin/cli.js" + }, + "engines": { + "node": ">=12.17" + } + }, + "node_modules/jsesc": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jshint": { + "version": "2.13.6", + "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.13.6.tgz", + "integrity": "sha512-IVdB4G0NTTeQZrBoM8C5JFVLjV2KtZ9APgybDA1MK73xb09qFs0jCXyQLnCOp1cSZZZbvhq/6mfXHUTaDkffuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "cli": "~1.0.0", + "console-browserify": "1.1.x", + "exit": "0.1.x", + "htmlparser2": "3.8.x", + "lodash": "~4.17.21", + "minimatch": "~3.0.2", + "strip-json-comments": "1.0.x" + }, + "bin": { + "jshint": "bin/jshint" + } + }, + "node_modules/jshint/node_modules/dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "node_modules/jshint/node_modules/dom-serializer/node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/jshint/node_modules/dom-serializer/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/jshint/node_modules/domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/jshint/node_modules/domhandler": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", + "integrity": "sha512-q9bUwjfp7Eif8jWxxxPSykdRZAb6GkguBGSgvvCrhI9wB71W2K/Kvv4E61CF/mcCfnVJDeDWx/Vb/uAqbDj6UQ==", + "dev": true, + "dependencies": { + "domelementtype": "1" + } + }, + "node_modules/jshint/node_modules/domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha512-gSu5Oi/I+3wDENBsOWBiRK1eoGxcywYSqg3rR960/+EfY0CF4EX1VPkgHOZ3WiS/Jg2DtliF6BhWcHlfpYUcGw==", + "dev": true, + "dependencies": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "node_modules/jshint/node_modules/entities": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz", + "integrity": "sha512-LbLqfXgJMmy81t+7c14mnulFHJ170cM6E+0vMXR9k/ZiZwgX8i5pNgjTCX3SO4VeUsFLV+8InixoretwU+MjBQ==", + "dev": true, + "license": "BSD-like" + }, + "node_modules/jshint/node_modules/htmlparser2": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", + "integrity": "sha512-hBxEg3CYXe+rPIua8ETe7tmG3XDn9B0edOE/e9wH2nLczxzgdu0m0aNHY+5wFZiviLWLdANPJTssa92dMcXQ5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "domelementtype": "1", + "domhandler": "2.3", + "domutils": "1.5", + "entities": "1.0", + "readable-stream": "1.1" + } + }, + "node_modules/jshint/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/jshint/node_modules/readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/jshint/node_modules/string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/jshint/node_modules/strip-json-comments": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz", + "integrity": "sha512-AOPG8EBc5wAikaG1/7uFCNFJwnKOuQwFTpYBdTW6OvWHeZBQBrAA/amefHGrEiOnCPcLFZK6FUPtWVKpQVIRgg==", + "dev": true, + "license": "MIT", + "bin": { + "strip-json-comments": "cli.js" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "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-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "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==", + "license": "ISC" + }, + "node_modules/jsonata": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/jsonata/-/jsonata-2.0.5.tgz", + "integrity": "sha512-wEse9+QLIIU5IaCgtJCPsFi/H4F3qcikWzF4bAELZiRz08ohfx3Q6CjDRf4ZPF5P/92RI3KIHtb7u3jqPaHXdQ==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/just-extend": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-6.2.0.tgz", + "integrity": "sha512-cYofQu2Xpom82S6qD778jBDpwvvy39s1l/hrYij2u9AMdQcGRpaBu6kY4mVhuno5kJVi1DAz4aiphA2WI1/OAw==", + "dev": true, + "license": "MIT" + }, + "node_modules/katex": { + "version": "0.16.11", + "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.11.tgz", + "integrity": "sha512-RQrI8rlHY92OLf3rho/Ts8i/XvjgguEjOkO1BEXcU3N8BqPpSzBNwV/G0Ukr+P/l3ivvJUE/Fa/CwbS6HesGNQ==", + "dev": true, + "funding": [ + "https://opencollective.com/katex", + "https://github.com/sponsors/katex" + ], + "license": "MIT", + "dependencies": { + "commander": "^8.3.0" + }, + "bin": { + "katex": "cli.js" + } + }, + "node_modules/katex/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/key-list": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/key-list/-/key-list-0.1.4.tgz", + "integrity": "sha512-DMGLZAmEoKRUHPlc772EW0i92P/WY12/oWYc2pQZb5MVGOSjYmF0BEQXbOLjbou1+/PqZ+CivwfyjaUwmyl4CQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/khroma": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/khroma/-/khroma-2.1.0.tgz", + "integrity": "sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==", + "dev": true + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/klaw": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz", + "integrity": "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.9" + } + }, + "node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/layout-base": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/layout-base/-/layout-base-1.0.2.tgz", + "integrity": "sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==", + "dev": true, + "license": "MIT" + }, + "node_modules/lazystream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", + "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "readable-stream": "^2.0.5" + }, + "engines": { + "node": ">= 0.6.3" + } + }, + "node_modules/lazystream/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/lazystream/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/leven": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz", + "integrity": "sha512-nvVPLpIHUxCUoRLrFqTgSxXJ614d8AgQoWl7zPe/2VadE8+1dpU3LBhowRuBAcuwruWtOdD8oYC9jDNJjXDPyA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/liftup": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/liftup/-/liftup-3.0.1.tgz", + "integrity": "sha512-yRHaiQDizWSzoXk3APcA71eOI/UuhEkNN9DiW2Tt44mhYzX4joFoCZlxsSOF7RyeLlfqzFLQI1ngFq3ggMPhOw==", + "dev": true, + "license": "MIT", + "dependencies": { + "extend": "^3.0.2", + "findup-sync": "^4.0.0", + "fined": "^1.2.0", + "flagged-respawn": "^1.0.1", + "is-plain-object": "^2.0.4", + "object.map": "^1.0.1", + "rechoir": "^0.7.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/liftup/node_modules/findup-sync": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-4.0.0.tgz", + "integrity": "sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^4.0.2", + "resolve-dir": "^1.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/linkify-it": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz", + "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "uc.micro": "^1.0.1" + } + }, + "node_modules/livereload-js": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.4.0.tgz", + "integrity": "sha512-XPQH8Z2GDP/Hwz2PCDrh2mth4yFejwA1OZ/81Ti3LgKyhDcEjsSsqFWZojHG0va/duGd+WyosY7eXLDoOyqcPw==", + "dev": true, + "license": "MIT" + }, + "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/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/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==", + "license": "MIT" + }, + "node_modules/lodash.defaults": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", + "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.difference": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", + "integrity": "sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.flattendeep": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", + "integrity": "sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.omit": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz", + "integrity": "sha512-XeqSp49hNGmlkj2EJlfrQFIzQ6lXdNro9sddtQzcJY8QaoC2GO0DT7xaIokHeyM+mIT0mPMlPvkYzg2xCuHdZg==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.padend": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz", + "integrity": "sha512-sOQs2aqGpbl27tmCS1QNZA09Uqp01ZzWfDUoD+xzTii0E7dSQfRKcRetFwa+uXaxaqL+TKm7CgD2JdKP7aZBSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.union": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz", + "integrity": "sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lowercase-keys": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz", + "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "license": "ISC", + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/make-dir/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/make-iterator": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", + "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", + "dev": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/markdown-it": { + "version": "12.3.2", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz", + "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1", + "entities": "~2.1.0", + "linkify-it": "^3.0.1", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + }, + "bin": { + "markdown-it": "bin/markdown-it.js" + } + }, + "node_modules/markdown-it-anchor": { + "version": "8.6.7", + "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.6.7.tgz", + "integrity": "sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA==", + "dev": true, + "license": "Unlicense", + "peerDependencies": { + "@types/markdown-it": "*", + "markdown-it": "*" + } + }, + "node_modules/markdown-it/node_modules/entities": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", + "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", + "dev": true, + "license": "BSD-2-Clause", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/marked": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", + "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", + "dev": true, + "license": "MIT", + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/maxmin": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/maxmin/-/maxmin-3.0.0.tgz", + "integrity": "sha512-wcahMInmGtg/7c6a75fr21Ch/Ks1Tb+Jtoan5Ft4bAI0ZvJqyOw8kkM7e7p8hDSzY805vmxwHT50KcjGwKyJ0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "figures": "^3.2.0", + "gzip-size": "^5.1.1", + "pretty-bytes": "^5.3.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.1.tgz", + "integrity": "sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "mdast-util-to-string": "^3.1.0", + "micromark": "^3.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-decode-string": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "unist-util-stringify-position": "^3.0.0", + "uvu": "^0.5.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz", + "integrity": "sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==", + "dev": true, + "license": "MIT" + }, + "node_modules/media-typer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", + "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/memorystore": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/memorystore/-/memorystore-1.6.7.tgz", + "integrity": "sha512-OZnmNY/NDrKohPQ+hxp0muBcBKrzKNtHr55DbqSx9hLsYVNnomSAMRAtI7R64t3gf3ID7tHQA7mG4oL3Hu9hdw==", + "license": "MIT", + "dependencies": { + "debug": "^4.3.0", + "lru-cache": "^4.0.3" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/memorystore/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/memorystore/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/merge-descriptors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/merge-source-map": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", + "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", + "dev": true, + "license": "MIT", + "dependencies": { + "source-map": "^0.6.1" + } + }, + "node_modules/merge-source-map/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mermaid": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-10.9.2.tgz", + "integrity": "sha512-UkZyMSuIYcI1Q0H+2pv/5CiY84sOwQ2XlKoDZMl9Y/MtrLEtxQtyA6LWGkMxnZxj0dJqI+7nw51bYjNnrbdFsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@braintree/sanitize-url": "^6.0.1", + "@types/d3-scale": "^4.0.3", + "@types/d3-scale-chromatic": "^3.0.0", + "cytoscape": "^3.28.1", + "cytoscape-cose-bilkent": "^4.1.0", + "d3": "^7.4.0", + "d3-sankey": "^0.12.3", + "dagre-d3-es": "7.0.10", + "dayjs": "^1.11.7", + "dompurify": "^3.0.5 <3.1.7", + "elkjs": "^0.9.0", + "katex": "^0.16.9", + "khroma": "^2.0.0", + "lodash-es": "^4.17.21", + "mdast-util-from-markdown": "^1.3.0", + "non-layered-tidy-tree-layout": "^2.0.2", + "stylis": "^4.1.3", + "ts-dedent": "^2.2.0", + "uuid": "^9.0.0", + "web-worker": "^1.2.0" + } + }, + "node_modules/mermaid/node_modules/dompurify": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.1.6.tgz", + "integrity": "sha512-cTOAhc36AalkjtBpfG6O8JimdTMWNXjiePT2xQH/ppBGi/4uIpmj8eKyIkMJErXWARyINV/sB38yf8JCLF5pbQ==", + "dev": true, + "license": "(MPL-2.0 OR Apache-2.0)" + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromark": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.2.0.tgz", + "integrity": "sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "micromark-core-commonmark": "^1.0.1", + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-chunked": "^1.0.0", + "micromark-util-combine-extensions": "^1.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-encode": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-sanitize-uri": "^1.0.0", + "micromark-util-subtokenize": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.1", + "uvu": "^0.5.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.1.0.tgz", + "integrity": "sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-factory-destination": "^1.0.0", + "micromark-factory-label": "^1.0.0", + "micromark-factory-space": "^1.0.0", + "micromark-factory-title": "^1.0.0", + "micromark-factory-whitespace": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-chunked": "^1.0.0", + "micromark-util-classify-character": "^1.0.0", + "micromark-util-html-tag-name": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-subtokenize": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.1", + "uvu": "^0.5.0" + } + }, + "node_modules/micromark-factory-destination": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.1.0.tgz", + "integrity": "sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-factory-label": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.1.0.tgz", + "integrity": "sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "node_modules/micromark-factory-space": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz", + "integrity": "sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-factory-title": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.1.0.tgz", + "integrity": "sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-factory-whitespace": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.1.0.tgz", + "integrity": "sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-character": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.2.0.tgz", + "integrity": "sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-chunked": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.1.0.tgz", + "integrity": "sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/micromark-util-classify-character": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.1.0.tgz", + "integrity": "sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-combine-extensions": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.1.0.tgz", + "integrity": "sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-chunked": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.1.0.tgz", + "integrity": "sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/micromark-util-decode-string": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.1.0.tgz", + "integrity": "sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.1.0.tgz", + "integrity": "sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-html-tag-name": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.2.0.tgz", + "integrity": "sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.1.0.tgz", + "integrity": "sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/micromark-util-resolve-all": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.1.0.tgz", + "integrity": "sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.2.0.tgz", + "integrity": "sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-encode": "^1.0.0", + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/micromark-util-subtokenize": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.1.0.tgz", + "integrity": "sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-chunked": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz", + "integrity": "sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz", + "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/micromark/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-response": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-4.0.0.tgz", + "integrity": "sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/minami": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/minami/-/minami-1.2.3.tgz", + "integrity": "sha512-3f2QqqbUC1usVux0FkQMFYB73yd9JIxmHSn1dWQacizL6hOUaNu6mA3KxZ9SfiCc4qgcgq+5XP59+hP7URa1Dw==", + "dev": true + }, + "node_modules/minimatch": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz", + "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minizlib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.0.1.tgz", + "integrity": "sha512-umcy022ILvb5/3Djuu8LWeqUa8D68JaBzlttKeMWen48SjabqS3iY5w/vzeMzMUNhLDifyhbOwKDSznB1vvrwg==", + "license": "MIT", + "dependencies": { + "minipass": "^7.0.4", + "rimraf": "^5.0.5" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/minizlib/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/minizlib/node_modules/foreground-child": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minizlib/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minizlib/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minizlib/node_modules/rimraf": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.10.tgz", + "integrity": "sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==", + "license": "ISC", + "dependencies": { + "glob": "^10.3.7" + }, + "bin": { + "rimraf": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minizlib/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "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/mkdirp2": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/mkdirp2/-/mkdirp2-1.0.5.tgz", + "integrity": "sha512-xOE9xbICroUDmG1ye2h4bZ8WBie9EGmACaco8K8cx6RlkJJrxGIqjGqztAI+NMhexXBcdGbSEzI6N3EJPevxZw==", + "dev": true, + "license": "MIT" + }, + "node_modules/mocha": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.2.2.tgz", + "integrity": "sha512-L6XC3EdwT6YrIk0yXpavvLkn8h+EU+Y5UcCHKECyMbdUIxyMuZj4bX4U9e1nvnvUUvQVsV2VHQr5zLdcUkhW/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ungap/promise-all-settled": "1.1.2", + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.3", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.2.0", + "growl": "1.10.5", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "4.2.1", + "ms": "2.1.3", + "nanoid": "3.3.1", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "which": "2.0.2", + "workerpool": "6.2.0", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mochajs" + } + }, + "node_modules/mocha/node_modules/debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/mocha/node_modules/debug/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/mocha/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/mocha/node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/mocha/node_modules/minimatch": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-4.2.1.tgz", + "integrity": "sha512-9Uq1ChtSZO+Mxa/CL1eGizn2vRn3MlLgzhT0Iz8zaY8NdvxvB0d5QdPFmCKf7JKA9Lerx5vRrnwO03jsSfGG9g==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mocha/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/mocha/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/moment": { + "version": "2.30.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/moment-timezone": { + "version": "0.5.45", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.45.tgz", + "integrity": "sha512-HIWmqA86KcmCAhnMAN0wuDOARV/525R2+lOLotuGFzn4HO+FH+/645z2wx0Dt3iDv6/p61SIvKnDstISainhLQ==", + "license": "MIT", + "dependencies": { + "moment": "^2.29.4" + }, + "engines": { + "node": "*" + } + }, + "node_modules/mqtt": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/mqtt/-/mqtt-5.7.0.tgz", + "integrity": "sha512-/o0CBYSjZzddmQDV2iglCafsA0xWKpqnS62tGbOLOliubBxszpXO1DAQPyfI7ZcPDG0b9ni7QITn+5FW1E2UTg==", + "license": "MIT", + "dependencies": { + "@types/readable-stream": "^4.0.5", + "@types/ws": "^8.5.9", + "commist": "^3.2.0", + "concat-stream": "^2.0.0", + "debug": "^4.3.4", + "help-me": "^5.0.0", + "lru-cache": "^10.0.1", + "minimist": "^1.2.8", + "mqtt": "^5.2.0", + "mqtt-packet": "^9.0.0", + "number-allocator": "^1.0.14", + "readable-stream": "^4.4.2", + "reinterval": "^1.1.0", + "rfdc": "^1.3.0", + "split2": "^4.2.0", + "worker-timers": "^7.1.4", + "ws": "^8.14.2" + }, + "bin": { + "mqtt": "build/bin/mqtt.js", + "mqtt_pub": "build/bin/pub.js", + "mqtt_sub": "build/bin/sub.js" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/mqtt-packet": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/mqtt-packet/-/mqtt-packet-9.0.0.tgz", + "integrity": "sha512-8v+HkX+fwbodsWAZIZTI074XIoxVBOmPeggQuDFCGg1SqNcC+uoRMWu7J6QlJPqIUIJXmjNYYHxBBLr1Y/Df4w==", + "license": "MIT", + "dependencies": { + "bl": "^6.0.8", + "debug": "^4.3.4", + "process-nextick-args": "^2.0.1" + } + }, + "node_modules/mqtt-packet/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/mqtt-packet/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/mqtt/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/mqtt/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==", + "license": "ISC" + }, + "node_modules/mqtt/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/mqtt/node_modules/readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "license": "MIT", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/mqtt/node_modules/ws": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/mri": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.1.4.tgz", + "integrity": "sha512-6y7IjGPm8AzlvoUrwAaw1tLnUBudaS3752vcd8JtrpGGQn+rXIe63LFVHm/YMwtqAuh+LJPCFdlLYPWM1nYn6w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/multer": { + "version": "1.4.5-lts.1", + "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.5-lts.1.tgz", + "integrity": "sha512-ywPWvcDMeH+z9gQq5qYHCCy+ethsk4goepZ45GLD63fOu0YcNecQxi64nDs3qluZB+murG3/D4dJ7+dGctcCQQ==", + "license": "MIT", + "dependencies": { + "append-field": "^1.0.0", + "busboy": "^1.0.0", + "concat-stream": "^1.5.2", + "mkdirp": "^0.5.4", + "object-assign": "^4.1.1", + "type-is": "^1.6.4", + "xtend": "^4.0.0" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/multer/node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "engines": [ + "node >= 0.8" + ], + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/multer/node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "license": "MIT", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/multer/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==", + "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/multer/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==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/mustache": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz", + "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==", + "license": "MIT", + "bin": { + "mustache": "bin/mustache" + } + }, + "node_modules/mute-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz", + "integrity": "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==", + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz", + "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==", + "dev": true, + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "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/nested-error-stacks": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.1.1.tgz", + "integrity": "sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw==", + "dev": true, + "license": "MIT" + }, + "node_modules/nise": { + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.9.tgz", + "integrity": "sha512-qOnoujW4SV6e40dYxJOb3uvuoPHtmLzIk4TFo+j0jPJoC+5Z9xja5qH5JZobEPsa8+YYphMrOSwnrshEhG2qww==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^3.0.0", + "@sinonjs/fake-timers": "^11.2.2", + "@sinonjs/text-encoding": "^0.7.2", + "just-extend": "^6.2.0", + "path-to-regexp": "^6.2.1" + } + }, + "node_modules/nise/node_modules/@sinonjs/commons": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/nise/node_modules/@sinonjs/fake-timers": { + "version": "11.3.1", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-11.3.1.tgz", + "integrity": "sha512-EVJO7nW5M/F5Tur0Rf2z/QoMo+1Ia963RiMtapiQrEWvY0iBUvADo8Beegwjpnle5BHkyHuoxSTW3jF43H1XRA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^3.0.1" + } + }, + "node_modules/nise/node_modules/path-to-regexp": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz", + "integrity": "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "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-red-admin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/node-red-admin/-/node-red-admin-4.0.1.tgz", + "integrity": "sha512-NLZgAM8JgFa/2/7Z4+nSSQrtkuBbfS9m+kxegadhHfuta5rErOx6zrrNhF+yAglMTPlVmdoqgso7VSt3nTRBGQ==", + "license": "Apache-2.0", + "dependencies": { + "ansi-colors": "^4.1.3", + "axios": "^1.7.7", + "bcryptjs": "^2.4.3", + "cli-table": "^0.3.11", + "enquirer": "^2.3.6", + "minimist": "^1.2.8", + "mustache": "^4.2.0", + "read": "^3.0.1" + }, + "bin": { + "node-red-admin": "node-red-admin.js" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@node-rs/bcrypt": "1.10.4" + } + }, + "node_modules/node-red-admin/node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/node-red-node-test-helper": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/node-red-node-test-helper/-/node-red-node-test-helper-0.3.4.tgz", + "integrity": "sha512-OFXGEkKZpLkgoijAgpUIjzn5RF8QnbwPX9RjfI2LWXq1ACfeXkXcW0i1ioiphrokdE3MiWQJtH5omLNnSNdyaQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "body-parser": "^1.20.2", + "express": "^4.19.2", + "semver": "^7.5.4", + "should": "^13.2.3", + "should-sinon": "^0.0.6", + "sinon": "^11.1.2", + "stoppable": "^1.1.0", + "supertest": "^7.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/node-red-node-test-helper/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/node-red-node-test-helper/node_modules/formidable": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-3.5.1.tgz", + "integrity": "sha512-WJWKelbRHN41m5dumb0/k8TeAx7Id/y3a+Z7QfhxP/htI9Js5zYaEDtG8uMgG0vM0lOlqnmjE99/kfpOYi/0Og==", + "dev": true, + "license": "MIT", + "dependencies": { + "dezalgo": "^1.0.4", + "hexoid": "^1.0.0", + "once": "^1.4.0" + }, + "funding": { + "url": "https://ko-fi.com/tunnckoCore/commissions" + } + }, + "node_modules/node-red-node-test-helper/node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/node-red-node-test-helper/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-red-node-test-helper/node_modules/superagent": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-9.0.2.tgz", + "integrity": "sha512-xuW7dzkUpcJq7QnhOsnNUgtYp3xRwpt2F7abdRYIpCsAt0hhUqia0EdxyXZQQpNmGtsCzYHryaKSV3q3GJnq7w==", + "dev": true, + "license": "MIT", + "dependencies": { + "component-emitter": "^1.3.0", + "cookiejar": "^2.1.4", + "debug": "^4.3.4", + "fast-safe-stringify": "^2.1.1", + "form-data": "^4.0.0", + "formidable": "^3.5.1", + "methods": "^1.1.2", + "mime": "2.6.0", + "qs": "^6.11.0" + }, + "engines": { + "node": ">=14.18.0" + } + }, + "node_modules/node-red-node-test-helper/node_modules/supertest": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/supertest/-/supertest-7.0.0.tgz", + "integrity": "sha512-qlsr7fIC0lSddmA3tzojvzubYxvlGtzumcdHgPwbFWMISQwL22MhM2Y3LNt+6w9Yyx7559VW5ab70dgphm8qQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "methods": "^1.1.2", + "superagent": "^9.0.1" + }, + "engines": { + "node": ">=14.18.0" + } + }, + "node_modules/node-watch": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/node-watch/-/node-watch-0.7.4.tgz", + "integrity": "sha512-RinNxoz4W1cep1b928fuFhvAQ5ag/+1UlMDV7rbyGthBIgsiEouS4kvRayvvboxii4m8eolKOIBo3OjDqbc+uQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/nodemon": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.20.tgz", + "integrity": "sha512-Km2mWHKKY5GzRg6i1j5OxOHQtuvVsgskLfigG25yTtbyfRGn/GNvIbRyOf1PSCKJ2aT/58TiuUsuOU5UToVViw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chokidar": "^3.5.2", + "debug": "^3.2.7", + "ignore-by-default": "^1.0.1", + "minimatch": "^3.1.2", + "pstree.remy": "^1.1.8", + "semver": "^5.7.1", + "simple-update-notifier": "^1.0.7", + "supports-color": "^5.5.0", + "touch": "^3.1.0", + "undefsafe": "^2.0.5" + }, + "bin": { + "nodemon": "bin/nodemon.js" + }, + "engines": { + "node": ">=8.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nodemon" + } + }, + "node_modules/nodemon/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/nodemon/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/nodemon/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/nodemon/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/nodemon/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/nodemon/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/non-layered-tidy-tree-layout": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/non-layered-tidy-tree-layout/-/non-layered-tidy-tree-layout-2.0.2.tgz", + "integrity": "sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw==", + "dev": true, + "license": "MIT" + }, + "node_modules/nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "license": "ISC", + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": ">=6" + } + }, + "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/normalize-package-data/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/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.1.tgz", + "integrity": "sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==", + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/number-allocator": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/number-allocator/-/number-allocator-1.0.14.tgz", + "integrity": "sha512-OrL44UTVAvkKdOdRQZIJpLkAdjXGTRda052sN4sO77bKEzYYqWKMBjQvrJFzqygI99gL6Z4u2xctPW1tB8ErvA==", + "license": "MIT", + "dependencies": { + "debug": "^4.3.1", + "js-sdsl": "4.3.0" + } + }, + "node_modules/number-allocator/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/number-allocator/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/nyc": { + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/nyc/-/nyc-14.1.1.tgz", + "integrity": "sha512-OI0vm6ZGUnoGZv/tLdZ2esSVzDwUC88SNs+6JoSOMVxA+gKMB8Tk7jBwgemLx4O40lhhvZCVw1C+OYLOBOPXWw==", + "dev": true, + "license": "ISC", + "dependencies": { + "archy": "^1.0.0", + "caching-transform": "^3.0.2", + "convert-source-map": "^1.6.0", + "cp-file": "^6.2.0", + "find-cache-dir": "^2.1.0", + "find-up": "^3.0.0", + "foreground-child": "^1.5.6", + "glob": "^7.1.3", + "istanbul-lib-coverage": "^2.0.5", + "istanbul-lib-hook": "^2.0.7", + "istanbul-lib-instrument": "^3.3.0", + "istanbul-lib-report": "^2.0.8", + "istanbul-lib-source-maps": "^3.0.6", + "istanbul-reports": "^2.2.4", + "js-yaml": "^3.13.1", + "make-dir": "^2.1.0", + "merge-source-map": "^1.1.0", + "resolve-from": "^4.0.0", + "rimraf": "^2.6.3", + "signal-exit": "^3.0.2", + "spawn-wrap": "^1.4.2", + "test-exclude": "^5.2.3", + "uuid": "^3.3.2", + "yargs": "^13.2.2", + "yargs-parser": "^13.0.0" + }, + "bin": { + "nyc": "bin/nyc.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/nyc/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/nyc/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/nyc/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/nyc/node_modules/cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "node_modules/nyc/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/nyc/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/nyc/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/nyc/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true, + "license": "MIT" + }, + "node_modules/nyc/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/nyc/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/nyc/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/nyc/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/nyc/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/nyc/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/nyc/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/nyc/node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/nyc/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/nyc/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/nyc/node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "dev": true, + "license": "MIT", + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/nyc/node_modules/wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/nyc/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/nyc/node_modules/yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^5.0.0", + "find-up": "^3.0.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": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "node_modules/nyc/node_modules/yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "license": "ISC", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "node_modules/oauth2orize": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/oauth2orize/-/oauth2orize-1.12.0.tgz", + "integrity": "sha512-j4XtFDQUBsvUHPjUmvmNDUDMYed2MphMIJBhyxVVe8hGCjkuYnjIsW+D9qk8c5ciXRdnk6x6tEbiO6PLeOZdCQ==", + "license": "MIT", + "dependencies": { + "debug": "2.x.x", + "uid2": "0.0.x", + "utils-merge": "1.x.x" + }, + "engines": { + "node": ">= 0.4.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/jaredhanson" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-get": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/object-get/-/object-get-2.1.1.tgz", + "integrity": "sha512-7n4IpLMzGGcLEMiQKsNR7vCe+N5E9LORFrtNUVy4sO3dj9a3HedZCxEL2T7QuLhcHN1NBuBsMOKaOsAYI9IIvg==", + "dev": true, + "license": "MIT" + }, + "node_modules/object-inspect": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", + "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-to-spawn-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/object-to-spawn-args/-/object-to-spawn-args-2.0.1.tgz", + "integrity": "sha512-6FuKFQ39cOID+BMZ3QaphcC8Y4cw6LXBLyIgPU+OhIYwviJamPAn+4mITapnSBQrejB+NNp+FMskhD8Cq+Ys3w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/object.defaults": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", + "integrity": "sha512-c/K0mw/F11k4dEUBMW8naXUuBuhxRCfG7W+yFy8EcijU/rSmazOUd1XAEEe6bC0OuXY4HUKjTJv7xbxIMqdxrA==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-each": "^1.0.1", + "array-slice": "^1.0.0", + "for-own": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", + "integrity": "sha512-3+mAJu2PLfnSVGHwIWubpOFLscJANBKuB/6A4CxBstc4aqwQY0FWcsppuy4jU5GSB95yES5JHSI+33AWuS4k6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/opted": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/opted/-/opted-1.0.2.tgz", + "integrity": "sha512-uEvunmdmKcSFiBSmnY2E9E/HbghO5yc1J0yNmq7T18YkAJeWNlo33e6VYKkRK4eudVrpvvlLdemAeAuL6rZxjQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash": "^4.17.4" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "deprecated": "This package is no longer supported.", + "dev": true, + "license": "ISC", + "dependencies": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "node_modules/p-cancelable": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", + "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==", + "license": "MIT", + "engines": { + "node": ">=12.20" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "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-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-3.0.0.tgz", + "integrity": "sha512-lOtmukMDVvtkL84rJHI7dpTYq+0rli8N2wlnqUcBuDWCfVhRUfOmnR9SsoHFMLpACvEV60dX7rd0rFaYDZI+FA==", + "dev": true, + "license": "ISC", + "dependencies": { + "graceful-fs": "^4.1.15", + "hasha": "^3.0.0", + "lodash.flattendeep": "^4.4.0", + "release-zalgo": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "license": "BlueOak-1.0.0" + }, + "node_modules/pad-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pad-stream/-/pad-stream-2.0.0.tgz", + "integrity": "sha512-3QeQw19K48BQzUGZ9dEf/slX5Jbfy5ZeBTma2XICketO7kFNK7omF00riVcecOKN+DSiJZcK2em1eYKaVOeXKg==", + "dev": true, + "license": "MIT", + "dependencies": { + "pumpify": "^1.3.3", + "split2": "^2.1.1", + "through2": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pad-stream/node_modules/split2": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-2.2.0.tgz", + "integrity": "sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw==", + "dev": true, + "license": "ISC", + "dependencies": { + "through2": "^2.0.2" + } + }, + "node_modules/parse-filepath": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", + "integrity": "sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-absolute": "^1.0.0", + "map-cache": "^0.2.0", + "path-root": "^0.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "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/parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "license": "MIT" + }, + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", + "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", + "license": "MIT", + "dependencies": { + "parse5": "^6.0.1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/passport": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/passport/-/passport-0.7.0.tgz", + "integrity": "sha512-cPLl+qZpSc+ireUvt+IzqbED1cHHkDoVYMo30jbJIdOOjQ1MQYZBPiNvmi8UM6lJuOpTPXJGZQk0DtC4y61MYQ==", + "license": "MIT", + "dependencies": { + "passport-strategy": "1.x.x", + "pause": "0.0.1", + "utils-merge": "^1.0.1" + }, + "engines": { + "node": ">= 0.4.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/jaredhanson" + } + }, + "node_modules/passport-http-bearer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/passport-http-bearer/-/passport-http-bearer-1.0.1.tgz", + "integrity": "sha512-SELQM+dOTuMigr9yu8Wo4Fm3ciFfkMq5h/ZQ8ffi4ELgZrX1xh9PlglqZdcUZ1upzJD/whVyt+YWF62s3U6Ipw==", + "dependencies": { + "passport-strategy": "1.x.x" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/passport-oauth2-client-password": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/passport-oauth2-client-password/-/passport-oauth2-client-password-0.1.2.tgz", + "integrity": "sha512-GHQH4UtaEZvCLulAxGKHYoSsPRoPRmGsdmaZtMh5nmz80yMLQbdMA9Bg2sp4/UW3PIxJH/143hVjPTiXaNngTQ==", + "dependencies": { + "passport-strategy": "1.x.x" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/passport-strategy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz", + "integrity": "sha512-CB97UUvDKJde2V0KDWWB3lyf6PC3FaZP7YxZ2G8OAtn9p4HI9j9JLP9qjOGZFvyl8uwNT8qM+hGnz/n16NI7oA==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-root": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", + "integrity": "sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-root-regex": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-root-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", + "integrity": "sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "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/path-scurry/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==", + "license": "ISC" + }, + "node_modules/path-to-regexp": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz", + "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==", + "license": "MIT" + }, + "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/path-type/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/pause": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz", + "integrity": "sha512-KG8UEiEVkR3wGEb4m5yZkVCzigAD+cVEJck2CzYZO37ZGJfctvVptVO192MwrtPhzONn6go8ylnOdMhKqi4nfg==" + }, + "node_modules/picocolors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir/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/pkg-dir/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir/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/pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "license": "MIT", + "engines": { + "node": ">= 0.6.0" + } + }, + "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==", + "license": "MIT" + }, + "node_modules/proxy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/proxy/-/proxy-1.0.2.tgz", + "integrity": "sha512-KNac2ueWRpjbUh77OAFPZuNdfEqNynm9DD4xHT14CccGpW8wKZwEkN0yjlb7X9G9Z9F55N0Q+1z+WfgAhwYdzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "args": "5.0.1", + "basic-auth-parser": "0.0.2", + "debug": "^4.1.1" + }, + "bin": { + "proxy": "bin/proxy.js" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT" + }, + "node_modules/proxy/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/proxy/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", + "license": "ISC" + }, + "node_modules/pstree.remy": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", + "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==", + "dev": true, + "license": "MIT" + }, + "node_modules/pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/punycode.js": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz", + "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/random-bytes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", + "integrity": "sha512-iv7LhNVO047HzYR3InF6pUcUsPQiHTM1Qal51DcGSuZFBil1aBBWG5eHPNek7bvILMaYJ/8RU1e8w1AMdHmLQQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/read/-/read-3.0.1.tgz", + "integrity": "sha512-SLBrDU/Srs/9EoWhU5GdbAoxG1GzpQHo/6qiGItaoLJ1thmYpcNIM1qISEUvyHBzfGlWIyd6p2DNi1oV1VmAuw==", + "license": "ISC", + "dependencies": { + "mute-stream": "^1.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.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": "4.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", + "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^3.0.0", + "read-pkg": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/read-pkg-up/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/read-pkg-up/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/read-pkg-up/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "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/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdir-glob": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz", + "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.1.0" + } + }, + "node_modules/readdir-glob/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/readdir-glob/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/rechoir": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", + "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve": "^1.9.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/reduce-flatten": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-3.0.1.tgz", + "integrity": "sha512-bYo+97BmUUOzg09XwfkwALt4PQH1M5L0wzKerBt6WLm3Fhdd43mMS89HiT1B9pJIqko/6lWx3OnV4J9f2Kqp5Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/reduce-unique": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/reduce-unique/-/reduce-unique-2.0.1.tgz", + "integrity": "sha512-x4jH/8L1eyZGR785WY+ePtyMNhycl1N2XOLxhCbzZFaqF4AXjLzqSxa2UHgJ2ZVR/HHyPOvl1L7xRnW8ye5MdA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/reduce-without": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/reduce-without/-/reduce-without-1.0.1.tgz", + "integrity": "sha512-zQv5y/cf85sxvdrKPlfcRzlDn/OqKFThNimYmsS3flmkioKvkUGn2Qg9cJVoQiEvdxFGLE0MQER/9fZ9sUqdxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "test-value": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/reduce-without/node_modules/array-back": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz", + "integrity": "sha512-1WxbZvrmyhkNoeYcizokbmh5oiOCIfyvGtcqbK3Ls1v1fKcquzxnQSceOx6tzq7jmai2kFLWIpGND2cLhH6TPw==", + "dev": true, + "license": "MIT", + "dependencies": { + "typical": "^2.6.0" + }, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/reduce-without/node_modules/test-value": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/test-value/-/test-value-2.1.0.tgz", + "integrity": "sha512-+1epbAxtKeXttkGFMTX9H42oqzOTufR1ceCF+GYA5aOmvaPq9wd4PUS8329fn2RRLGNeUkgRLnVpycjx8DsO2w==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-back": "^1.0.3", + "typical": "^2.6.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", + "license": "MIT" + }, + "node_modules/reinterval": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reinterval/-/reinterval-1.1.0.tgz", + "integrity": "sha512-QIRet3SYrGp0HUHO88jVskiG6seqUGC5iAG7AwI/BV4ypGcuqk9Du6YQBUOUqm9c8pw1eyLoIaONifRua1lsEQ==", + "license": "MIT" + }, + "node_modules/release-zalgo": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", + "integrity": "sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==", + "dev": true, + "license": "ISC", + "dependencies": { + "es6-error": "^4.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "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", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "license": "MIT", + "engines": { + "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/requizzle": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.4.tgz", + "integrity": "sha512-JRrFk1D4OQ4SqovXOgdav+K8EAhSB/LJZqCz8tbX0KObcdeM15Ss59ozWMBWmmINMagCwmqn4ZNryUGpBsl6Jw==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash": "^4.17.21" + } + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-alpn": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", + "license": "MIT" + }, + "node_modules/resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/responselike": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz", + "integrity": "sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==", + "license": "MIT", + "dependencies": { + "lowercase-keys": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "license": "MIT" + }, + "node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/robust-predicates": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz", + "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==", + "dev": true, + "license": "Unlicense" + }, + "node_modules/rw": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", + "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/sade": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", + "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", + "dev": true, + "license": "MIT", + "dependencies": { + "mri": "^1.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "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==", + "license": "MIT" + }, + "node_modules/safe-json-parse": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/safe-json-parse/-/safe-json-parse-1.0.1.tgz", + "integrity": "sha512-o0JmTu17WGUaUOHa1l0FPGXKBfijbxK6qoHzlkihsDXxzBHvJcA7zgviKR92Xs841rX9pK16unfphLq0/KqX7A==", + "dev": true + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, + "node_modules/sass": { + "version": "1.62.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.62.1.tgz", + "integrity": "sha512-NHpxIzN29MXvWiuswfc1W3I0N8SXBd8UR26WntmDlRYf0bSADnwnOjsyMZ3lMezSlArD33Vs3YFhp7dWvL770A==", + "dev": true, + "license": "MIT", + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sax": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", + "license": "ISC" + }, + "node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/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==", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "license": "ISC" + }, + "node_modules/send": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/send/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve-static": { + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", + "license": "MIT", + "dependencies": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.19.0" + }, + "engines": { + "node": ">= 0.8.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", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/shelljs": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.5.3.tgz", + "integrity": "sha512-C2FisSSW8S6TIYHHiMHN0NqzdjWfTekdMpA2FJTbRWnQMLO1RRIXEB9eVZYOlofYmjZA7fY3ChoFu09MeI3wlQ==", + "dev": true, + "license": "BSD*", + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/should": { + "version": "13.2.3", + "resolved": "https://registry.npmjs.org/should/-/should-13.2.3.tgz", + "integrity": "sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "should-equal": "^2.0.0", + "should-format": "^3.0.3", + "should-type": "^1.4.0", + "should-type-adaptors": "^1.0.1", + "should-util": "^1.0.0" + } + }, + "node_modules/should-equal": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/should-equal/-/should-equal-2.0.0.tgz", + "integrity": "sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "should-type": "^1.4.0" + } + }, + "node_modules/should-format": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/should-format/-/should-format-3.0.3.tgz", + "integrity": "sha512-hZ58adtulAk0gKtua7QxevgUaXTTXxIi8t41L3zo9AHvjXO1/7sdLECuHeIN2SRtYXpNkmhoUP2pdeWgricQ+Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "should-type": "^1.3.0", + "should-type-adaptors": "^1.0.1" + } + }, + "node_modules/should-sinon": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/should-sinon/-/should-sinon-0.0.6.tgz", + "integrity": "sha512-ScBOH5uW5QVFaONmUnIXANSR6z5B8IKzEmBP3HE5sPOCDuZ88oTMdUdnKoCVQdLcCIrRrhRLPS5YT+7H40a04g==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "should": ">= 8.x" + } + }, + "node_modules/should-type": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/should-type/-/should-type-1.4.0.tgz", + "integrity": "sha512-MdAsTu3n25yDbIe1NeN69G4n6mUnJGtSJHygX3+oN0ZbO3DTiATnf7XnYJdGT42JCXurTb1JI0qOBR65shvhPQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/should-type-adaptors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/should-type-adaptors/-/should-type-adaptors-1.1.0.tgz", + "integrity": "sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==", + "dev": true, + "license": "MIT", + "dependencies": { + "should-type": "^1.3.0", + "should-util": "^1.0.0" + } + }, + "node_modules/should-util": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/should-util/-/should-util-1.0.1.tgz", + "integrity": "sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g==", + "dev": true, + "license": "MIT" + }, + "node_modules/side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/simple-cli": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/simple-cli/-/simple-cli-5.0.5.tgz", + "integrity": "sha512-Er2FhsIayL/sktxg6fOCdNQJBTXhlf/fswNFsdmks88xsHzQ/IXGwxYgSSKeXBq4yqn83/iD4Sg8yjagwysUgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "async": "^3.1.0", + "chalk": "^2.4.2", + "cross-spawn": "^7.0.0", + "key-list": "^0.1.4", + "lodash": "^4.17.15", + "opted": "^1.0.0" + } + }, + "node_modules/simple-cli/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/simple-cli/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/simple-cli/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/simple-cli/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/simple-cli/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/simple-cli/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/simple-cli/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/simple-update-notifier": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.1.0.tgz", + "integrity": "sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "~7.0.0" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/simple-update-notifier/node_modules/semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/sinon": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-11.1.2.tgz", + "integrity": "sha512-59237HChms4kg7/sXhiRcUzdSkKuydDeTiamT/jesUVHshBgL8XAmhgFo0GfK6RruMDM/iRSij1EybmMog9cJw==", + "deprecated": "16.1.1", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^1.8.3", + "@sinonjs/fake-timers": "^7.1.2", + "@sinonjs/samsam": "^6.0.2", + "diff": "^5.0.0", + "nise": "^5.1.0", + "supports-color": "^7.2.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/sinon" + } + }, + "node_modules/sort-array": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/sort-array/-/sort-array-5.0.0.tgz", + "integrity": "sha512-Sg9MzajSGprcSrMIxsXyNT0e0JB47RJRfJspC+7co4Z5BdNsNl8FmWI+lXEpyKq+vkMG6pHgAhqyCO+bkDTfFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-back": "^6.2.2", + "typical": "^7.1.1" + }, + "engines": { + "node": ">=12.17" + }, + "peerDependencies": { + "@75lb/nature": "^0.1.1" + }, + "peerDependenciesMeta": { + "@75lb/nature": { + "optional": true + } + } + }, + "node_modules/sort-array/node_modules/typical": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-7.2.0.tgz", + "integrity": "sha512-W1+HdVRUl8fS3MZ9ogD51GOb46xMmhAZzR0WPw5jcgIZQJVvkddYzAl4YTU6g5w33Y1iRQLdIi2/1jhi2RNL0g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.17" + } + }, + "node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/spawn-wrap": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-1.4.3.tgz", + "integrity": "sha512-IgB8md0QW/+tWqcavuFgKYR/qIRvJkRLPJDFaoXtLLUaVcCDK0+HeFTkmQHj3eprcYhc+gOl0aEA1w7qZlYezw==", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^1.5.6", + "mkdirp": "^0.5.0", + "os-homedir": "^1.0.1", + "rimraf": "^2.6.2", + "signal-exit": "^3.0.2", + "which": "^1.3.0" + } + }, + "node_modules/spawn-wrap/node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/spawn-wrap/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "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.20", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.20.tgz", + "integrity": "sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/split2": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", + "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", + "license": "ISC", + "engines": { + "node": ">= 10.x" + } + }, + "node_modules/sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/stoppable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stoppable/-/stoppable-1.1.0.tgz", + "integrity": "sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4", + "npm": ">=6" + } + }, + "node_modules/stream-buffers": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-3.0.3.tgz", + "integrity": "sha512-pqMqwQCso0PBJt2PQmDO0cFj0lyqmiwOMiMSkVtRokl7e+ZTRYgDHKnuZNbqjiJXgsg4nuqtD/zxuo9KqTp0Yw==", + "dev": true, + "license": "Unlicense", + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/stream-connect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/stream-connect/-/stream-connect-1.0.2.tgz", + "integrity": "sha512-68Kl+79cE0RGKemKkhxTSg8+6AGrqBt+cbZAXevg2iJ6Y3zX4JhA/sZeGzLpxW9cXhmqAcE7KnJCisUmIUfnFQ==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dev": true, + "license": "MIT", + "dependencies": { + "array-back": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stream-connect/node_modules/array-back": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz", + "integrity": "sha512-1WxbZvrmyhkNoeYcizokbmh5oiOCIfyvGtcqbK3Ls1v1fKcquzxnQSceOx6tzq7jmai2kFLWIpGND2cLhH6TPw==", + "dev": true, + "license": "MIT", + "dependencies": { + "typical": "^2.6.0" + }, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/stream-shift": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz", + "integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/stream-via": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/stream-via/-/stream-via-1.0.4.tgz", + "integrity": "sha512-DBp0lSvX5G9KGRDTkR/R+a29H+Wk2xItOF+MpZLLNDWbEV9tGPnqLPxHEYjmiz8xGtJHRIqmI+hCjmNzqoA4nQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", + "engines": { + "node": ">=10.0.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==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "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/string-template": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz", + "integrity": "sha512-Yptehjogou2xm4UJbxJ4CxgZx12HBfeystp0y3x7s4Dj32ltVVG1Gg8YhKjHZkHicuKpZX/ffilA8505VbUbpw==", + "dev": true + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "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-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stylis": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.4.tgz", + "integrity": "sha512-osIBl6BGUmSfDkyH2mB7EFvCJntXDrLhKjHTRj/rK6xLH0yuPrHULDRQzKokSOD4VoorhtKpfcfW1GAntu8now==", + "dev": true, + "license": "MIT" + }, + "node_modules/superagent": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-8.1.2.tgz", + "integrity": "sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==", + "deprecated": "Please upgrade to v9.0.0+ as we have fixed a public vulnerability with formidable dependency. Note that v9.0.0+ requires Node.js v14.18.0+. See https://github.com/ladjs/superagent/pull/1800 for insight. This project is supported and maintained by the team at Forward Email @ https://forwardemail.net", + "dev": true, + "license": "MIT", + "dependencies": { + "component-emitter": "^1.3.0", + "cookiejar": "^2.1.4", + "debug": "^4.3.4", + "fast-safe-stringify": "^2.1.1", + "form-data": "^4.0.0", + "formidable": "^2.1.2", + "methods": "^1.1.2", + "mime": "2.6.0", + "qs": "^6.11.0", + "semver": "^7.3.8" + }, + "engines": { + "node": ">=6.4.0 <13 || >=14" + } + }, + "node_modules/superagent/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/superagent/node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/superagent/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/supertest": { + "version": "6.3.3", + "resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.3.tgz", + "integrity": "sha512-EMCG6G8gDu5qEqRQ3JjjPs6+FYT1a7Hv5ApHvtSghmOFJYtsU5S+pSb6Y2EUeCEY3CmEL3mmQ8YWlPOzQomabA==", + "dev": true, + "license": "MIT", + "dependencies": { + "methods": "^1.1.2", + "superagent": "^8.0.5" + }, + "engines": { + "node": ">=6.4.0" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/table-layout": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-0.4.5.tgz", + "integrity": "sha512-zTvf0mcggrGeTe/2jJ6ECkJHAQPIYEwDoqsiqBjI24mvRmQbInK5jq33fyypaCBxX08hMkfmdOqj6haT33EqWw==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-back": "^2.0.0", + "deep-extend": "~0.6.0", + "lodash.padend": "^4.6.1", + "typical": "^2.6.1", + "wordwrapjs": "^3.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/table-layout/node_modules/array-back": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz", + "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "typical": "^2.6.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/taffydb": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.6.2.tgz", + "integrity": "sha512-y3JaeRSplks6NYQuCOj3ZFMO3j60rTwbuKCvZxsAraGYH2epusatvZ0baZYA01WsGqJBq/Dl6vOrMUJqyMj8kA==", + "dev": true + }, + "node_modules/tar": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.2.0.tgz", + "integrity": "sha512-hctwP0Nb4AB60bj8WQgRYaMOuJYRAPMGiQUAotms5igN8ppfQM+IvjQ5HcKu1MaZh2Wy2KWVTe563Yj8dfc14w==", + "license": "ISC", + "dependencies": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.0", + "minizlib": "^3.0.1", + "mkdirp": "^3.0.1", + "yallist": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "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/tar-stream/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/tar-stream/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/tar/node_modules/mkdirp": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", + "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", + "license": "MIT", + "bin": { + "mkdirp": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "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==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/temp-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/temp-path/-/temp-path-1.0.0.tgz", + "integrity": "sha512-TvmyH7kC6ZVTYkqCODjJIbgvu0FKiwQpZ4D1aknE7xpcDf/qEOB8KZEK5ef2pfbVoiBhNWs3yx4y+ESMtNYmlg==", + "dev": true, + "license": "MIT" + }, + "node_modules/test-exclude": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz", + "integrity": "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3", + "minimatch": "^3.0.4", + "read-pkg-up": "^4.0.0", + "require-main-filename": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/test-value": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/test-value/-/test-value-3.0.0.tgz", + "integrity": "sha512-sVACdAWcZkSU9x7AOmJo5TqE+GyNJknHaHsMrR6ZnhjVlVN9Yx6FjHrsKZ3BjIpPCT68zYesPWkakrNupwfOTQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-back": "^2.0.0", + "typical": "^2.6.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/test-value/node_modules/array-back": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz", + "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "typical": "^2.6.1" + }, + "engines": { + "node": ">=4" + } + }, + "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/through2/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/through2/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/tiny-lr": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-1.1.1.tgz", + "integrity": "sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA==", + "dev": true, + "license": "MIT", + "dependencies": { + "body": "^5.1.0", + "debug": "^3.1.0", + "faye-websocket": "~0.10.0", + "livereload-js": "^2.3.0", + "object-assign": "^4.1.0", + "qs": "^6.4.0" + } + }, + "node_modules/tiny-lr/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/tiny-lr/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/tldts": { + "version": "6.1.50", + "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.50.tgz", + "integrity": "sha512-q9GOap6q3KCsLMdOjXhWU5jVZ8/1dIib898JBRLsN+tBhENpBDcAVQbE0epADOjw11FhQQy9AcbqKGBQPUfTQA==", + "license": "MIT", + "dependencies": { + "tldts-core": "^6.1.50" + }, + "bin": { + "tldts": "bin/cli.js" + } + }, + "node_modules/tldts-core": { + "version": "6.1.50", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.50.tgz", + "integrity": "sha512-na2EcZqmdA2iV9zHV7OHQDxxdciEpxrjbkp+aHmZgnZKHzoElLajP59np5/4+sare9fQBfixgvXKx8ev1d7ytw==", + "license": "MIT" + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/touch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.1.tgz", + "integrity": "sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==", + "dev": true, + "license": "ISC", + "bin": { + "nodetouch": "bin/nodetouch.js" + } + }, + "node_modules/tough-cookie": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.0.0.tgz", + "integrity": "sha512-FRKsF7cz96xIIeMZ82ehjC3xW2E+O2+v11udrDYewUbszngYhsGa8z6YUMMzO9QJZzzyd0nGGXnML/TReX6W8Q==", + "license": "BSD-3-Clause", + "dependencies": { + "tldts": "^6.1.32" + }, + "engines": { + "node": ">=16" + } + }, + "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/ts-dedent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz", + "integrity": "sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.10" + } + }, + "node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/type-is/node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "license": "MIT" + }, + "node_modules/typical": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz", + "integrity": "sha512-ofhi8kjIje6npGozTip9Fr8iecmYfEbS06i0JnIg+rh51KakryWF4+jX8lLKZVhy6N+ID45WYSFCxPOdTWCzNg==", + "dev": true, + "license": "MIT" + }, + "node_modules/uc.micro": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", + "dev": true, + "license": "MIT" + }, + "node_modules/uglify-js": { + "version": "3.17.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", + "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", + "license": "BSD-2-Clause", + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/uid-safe": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz", + "integrity": "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==", + "license": "MIT", + "dependencies": { + "random-bytes": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/uid2": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/uid2/-/uid2-0.0.4.tgz", + "integrity": "sha512-IevTus0SbGwQzYh3+fRsAMTVVPOoIVufzacXcHPmdlle1jUpq7BRL+mw3dgeLanvGZdwwbWhRV6XrcFNdBmjWA==", + "license": "MIT" + }, + "node_modules/unc-path-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", + "integrity": "sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/undefsafe": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", + "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==", + "dev": true, + "license": "MIT" + }, + "node_modules/underscore": { + "version": "1.13.7", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.7.tgz", + "integrity": "sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g==", + "dev": true, + "license": "MIT" + }, + "node_modules/underscore.string": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.6.tgz", + "integrity": "sha512-VoC83HWXmCrF6rgkyxS9GHv8W9Q5nhMKho+OadDJGzL2oDYbYEppBaCMH6pFlwLeqj2QS+hhkw2kpXkSdD1JxQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "sprintf-js": "^1.1.1", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": "*" + } + }, + "node_modules/undici-types": { + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", + "license": "MIT" + }, + "node_modules/unist-util-stringify-position": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", + "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/uri-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/uri-path/-/uri-path-1.0.0.tgz", + "integrity": "sha512-8pMuAn4KacYdGMkFaoQARicp4HSw24/DHOVKWqVRJ8LhhAwPPFpdGvdL9184JVmUwe7vz7Z9n6IqI6t5n2ELdg==", + "dev": true, + "license": "WTFPL OR MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/uvu": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/uvu/-/uvu-0.5.6.tgz", + "integrity": "sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "dequal": "^2.0.0", + "diff": "^5.0.0", + "kleur": "^4.0.3", + "sade": "^1.7.3" + }, + "bin": { + "uvu": "bin.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/v8flags": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz", + "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==", + "dev": true, + "license": "MIT", + "dependencies": { + "homedir-polyfill": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "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/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/walk-back": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/walk-back/-/walk-back-5.1.1.tgz", + "integrity": "sha512-e/FRLDVdZQWFrAzU6Hdvpm7D7m2ina833gIKLptQykRK49mmCYHLHq7UqjPDbxbKLZkTkW1rFqbengdE3sLfdw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.17" + } + }, + "node_modules/web-worker": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/web-worker/-/web-worker-1.3.0.tgz", + "integrity": "sha512-BSR9wyRsy/KOValMgd5kMyr3JzpdeoR9KVId8u5GVlTTAtNChlsE4yTxeY7zMdNSyOmoKBv8NH2qeRY9Tg+IaA==", + "dev": true, + "license": "Apache-2.0" + }, + "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-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=0.8.0" + } + }, + "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", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "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/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/wordwrapjs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-3.0.0.tgz", + "integrity": "sha512-mO8XtqyPvykVCsrwj5MlOVWvSnCdT+C+QVbm6blradR7JExAhbkZ7hZ9A+9NUtwzSqrlUo9a67ws0EiILrvRpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "reduce-flatten": "^1.0.1", + "typical": "^2.6.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/wordwrapjs/node_modules/reduce-flatten": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-1.0.1.tgz", + "integrity": "sha512-j5WfFJfc9CoXv/WbwVLHq74i/hdTUpy+iNC534LxczMRP67vJeK3V9JOdnL0N1cIRbn9mYhE2yVjvvKXDxvNXQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/worker-timers": { + "version": "7.1.8", + "resolved": "https://registry.npmjs.org/worker-timers/-/worker-timers-7.1.8.tgz", + "integrity": "sha512-R54psRKYVLuzff7c1OTFcq/4Hue5Vlz4bFtNEIarpSiCYhpifHU3aIQI29S84o1j87ePCYqbmEJPqwBTf+3sfw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.24.5", + "tslib": "^2.6.2", + "worker-timers-broker": "^6.1.8", + "worker-timers-worker": "^7.0.71" + } + }, + "node_modules/worker-timers-broker": { + "version": "6.1.8", + "resolved": "https://registry.npmjs.org/worker-timers-broker/-/worker-timers-broker-6.1.8.tgz", + "integrity": "sha512-FUCJu9jlK3A8WqLTKXM9E6kAmI/dR1vAJ8dHYLMisLNB/n3GuaFIjJ7pn16ZcD1zCOf7P6H62lWIEBi+yz/zQQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.24.5", + "fast-unique-numbers": "^8.0.13", + "tslib": "^2.6.2", + "worker-timers-worker": "^7.0.71" + } + }, + "node_modules/worker-timers-worker": { + "version": "7.0.71", + "resolved": "https://registry.npmjs.org/worker-timers-worker/-/worker-timers-worker-7.0.71.tgz", + "integrity": "sha512-ks/5YKwZsto1c2vmljroppOKCivB/ma97g9y77MAAz2TBBjPPgpoOiS1qYQKIgvGTr2QYPT3XhJWIB6Rj2MVPQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.24.5", + "tslib": "^2.6.2" + } + }, + "node_modules/workerpool": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.0.tgz", + "integrity": "sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A==", + "dev": true, + "license": "Apache-2.0" + }, + "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/wrap-ansi-cjs": { + "name": "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==", + "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", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "node_modules/ws": { + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "license": "MIT", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml2js": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.2.tgz", + "integrity": "sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==", + "license": "MIT", + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "license": "MIT", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/xmlcreate": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-2.0.4.tgz", + "integrity": "sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg==", + "dev": true, + "license": "Apache-2.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==", + "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/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", + "license": "ISC" + }, + "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/yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-unparser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "dev": true, + "license": "MIT", + "dependencies": { + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-unparser/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zip-stream": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.1.tgz", + "integrity": "sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "archiver-utils": "^3.0.4", + "compress-commons": "^4.1.2", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/zip-stream/node_modules/archiver-utils": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-3.0.4.tgz", + "integrity": "sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw==", + "dev": true, + "license": "MIT", + "dependencies": { + "glob": "^7.2.3", + "graceful-fs": "^4.2.0", + "lazystream": "^1.0.0", + "lodash.defaults": "^4.2.0", + "lodash.difference": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.union": "^4.6.0", + "normalize-path": "^3.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/zip-stream/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "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/zip-stream/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + } + } +} diff --git a/pkgs/by-name/no/node-red/package.nix b/pkgs/by-name/no/node-red/package.nix new file mode 100644 index 000000000000..d419e1b407ba --- /dev/null +++ b/pkgs/by-name/no/node-red/package.nix @@ -0,0 +1,50 @@ +{ + buildNpmPackage, + fetchFromGitHub, + jq, + lib, + nixosTests, +}: + +buildNpmPackage rec { + pname = "node-red"; + version = "4.0.3"; + + src = fetchFromGitHub { + owner = "node-red"; + repo = "node-red"; + rev = "refs/tags/${version}"; + hash = "sha256-AiLGqpEUqvWpI+7cL7ZygT2mSCVt7zCUwEJXvRaiGT8="; + }; + + npmDepsHash = "sha256-ipUhco5Z+x2FYqLPdgMYJk4eXrIqn1BHidaYXXgujis="; + + postPatch = + let + packageDir = "packages/node_modules/node-red"; + in + '' + ln -s ${./package-lock.json} package-lock.json + + ${lib.getExe jq} '. += {"bin": {"node-red": "${packageDir}/red.js", "node-red-pi": "${packageDir}/bin/node-red-pi"}}' package.json > package.json.tmp + mv package.json.tmp package.json + ''; + + makeCacheWritable = true; + + passthru = { + tests = { + inherit (nixosTests) node-red; + }; + updateScript = ./update.sh; + }; + + meta = { + changelog = "https://github.com/node-red/node-red/blob/${src.rev}/CHANGELOG.md"; + description = "Low-code programming for event-driven applications"; + homepage = "https://nodered.org/"; + license = lib.licenses.asl20; + mainProgram = "node-red"; + maintainers = with lib.maintainers; [ matthewcroughan ]; + }; +} diff --git a/pkgs/by-name/no/node-red/update.sh b/pkgs/by-name/no/node-red/update.sh new file mode 100755 index 000000000000..b5fc888b20dd --- /dev/null +++ b/pkgs/by-name/no/node-red/update.sh @@ -0,0 +1,21 @@ +#! /usr/bin/env nix-shell +#! nix-shell -i bash -p curl nix-update prefetch-npm-deps nodejs jq gnused + +set -eu -o pipefail + +pushd "$(dirname "${BASH_SOURCE[0]}")" + +tag=$(curl -sfL ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} https://api.github.com/repos/node-red/node-red/releases/latest | jq -r .tag_name) + +curl -sfL ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} "https://github.com/node-red/node-red/raw/refs/tags/$tag/package.json" > package.json + +rm package-lock.json +npm i --package-lock-only + +npm_hash=$(prefetch-npm-deps package-lock.json) +sed -i "s|npmDepsHash = \".*\";|npmDepsHash = \"$npm_hash\";|" package.nix + +rm package.json +popd + +nix-update node-red --version "$tag" diff --git a/pkgs/by-name/no/normaliz/package.nix b/pkgs/by-name/no/normaliz/package.nix index bb090ef755cd..e7cca5184cbf 100644 --- a/pkgs/by-name/no/normaliz/package.nix +++ b/pkgs/by-name/no/normaliz/package.nix @@ -10,13 +10,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "normaliz"; - version = "3.10.3"; + version = "3.10.4"; src = fetchFromGitHub { owner = "normaliz"; repo = "normaliz"; rev = "v${finalAttrs.version}"; - hash = "sha256-9jN3EbYfWmir+pa4XuJpeT7CnQdhVU9pP8G11npIG00="; + hash = "sha256-qmbLgjAkLrW8rqFthK3H4n63zLVJ33Pe82V7yU1StOo="; }; buildInputs = [ diff --git a/pkgs/by-name/nv/nvrh/package.nix b/pkgs/by-name/nv/nvrh/package.nix new file mode 100644 index 000000000000..e6260be6eaa5 --- /dev/null +++ b/pkgs/by-name/nv/nvrh/package.nix @@ -0,0 +1,58 @@ +{ + lib, + buildGoModule, + fetchFromGitHub, + versionCheckHook, + nix-update-script, +}: + +buildGoModule rec { + pname = "nvrh"; + version = "0.1.8"; + + src = fetchFromGitHub { + owner = "mikew"; + repo = "nvrh"; + rev = "refs/tags/v${version}"; + hash = "sha256-a/TFSS4PeZWEYph4B8qDr4BJPY4CnHafvw07t1ytofo="; + }; + + postPatch = '' + substituteInPlace go.mod \ + --replace-fail "go 1.23.1" "go 1.22.7" + ''; + + preBuild = '' + cp manifest.json src/ + ''; + + vendorHash = "sha256-Ao2BrB6fUOw2uFziQWNKeVTZtIeoW0MP7aLyuI1J3ng="; + + ldflags = [ + "-s" + "-w" + ]; + + postInstall = '' + mv $out/bin/src $out/bin/nvrh + ''; + + nativeInstallCheckInputs = [ + versionCheckHook + ]; + versionCheckProgramArg = [ "--version" ]; + doInstallCheck = true; + + passthru = { + updateScript = nix-update-script { }; + }; + + meta = { + description = "Aims to be similar to VSCode Remote, but for Neovim"; + homepage = "https://github.com/mikew/nvrh"; + changelog = "https://github.com/mikew/nvrh/blob/${src.rev}/CHANGELOG.md"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ GaetanLepage ]; + mainProgram = "nvrh"; + }; +} diff --git a/pkgs/by-name/op/openapi-changes/package.nix b/pkgs/by-name/op/openapi-changes/package.nix index 8fe3904e744c..97d58a58bbc7 100644 --- a/pkgs/by-name/op/openapi-changes/package.nix +++ b/pkgs/by-name/op/openapi-changes/package.nix @@ -1,19 +1,19 @@ { lib -, buildGoModule +, buildGo123Module , fetchFromGitHub , git , makeWrapper }: -buildGoModule rec { +buildGo123Module rec { pname = "openapi-changes"; - version = "0.0.67"; + version = "0.0.68"; src = fetchFromGitHub { owner = "pb33f"; repo = pname; rev = "v${version}"; - hash = "sha256-SNH11z/0DeaYfGwBKW3iIeCVdlpcoZ1elIlgl+quWIY="; + hash = "sha256-v+THD4ZWnpeuxLfxaA4LUGdYV3X5rUKeCWq9HIub59Y="; }; # this test requires the `.git` of the project to be present @@ -27,7 +27,7 @@ buildGoModule rec { wrapProgram $out/bin/openapi-changes --prefix PATH : ${lib.makeBinPath [ git ]} ''; - vendorHash = "sha256-VtwIAP2+FZ6Vpexcb9O68WfJdsTMrJn5bDjkxDe69e4="; + vendorHash = "sha256-IiI+mSbJNEpM6rryGtAnGSOcY2RXnvqXTZmZ82L1HPc="; meta = with lib; { description = "World's sexiest OpenAPI breaking changes detector"; diff --git a/pkgs/by-name/op/openpgl/package.nix b/pkgs/by-name/op/openpgl/package.nix index db0ba62beb0f..556d9170df49 100644 --- a/pkgs/by-name/op/openpgl/package.nix +++ b/pkgs/by-name/op/openpgl/package.nix @@ -8,13 +8,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "openpgl"; - version = "0.5.0"; + version = "0.7.0"; src = fetchFromGitHub { owner = "OpenPathGuidingLibrary"; repo = "openpgl"; rev = "v${finalAttrs.version}"; - hash = "sha256-dbHmGGiHQkU0KPpQYpY/o0uCWdb3L5namETdOcOREgs="; + hash = "sha256-HX3X1dmOazUUiYCqa6irpNm37YthB2YHb8u1P1qDHco="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/os/osu-lazer-bin/package.nix b/pkgs/by-name/os/osu-lazer-bin/package.nix new file mode 100644 index 000000000000..7ff52f13a85a --- /dev/null +++ b/pkgs/by-name/os/osu-lazer-bin/package.nix @@ -0,0 +1,100 @@ +{ + lib, + stdenv, + fetchurl, + fetchzip, + appimageTools, + makeWrapper, +}: + +let + pname = "osu-lazer-bin"; + version = "2024.1009.1"; + + src = + { + aarch64-darwin = fetchzip { + url = "https://github.com/ppy/osu/releases/download/${version}/osu.app.Apple.Silicon.zip"; + hash = "sha256-fH7cuk879nS8FDIZ8p29pg2aXLJUT+j6Emb39Y6FXq4="; + stripRoot = false; + }; + x86_64-darwin = fetchzip { + url = "https://github.com/ppy/osu/releases/download/${version}/osu.app.Intel.zip"; + hash = "sha256-kIH+zlNaqMVbr8FVDiLUh19gfrFUDPGBvMOrZqkMZAE="; + stripRoot = false; + }; + x86_64-linux = fetchurl { + url = "https://github.com/ppy/osu/releases/download/${version}/osu.AppImage"; + hash = "sha256-G7+Mr0Zd/p8XUVU5aG7KywvLD2hz2N37kEbm5rlghEw="; + }; + } + .${stdenv.system} or (throw "osu-lazer-bin: ${stdenv.system} is unsupported."); + + meta = { + description = "Rhythm is just a *click* away (AppImage version for score submission and multiplayer, and binary distribution for Darwin systems)"; + homepage = "https://osu.ppy.sh"; + license = with lib.licenses; [ + mit + cc-by-nc-40 + unfreeRedistributable # osu-framework contains libbass.so in repository + ]; + sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; + maintainers = with lib.maintainers; [ + gepbird + stepbrobd + ]; + mainProgram = "osu!"; + platforms = [ + "aarch64-darwin" + "x86_64-darwin" + "x86_64-linux" + ]; + }; + + passthru.updateScript = ./update.sh; +in +if stdenv.hostPlatform.isDarwin then + stdenv.mkDerivation { + inherit + pname + version + src + meta + passthru + ; + + installPhase = '' + runHook preInstall + APP_DIR="$out/Applications" + mkdir -p "$APP_DIR" + cp -r . "$APP_DIR" + runHook postInstall + ''; + } +else + appimageTools.wrapType2 { + inherit + pname + version + src + meta + passthru + ; + + extraPkgs = pkgs: with pkgs; [ icu ]; + + extraInstallCommands = + let + contents = appimageTools.extract { inherit pname version src; }; + in + '' + . ${makeWrapper}/nix-support/setup-hook + mv -v $out/bin/${pname} $out/bin/osu! + wrapProgram $out/bin/osu! \ + --set OSU_EXTERNAL_UPDATE_PROVIDER 1 + install -m 444 -D ${contents}/osu!.desktop -t $out/share/applications + for i in 16 32 48 64 96 128 256 512 1024; do + install -D ${contents}/osu!.png $out/share/icons/hicolor/''${i}x$i/apps/osu!.png + done + ''; + } diff --git a/pkgs/games/osu-lazer/update-bin.sh b/pkgs/by-name/os/osu-lazer-bin/update.sh similarity index 91% rename from pkgs/games/osu-lazer/update-bin.sh rename to pkgs/by-name/os/osu-lazer-bin/update.sh index 182875a42731..0b06950762b5 100755 --- a/pkgs/games/osu-lazer/update-bin.sh +++ b/pkgs/by-name/os/osu-lazer-bin/update.sh @@ -3,16 +3,16 @@ set -eo pipefail cd "$(dirname "${BASH_SOURCE[0]}")" -bin_file="$(realpath ./bin.nix)" +bin_file="$(realpath ./package.nix)" new_version="$(curl -s "https://api.github.com/repos/ppy/osu/releases?per_page=1" | jq -r '.[0].name')" -old_version="$(sed -nE 's/\s*version = "(.*)".*/\1/p' ./bin.nix)" +old_version="$(sed -nE 's/\s*version = "(.*)".*/\1/p' ./package.nix)" if [[ "$new_version" == "$old_version" ]]; then echo "Already up to date." exit 0 fi -cd ../../.. +cd ../../../.. echo "Updating osu-lazer-bin from $old_version to $new_version..." sed -Ei.bak '/ *version = "/s/".+"/"'"$new_version"'"/' "$bin_file" diff --git a/pkgs/games/osu-lazer/deps.nix b/pkgs/by-name/os/osu-lazer/deps.nix similarity index 98% rename from pkgs/games/osu-lazer/deps.nix rename to pkgs/by-name/os/osu-lazer/deps.nix index bd57355c7910..0e3bee1048e1 100644 --- a/pkgs/games/osu-lazer/deps.nix +++ b/pkgs/by-name/os/osu-lazer/deps.nix @@ -138,13 +138,13 @@ (fetchNuGet { pname = "ppy.ManagedBass.Fx"; version = "2022.1216.0"; hash = "sha256-VfIbFhCDsCRZW5bCbt8MSmE2kAlcKxxx6vdFOus4he8="; }) (fetchNuGet { pname = "ppy.ManagedBass.Mix"; version = "2022.1216.0"; hash = "sha256-qUEGJHoYfDvHrpuXdVaiSoV2iVVh9X0yEB41u96+q6A="; }) (fetchNuGet { pname = "ppy.ManagedBass.Wasapi"; version = "2022.1216.0"; hash = "sha256-HzhypEVJA+6h3aBB95zNeGbmzEIRc5435Eh9nYpjVkA="; }) - (fetchNuGet { pname = "ppy.osu.Framework"; version = "2024.907.1"; hash = "sha256-h9wQPX7EP4b6+a7D/qU3qvSi05yp2rOj52nBmko1Y2o="; }) + (fetchNuGet { pname = "ppy.osu.Framework"; version = "2024.1009.0"; hash = "sha256-aLZcnVYyrLMeaoz/Jt49m5Po5i814MvtcGcVOVu18ls="; }) (fetchNuGet { pname = "ppy.osu.Framework.NativeLibs"; version = "2024.809.1-nativelibs"; hash = "sha256-F7xd66bCEDgEjYgqmx21lYde+ebCsX/E2fuqWXH4xyU="; }) (fetchNuGet { pname = "ppy.osu.Framework.SourceGeneration"; version = "2023.720.0"; hash = "sha256-XXV/qBJ9vEVF15fcOlDyoJ8j47azuSJaXHEgsn3fOwA="; }) - (fetchNuGet { pname = "ppy.osu.Game.Resources"; version = "2024.904.0"; hash = "sha256-x3et2Rnr90bdlFzR852Pt1EkW69/eQxlXciPNtFrN44="; }) + (fetchNuGet { pname = "ppy.osu.Game.Resources"; version = "2024.1003.0"; hash = "sha256-aeY9jfvyC+GFovHs0b5SSGZHMOO5tMMplZQWIRxo9DA="; }) (fetchNuGet { pname = "ppy.osuTK.NS20"; version = "1.0.211"; hash = "sha256-Xu4uiYs1pqIXcBWeTBIc8OIqbLmH6MvaY6Dim4ZNikg="; }) (fetchNuGet { pname = "ppy.SDL2-CS"; version = "1.0.741-alpha"; hash = "sha256-sdX+MoMlIPUyi4yEUVHtqxKWF/VK04e2VaUavmgBEJU="; }) - (fetchNuGet { pname = "ppy.SDL3-CS"; version = "2024.807.1"; hash = "sha256-9ppVYCkc43NIsfe9iKWlxd8elgECZqP+pRPT9ybxiAU="; }) + (fetchNuGet { pname = "ppy.SDL3-CS"; version = "2024.916.0"; hash = "sha256-ioILyAlyMiaVVGYxoLzNH78Mlp1Dfbv5xKjDWtwCP8M="; }) (fetchNuGet { pname = "ppy.Veldrid"; version = "4.9.62-gca0239da6b"; hash = "sha256-mGlMQbp2/ewA7PzamEeMA1pbboC73iAIARhK4MPrwO4="; }) (fetchNuGet { pname = "ppy.Veldrid.MetalBindings"; version = "4.9.62-gca0239da6b"; hash = "sha256-8jkbU2QV4HV8RU1vnSNtP8kNEhDWbTb3Dr2cl8w/T6A="; }) (fetchNuGet { pname = "ppy.Veldrid.OpenGLBindings"; version = "4.9.62-gca0239da6b"; hash = "sha256-I81to2x5D4LlIJN80d5DbqcU0jPTVSPoc0tvL15YG6I="; }) @@ -237,7 +237,7 @@ (fetchNuGet { pname = "System.IO.FileSystem"; version = "4.0.1"; hash = "sha256-4VKXFgcGYCTWVXjAlniAVq0dO3o5s8KHylg2wg2/7k0="; }) (fetchNuGet { pname = "System.IO.FileSystem"; version = "4.3.0"; hash = "sha256-vNIYnvlayuVj0WfRfYKpDrhDptlhp1pN8CYmlVd2TXw="; }) (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.3.0"; hash = "sha256-LMnfg8Vwavs9cMnq9nNH8IWtAtSfk0/Fy4s4Rt9r1kg="; }) - (fetchNuGet { pname = "System.IO.Packaging"; version = "8.0.0"; hash = "sha256-kBOaG1Y3te708l81mIig7YKl6wPbEIAQ9J8mzHUdO/A="; }) + (fetchNuGet { pname = "System.IO.Packaging"; version = "8.0.1"; hash = "sha256-xf0BAfqQvITompBsvfpxiLts/6sRQEzdjNA3f/q/vY4="; }) (fetchNuGet { pname = "System.IO.Pipelines"; version = "7.0.0"; hash = "sha256-W2181khfJUTxLqhuAVRhCa52xZ3+ePGOLIPwEN8WisY="; }) (fetchNuGet { pname = "System.Linq"; version = "4.1.0"; hash = "sha256-ZQpFtYw5N1F1aX0jUK3Tw+XvM5tnlnshkTCNtfVA794="; }) (fetchNuGet { pname = "System.Linq"; version = "4.3.0"; hash = "sha256-R5uiSL3l6a3XrXSSL6jz+q/PcyVQzEAByiuXZNSqD/A="; }) @@ -321,7 +321,7 @@ (fetchNuGet { pname = "System.Xml.ReaderWriter"; version = "4.3.0"; hash = "sha256-QQ8KgU0lu4F5Unh+TbechO//zaAGZ4MfgvW72Cn1hzA="; }) (fetchNuGet { pname = "System.Xml.XDocument"; version = "4.3.0"; hash = "sha256-rWtdcmcuElNOSzCehflyKwHkDRpiOhJJs8CeQ0l1CCI="; }) (fetchNuGet { pname = "TagLibSharp"; version = "2.3.0"; hash = "sha256-PD9bVZiPaeC8hNx2D+uDUf701cCaMi2IRi5oPTNN+/w="; }) - (fetchNuGet { pname = "Velopack"; version = "0.0.598-g933b2ab"; hash = "sha256-i1VR1tZ+rNl8F4EL8x5OAdnqfIRuHmviTp19uPFi14A="; }) + (fetchNuGet { pname = "Velopack"; version = "0.0.630-g9c52e40"; hash = "sha256-6dSuIl1HpqOaIPiCziQSgkDGiPf04q253ADYAo0rghA="; }) (fetchNuGet { pname = "Vortice.D3DCompiler"; version = "2.4.2"; hash = "sha256-LXdgts8lKbTU67c1W001XRbq5nenzf8XcYCRxc75jR8="; }) (fetchNuGet { pname = "Vortice.Direct3D11"; version = "2.4.2"; hash = "sha256-hU4qzLKhv4QxiP2c9s4IZUGgeQxsOjRhgurrlXXq/qM="; }) (fetchNuGet { pname = "Vortice.DirectX"; version = "2.4.2"; hash = "sha256-LOIxdET0ynaJz70fakVwDYU0qm+1P0SfD1+I9P320oc="; }) diff --git a/pkgs/games/osu-lazer/osu.runtimeconfig.json b/pkgs/by-name/os/osu-lazer/osu.runtimeconfig.json similarity index 100% rename from pkgs/games/osu-lazer/osu.runtimeconfig.json rename to pkgs/by-name/os/osu-lazer/osu.runtimeconfig.json diff --git a/pkgs/games/osu-lazer/default.nix b/pkgs/by-name/os/osu-lazer/package.nix similarity index 71% rename from pkgs/games/osu-lazer/default.nix rename to pkgs/by-name/os/osu-lazer/package.nix index d2826e295ed9..a2523df7853c 100644 --- a/pkgs/games/osu-lazer/default.nix +++ b/pkgs/by-name/os/osu-lazer/package.nix @@ -1,30 +1,31 @@ -{ lib -, stdenvNoCC -, buildDotnetModule -, fetchFromGitHub -, dotnetCorePackages -, makeDesktopItem -, copyDesktopItems -, makeWrapper -, ffmpeg -, alsa-lib -, SDL2 -, lttng-ust -, numactl -, libglvnd -, xorg -, udev +{ + lib, + stdenvNoCC, + buildDotnetModule, + fetchFromGitHub, + dotnetCorePackages, + makeDesktopItem, + copyDesktopItems, + makeWrapper, + ffmpeg, + alsa-lib, + SDL2, + lttng-ust, + numactl, + libglvnd, + xorg, + udev, }: buildDotnetModule rec { pname = "osu-lazer"; - version = "2024.906.2"; + version = "2024.1009.1"; src = fetchFromGitHub { owner = "ppy"; repo = "osu"; rev = version; - hash = "sha256-ykCO+q28IUJumt3nra1BUlwuXqLS1FYOqcDe2LPPGVY="; + hash = "sha256-odWTLvx41miFgn4O/EDzwm2pfWKxj4B1ieSfNS0hrW8="; }; projectFile = "osu.Desktop/osu.Desktop.csproj"; @@ -76,27 +77,32 @@ buildDotnetModule rec { runHook postFixup ''; - desktopItems = [(makeDesktopItem { - desktopName = "osu!"; - name = "osu"; - exec = "osu!"; - icon = "osu!"; - comment = "Rhythm is just a *click* away (no score submission or multiplayer, see osu-lazer-bin)"; - type = "Application"; - categories = [ "Game" ]; - })]; + desktopItems = [ + (makeDesktopItem { + desktopName = "osu!"; + name = "osu"; + exec = "osu!"; + icon = "osu!"; + comment = "Rhythm is just a *click* away (no score submission or multiplayer, see osu-lazer-bin)"; + type = "Application"; + categories = [ "Game" ]; + }) + ]; passthru.updateScript = ./update.sh; - meta = with lib; { + meta = { description = "Rhythm is just a *click* away (no score submission or multiplayer, see osu-lazer-bin)"; homepage = "https://osu.ppy.sh"; - license = with licenses; [ + license = with lib.licenses; [ mit cc-by-nc-40 unfreeRedistributable # osu-framework contains libbass.so in repository ]; - maintainers = with maintainers; [ gepbird thiagokokada ]; + maintainers = with lib.maintainers; [ + gepbird + thiagokokada + ]; platforms = [ "x86_64-linux" ]; mainProgram = "osu!"; }; diff --git a/pkgs/games/osu-lazer/update.sh b/pkgs/by-name/os/osu-lazer/update.sh similarity index 86% rename from pkgs/games/osu-lazer/update.sh rename to pkgs/by-name/os/osu-lazer/update.sh index 7ef726621a09..194b644e7777 100755 --- a/pkgs/games/osu-lazer/update.sh +++ b/pkgs/by-name/os/osu-lazer/update.sh @@ -4,13 +4,13 @@ set -eo pipefail cd "$(dirname "${BASH_SOURCE[0]}")" new_version="$(curl -s "https://api.github.com/repos/ppy/osu/releases?per_page=1" | jq -r '.[0].name')" -old_version="$(sed -nE 's/\s*version = "(.*)".*/\1/p' ./default.nix)" +old_version="$(sed -nE 's/\s*version = "(.*)".*/\1/p' ./package.nix)" if [[ "$new_version" == "$old_version" ]]; then echo "Up to date" exit 0 fi -cd ../../.. +cd ../../../.. if [[ "$1" != "--deps-only" ]]; then update-source-version osu-lazer "$new_version" diff --git a/pkgs/by-name/ov/overskride/package.nix b/pkgs/by-name/ov/overskride/package.nix index bade7387f410..f99244a8bd08 100644 --- a/pkgs/by-name/ov/overskride/package.nix +++ b/pkgs/by-name/ov/overskride/package.nix @@ -4,7 +4,7 @@ owner = "kaii-lb"; name = "overskride"; -version = "0.6.0"; +version = "0.6.1"; in rustPlatform.buildRustPackage { @@ -15,10 +15,10 @@ in rustPlatform.buildRustPackage { inherit owner; repo = name; rev = "v${version}"; - hash = "sha256-TbakYKYbVe8wEFOrfj97m2bdAb1BJ7zoi/lyYLobw/k="; + hash = "sha256-SqaPhub/HwZz7uBg/kevH8LvPDVLgRd/Rvi03ivNrRc="; }; - cargoHash = "sha256-p2PmcLoHfeRUEG2v33vVyiKBkOjpNDbVteSmH5R3RmI="; + cargoHash = "sha256-jSTCCPNPKPNVr3h8uZ21dP8Z7shbX+QmoWM/jk1qjfg="; nativeBuildInputs = [ pkg-config diff --git a/pkgs/by-name/pr/protonplus/package.nix b/pkgs/by-name/pr/protonplus/package.nix index b6754c63a426..a6f442e055b0 100644 --- a/pkgs/by-name/pr/protonplus/package.nix +++ b/pkgs/by-name/pr/protonplus/package.nix @@ -20,13 +20,13 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "protonplus"; - version = "0.4.13"; + version = "0.4.20"; src = fetchFromGitHub { owner = "Vysp3r"; repo = "protonplus"; rev = "v${finalAttrs.version}"; - hash = "sha256-eIW30Tl/vOLXlUXiN3lAcww7Ipkfshzilb9ntxjF8C0="; + hash = "sha256-nnobk1N+r1tLekc8CLiAULsEQFjgzoQQvRz3F8vVjzU="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/ra/rasm/package.nix b/pkgs/by-name/ra/rasm/package.nix index 787de21b448c..acbe1ebeaa21 100644 --- a/pkgs/by-name/ra/rasm/package.nix +++ b/pkgs/by-name/ra/rasm/package.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "rasm"; - version = "2.2.7"; + version = "2.2.8"; src = fetchFromGitHub { owner = "EdouardBERGE"; repo = "rasm"; rev = "v${version}"; - hash = "sha256-X3GEQJdfw4znqVyUIi2teUkQZpOV5X1EpF5Zob9g8PI="; + hash = "sha256-L3kVwB6ZGw8HGqn2m60Grd3fwpTeRK8LeMtmNb4UjdQ="; }; # by default the EXEC variable contains `rasm.exe` diff --git a/pkgs/by-name/re/renode-dts2repl/package.nix b/pkgs/by-name/re/renode-dts2repl/package.nix index 5e81fa72b270..c80945179547 100644 --- a/pkgs/by-name/re/renode-dts2repl/package.nix +++ b/pkgs/by-name/re/renode-dts2repl/package.nix @@ -6,14 +6,14 @@ python3.pkgs.buildPythonApplication { pname = "renode-dts2repl"; - version = "0-unstable-2024-09-27"; + version = "0-unstable-2024-10-09"; pyproject = true; src = fetchFromGitHub { owner = "antmicro"; repo = "dts2repl"; - rev = "9963f8eb0ef9d356b2d1bfa031c2e136ce4a5509"; - hash = "sha256-RrKnLSBCtXUfdC9PNXddIAFFBbT39ZYxJJqYwKHYLP0="; + rev = "ada6afd90cc36ef3114ba81c057e48bfaa9b70e3"; + hash = "sha256-8f1Vg1rRsavyX+7D8w6JZ0y0PWnYWXuETBPEd5aBKtA="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/re/reposilite/package.nix b/pkgs/by-name/re/reposilite/package.nix index cd3f2edec713..1c5810d35fbd 100644 --- a/pkgs/by-name/re/reposilite/package.nix +++ b/pkgs/by-name/re/reposilite/package.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "Reposilite"; - version = "3.5.17"; + version = "3.5.18"; src = fetchurl { url = "https://maven.reposilite.com/releases/com/reposilite/reposilite/${finalAttrs.version}/reposilite-${finalAttrs.version}-all.jar"; - hash = "sha256-O2dDkjypTLRu3tWRLEQQSwgX53doTsTxGSEfA2k0hlI="; + hash = "sha256-Wc7VAUkM6c1BJLTg5GXY6nNtjDxi6I2ym14Tpc667Tw="; }; dontUnpack = true; diff --git a/pkgs/by-name/ro/roddhjav-apparmor-rules/package.nix b/pkgs/by-name/ro/roddhjav-apparmor-rules/package.nix index dcc5606ea4ea..489493862d3b 100644 --- a/pkgs/by-name/ro/roddhjav-apparmor-rules/package.nix +++ b/pkgs/by-name/ro/roddhjav-apparmor-rules/package.nix @@ -7,13 +7,13 @@ stdenvNoCC.mkDerivation { pname = "roddhjav-apparmor-rules"; - version = "0-unstable-2024-09-27"; + version = "0-unstable-2024-10-06"; src = fetchFromGitHub { owner = "roddhjav"; repo = "apparmor.d"; - rev = "a8c18f9b9418ac42922eee1e31b1e3c9f791c1dc"; - hash = "sha256-LUHU6Buh+91b99pF7d8jqmAoYD1EmkKzsAOxiP7w3So="; + rev = "03b777340d4b17957c7533d20bc3f8fca5a6dff8"; + hash = "sha256-qytv7haQj+xuRm5ks4rnyY0eu7i3Kv4X4gAsFLDvLSk="; }; dontConfigure = true; diff --git a/pkgs/by-name/ti/tigerbeetle/package.nix b/pkgs/by-name/ti/tigerbeetle/package.nix index 3961816fffbf..8081be8cc9c1 100644 --- a/pkgs/by-name/ti/tigerbeetle/package.nix +++ b/pkgs/by-name/ti/tigerbeetle/package.nix @@ -10,14 +10,14 @@ let platform = if stdenvNoCC.hostPlatform.isDarwin then "universal-macos" else stdenvNoCC.hostPlatform.system; hash = builtins.getAttr platform { - "universal-macos" = "sha256-UfGVPPJAx+2oi+LwoLBfBPDFvcAbHlSxFReQ+PoKZ+0="; - "x86_64-linux" = "sha256-Ohi1dXAlkMvVlVl4B2VEwiIBbYlpBMoTPBOEtTIQM+E="; - "aarch64-linux" = "sha256-RIwcJzmS2wCr42NvE/0Mg/jy4Bn644ZvWSCFjb3Va2o="; + "universal-macos" = "sha256-SS2PPniO3zSfDyCy3aM41Jq8HlOuIQj4hFUx7tUlOzM="; + "x86_64-linux" = "sha256-sE0P8mLvz8V45z2qGP4cAlzow58lc483+dDIbOwvC0Y="; + "aarch64-linux" = "sha256-W8AWgG86/MFM/xpxEIjkjeVWsCN0Mjme60geusFwMRo="; }; in stdenvNoCC.mkDerivation (finalAttrs: { pname = "tigerbeetle"; - version = "0.16.3"; + version = "0.16.8"; src = fetchzip { url = "https://github.com/tigerbeetle/tigerbeetle/releases/download/${finalAttrs.version}/tigerbeetle-${platform}.zip"; diff --git a/pkgs/by-name/ti/tinymist/Cargo.lock b/pkgs/by-name/ti/tinymist/Cargo.lock index 1a6ee19b4075..27b544bcf020 100644 --- a/pkgs/by-name/ti/tinymist/Cargo.lock +++ b/pkgs/by-name/ti/tinymist/Cargo.lock @@ -3679,7 +3679,7 @@ dependencies = [ [[package]] name = "sync-lsp" -version = "0.11.28" +version = "0.11.32" dependencies = [ "anyhow", "clap", @@ -3819,7 +3819,7 @@ dependencies = [ [[package]] name = "tests" -version = "0.11.28" +version = "0.11.32" dependencies = [ "insta", "lsp-server", @@ -3916,7 +3916,7 @@ dependencies = [ [[package]] name = "tinymist" -version = "0.11.28" +version = "0.11.32" dependencies = [ "anyhow", "async-trait", @@ -3956,7 +3956,7 @@ dependencies = [ "serde_json", "serde_yaml", "sync-lsp", - "tinymist-assets 0.11.28 (registry+https://github.com/rust-lang/crates.io-index)", + "tinymist-assets 0.11.32 (registry+https://github.com/rust-lang/crates.io-index)", "tinymist-query", "tinymist-render", "tinymist-world", @@ -3982,7 +3982,7 @@ dependencies = [ [[package]] name = "tinymist-analysis" -version = "0.11.28" +version = "0.11.32" dependencies = [ "base64 0.22.1", "comemo 0.4.0", @@ -3999,17 +3999,17 @@ dependencies = [ [[package]] name = "tinymist-assets" -version = "0.11.28" +version = "0.11.32" [[package]] name = "tinymist-assets" -version = "0.11.28" +version = "0.11.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a08ac1383bf5177ca572a0f88fb2175373ebe591d0c1bde0b85d6e0fa25d2f6b" +checksum = "ea141357280a85cdacb962dc64b07ae6fa4381df468f6aba1d3dd93483afdc38" [[package]] name = "tinymist-query" -version = "0.11.28" +version = "0.11.32" dependencies = [ "anyhow", "base64 0.22.1", @@ -4060,7 +4060,7 @@ dependencies = [ [[package]] name = "tinymist-render" -version = "0.11.28" +version = "0.11.32" dependencies = [ "base64 0.22.1", "log", @@ -4071,7 +4071,7 @@ dependencies = [ [[package]] name = "tinymist-world" -version = "0.11.28" +version = "0.11.32" dependencies = [ "anyhow", "chrono", @@ -4086,7 +4086,7 @@ dependencies = [ "serde", "serde_json", "tar", - "tinymist-assets 0.11.28 (registry+https://github.com/rust-lang/crates.io-index)", + "tinymist-assets 0.11.32 (registry+https://github.com/rust-lang/crates.io-index)", "typst-assets", ] @@ -4348,7 +4348,7 @@ checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" [[package]] name = "typlite" -version = "0.11.28" +version = "0.11.32" dependencies = [ "base64 0.22.1", "comemo 0.4.0", @@ -4492,7 +4492,7 @@ dependencies = [ [[package]] name = "typst-preview" -version = "0.11.28" +version = "0.11.32" dependencies = [ "clap", "comemo 0.4.0", @@ -4505,7 +4505,7 @@ dependencies = [ "reflexo-vec2svg", "serde", "serde_json", - "tinymist-assets 0.11.28 (registry+https://github.com/rust-lang/crates.io-index)", + "tinymist-assets 0.11.32 (registry+https://github.com/rust-lang/crates.io-index)", "tokio", "typst", "typst-assets", @@ -4533,7 +4533,7 @@ dependencies = [ [[package]] name = "typst-shim" -version = "0.11.28" +version = "0.11.32" dependencies = [ "cfg-if", "typst", diff --git a/pkgs/by-name/ti/tinymist/package.nix b/pkgs/by-name/ti/tinymist/package.nix index 16d8ba5951c9..0de208f818bd 100644 --- a/pkgs/by-name/ti/tinymist/package.nix +++ b/pkgs/by-name/ti/tinymist/package.nix @@ -17,13 +17,13 @@ rustPlatform.buildRustPackage rec { pname = "tinymist"; # Please update the corresponding vscode extension when updating # this derivation. - version = "0.11.28"; + version = "0.11.32"; src = fetchFromGitHub { owner = "Myriad-Dreamin"; repo = "tinymist"; rev = "refs/tags/v${version}"; - hash = "sha256-Wiuf53HlTMJeYJG815e9PgOtJBRxYRPllus7mmxdvM4="; + hash = "sha256-xXrE4LOzcR4TCoBD7jbS1Ba7kBLBPiF3GI0wjq5GXWA="; }; cargoLock = { diff --git a/pkgs/by-name/to/tor-browser/package.nix b/pkgs/by-name/to/tor-browser/package.nix index 43293874ddf6..f84198772eeb 100644 --- a/pkgs/by-name/to/tor-browser/package.nix +++ b/pkgs/by-name/to/tor-browser/package.nix @@ -101,7 +101,7 @@ lib.warnIf (useHardenedMalloc != null) ++ lib.optionals mediaSupport [ ffmpeg ] ); - version = "13.5.6"; + version = "13.5.7"; sources = { x86_64-linux = fetchurl { @@ -111,7 +111,7 @@ lib.warnIf (useHardenedMalloc != null) "https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux-x86_64-${version}.tar.xz" "https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux-x86_64-${version}.tar.xz" ]; - hash = "sha256-dEairGoBMsXF4gtnnqa2KsA8PpW9VwF8woUrInVWuKM="; + hash = "sha256-w+W3J07+7/DERDsX0EubHKZfCr9Bc3dKmnS33UA3sdU="; }; i686-linux = fetchurl { @@ -121,7 +121,7 @@ lib.warnIf (useHardenedMalloc != null) "https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux-i686-${version}.tar.xz" "https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux-i686-${version}.tar.xz" ]; - hash = "sha256-9WRN+iU7vvt9KvVudsS7qe0hoJwDP/J+yOTHW7nmrxs="; + hash = "sha256-GZ6tBxnX3Y4Ot71phDYkpiWDecr3AltuAVFWSNhX3CY="; }; }; diff --git a/pkgs/by-name/va/vault-bin/package.nix b/pkgs/by-name/va/vault-bin/package.nix index 896597eb5792..c6622a32c884 100644 --- a/pkgs/by-name/va/vault-bin/package.nix +++ b/pkgs/by-name/va/vault-bin/package.nix @@ -6,7 +6,7 @@ stdenv.mkDerivation rec { pname = "vault-bin"; - version = "1.17.6"; + version = "1.18.0"; src = let @@ -20,11 +20,11 @@ stdenv.mkDerivation rec { aarch64-darwin = "darwin_arm64"; }; hash = selectSystem { - x86_64-linux = "sha256-K9yNZ4M8u8FfisWi6Y6TsBJy6FQytr3htNCsKh2MlyA="; - aarch64-linux = "sha256-KLHkxUGvekHT/bPtoIlmylCubTWH+I7Q0wJM0UG0Hp8="; - i686-linux = "sha256-jBS/nGKP27weFw4u6Q10athYwCqWLzpb7ph39v+QAN8="; - x86_64-darwin = "sha256-5KfWqtJldk66dO5ImYKivDau4JzacUIXBfAzWkkPfoE="; - aarch64-darwin = "sha256-wjmNY1lunJDjpkWDXl0upAeNBqBx8momlY4a3j+hMd0="; + x86_64-linux = "sha256-fyVkSZ20tUcBv9/iT1h3o/2KkoCJ5op7DBoMc0US7SM="; + aarch64-linux = "sha256-Vsc0ra+OzrDBwmKke0ef4kfy5CWu5m34gC7u0BDL7uo="; + i686-linux = "sha256-3uAkBPOoMbdfS5EfII03JbVl1ekfRXm4yv1rL5A7x7c="; + x86_64-darwin = "sha256-fydYqDEihbGuZ9I1quJSJk+lJxnSkqF+t1mOP8EA2Ok="; + aarch64-darwin = "sha256-yJmNM9eQydbRdY6+JK28hhzXJ9Hj3CcwUJkhS60aCyA="; }; in fetchzip { diff --git a/pkgs/by-name/va/vault-bin/update-bin.sh b/pkgs/by-name/va/vault-bin/update-bin.sh index cd91fe4b608d..f397f48c6852 100755 --- a/pkgs/by-name/va/vault-bin/update-bin.sh +++ b/pkgs/by-name/va/vault-bin/update-bin.sh @@ -4,7 +4,7 @@ set -euo pipefail ROOT="$(dirname "$(readlink -f "$0")")" -NIX_DRV="$ROOT/vault-bin.nix" +NIX_DRV="$ROOT/package.nix" if [ ! -f "$NIX_DRV" ]; then echo "ERROR: cannot find vault-bin in $ROOT" exit 1 diff --git a/pkgs/by-name/va/vault/package.nix b/pkgs/by-name/va/vault/package.nix index f34203cf9669..cdb465e980a9 100644 --- a/pkgs/by-name/va/vault/package.nix +++ b/pkgs/by-name/va/vault/package.nix @@ -12,16 +12,16 @@ buildGoModule rec { pname = "vault"; - version = "1.17.6"; + version = "1.18.0"; src = fetchFromGitHub { owner = "hashicorp"; repo = "vault"; rev = "v${version}"; - hash = "sha256-sd4gNNJ/DVpl7ReymykNemWz4NNisofMIH6lLNl+iVw="; + hash = "sha256-5CqA2dZZdV1IiGSGwCA2eQIhp3lrsDIJt4rDK1vdvmE="; }; - vendorHash = "sha256-V7aMf03U2DTNg1murp4LBfuOioA+7iG6jX9o05rhM2U="; + vendorHash = "sha256-2txRuunh6x+iDKRpljGpSX6Q8q11a84CPVm6d299NNY="; proxyVendor = true; diff --git a/pkgs/by-name/ve/vencord/package.nix b/pkgs/by-name/ve/vencord/package.nix index 14f219d8bd0e..7ca50671c419 100644 --- a/pkgs/by-name/ve/vencord/package.nix +++ b/pkgs/by-name/ve/vencord/package.nix @@ -14,13 +14,13 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "vencord"; - version = "1.10.3"; + version = "1.10.4"; src = fetchFromGitHub { owner = "Vendicated"; repo = "Vencord"; rev = "v${finalAttrs.version}"; - hash = "sha256-PgQz6CNr5wkycSZ/M2saS3VtUQlC2rIolnCJlVPrxo8="; + hash = "sha256-lAMcvJzKFpIvA4QzCnhJddu8EL2SE4iYNvkqesHzsb8="; }; pnpmDeps = pnpm.fetchDeps { diff --git a/pkgs/by-name/wa/waydroid/package.nix b/pkgs/by-name/wa/waydroid/package.nix new file mode 100644 index 000000000000..8ea14e4b7c37 --- /dev/null +++ b/pkgs/by-name/wa/waydroid/package.nix @@ -0,0 +1,106 @@ +{ + lib, + fetchFromGitHub, + fetchpatch, + python3Packages, + dnsmasq, + gawk, + getent, + gobject-introspection, + gtk3, + kmod, + lxc, + iproute2, + iptables, + util-linux, + wrapGAppsHook3, + wl-clipboard, + runtimeShell, + nix-update-script, +}: + +python3Packages.buildPythonApplication rec { + pname = "waydroid"; + version = "1.4.3"; + format = "other"; + + src = fetchFromGitHub { + owner = "waydroid"; + repo = "waydroid"; + rev = "refs/tags/${version}"; + hash = "sha256-LejyuGYgW46++95XROuWc13Q+w0l+AzGAl9ekfmAIEk="; + }; + + nativeBuildInputs = [ + gobject-introspection + wrapGAppsHook3 + ]; + + buildInputs = [ + gtk3 + ]; + + propagatedBuildInputs = with python3Packages; [ + dbus-python + gbinder-python + pyclip + pygobject3 + ]; + + dontUseSetuptoolsBuild = true; + dontUsePipInstall = true; + dontUseSetuptoolsCheck = true; + dontWrapPythonPrograms = true; + dontWrapGApps = true; + + installFlags = [ + "PREFIX=$(out)" + "USE_SYSTEMD=0" + "SYSCONFDIR=$(out)/etc" + ]; + + preFixup = '' + makeWrapperArgs+=("''${gappsWrapperArgs[@]}") + + patchShebangs --host $out/lib/waydroid/data/scripts + wrapProgram $out/lib/waydroid/data/scripts/waydroid-net.sh \ + --prefix PATH ":" ${ + lib.makeBinPath [ + dnsmasq + getent + iproute2 + iptables + ] + } + + wrapPythonProgramsIn $out/lib/waydroid/ "${ + lib.concatStringsSep " " ( + [ + "$out" + ] + ++ propagatedBuildInputs + ++ [ + gawk + kmod + lxc + util-linux + wl-clipboard + ] + ) + }" + + substituteInPlace $out/lib/waydroid/tools/helpers/*.py \ + --replace '"sh"' '"${runtimeShell}"' + ''; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Container-based approach to boot a full Android system on a regular GNU/Linux system"; + mainProgram = "waydroid"; + homepage = "https://github.com/waydroid/waydroid"; + license = lib.licenses.gpl3Only; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ mcaju ]; + }; +} diff --git a/pkgs/by-name/we/webcord/package.nix b/pkgs/by-name/we/webcord/package.nix index ff3256cbf89a..8c376b19fe65 100644 --- a/pkgs/by-name/we/webcord/package.nix +++ b/pkgs/by-name/we/webcord/package.nix @@ -11,16 +11,16 @@ buildNpmPackage rec { pname = "webcord"; - version = "4.9.2"; + version = "4.10.2"; src = fetchFromGitHub { owner = "SpacingBat3"; repo = "WebCord"; rev = "refs/tags/v${version}"; - hash = "sha256-iuhi4ELHNPxFDz7cmiTFuUA8bf6VI2YXnHOTi69FloU="; + hash = "sha256-vzTT8tHpbJSt1PosgKTg3pT4a9UfPabtJppLLD9znhU="; }; - npmDepsHash = "sha256-xEXAaYW/2Wx0ar0l7jcSj0NBYKTsa7vHdykLlU0BkJE="; + npmDepsHash = "sha256-nVQv+GSnfQa8V/RitvV2juokbiRJ/vIMLWcg9QPDbP0="; nativeBuildInputs = [ copyDesktopItems diff --git a/pkgs/by-name/wh/whatsie/package.nix b/pkgs/by-name/wh/whatsie/package.nix index 4dd661666803..aad6ed2b4018 100644 --- a/pkgs/by-name/wh/whatsie/package.nix +++ b/pkgs/by-name/wh/whatsie/package.nix @@ -9,13 +9,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "whatsie"; - version = "4.15.5"; + version = "4.16.0"; src = fetchFromGitHub { owner = "keshavbhatt"; repo = "whatsie"; rev = "refs/tags/v${finalAttrs.version}"; - hash = "sha256-6tczt9oPtcKvA59YqRHGOE2VFQLRNbyHpCJ6b4kzgks="; + hash = "sha256-+sbnpaR+pR5aKbGUIVM3yRpco7/jE9LkCbQKrgFDYwM="; }; sourceRoot = "${finalAttrs.src.name}/src"; diff --git a/pkgs/data/fonts/iosevka/default.nix b/pkgs/data/fonts/iosevka/default.nix index d0ccf32ce32c..f06b46c30692 100644 --- a/pkgs/data/fonts/iosevka/default.nix +++ b/pkgs/data/fonts/iosevka/default.nix @@ -55,16 +55,16 @@ assert (extraParameters != null) -> set != null; buildNpmPackage rec { pname = "Iosevka${toString set}"; - version = "31.7.1"; + version = "31.8.0"; src = fetchFromGitHub { owner = "be5invis"; repo = "iosevka"; rev = "v${version}"; - hash = "sha256-yio+ZJ+hgybgEUfxXt/xk3ahM5lollKGJC0821vi9e0="; + hash = "sha256-GGtbW4Y/02ubdufTXmywGS4jyMfm8RfOMvmUNoUcLQg="; }; - npmDepsHash = "sha256-gtBQdeX7hkactPSq609DMoc8rY2AHfg2nkpj26ZV88A="; + npmDepsHash = "sha256-/zLWtIIPNOMrICKaj5SY1Bo3Pdso6a776fIYY/7X0U4="; nativeBuildInputs = [ remarshal diff --git a/pkgs/development/beam-modules/elixir-ls/default.nix b/pkgs/development/beam-modules/elixir-ls/default.nix index 98ffe5e6af60..e1c4a9ae81f4 100644 --- a/pkgs/development/beam-modules/elixir-ls/default.nix +++ b/pkgs/development/beam-modules/elixir-ls/default.nix @@ -4,12 +4,12 @@ let pname = "elixir-ls"; - version = "0.23.0"; + version = "0.24.0"; src = fetchFromGitHub { owner = "elixir-lsp"; repo = "elixir-ls"; rev = "v${version}"; - hash = "sha256-X5BJuqr3TVwpv731ym+Ac3+goA0LH9f3H5wWFwQsAB8="; + hash = "sha256-GYDaHcdCiU0qh8OJSwll6RLvcakM/amlK3BfTi/kZwM="; }; in mixRelease { @@ -20,7 +20,7 @@ mixRelease { mixFodDeps = fetchMixDeps { pname = "mix-deps-${pname}"; inherit src version elixir; - hash = "sha256-2b5XJnS4ipSjppUniXr1ep8Ymv3yd6COYM/W1QNM/zc="; + hash = "sha256-ZmzGsf06DIZMqQBz7FZo0CtZ9TZzk7jxMRAWFHA5fOA="; }; # elixir-ls is an umbrella app diff --git a/pkgs/development/compilers/cairo/default.nix b/pkgs/development/compilers/cairo/default.nix index 0749175f0837..b77bd2357b17 100644 --- a/pkgs/development/compilers/cairo/default.nix +++ b/pkgs/development/compilers/cairo/default.nix @@ -7,16 +7,16 @@ rustPlatform.buildRustPackage rec { pname = "cairo"; - version = "2.8.2"; + version = "2.8.4"; src = fetchFromGitHub { owner = "starkware-libs"; repo = "cairo"; rev = "v${version}"; - hash = "sha256-vBdIGkdQa/csqsu4DbgIYitVbDLDUAFmIUytZ7IcxNk="; + hash = "sha256-xHvBbm1ewNu96TyK//l2emiq+jaPhSWvvbVK9Q/O5lo="; }; - cargoHash = "sha256-w3kzEM34HYQ6KgILaDpmZbCgAh8Ql24DRe12woUAhVI="; + cargoHash = "sha256-E6nnT+I5ur4PPvLjwfebR1Tdm206hI05HCVc3IWDqFY="; # openssl crate requires perl during build process nativeBuildInputs = [ diff --git a/pkgs/development/compilers/circt/default.nix b/pkgs/development/compilers/circt/default.nix index 493a42613584..c3f16b447e2f 100644 --- a/pkgs/development/compilers/circt/default.nix +++ b/pkgs/development/compilers/circt/default.nix @@ -18,12 +18,12 @@ let in stdenv.mkDerivation rec { pname = "circt"; - version = "1.86.0"; + version = "1.87.0"; src = fetchFromGitHub { owner = "llvm"; repo = "circt"; rev = "firtool-${version}"; - hash = "sha256-xV7vu3zdWBXgnCCUN9ge1GZemo0prmpQrZ1np86i3jI="; + hash = "sha256-buWpoym57YxyHJySYaektAUmuSRXMS+YBwtjWpoV1Vg="; fetchSubmodules = true; }; diff --git a/pkgs/development/compilers/typescript/default.nix b/pkgs/development/compilers/typescript/default.nix index 513f8a99180f..de15795895d2 100644 --- a/pkgs/development/compilers/typescript/default.nix +++ b/pkgs/development/compilers/typescript/default.nix @@ -2,20 +2,20 @@ buildNpmPackage rec { pname = "typescript"; - version = "5.6.2"; + version = "5.6.3"; src = fetchFromGitHub { owner = "microsoft"; repo = "TypeScript"; rev = "v${version}"; - hash = "sha256-aomoO/1E7zdhRNTCKqbA7ktor03zjg5HZXPxhH8iris="; + hash = "sha256-DsGTVqCbzifPmgCrca5M7qeUPiMThByq6esN+bMt4fU="; }; patches = [ ./disable-dprint-dstBundler.patch ]; - npmDepsHash = "sha256-I44XhQzUsbf6Q4r2o40l9qBU8FMRZuYhb7dLVvFDyJc="; + npmDepsHash = "sha256-w3Tm7BJ2usrjut6HrhjgXe7TIgq5PxYeHRenz4aybk4="; passthru.tests = { version = testers.testVersion { diff --git a/pkgs/development/interpreters/python/default.nix b/pkgs/development/interpreters/python/default.nix index 93c6f05c20eb..b936ea1e222a 100644 --- a/pkgs/development/interpreters/python/default.nix +++ b/pkgs/development/interpreters/python/default.nix @@ -93,9 +93,9 @@ in { major = "3"; minor = "13"; patch = "0"; - suffix = "rc3"; + suffix = ""; }; - hash = "sha256-yLx5AYWvHLd7dcAcvBqmQt/c+Xo3DS0QCQvHuqcNpX4="; + hash = "sha256-CG3liC48sxDU3KSEV1IuLkgBjs1D2pzfgn9qB1nvsH0="; inherit (darwin) configd; inherit passthruFun; }; diff --git a/pkgs/development/libraries/duckdb/default.nix b/pkgs/development/libraries/duckdb/default.nix index 6ca7bd516383..94a24f21ac9b 100644 --- a/pkgs/development/libraries/duckdb/default.nix +++ b/pkgs/development/libraries/duckdb/default.nix @@ -97,10 +97,14 @@ stdenv.mkDerivation (finalAttrs: { "test/sql/attach/attach_remote.test" "test/sql/copy/csv/test_sniff_httpfs.test" "test/sql/httpfs/internal_issue_2490.test" + # fails with incorrect result + # Upstream issue https://github.com/duckdb/duckdb/issues/14294 + "test/sql/copy/file_size_bytes.test" ] ++ lib.optionals stdenv.hostPlatform.isAarch64 [ "test/sql/aggregate/aggregates/test_kurtosis.test" "test/sql/aggregate/aggregates/test_skewness.test" "test/sql/function/list/aggregates/skewness.test" + "test/sql/aggregate/aggregates/histogram_table_function.test" ]); LD_LIBRARY_PATH = lib.optionalString stdenv.hostPlatform.isDarwin "DY" + "LD_LIBRARY_PATH"; in diff --git a/pkgs/development/libraries/science/math/faiss/default.nix b/pkgs/development/libraries/science/math/faiss/default.nix index a8e697132e90..b5c0f5451c23 100644 --- a/pkgs/development/libraries/science/math/faiss/default.nix +++ b/pkgs/development/libraries/science/math/faiss/default.nix @@ -21,13 +21,11 @@ in # Choose the maximum available optimization level builtins.head optLevels, - faiss, # To run demos in the tests - runCommand, }@inputs: let pname = "faiss"; - version = "1.8.0"; + version = "1.9.0"; inherit (cudaPackages) flags backendStdenv; @@ -46,27 +44,15 @@ in stdenv.mkDerivation { inherit pname version; - outputs = [ - "out" - "demos" - ] ++ lib.optionals pythonSupport [ "dist" ]; + outputs = [ "out" ] ++ lib.optionals pythonSupport [ "dist" ]; src = fetchFromGitHub { owner = "facebookresearch"; repo = pname; rev = "v${version}"; - hash = "sha256-nS8nhkNGGb2oAJKfr/MIAZjAwMxBGbNd16/CkEtv67I="; + hash = "sha256-P8TynU6jz5NbcWLdI7n4LX5Gdz0Ks72bmOzQ3LGjQCQ="; }; - # Remove the following substituteInPlace when updating - # to a release that contains change from PR - # https://github.com/facebookresearch/faiss/issues/3239 - # that fixes building faiss with swig 4.2.x - postPatch = '' - substituteInPlace faiss/python/swigfaiss.swig \ - --replace-fail '#ifdef SWIGWORDSIZE64' '#if (__SIZEOF_LONG__ == 8)' - ''; - nativeBuildInputs = [ cmake ] ++ lib.optionals cudaSupport [ @@ -99,13 +85,7 @@ stdenv.mkDerivation { (lib.cmakeFeature "CMAKE_CUDA_ARCHITECTURES" flags.cmakeCudaArchitecturesString) ]; - buildFlags = - [ "faiss" ] - # This is just a demo app used as a test. - # Disabled because linkage fails: - # https://github.com/facebookresearch/faiss/issues/3484 - ++ lib.optionals (!cudaSupport) [ "demo_ivfpq_indexing" ] - ++ lib.optionals pythonSupport [ "swigfaiss" ]; + buildFlags = [ "faiss" ] ++ lib.optionals pythonSupport [ "swigfaiss" ]; # pip wheel->pip install commands copied over from opencv4 @@ -114,32 +94,10 @@ stdenv.mkDerivation { python -m pip wheel --verbose --no-index --no-deps --no-clean --no-build-isolation --wheel-dir dist .) ''; - postInstall = - '' - mkdir -p $demos/bin - if [[ "$buildInputs" == *demo_ivfpq_indexing* ]] ; then - cp ./demos/demo_ivfpq_indexing $demos/bin/ - fi - '' - + lib.optionalString pythonSupport '' - mkdir "$dist" - cp faiss/python/dist/*.whl "$dist/" - ''; - - passthru = { - inherit cudaSupport cudaPackages pythonSupport; - - tests = { - runDemos = - runCommand "${pname}-run-demos" { buildInputs = [ faiss.demos ]; } - # There are more demos, we run just the one that documentation mentions - '' - demo_ivfpq_indexing && touch $out - ''; - pythonFaiss = pythonPackages.faiss; - pytest = pythonPackages.faiss.tests.pytest; - }; - }; + postInstall = lib.optionalString pythonSupport '' + mkdir "$dist" + cp faiss/python/dist/*.whl "$dist/" + ''; meta = { description = "Library for efficient similarity search and clustering of dense vectors by Facebook Research"; @@ -148,7 +106,5 @@ stdenv.mkDerivation { license = lib.licenses.mit; platforms = lib.platforms.unix; maintainers = with lib.maintainers; [ SomeoneSerge ]; - # error: use of undeclared identifier 'SWIGTYPE_p_long' - broken = stdenv.hostPlatform.isDarwin; }; } diff --git a/pkgs/development/libraries/tdlib/default.nix b/pkgs/development/libraries/tdlib/default.nix index f9a87aa73b51..e328a4c0f632 100644 --- a/pkgs/development/libraries/tdlib/default.nix +++ b/pkgs/development/libraries/tdlib/default.nix @@ -2,7 +2,7 @@ stdenv.mkDerivation { pname = "tdlib"; - version = "1.8.35"; + version = "1.8.37"; src = fetchFromGitHub { owner = "tdlib"; @@ -11,8 +11,8 @@ stdenv.mkDerivation { # The tdlib authors do not set tags for minor versions, but # external programs depending on tdlib constrain the minor # version, hence we set a specific commit with a known version. - rev = "8d08b34e22a08e58db8341839c4e18ee06c516c5"; - hash = "sha256-RxFiOp3QDpLeikPqd8vstvhdglFLtOmwpcfGvvdgI5Y="; + rev = "21e5ce0e977fe012e0cee4e6fcfe704b47b00774"; + hash = "sha256-gQFsdc/FXjuA1WdZ6iF7KxLQX/7+r1I5FcdEAyJSaqU="; }; buildInputs = [ gperf openssl readline zlib ]; diff --git a/pkgs/development/mobile/androidenv/compose-android-packages.nix b/pkgs/development/mobile/androidenv/compose-android-packages.nix index a880c8fc9190..ff9e591330ba 100644 --- a/pkgs/development/mobile/androidenv/compose-android-packages.nix +++ b/pkgs/development/mobile/androidenv/compose-android-packages.nix @@ -4,8 +4,8 @@ { cmdLineToolsVersion ? "13.0" , toolsVersion ? "26.1.1" -, platformToolsVersion ? "35.0.1" -, buildToolsVersions ? [ "34.0.0" ] +, platformToolsVersion ? "35.0.2" +, buildToolsVersions ? [ "35.0.0" ] , includeEmulator ? false , emulatorVersion ? "35.1.4" , platformVersions ? [] @@ -15,7 +15,7 @@ , abiVersions ? [ "x86" "x86_64" "armeabi-v7a" "arm64-v8a" ] , cmakeVersions ? [ ] , includeNDK ? false -, ndkVersion ? "26.3.11579264" +, ndkVersion ? "27.0.12077973" , ndkVersions ? [ndkVersion] , useGoogleAPIs ? false , useGoogleTVAddOns ? false diff --git a/pkgs/development/mobile/androidenv/default.nix b/pkgs/development/mobile/androidenv/default.nix index 6c6f974be706..fbababf9af2c 100644 --- a/pkgs/development/mobile/androidenv/default.nix +++ b/pkgs/development/mobile/androidenv/default.nix @@ -16,11 +16,17 @@ rec { }; androidPkgs = composeAndroidPackages { - platformVersions = [ "28" "29" "30" "31" "32" "33" "34" ]; + platformVersions = [ "28" "29" "30" "31" "32" "33" "34" "35" ]; includeEmulator = true; includeSystemImages = true; includeNDK = true; }; test-suite = pkgs.callPackage ./test-suite.nix {}; + + meta = with pkgs.lib; { + description = "Android SDK & sdkmanager"; + homepage = "https://developer.android.com/tools/sdkmanager"; + maintainers = with maintainers; [ numinit hadilq ]; + }; } diff --git a/pkgs/development/mobile/androidenv/emulate-app.nix b/pkgs/development/mobile/androidenv/emulate-app.nix index e4b3af304fa9..94bf0084ed27 100644 --- a/pkgs/development/mobile/androidenv/emulate-app.nix +++ b/pkgs/development/mobile/androidenv/emulate-app.nix @@ -1,8 +1,8 @@ { composeAndroidPackages, stdenv, lib, runtimeShell }: { name , app ? null -, platformVersion ? "33" -, abiVersion ? "armeabi-v7a" +, platformVersion ? "35" +, abiVersion ? "x86" , systemImageType ? "default" , enableGPU ? false # Enable GPU acceleration. It's deprecated, instead use `configOptions` below. , configOptions ? ( diff --git a/pkgs/development/mobile/androidenv/examples/shell-with-emulator.nix b/pkgs/development/mobile/androidenv/examples/shell-with-emulator.nix index 637dbc58f4dd..0a710e45843c 100644 --- a/pkgs/development/mobile/androidenv/examples/shell-with-emulator.nix +++ b/pkgs/development/mobile/androidenv/examples/shell-with-emulator.nix @@ -26,9 +26,9 @@ let # Declaration of versions for everything. This is useful since these # versions may be used in multiple places in this Nix expression. android = { - platforms = [ "34" ]; + platforms = [ "35" ]; systemImageTypes = [ "google_apis" ]; - abis = [ "arm64-v8a" "x86_64" ]; + abis = [ "x86_64" ]; }; # If you copy this example out of nixpkgs, something like this will work: @@ -116,10 +116,9 @@ pkgs.mkShell rec { echo "installed_packages_section: ''${installed_packages_section}" packages=( - "build-tools;34.0.0" "cmdline-tools;11.0" \ - "emulator" "patcher;v4" "platform-tools" "platforms;android-34" \ - "system-images;android-34;google_apis;arm64-v8a" \ - "system-images;android-34;google_apis;x86_64" + "build-tools;35.0.0" "cmdline-tools;13.0" \ + "emulator" "patcher;v4" "platform-tools" "platforms;android-35" \ + "system-images;android-35;google_apis;x86_64" ) for package in "''${packages[@]}"; do @@ -142,7 +141,7 @@ pkgs.mkShell rec { excluded_packages=( "platforms;android-23" "platforms;android-24" "platforms;android-25" "platforms;android-26" \ "platforms;android-27" "platforms;android-28" "platforms;android-29" "platforms;android-30" \ - "platforms;android-31" "platforms;android-32" "platforms;android-33" \ + "platforms;android-31" "platforms;android-32" "platforms;android-33" "platforms;android-34" \ "sources;android-23" "sources;android-24" "sources;android-25" "sources;android-26" \ "sources;android-27" "sources;android-28" "sources;android-29" "sources;android-30" \ "sources;android-31" "sources;android-32" "sources;android-33" "sources;android-34" \ @@ -169,7 +168,7 @@ pkgs.mkShell rec { nativeBuildInputs = [ androidSdk androidEmulator jdk ]; } '' avdmanager delete avd -n testAVD || true - echo "" | avdmanager create avd --force --name testAVD --package 'system-images;android-34;google_apis;x86_64' + echo "" | avdmanager create avd --force --name testAVD --package 'system-images;android-35;google_apis;x86_64' result=$(avdmanager list avd) if [[ ! $result =~ "Name: testAVD" ]]; then diff --git a/pkgs/development/mobile/androidenv/examples/shell-without-emulator.nix b/pkgs/development/mobile/androidenv/examples/shell-without-emulator.nix index a1308a9c1088..25b90e6d21a0 100644 --- a/pkgs/development/mobile/androidenv/examples/shell-without-emulator.nix +++ b/pkgs/development/mobile/androidenv/examples/shell-without-emulator.nix @@ -26,11 +26,11 @@ let # versions may be used in multiple places in this Nix expression. android = { versions = { - cmdLineToolsVersion = "11.0"; - platformTools = "34.0.5"; - buildTools = "34.0.0"; + cmdLineToolsVersion = "13.0"; + platformTools = "35.0.2"; + buildTools = "35.0.0"; }; - platforms = [ "34" ]; + platforms = [ "35" ]; }; # If you copy this example out of nixpkgs, something like this will work: @@ -113,8 +113,8 @@ pkgs.mkShell rec { echo "installed_packages_section: ''${installed_packages_section}" packages=( - "build-tools;34.0.0" "cmdline-tools;11.0" \ - "patcher;v4" "platform-tools" "platforms;android-34" + "build-tools;35.0.0" "cmdline-tools;13.0" \ + "patcher;v4" "platform-tools" "platforms;android-35" ) for package in "''${packages[@]}"; do diff --git a/pkgs/development/mobile/androidenv/examples/shell.nix b/pkgs/development/mobile/androidenv/examples/shell.nix index 0f4c0589adb0..7f08389e7e31 100644 --- a/pkgs/development/mobile/androidenv/examples/shell.nix +++ b/pkgs/development/mobile/androidenv/examples/shell.nix @@ -26,17 +26,17 @@ let android = { versions = { cmdLineToolsVersion = "13.0"; - platformTools = "35.0.1"; - buildTools = "34.0.0"; + platformTools = "35.0.2"; + buildTools = "35.0.0"; ndk = [ - "26.3.11579264" + "27.0.12077973" ]; cmake = "3.6.4111459"; emulator = "35.1.4"; }; - platforms = [ "23" "24" "25" "26" "27" "28" "29" "30" "31" "32" "33" "34" ]; - abis = ["armeabi-v7a" "arm64-v8a"]; + platforms = [ "23" "24" "25" "26" "27" "28" "29" "30" "31" "32" "33" "34" "35" ]; + abis = [ "x86_64" ]; extras = ["extras;google;gcm"]; }; @@ -163,21 +163,24 @@ pkgs.mkShell rec { output="$(sdkmanager --list)" installed_packages_section=$(echo "''${output%%Available Packages*}" | awk 'NR>4 {print $1}') + # FIXME couldn't find platforms;android-34, even though it's in the correct directory!! sdkmanager's bug?! packages=( - "build-tools;34.0.0" "platform-tools" \ + "build-tools;35.0.0" "platform-tools" \ "platforms;android-23" "platforms;android-24" "platforms;android-25" "platforms;android-26" \ "platforms;android-27" "platforms;android-28" "platforms;android-29" "platforms;android-30" \ - "platforms;android-31" "platforms;android-32" "platforms;android-33" "platforms;android-34" \ + "platforms;android-31" "platforms;android-32" "platforms;android-33" "platforms;android-35" \ "sources;android-23" "sources;android-24" "sources;android-25" "sources;android-26" \ "sources;android-27" "sources;android-28" "sources;android-29" "sources;android-30" \ "sources;android-31" "sources;android-32" "sources;android-33" "sources;android-34" \ - "system-images;android-28;google_apis_playstore;arm64-v8a" \ - "system-images;android-29;google_apis_playstore;arm64-v8a" \ - "system-images;android-30;google_apis_playstore;arm64-v8a" \ - "system-images;android-31;google_apis_playstore;arm64-v8a" \ - "system-images;android-32;google_apis_playstore;arm64-v8a" \ - "system-images;android-33;google_apis_playstore;arm64-v8a" \ - "system-images;android-34;google_apis_playstore;arm64-v8a" + "sources;android-35" \ + "system-images;android-28;google_apis_playstore;x86_64" \ + "system-images;android-29;google_apis_playstore;x86_64" \ + "system-images;android-30;google_apis_playstore;x86_64" \ + "system-images;android-31;google_apis_playstore;x86_64" \ + "system-images;android-32;google_apis_playstore;x86_64" \ + "system-images;android-33;google_apis_playstore;x86_64" \ + "system-images;android-34;google_apis;x86_64" \ + "system-images;android-35;google_apis_playstore_ps16k;x86_64" ) for package in "''${packages[@]}"; do diff --git a/pkgs/development/mobile/androidenv/repo.json b/pkgs/development/mobile/androidenv/repo.json index 0cf9ea53ceb6..82f7c5f48404 100644 --- a/pkgs/development/mobile/androidenv/repo.json +++ b/pkgs/development/mobile/androidenv/repo.json @@ -11,7 +11,7 @@ } ], "displayName": "Google APIs", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "google_apis", "path": "add-ons/addon-google_apis-google-10", @@ -64,7 +64,7 @@ } ], "displayName": "Google APIs", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "google_apis", "path": "add-ons/addon-google_apis-google-11", @@ -110,7 +110,7 @@ } ], "displayName": "Google APIs", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "google_apis", "path": "add-ons/addon-google_apis-google-12", @@ -161,7 +161,7 @@ } ], "displayName": "Google TV Addon", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-googletv-license", "name": "google_tv_addon", "path": "add-ons/addon-google_tv_addon-google-12", @@ -198,7 +198,7 @@ } ], "displayName": "Google APIs", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "google_apis", "path": "add-ons/addon-google_apis-google-13", @@ -249,7 +249,7 @@ } ], "displayName": "Google TV Addon", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-googletv-license", "name": "google_tv_addon", "path": "add-ons/addon-google_tv_addon-google-13", @@ -286,7 +286,7 @@ } ], "displayName": "Google APIs", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "google_apis", "path": "add-ons/addon-google_apis-google-14", @@ -339,7 +339,7 @@ } ], "displayName": "Google APIs", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "google_apis", "path": "add-ons/addon-google_apis-google-15", @@ -399,7 +399,7 @@ } ], "displayName": "Google APIs", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "google_apis", "path": "add-ons/addon-google_apis-google-16", @@ -459,7 +459,7 @@ } ], "displayName": "Google APIs", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "google_apis", "path": "add-ons/addon-google_apis-google-17", @@ -519,7 +519,7 @@ } ], "displayName": "Google APIs", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "google_apis", "path": "add-ons/addon-google_apis-google-18", @@ -579,7 +579,7 @@ } ], "displayName": "Google APIs", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "google_apis", "path": "add-ons/addon-google_apis-google-19", @@ -639,7 +639,7 @@ } ], "displayName": "Google APIs", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "google_apis", "path": "add-ons/addon-google_apis-google-21", @@ -699,7 +699,7 @@ } ], "displayName": "Google APIs", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "google_apis", "path": "add-ons/addon-google_apis-google-22", @@ -759,7 +759,7 @@ } ], "displayName": "Google APIs", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "google_apis", "path": "add-ons/addon-google_apis-google-23", @@ -819,7 +819,7 @@ } ], "displayName": "Google APIs", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "google_apis", "path": "add-ons/addon-google_apis-google-24", @@ -879,7 +879,7 @@ } ], "displayName": "Google APIs", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "google_apis", "path": "add-ons/addon-google_apis-google-25", @@ -939,7 +939,7 @@ } ], "displayName": "Google APIs", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "google_apis", "path": "add-ons/addon-google_apis-google-3", @@ -985,7 +985,7 @@ } ], "displayName": "Google APIs", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "google_apis", "path": "add-ons/addon-google_apis-google-4", @@ -1031,7 +1031,7 @@ } ], "displayName": "Google APIs", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "google_apis", "path": "add-ons/addon-google_apis-google-5", @@ -1077,7 +1077,7 @@ } ], "displayName": "Google APIs", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "google_apis", "path": "add-ons/addon-google_apis-google-6", @@ -1123,7 +1123,7 @@ } ], "displayName": "Google APIs", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "google_apis", "path": "add-ons/addon-google_apis-google-7", @@ -1169,7 +1169,7 @@ } ], "displayName": "Google APIs", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "google_apis", "path": "add-ons/addon-google_apis-google-8", @@ -1215,7 +1215,7 @@ } ], "displayName": "Google APIs", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "google_apis", "path": "add-ons/addon-google_apis-google-9", @@ -1262,7 +1262,7 @@ } ], "displayName": "Android Support Repository", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "extras-android-m2repository", "path": "extras/android/m2repository", @@ -1292,7 +1292,7 @@ } ], "displayName": "Android Emulator hypervisor driver (installer)", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "extras-google-Android_Emulator_Hypervisor_Driver", "path": "extras/google/Android_Emulator_Hypervisor_Driver", @@ -1322,7 +1322,7 @@ } ], "displayName": "Google AdMob Ads SDK", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "extras-google-admob_ads_sdk", "path": "extras/google/admob_ads_sdk", @@ -1350,7 +1350,7 @@ } ], "displayName": "Google Analytics App Tracking SDK", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "extras-google-analytics_sdk_v2", "path": "extras/google/analytics_sdk_v2", @@ -1378,7 +1378,7 @@ } ], "displayName": "Google Cloud Messaging for Android Library", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "extras-google-gcm", "path": "extras/google/gcm", @@ -1413,7 +1413,7 @@ } }, "displayName": "Google Play services", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "extras-google-google_play_services", "path": "extras/google/google_play_services", @@ -1441,7 +1441,7 @@ } ], "displayName": "Google Play services for Froyo", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "extras-google-google_play_services_froyo", "path": "extras/google/google_play_services_froyo", @@ -1469,7 +1469,7 @@ } ], "displayName": "Google Play Instant Development SDK", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "extras-google-instantapps", "path": "extras/google/instantapps", @@ -1506,7 +1506,7 @@ } }, "displayName": "Google Repository", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "extras-google-m2repository", "path": "extras/google/m2repository", @@ -1534,7 +1534,7 @@ } ], "displayName": "Google Play APK Expansion library", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "extras-google-market_apk_expansion", "path": "extras/google/market_apk_expansion", @@ -1562,7 +1562,7 @@ } ], "displayName": "Google Play Licensing Library", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "extras-google-market_licensing", "path": "extras/google/market_licensing", @@ -1591,7 +1591,7 @@ } ], "displayName": "Android Auto API Simulators", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "extras-google-simulators", "path": "extras/google/simulators", @@ -1619,7 +1619,7 @@ } ], "displayName": "Google USB Driver", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "extras-google-usb_driver", "path": "extras/google/usb_driver", @@ -1647,7 +1647,7 @@ } ], "displayName": "Google Web Driver", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "extras-google-webdriver", "path": "extras/google/webdriver", @@ -2316,7 +2316,7 @@ } }, "displayName": "ARM EABI v7a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-10-default-armeabi-v7a", "path": "system-images/android-10/default/armeabi-v7a", @@ -2354,7 +2354,7 @@ } }, "displayName": "Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-10-default-x86", "path": "system-images/android-10/default/x86", @@ -2394,7 +2394,7 @@ } }, "displayName": "Google APIs ARM EABI v7a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-10-google_apis-armeabi-v7a", "path": "system-images/android-10/google_apis/armeabi-v7a", @@ -2435,7 +2435,7 @@ } }, "displayName": "Google APIs Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-10-google_apis-x86", "path": "system-images/android-10/google_apis/x86", @@ -2473,7 +2473,7 @@ } ], "displayName": "ARM EABI v7a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-14-default-armeabi-v7a", "path": "system-images/android-14/default/armeabi-v7a", @@ -2515,7 +2515,7 @@ } }, "displayName": "ARM EABI v7a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-15-default-armeabi-v7a", "path": "system-images/android-15/default/armeabi-v7a", @@ -2553,7 +2553,7 @@ } }, "displayName": "Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-15-default-x86", "path": "system-images/android-15/default/x86", @@ -2593,7 +2593,7 @@ } }, "displayName": "Google APIs ARM EABI v7a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-15-google_apis-armeabi-v7a", "path": "system-images/android-15/google_apis/armeabi-v7a", @@ -2634,7 +2634,7 @@ } }, "displayName": "Google APIs Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-15-google_apis-x86", "path": "system-images/android-15/google_apis/x86", @@ -2679,7 +2679,7 @@ } }, "displayName": "ARM EABI v7a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-16-default-armeabi-v7a", "path": "system-images/android-16/default/armeabi-v7a", @@ -2710,7 +2710,7 @@ } ], "displayName": "MIPS System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "mips-android-sysimage-license", "name": "system-image-16-default-mips", "path": "system-images/android-16/default/mips", @@ -2748,7 +2748,7 @@ } }, "displayName": "Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-16-default-x86", "path": "system-images/android-16/default/x86", @@ -2788,7 +2788,7 @@ } }, "displayName": "Google APIs ARM EABI v7a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-16-google_apis-armeabi-v7a", "path": "system-images/android-16/google_apis/armeabi-v7a", @@ -2829,7 +2829,7 @@ } }, "displayName": "Google APIs Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-16-google_apis-x86", "path": "system-images/android-16/google_apis/x86", @@ -2874,7 +2874,7 @@ } }, "displayName": "ARM EABI v7a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-17-default-armeabi-v7a", "path": "system-images/android-17/default/armeabi-v7a", @@ -2905,7 +2905,7 @@ } ], "displayName": "MIPS System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "mips-android-sysimage-license", "name": "system-image-17-default-mips", "path": "system-images/android-17/default/mips", @@ -2943,7 +2943,7 @@ } }, "displayName": "Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-17-default-x86", "path": "system-images/android-17/default/x86", @@ -2986,7 +2986,7 @@ } }, "displayName": "Google APIs ARM EABI v7a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-17-google_apis-armeabi-v7a", "path": "system-images/android-17/google_apis/armeabi-v7a", @@ -3027,7 +3027,7 @@ } }, "displayName": "Google APIs Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-17-google_apis-x86", "path": "system-images/android-17/google_apis/x86", @@ -3072,7 +3072,7 @@ } }, "displayName": "ARM EABI v7a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-18-default-armeabi-v7a", "path": "system-images/android-18/default/armeabi-v7a", @@ -3110,7 +3110,7 @@ } }, "displayName": "Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-18-default-x86", "path": "system-images/android-18/default/x86", @@ -3150,7 +3150,7 @@ } }, "displayName": "Google APIs ARM EABI v7a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-18-google_apis-armeabi-v7a", "path": "system-images/android-18/google_apis/armeabi-v7a", @@ -3191,7 +3191,7 @@ } }, "displayName": "Google APIs Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-18-google_apis-x86", "path": "system-images/android-18/google_apis/x86", @@ -3236,7 +3236,7 @@ } }, "displayName": "ARM EABI v7a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-19-default-armeabi-v7a", "path": "system-images/android-19/default/armeabi-v7a", @@ -3274,7 +3274,7 @@ } }, "displayName": "Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-19-default-x86", "path": "system-images/android-19/default/x86", @@ -3314,7 +3314,7 @@ } }, "displayName": "Google APIs ARM EABI v7a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-19-google_apis-armeabi-v7a", "path": "system-images/android-19/google_apis/armeabi-v7a", @@ -3355,7 +3355,7 @@ } }, "displayName": "Google APIs Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-19-google_apis-x86", "path": "system-images/android-19/google_apis/x86", @@ -3393,7 +3393,7 @@ } ], "displayName": "Android TV ARM EABI v7a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-21-android-tv-armeabi-v7a", "path": "system-images/android-21/android-tv/armeabi-v7a", @@ -3423,7 +3423,7 @@ } ], "displayName": "Android TV Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-21-android-tv-x86", "path": "system-images/android-21/android-tv/x86", @@ -3455,7 +3455,7 @@ } ], "displayName": "ARM 64 v8a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-21-default-arm64-v8a", "path": "system-images/android-21/default/arm64-v8a", @@ -3493,7 +3493,7 @@ } }, "displayName": "ARM EABI v7a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-21-default-armeabi-v7a", "path": "system-images/android-21/default/armeabi-v7a", @@ -3531,7 +3531,7 @@ } }, "displayName": "Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-21-default-x86", "path": "system-images/android-21/default/x86", @@ -3569,7 +3569,7 @@ } }, "displayName": "Intel x86_64 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-21-default-x86_64", "path": "system-images/android-21/default/x86_64", @@ -3602,7 +3602,7 @@ } ], "displayName": "Google APIs ARM 64 v8a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-21-google_apis-arm64-v8a", "path": "system-images/android-21/google_apis/arm64-v8a", @@ -3643,7 +3643,7 @@ } }, "displayName": "Google APIs ARM EABI v7a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-21-google_apis-armeabi-v7a", "path": "system-images/android-21/google_apis/armeabi-v7a", @@ -3684,7 +3684,7 @@ } }, "displayName": "Google APIs Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-21-google_apis-x86", "path": "system-images/android-21/google_apis/x86", @@ -3725,7 +3725,7 @@ } }, "displayName": "Google APIs Intel x86_64 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-21-google_apis-x86_64", "path": "system-images/android-21/google_apis/x86_64", @@ -3763,7 +3763,7 @@ } ], "displayName": "Android TV Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-22-android-tv-x86", "path": "system-images/android-22/android-tv/x86", @@ -3795,7 +3795,7 @@ } ], "displayName": "ARM 64 v8a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-22-default-arm64-v8a", "path": "system-images/android-22/default/arm64-v8a", @@ -3833,7 +3833,7 @@ } }, "displayName": "ARM EABI v7a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-22-default-armeabi-v7a", "path": "system-images/android-22/default/armeabi-v7a", @@ -3871,7 +3871,7 @@ } }, "displayName": "Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-22-default-x86", "path": "system-images/android-22/default/x86", @@ -3909,7 +3909,7 @@ } }, "displayName": "Intel x86_64 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-22-default-x86_64", "path": "system-images/android-22/default/x86_64", @@ -3942,7 +3942,7 @@ } ], "displayName": "Google APIs ARM 64 v8a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-22-google_apis-arm64-v8a", "path": "system-images/android-22/google_apis/arm64-v8a", @@ -3983,7 +3983,7 @@ } }, "displayName": "Google APIs ARM EABI v7a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-22-google_apis-armeabi-v7a", "path": "system-images/android-22/google_apis/armeabi-v7a", @@ -4024,7 +4024,7 @@ } }, "displayName": "Google APIs Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-22-google_apis-x86", "path": "system-images/android-22/google_apis/x86", @@ -4065,7 +4065,7 @@ } }, "displayName": "Google APIs Intel x86_64 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-22-google_apis-x86_64", "path": "system-images/android-22/google_apis/x86_64", @@ -4103,7 +4103,7 @@ } ], "displayName": "Android TV ARM EABI v7a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-23-android-tv-armeabi-v7a", "path": "system-images/android-23/android-tv/armeabi-v7a", @@ -4140,7 +4140,7 @@ } }, "displayName": "Android TV Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-23-android-tv-x86", "path": "system-images/android-23/android-tv/x86", @@ -4172,7 +4172,7 @@ } ], "displayName": "ARM 64 v8a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-23-default-arm64-v8a", "path": "system-images/android-23/default/arm64-v8a", @@ -4210,7 +4210,7 @@ } }, "displayName": "ARM EABI v7a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-23-default-armeabi-v7a", "path": "system-images/android-23/default/armeabi-v7a", @@ -4248,7 +4248,7 @@ } }, "displayName": "Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-23-default-x86", "path": "system-images/android-23/default/x86", @@ -4286,7 +4286,7 @@ } }, "displayName": "Intel x86_64 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-23-default-x86_64", "path": "system-images/android-23/default/x86_64", @@ -4319,7 +4319,7 @@ } ], "displayName": "Google APIs ARM 64 v8a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-23-google_apis-arm64-v8a", "path": "system-images/android-23/google_apis/arm64-v8a", @@ -4360,7 +4360,7 @@ } }, "displayName": "Google APIs ARM EABI v7a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-23-google_apis-armeabi-v7a", "path": "system-images/android-23/google_apis/armeabi-v7a", @@ -4401,7 +4401,7 @@ } }, "displayName": "Google APIs Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-23-google_apis-x86", "path": "system-images/android-23/google_apis/x86", @@ -4442,7 +4442,7 @@ } }, "displayName": "Google APIs Intel x86_64 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-23-google_apis-x86_64", "path": "system-images/android-23/google_apis/x86_64", @@ -4487,7 +4487,7 @@ } }, "displayName": "Android TV Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-24-android-tv-x86", "path": "system-images/android-24/android-tv/x86", @@ -4519,7 +4519,7 @@ } ], "displayName": "ARM 64 v8a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-24-default-arm64-v8a", "path": "system-images/android-24/default/arm64-v8a", @@ -4557,7 +4557,7 @@ } }, "displayName": "ARM EABI v7a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-24-default-armeabi-v7a", "path": "system-images/android-24/default/armeabi-v7a", @@ -4595,7 +4595,7 @@ } }, "displayName": "Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-24-default-x86", "path": "system-images/android-24/default/x86", @@ -4633,7 +4633,7 @@ } }, "displayName": "Intel x86_64 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-24-default-x86_64", "path": "system-images/android-24/default/x86_64", @@ -4673,7 +4673,7 @@ } }, "displayName": "Google APIs ARM 64 v8a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-24-google_apis-arm64-v8a", "path": "system-images/android-24/google_apis/arm64-v8a", @@ -4714,7 +4714,7 @@ } }, "displayName": "Google APIs Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-24-google_apis-x86", "path": "system-images/android-24/google_apis/x86", @@ -4755,7 +4755,7 @@ } }, "displayName": "Google APIs Intel x86_64 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-24-google_apis-x86_64", "path": "system-images/android-24/google_apis/x86_64", @@ -4798,7 +4798,7 @@ } }, "displayName": "Google Play Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-24-google_apis_playstore-x86", "path": "system-images/android-24/google_apis_playstore/x86", @@ -4843,7 +4843,7 @@ } }, "displayName": "Android TV Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-25-android-tv-x86", "path": "system-images/android-25/android-tv/x86", @@ -4882,7 +4882,7 @@ } }, "displayName": "Android Wear ARM EABI v7a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-25-android-wear-armeabi-v7a", "path": "system-images/android-25/android-wear/armeabi-v7a", @@ -4919,7 +4919,7 @@ } }, "displayName": "Android Wear Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-25-android-wear-x86", "path": "system-images/android-25/android-wear/x86", @@ -4951,7 +4951,7 @@ } ], "displayName": "ARM 64 v8a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-25-default-arm64-v8a", "path": "system-images/android-25/default/arm64-v8a", @@ -4989,7 +4989,7 @@ } }, "displayName": "Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-25-default-x86", "path": "system-images/android-25/default/x86", @@ -5027,7 +5027,7 @@ } }, "displayName": "Intel x86_64 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-25-default-x86_64", "path": "system-images/android-25/default/x86_64", @@ -5060,7 +5060,7 @@ } ], "displayName": "Google APIs ARM 64 v8a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-25-google_apis-arm64-v8a", "path": "system-images/android-25/google_apis/arm64-v8a", @@ -5101,7 +5101,7 @@ } }, "displayName": "Google APIs ARM EABI v7a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-25-google_apis-armeabi-v7a", "path": "system-images/android-25/google_apis/armeabi-v7a", @@ -5142,7 +5142,7 @@ } }, "displayName": "Google APIs Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-25-google_apis-x86", "path": "system-images/android-25/google_apis/x86", @@ -5183,7 +5183,7 @@ } }, "displayName": "Google APIs Intel x86_64 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-25-google_apis-x86_64", "path": "system-images/android-25/google_apis/x86_64", @@ -5226,7 +5226,7 @@ } }, "displayName": "Google Play Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-25-google_apis_playstore-x86", "path": "system-images/android-25/google_apis_playstore/x86", @@ -5286,7 +5286,7 @@ } }, "displayName": "Android TV Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "system-image-26-android-tv-x86", "path": "system-images/android-26/android-tv/x86", @@ -5325,7 +5325,7 @@ } }, "displayName": "Android Wear Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-26-android-wear-x86", "path": "system-images/android-26/android-wear/x86", @@ -5369,7 +5369,7 @@ } }, "displayName": "ARM 64 v8a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-26-default-arm64-v8a", "path": "system-images/android-26/default/arm64-v8a", @@ -5406,7 +5406,7 @@ } }, "displayName": "Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-26-default-x86", "path": "system-images/android-26/default/x86", @@ -5443,7 +5443,7 @@ } }, "displayName": "Intel x86_64 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-26-default-x86_64", "path": "system-images/android-26/default/x86_64", @@ -5487,7 +5487,7 @@ } }, "displayName": "Google APIs ARM 64 v8a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-26-google_apis-arm64-v8a", "path": "system-images/android-26/google_apis/arm64-v8a", @@ -5543,7 +5543,7 @@ } }, "displayName": "Google APIs Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-26-google_apis-x86", "path": "system-images/android-26/google_apis/x86", @@ -5599,7 +5599,7 @@ } }, "displayName": "Google APIs Intel x86_64 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-26-google_apis-x86_64", "path": "system-images/android-26/google_apis/x86_64", @@ -5657,7 +5657,7 @@ } }, "displayName": "Google Play Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "system-image-26-google_apis_playstore-x86", "path": "system-images/android-26/google_apis_playstore/x86", @@ -5702,7 +5702,7 @@ } }, "displayName": "Android TV Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "system-image-27-android-tv-x86", "path": "system-images/android-27/android-tv/x86", @@ -5746,7 +5746,7 @@ } }, "displayName": "ARM 64 v8a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-27-default-arm64-v8a", "path": "system-images/android-27/default/arm64-v8a", @@ -5783,7 +5783,7 @@ } }, "displayName": "Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-27-default-x86", "path": "system-images/android-27/default/x86", @@ -5820,7 +5820,7 @@ } }, "displayName": "Intel x86_64 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-27-default-x86_64", "path": "system-images/android-27/default/x86_64", @@ -5864,7 +5864,7 @@ } }, "displayName": "Google APIs ARM 64 v8a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-27-google_apis-arm64-v8a", "path": "system-images/android-27/google_apis/arm64-v8a", @@ -5920,7 +5920,7 @@ } }, "displayName": "Google APIs Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-27-google_apis-x86", "path": "system-images/android-27/google_apis/x86", @@ -5978,7 +5978,7 @@ } }, "displayName": "Google Play Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-27-google_apis_playstore-x86", "path": "system-images/android-27/google_apis_playstore/x86", @@ -6023,7 +6023,7 @@ } }, "displayName": "Android TV Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "system-image-28-android-tv-x86", "path": "system-images/android-28/android-tv/x86", @@ -6062,7 +6062,7 @@ } }, "displayName": "Wear OS Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-28-android-wear-x86", "path": "system-images/android-28/android-wear/x86", @@ -6106,7 +6106,7 @@ } }, "displayName": "ARM 64 v8a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-28-default-arm64-v8a", "path": "system-images/android-28/default/arm64-v8a", @@ -6136,7 +6136,7 @@ } ], "displayName": "Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "system-image-28-default-x86", "path": "system-images/android-28/default/x86", @@ -6166,7 +6166,7 @@ } ], "displayName": "Intel x86_64 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "system-image-28-default-x86_64", "path": "system-images/android-28/default/x86_64", @@ -6210,7 +6210,7 @@ } }, "displayName": "Google APIs ARM 64 v8a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-28-google_apis-arm64-v8a", "path": "system-images/android-28/google_apis/arm64-v8a", @@ -6266,7 +6266,7 @@ } }, "displayName": "Google APIs Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-arm-dbt-license", "name": "system-image-28-google_apis-x86", "path": "system-images/android-28/google_apis/x86", @@ -6322,7 +6322,7 @@ } }, "displayName": "Google APIs Intel x86_64 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-28-google_apis-x86_64", "path": "system-images/android-28/google_apis/x86_64", @@ -6370,7 +6370,7 @@ } }, "displayName": "Google ARM64-V8a Play ARM 64 v8a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-arm-dbt-license", "name": "system-image-28-google_apis_playstore-arm64-v8a", "path": "system-images/android-28/google_apis_playstore/arm64-v8a", @@ -6426,7 +6426,7 @@ } }, "displayName": "Google Play Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-28-google_apis_playstore-x86", "path": "system-images/android-28/google_apis_playstore/x86", @@ -6482,7 +6482,7 @@ } }, "displayName": "Google Play Intel x86_64 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-28-google_apis_playstore-x86_64", "path": "system-images/android-28/google_apis_playstore/x86_64", @@ -6542,7 +6542,7 @@ } }, "displayName": "Android TV Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "system-image-29-android-tv-x86", "path": "system-images/android-29/android-tv/x86", @@ -6574,7 +6574,7 @@ } ], "displayName": "ARM 64 v8a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-29-default-arm64-v8a", "path": "system-images/android-29/default/arm64-v8a", @@ -6628,7 +6628,7 @@ } }, "displayName": "Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-29-default-x86", "path": "system-images/android-29/default/x86", @@ -6682,7 +6682,7 @@ } }, "displayName": "Intel x86_64 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-29-default-x86_64", "path": "system-images/android-29/default/x86_64", @@ -6726,7 +6726,7 @@ } }, "displayName": "Google APIs ARM 64 v8a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-arm-dbt-license", "name": "system-image-29-google_apis-arm64-v8a", "path": "system-images/android-29/google_apis/arm64-v8a", @@ -6772,7 +6772,7 @@ } }, "displayName": "Google APIs Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-29-google_apis-x86", "path": "system-images/android-29/google_apis/x86", @@ -6818,7 +6818,7 @@ } }, "displayName": "Google APIs Intel x86_64 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-29-google_apis-x86_64", "path": "system-images/android-29/google_apis/x86_64", @@ -6872,7 +6872,7 @@ } }, "displayName": "Google Play ARM 64 v8a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-arm-dbt-license", "name": "system-image-29-google_apis_playstore-arm64-v8a", "path": "system-images/android-29/google_apis_playstore/arm64-v8a", @@ -6940,7 +6940,7 @@ } }, "displayName": "Google Play Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-29-google_apis_playstore-x86", "path": "system-images/android-29/google_apis_playstore/x86", @@ -7008,7 +7008,7 @@ } }, "displayName": "Google Play Intel x86_64 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-29-google_apis_playstore-x86_64", "path": "system-images/android-29/google_apis_playstore/x86_64", @@ -7068,7 +7068,7 @@ } }, "displayName": "Android TV Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "system-image-30-android-tv-x86", "path": "system-images/android-30/android-tv/x86", @@ -7107,7 +7107,7 @@ } }, "displayName": "Wear OS 3 ARM 64 v8a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-30-android-wear-arm64-v8a", "path": "system-images/android-30/android-wear/arm64-v8a", @@ -7144,7 +7144,7 @@ } }, "displayName": "Wear OS 3 Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-30-android-wear-x86", "path": "system-images/android-30/android-wear/x86", @@ -7176,7 +7176,7 @@ } ], "displayName": "ARM 64 v8a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-30-default-arm64-v8a", "path": "system-images/android-30/default/arm64-v8a", @@ -7218,7 +7218,7 @@ } }, "displayName": "Intel x86_64 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-30-default-x86_64", "path": "system-images/android-30/default/x86_64", @@ -7244,9 +7244,9 @@ "archives": [ { "os": "all", - "sha1": "c3575404189a32f1d77ef0f080a09b8697ebb14b", - "size": 1244307632, - "url": "https://dl.google.com/android/repository/sys-img/google_apis/arm64-v8a-30_r13.zip" + "sha1": "0e66987d6b4db2e278af83d453ce5d74a7e6ced3", + "size": 1244324730, + "url": "https://dl.google.com/android/repository/sys-img/google_apis/arm64-v8a-30_r16.zip" } ], "dependencies": { @@ -7262,13 +7262,13 @@ } }, "displayName": "Google APIs ARM 64 v8a System Image", - "last-available-day": 19823, - "license": "android-sdk-license", + "last-available-day": 19954, + "license": "android-sdk-arm-dbt-license", "name": "system-image-30-google_apis-arm64-v8a", "path": "system-images/android-30/google_apis/arm64-v8a", "revision": "30-google_apis-arm64-v8a", "revision-details": { - "major:0": "13" + "major:0": "16" }, "type-details": { "abi:3": "arm64-v8a", @@ -7290,9 +7290,9 @@ "archives": [ { "os": "all", - "sha1": "c1d3209b861461e9c37273710bc4140ce2ae6056", - "size": 1240622989, - "url": "https://dl.google.com/android/repository/sys-img/google_apis/x86-30_r12.zip" + "sha1": "a58447e540a8581394dd04ee419c6771d62723d8", + "size": 1240551553, + "url": "https://dl.google.com/android/repository/sys-img/google_apis/x86-30_r16.zip" } ], "dependencies": { @@ -7318,13 +7318,13 @@ } }, "displayName": "Google APIs Intel x86 Atom System Image", - "last-available-day": 19823, - "license": "android-sdk-arm-dbt-license", + "last-available-day": 19954, + "license": "android-sdk-license", "name": "system-image-30-google_apis-x86", "path": "system-images/android-30/google_apis/x86", "revision": "30-google_apis-x86", "revision-details": { - "major:0": "12" + "major:0": "16" }, "type-details": { "abi:3": "x86", @@ -7346,9 +7346,9 @@ "archives": [ { "os": "all", - "sha1": "efb07cd6268d93d7e2be88883bc9249a00b378b3", - "size": 1438275289, - "url": "https://dl.google.com/android/repository/sys-img/google_apis/x86_64-30_r12.zip" + "sha1": "6ae21030eaadc041078444d3798e4b399f3e787d", + "size": 1438186618, + "url": "https://dl.google.com/android/repository/sys-img/google_apis/x86_64-30_r16.zip" } ], "dependencies": { @@ -7374,13 +7374,13 @@ } }, "displayName": "Google APIs Intel x86_64 Atom System Image", - "last-available-day": 19823, - "license": "android-sdk-arm-dbt-license", + "last-available-day": 19954, + "license": "android-sdk-license", "name": "system-image-30-google_apis-x86_64", "path": "system-images/android-30/google_apis/x86_64", "revision": "30-google_apis-x86_64", "revision-details": { - "major:0": "12" + "major:0": "16" }, "type-details": { "abi:3": "x86_64", @@ -7428,7 +7428,7 @@ } }, "displayName": "Google Play ARM 64 v8a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-arm-dbt-license", "name": "system-image-30-google_apis_playstore-arm64-v8a", "path": "system-images/android-30/google_apis_playstore/arm64-v8a", @@ -7496,7 +7496,7 @@ } }, "displayName": "Google Play Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-30-google_apis_playstore-x86", "path": "system-images/android-30/google_apis_playstore/x86", @@ -7564,7 +7564,7 @@ } }, "displayName": "Google Play Intel x86_64 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-arm-dbt-license", "name": "system-image-30-google_apis_playstore-x86_64", "path": "system-images/android-30/google_apis_playstore/x86_64", @@ -7624,7 +7624,7 @@ } }, "displayName": "Android TV ARM 64 v8a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-31-android-tv-arm64-v8a", "path": "system-images/android-31/android-tv/arm64-v8a", @@ -7676,7 +7676,7 @@ } }, "displayName": "Android TV Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-31-android-tv-x86", "path": "system-images/android-31/android-tv/x86", @@ -7720,7 +7720,7 @@ } }, "displayName": "ARM 64 v8a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-31-default-arm64-v8a", "path": "system-images/android-31/default/arm64-v8a", @@ -7762,7 +7762,7 @@ } }, "displayName": "Intel x86_64 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-31-default-x86_64", "path": "system-images/android-31/default/x86_64", @@ -7816,7 +7816,7 @@ } }, "displayName": "Google APIs ARM 64 v8a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-arm-dbt-license", "name": "system-image-31-google_apis-arm64-v8a", "path": "system-images/android-31/google_apis/arm64-v8a", @@ -7872,7 +7872,7 @@ } }, "displayName": "Google APIs Intel x86_64 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "system-image-31-google_apis-x86_64", "path": "system-images/android-31/google_apis/x86_64", @@ -7936,7 +7936,7 @@ } }, "displayName": "Google Play ARM 64 v8a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-arm-dbt-license", "name": "system-image-31-google_apis_playstore-arm64-v8a", "path": "system-images/android-31/google_apis_playstore/arm64-v8a", @@ -7992,7 +7992,7 @@ } }, "displayName": "Google Play Intel x86_64 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-arm-dbt-license", "name": "system-image-31-google_apis_playstore-x86_64", "path": "system-images/android-31/google_apis_playstore/x86_64", @@ -8042,7 +8042,7 @@ } }, "displayName": "ARM 64 v8a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-32-default-arm64-v8a", "path": "system-images/android-32/default/arm64-v8a", @@ -8084,7 +8084,7 @@ } }, "displayName": "Intel x86_64 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-32-default-x86_64", "path": "system-images/android-32/default/x86_64", @@ -8138,7 +8138,7 @@ } }, "displayName": "Google APIs ARM 64 v8a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-arm-dbt-license", "name": "system-image-32-google_apis-arm64-v8a", "path": "system-images/android-32/google_apis/arm64-v8a", @@ -8194,7 +8194,7 @@ } }, "displayName": "Google APIs Intel x86_64 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "system-image-32-google_apis-x86_64", "path": "system-images/android-32/google_apis/x86_64", @@ -8258,7 +8258,7 @@ } }, "displayName": "Google Play ARM 64 v8a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-arm-dbt-license", "name": "system-image-32-google_apis_playstore-arm64-v8a", "path": "system-images/android-32/google_apis_playstore/arm64-v8a", @@ -8326,7 +8326,7 @@ } }, "displayName": "Google Play Intel x86_64 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "system-image-32-google_apis_playstore-x86_64", "path": "system-images/android-32/google_apis_playstore/x86_64", @@ -8386,7 +8386,7 @@ } }, "displayName": "Android TV ARM 64 v8a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-33-android-tv-arm64-v8a", "path": "system-images/android-33/android-tv/arm64-v8a", @@ -8438,7 +8438,7 @@ } }, "displayName": "Android TV Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-33-android-tv-x86", "path": "system-images/android-33/android-tv/x86", @@ -8477,7 +8477,7 @@ } }, "displayName": "Wear OS 4 ARM 64 v8a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "system-image-33-android-wear-arm64-v8a", "path": "system-images/android-33/android-wear/arm64-v8a", @@ -8514,7 +8514,7 @@ } }, "displayName": "Wear OS 4 Intel x86_64 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "system-image-33-android-wear-x86_64", "path": "system-images/android-33/android-wear/x86_64", @@ -8558,7 +8558,7 @@ } }, "displayName": "ARM 64 v8a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-33-default-arm64-v8a", "path": "system-images/android-33/default/arm64-v8a", @@ -8600,7 +8600,7 @@ } }, "displayName": "Intel x86_64 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-33-default-x86_64", "path": "system-images/android-33/default/x86_64", @@ -8626,9 +8626,9 @@ "archives": [ { "os": "all", - "sha1": "9e314318536875458eaf68d02d411c59a386ab59", - "size": 1629980162, - "url": "https://dl.google.com/android/repository/sys-img/google_apis/arm64-v8a-33_r15.zip" + "sha1": "8143bc8b517db20f1f34dd5d93a021b131d73720", + "size": 1751160645, + "url": "https://dl.google.com/android/repository/sys-img/google_apis/arm64-v8a-33_r16.zip" } ], "dependencies": { @@ -8654,13 +8654,13 @@ } }, "displayName": "Google APIs ARM 64 v8a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-arm-dbt-license", "name": "system-image-33-google_apis-arm64-v8a", "path": "system-images/android-33/google_apis/arm64-v8a", "revision": "33-google_apis-arm64-v8a", "revision-details": { - "major:0": "15" + "major:0": "16" }, "type-details": { "abi:3": "arm64-v8a", @@ -8682,9 +8682,9 @@ "archives": [ { "os": "all", - "sha1": "966eadeb61cd888a79477851e51349eed103e5c8", - "size": 1545118291, - "url": "https://dl.google.com/android/repository/sys-img/google_apis/x86_64-33_r15.zip" + "sha1": "a18ba5146f8a10e6f3c1d45df4a8d22c68306ee3", + "size": 1697603005, + "url": "https://dl.google.com/android/repository/sys-img/google_apis/x86_64-33_r16.zip" } ], "dependencies": { @@ -8710,13 +8710,13 @@ } }, "displayName": "Google APIs Intel x86_64 Atom System Image", - "last-available-day": 19823, - "license": "android-sdk-arm-dbt-license", + "last-available-day": 19954, + "license": "android-sdk-license", "name": "system-image-33-google_apis-x86_64", "path": "system-images/android-33/google_apis/x86_64", "revision": "33-google_apis-x86_64", "revision-details": { - "major:0": "15" + "major:0": "16" }, "type-details": { "abi:3": "x86_64", @@ -8774,7 +8774,7 @@ } }, "displayName": "Google Play ARM 64 v8a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-arm-dbt-license", "name": "system-image-33-google_apis_playstore-arm64-v8a", "path": "system-images/android-33/google_apis_playstore/arm64-v8a", @@ -8830,7 +8830,7 @@ } }, "displayName": "Google Play Intel x86_64 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-33-google_apis_playstore-x86_64", "path": "system-images/android-33/google_apis_playstore/x86_64", @@ -8862,9 +8862,9 @@ "archives": [ { "os": "all", - "sha1": "81b98fc5c3521a3a872667851c7f6bf61dfcdd5a", - "size": 883278287, - "url": "https://dl.google.com/android/repository/sys-img/android-tv/arm64-v8a-34_r02.zip" + "sha1": "a31d0d8326f2c82787f95dd387614274082a96a0", + "size": 815200224, + "url": "https://dl.google.com/android/repository/sys-img/android-tv/arm64-v8a-34_r03.zip" } ], "dependencies": { @@ -8890,13 +8890,13 @@ } }, "displayName": "Android TV ARM 64 v8a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-34-android-tv-arm64-v8a", "path": "system-images/android-34/android-tv/arm64-v8a", "revision": "34-android-tv-arm64-v8a", "revision-details": { - "major:0": "2" + "major:0": "3" }, "type-details": { "abi:2": "arm64-v8a", @@ -8914,9 +8914,9 @@ "archives": [ { "os": "all", - "sha1": "3be0ccf9611c7125e9c43083ae3ca6abba5f45b7", - "size": 880214246, - "url": "https://dl.google.com/android/repository/sys-img/android-tv/x86-34_r02.zip" + "sha1": "8de1dcb502b0b4080e6f363828db64e609b3aa2a", + "size": 809947873, + "url": "https://dl.google.com/android/repository/sys-img/android-tv/x86-34_r03.zip" } ], "dependencies": { @@ -8942,13 +8942,13 @@ } }, "displayName": "Android TV Intel x86 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-34-android-tv-x86", "path": "system-images/android-34/android-tv/x86", "revision": "34-android-tv-x86", "revision-details": { - "major:0": "2" + "major:0": "3" }, "type-details": { "abi:2": "x86", @@ -8963,6 +8963,68 @@ } } }, + "android-wear": { + "arm64-v8a": { + "archives": [ + { + "os": "all", + "sha1": "29a733a9e6d89a70f26dabff7525edc657be6b07", + "size": 1215167945, + "url": "https://dl.google.com/android/repository/sys-img/android-wear/arm64-v8a-34_r01.zip" + } + ], + "displayName": "Wear OS 5 ARM 64 v8a System Image", + "last-available-day": 19954, + "license": "android-sdk-license", + "name": "system-image-34-android-wear-arm64-v8a", + "path": "system-images/android-34/android-wear/arm64-v8a", + "revision": "34-android-wear-arm64-v8a", + "revision-details": { + "major:0": "1" + }, + "type-details": { + "abi:2": "arm64-v8a", + "api-level:0": "34", + "element-attributes": { + "xsi:type": "ns12:sysImgDetailsType" + }, + "tag:1": { + "display:1": "Wear OS 5", + "id:0": "android-wear" + } + } + }, + "x86_64": { + "archives": [ + { + "os": "all", + "sha1": "851c223ddf735d692d3cca96fdffa4c1f7ca4316", + "size": 1209506837, + "url": "https://dl.google.com/android/repository/sys-img/android-wear/x86_64-34_r01.zip" + } + ], + "displayName": "Wear OS 5 Intel x86_64 Atom System Image", + "last-available-day": 19954, + "license": "android-sdk-license", + "name": "system-image-34-android-wear-x86_64", + "path": "system-images/android-34/android-wear/x86_64", + "revision": "34-android-wear-x86_64", + "revision-details": { + "major:0": "1" + }, + "type-details": { + "abi:2": "x86_64", + "api-level:0": "34", + "element-attributes": { + "xsi:type": "ns12:sysImgDetailsType" + }, + "tag:1": { + "display:1": "Wear OS 5", + "id:0": "android-wear" + } + } + } + }, "default": { "arm64-v8a": { "archives": [ @@ -8986,7 +9048,7 @@ } }, "displayName": "ARM 64 v8a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-34-default-arm64-v8a", "path": "system-images/android-34/default/arm64-v8a", @@ -9028,7 +9090,7 @@ } }, "displayName": "Intel x86_64 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-34-default-x86_64", "path": "system-images/android-34/default/x86_64", @@ -9054,9 +9116,9 @@ "archives": [ { "os": "all", - "sha1": "0981c5416516d609b1df5f29d3781c99d9fe061c", - "size": 1588261149, - "url": "https://dl.google.com/android/repository/sys-img/google_apis/arm64-v8a-34_r12.zip" + "sha1": "2fe8b46d419a3400e30f31b0152b241b50c8b99f", + "size": 1610393229, + "url": "https://dl.google.com/android/repository/sys-img/google_apis/arm64-v8a-34_r14.zip" } ], "dependencies": { @@ -9082,13 +9144,13 @@ } }, "displayName": "Google APIs ARM 64 v8a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-arm-dbt-license", "name": "system-image-34-google_apis-arm64-v8a", "path": "system-images/android-34/google_apis/arm64-v8a", "revision": "34-google_apis-arm64-v8a", "revision-details": { - "major:0": "12" + "major:0": "14" }, "type-details": { "abi:3": "arm64-v8a", @@ -9110,9 +9172,9 @@ "archives": [ { "os": "all", - "sha1": "3392de02e09144d61e3a789c0f17ce447b70b191", - "size": 1541568922, - "url": "https://dl.google.com/android/repository/sys-img/google_apis/x86_64-34_r12.zip" + "sha1": "e0f6c9a0691aa27bd597d0deb1bcfdc943ac8ca7", + "size": 1563721130, + "url": "https://dl.google.com/android/repository/sys-img/google_apis/x86_64-34_r14.zip" } ], "dependencies": { @@ -9138,13 +9200,13 @@ } }, "displayName": "Google APIs Intel x86_64 Atom System Image", - "last-available-day": 19823, - "license": "android-sdk-arm-dbt-license", + "last-available-day": 19954, + "license": "android-sdk-license", "name": "system-image-34-google_apis-x86_64", "path": "system-images/android-34/google_apis/x86_64", "revision": "34-google_apis-x86_64", "revision-details": { - "major:0": "12" + "major:0": "14" }, "type-details": { "abi:3": "x86_64", @@ -9168,9 +9230,9 @@ "archives": [ { "os": "all", - "sha1": "a4fec7b9035d6f182fad788a4c1e5fef0fa94cb1", - "size": 1549222105, - "url": "https://dl.google.com/android/repository/sys-img/google_apis_playstore/arm64-v8a-34-ext8_r02.zip" + "sha1": "c307c3301dc52635ebc78b943c39b3c377856ebc", + "size": 1548905381, + "url": "https://dl.google.com/android/repository/sys-img/google_apis_playstore/arm64-v8a-34_r14.zip" }, { "os": "macosx", @@ -9208,13 +9270,13 @@ } }, "displayName": "Google Play ARM 64 v8a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-arm-dbt-license", "name": "system-image-34-google_apis_playstore-arm64-v8a", - "path": "system-images/android-34-ext10/google_apis_playstore/arm64-v8a", + "path": "system-images/android-34-ext12/google_apis_playstore/arm64-v8a", "revision": "34-google_apis_playstore-arm64-v8a", "revision-details": { - "major:0": "2" + "major:0": "1" }, "type-details": { "abi:2": "arm64-v8a", @@ -9265,13 +9327,13 @@ } }, "displayName": "Google Play Intel x86_64 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-34-google_apis_playstore-x86_64", - "path": "system-images/android-34-ext10/google_apis_playstore/x86_64", + "path": "system-images/android-34-ext12/google_apis_playstore/x86_64", "revision": "34-google_apis_playstore-x86_64", "revision-details": { - "major:0": "2" + "major:0": "1" }, "type-details": { "abi:2": "x86_64", @@ -9292,6 +9354,218 @@ } } }, + "35": { + "google_apis": { + "arm64-v8a": { + "archives": [ + { + "os": "all", + "sha1": "4bb0111ce3e386f40337c652c0230524d97a05ae", + "size": 1766503283, + "url": "https://dl.google.com/android/repository/sys-img/google_apis/arm64-v8a-35_r07.zip" + } + ], + "displayName": "Google APIs ARM 64 v8a System Image", + "last-available-day": 19954, + "license": "android-sdk-arm-dbt-license", + "name": "system-image-35-google_apis-arm64-v8a", + "path": "system-images/android-35/google_apis/arm64-v8a", + "revision": "35-google_apis-arm64-v8a", + "revision-details": { + "major:0": "7" + }, + "type-details": { + "abi:3": "arm64-v8a", + "api-level:0": "35", + "element-attributes": { + "xsi:type": "ns12:sysImgDetailsType" + }, + "tag:1": { + "display:1": "Google APIs", + "id:0": "google_apis" + }, + "vendor:2": { + "display:1": "Google Inc.", + "id:0": "google" + } + } + }, + "x86_64": { + "archives": [ + { + "os": "all", + "sha1": "febd4186e0d234d60fecd50a37aaabf07bac6605", + "size": 1689421014, + "url": "https://dl.google.com/android/repository/sys-img/google_apis/x86_64-35_r07.zip" + } + ], + "displayName": "Google APIs Intel x86_64 Atom System Image", + "last-available-day": 19954, + "license": "android-sdk-license", + "name": "system-image-35-google_apis-x86_64", + "path": "system-images/android-35/google_apis/x86_64", + "revision": "35-google_apis-x86_64", + "revision-details": { + "major:0": "7" + }, + "type-details": { + "abi:3": "x86_64", + "api-level:0": "35", + "element-attributes": { + "xsi:type": "ns12:sysImgDetailsType" + }, + "tag:1": { + "display:1": "Google APIs", + "id:0": "google_apis" + }, + "vendor:2": { + "display:1": "Google Inc.", + "id:0": "google" + } + } + } + }, + "google_apis_playstore": { + "arm64-v8a": { + "archives": [ + { + "os": "all", + "sha1": "ecb2b9dbedda0e8aca02b23bc069c462499731ce", + "size": 1776691122, + "url": "https://dl.google.com/android/repository/sys-img/google_apis_playstore/arm64-v8a-35_r07.zip" + } + ], + "displayName": "Google Play Experimental 16k Page Size ARM 64 v8a System Image", + "last-available-day": 19954, + "license": "android-sdk-arm-dbt-license", + "name": "system-image-35-google_apis_playstore-arm64-v8a", + "path": "system-images/android-35/google_apis_playstore_ps16k/arm64-v8a", + "revision": "35-google_apis_playstore-arm64-v8a", + "revision-details": { + "major:0": "3" + }, + "type-details": { + "abi:3": "arm64-v8a", + "api-level:0": "35", + "element-attributes": { + "xsi:type": "ns12:sysImgDetailsType" + }, + "tag:1": { + "display:1": "Google APIs PlayStore", + "id:0": "google_apis_playstore" + }, + "vendor:2": { + "display:1": "Google Inc.", + "id:0": "google" + } + } + }, + "x86_64": { + "archives": [ + { + "os": "all", + "sha1": "b06db9ec697e40e2acd301653ff76bb6b2abe1d8", + "size": 1714146193, + "url": "https://dl.google.com/android/repository/sys-img/google_apis_playstore/x86_64-35_r07.zip" + } + ], + "displayName": "Google Play Experimental 16k Page Size Intel x86_64 Atom System Image", + "last-available-day": 19954, + "license": "android-sdk-license", + "name": "system-image-35-google_apis_playstore-x86_64", + "path": "system-images/android-35/google_apis_playstore_ps16k/x86_64", + "revision": "35-google_apis_playstore-x86_64", + "revision-details": { + "major:0": "3" + }, + "type-details": { + "abi:3": "x86_64", + "api-level:0": "35", + "element-attributes": { + "xsi:type": "ns12:sysImgDetailsType" + }, + "tag:1": { + "display:1": "Google APIs PlayStore", + "id:0": "google_apis_playstore" + }, + "vendor:2": { + "display:1": "Google Inc.", + "id:0": "google" + } + } + } + }, + "page_size_16kb": { + "arm64-v8a": { + "archives": [ + { + "os": "all", + "sha1": "bcb011c34aa3ae9f198b5adf728430d5c0cafc25", + "size": 1522862879, + "url": "https://dl.google.com/android/repository/sys-img/page_size_16kb/arm64-v8a-ps16k-35_r03.zip" + } + ], + "displayName": "Pre-Release 16 KB Page Size Google APIs ARM 64 v8a System Image", + "last-available-day": 19954, + "license": "android-sdk-arm-dbt-license", + "name": "system-image-35-page_size_16kb-arm64-v8a", + "path": "system-images/android-35/google_apis_ps16k/arm64-v8a", + "revision": "35-page_size_16kb-arm64-v8a", + "revision-details": { + "major:0": "3" + }, + "type-details": { + "abi:3": "arm64-v8a", + "api-level:0": "35", + "element-attributes": { + "xsi:type": "ns12:sysImgDetailsType" + }, + "tag:1": { + "display:1": "16 KB Page Size", + "id:0": "page_size_16kb" + }, + "vendor:2": { + "display:1": "Google Inc.", + "id:0": "google" + } + } + }, + "x86_64": { + "archives": [ + { + "os": "all", + "sha1": "e5ba89f23ee36ec6c46bd06df332ab876f123b13", + "size": 1444723260, + "url": "https://dl.google.com/android/repository/sys-img/page_size_16kb/x86_64-ps16k-35_r03.zip" + } + ], + "displayName": "Pre-Release 16 KB Page Size Google APIs Intel x86_64 Atom System Image", + "last-available-day": 19954, + "license": "android-sdk-license", + "name": "system-image-35-page_size_16kb-x86_64", + "path": "system-images/android-35/google_apis_ps16k/x86_64", + "revision": "35-page_size_16kb-x86_64", + "revision-details": { + "major:0": "3" + }, + "type-details": { + "abi:3": "x86_64", + "api-level:0": "35", + "element-attributes": { + "xsi:type": "ns12:sysImgDetailsType" + }, + "tag:1": { + "display:1": "16 KB Page Size", + "id:0": "page_size_16kb" + }, + "vendor:2": { + "display:1": "Google Inc.", + "id:0": "google" + } + } + } + } + }, "TiramisuPrivacySandbox": { "google_apis": { "arm64-v8a": { @@ -9316,7 +9590,7 @@ } }, "displayName": "Google APIs ARM 64 v8a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-TiramisuPrivacySandbox-google_apis-arm64-v8a", "path": "system-images/android-TiramisuPrivacySandbox/google_apis/arm64-v8a", @@ -9363,7 +9637,7 @@ } }, "displayName": "Google APIs Intel x86_64 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-TiramisuPrivacySandbox-google_apis-x86_64", "path": "system-images/android-TiramisuPrivacySandbox/google_apis/x86_64", @@ -9428,7 +9702,7 @@ } }, "displayName": "Google Play ARM 64 v8a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-arm-dbt-license", "name": "system-image-TiramisuPrivacySandbox-google_apis_playstore-arm64-v8a", "path": "system-images/android-TiramisuPrivacySandbox/google_apis_playstore/arm64-v8a", @@ -9485,7 +9759,7 @@ } }, "displayName": "Google Play Intel x86_64 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "system-image-TiramisuPrivacySandbox-google_apis_playstore-x86_64", "path": "system-images/android-TiramisuPrivacySandbox/google_apis_playstore/x86_64", @@ -9772,7 +10046,7 @@ } }, "displayName": "Google Play ARM 64 v8a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-arm-dbt-license", "name": "system-image-UpsideDownCakePrivacySandbox-google_apis_playstore-arm64-v8a", "path": "system-images/android-UpsideDownCakePrivacySandbox/google_apis_playstore/arm64-v8a", @@ -9829,7 +10103,7 @@ } }, "displayName": "Google Play Intel x86_64 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "system-image-UpsideDownCakePrivacySandbox-google_apis_playstore-x86_64", "path": "system-images/android-UpsideDownCakePrivacySandbox/google_apis_playstore/x86_64", @@ -9862,22 +10136,23 @@ "archives": [ { "os": "all", - "sha1": "d87d6bb8cc98e91bd76a3585fed3f3616ad3140b", - "size": 1852895338, - "url": "https://dl.google.com/android/repository/sys-img/google_apis/arm64-v8a-VanillaIceCream_r03.zip" + "sha1": "896dec0aaae40954e2da30527f0763f292511217", + "size": 1737853248, + "url": "https://dl.google.com/android/repository/sys-img/google_apis/arm64-v8a-VanillaIceCream_r05.zip" } ], "displayName": "Google APIs ARM 64 v8a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-arm-dbt-license", "name": "system-image-VanillaIceCream-google_apis-arm64-v8a", "path": "system-images/android-VanillaIceCream/google_apis/arm64-v8a", "revision": "VanillaIceCream-google_apis-arm64-v8a", "revision-details": { - "major:0": "3" + "major:0": "5" }, "type-details": { "abi:3": "arm64-v8a", + "abi:4": "arm64-v8a", "api-level:0": "34", "codename:1": "VanillaIceCream", "element-attributes": { @@ -9886,6 +10161,10 @@ "tag:2": { "display:1": "Google APIs", "id:0": "google_apis" + }, + "vendor:3": { + "display:1": "Google Inc.", + "id:0": "google" } } }, @@ -9893,22 +10172,23 @@ "archives": [ { "os": "all", - "sha1": "f64e861db5568cfb0e6392dd4b34d78e41c1be8c", - "size": 1648708425, - "url": "https://dl.google.com/android/repository/sys-img/google_apis/x86_64-VanillaIceCream_r03.zip" + "sha1": "2efa686b5a420f3b9cb30e45a1e0e78a10a5fba8", + "size": 1682110854, + "url": "https://dl.google.com/android/repository/sys-img/google_apis/x86_64-VanillaIceCream_r05.zip" } ], "displayName": "Google APIs Intel x86_64 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-VanillaIceCream-google_apis-x86_64", "path": "system-images/android-VanillaIceCream/google_apis/x86_64", "revision": "VanillaIceCream-google_apis-x86_64", "revision-details": { - "major:0": "3" + "major:0": "5" }, "type-details": { "abi:3": "x86_64", + "abi:4": "x86_64", "api-level:0": "34", "codename:1": "VanillaIceCream", "element-attributes": { @@ -9917,6 +10197,10 @@ "tag:2": { "display:1": "Google APIs", "id:0": "google_apis" + }, + "vendor:3": { + "display:1": "Google Inc.", + "id:0": "google" } } } @@ -9926,22 +10210,23 @@ "archives": [ { "os": "all", - "sha1": "d0b5b5d7a7df6df55aa41b49460936ecf72625d1", - "size": 1863404889, - "url": "https://dl.google.com/android/repository/sys-img/google_apis_playstore/arm64-v8a-VanillaIceCream_r03.zip" + "sha1": "41c8b6df52b60c76881fa5f819363678f9ef096c", + "size": 1745670932, + "url": "https://dl.google.com/android/repository/sys-img/google_apis_playstore/arm64-v8a-VanillaIceCream_r05.zip" } ], "displayName": "Google Play ARM 64 v8a System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-arm-dbt-license", "name": "system-image-VanillaIceCream-google_apis_playstore-arm64-v8a", "path": "system-images/android-VanillaIceCream/google_apis_playstore/arm64-v8a", "revision": "VanillaIceCream-google_apis_playstore-arm64-v8a", "revision-details": { - "major:0": "3" + "major:0": "5" }, "type-details": { "abi:3": "arm64-v8a", + "abi:4": "arm64-v8a", "api-level:0": "34", "codename:1": "VanillaIceCream", "element-attributes": { @@ -9950,6 +10235,10 @@ "tag:2": { "display:1": "Google Play", "id:0": "google_apis_playstore" + }, + "vendor:3": { + "display:1": "Google Inc.", + "id:0": "google" } } }, @@ -9957,22 +10246,23 @@ "archives": [ { "os": "all", - "sha1": "3bfcf04fc5476d65588fbfc51798a9bbc94b5e19", - "size": 1673530237, - "url": "https://dl.google.com/android/repository/sys-img/google_apis_playstore/x86_64-VanillaIceCream_r03.zip" + "sha1": "0d4c047003eaa8c78698f9aea0708e71b0895248", + "size": 1704139494, + "url": "https://dl.google.com/android/repository/sys-img/google_apis_playstore/x86_64-VanillaIceCream_r05.zip" } ], "displayName": "Google Play Intel x86_64 Atom System Image", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "system-image-VanillaIceCream-google_apis_playstore-x86_64", "path": "system-images/android-VanillaIceCream/google_apis_playstore/x86_64", "revision": "VanillaIceCream-google_apis_playstore-x86_64", "revision-details": { - "major:0": "3" + "major:0": "5" }, "type-details": { "abi:3": "x86_64", + "abi:4": "x86_64", "api-level:0": "34", "codename:1": "VanillaIceCream", "element-attributes": { @@ -9981,6 +10271,82 @@ "tag:2": { "display:1": "Google Play", "id:0": "google_apis_playstore" + }, + "vendor:3": { + "display:1": "Google Inc.", + "id:0": "google" + } + } + } + }, + "page_size_16kb": { + "arm64-v8a": { + "archives": [ + { + "os": "all", + "sha1": "167fc0f1baae778d3382a7ec4a463a1bfbc3253c", + "size": 1392391828, + "url": "https://dl.google.com/android/repository/sys-img/page_size_16kb/arm64-v8a-ps16k-VanillaIceCream_r01.zip" + } + ], + "displayName": "Pre-Release 16 KB Page Size Google APIs ARM 64 v8a System Image", + "last-available-day": 19954, + "license": "android-sdk-arm-dbt-license", + "name": "system-image-VanillaIceCream-page_size_16kb-arm64-v8a", + "path": "system-images/android-VanillaIceCream/google_apis_ps16k/arm64-v8a", + "revision": "VanillaIceCream-page_size_16kb-arm64-v8a", + "revision-details": { + "major:0": "1" + }, + "type-details": { + "abi:4": "arm64-v8a", + "api-level:0": "34", + "codename:1": "VanillaIceCream", + "element-attributes": { + "xsi:type": "ns12:sysImgDetailsType" + }, + "tag:2": { + "display:1": "16 KB Page Size", + "id:0": "page_size_16kb" + }, + "vendor:3": { + "display:1": "Google Inc.", + "id:0": "google" + } + } + }, + "x86_64": { + "archives": [ + { + "os": "all", + "sha1": "4a48eab34ea526f9a4cd60948ed7e6698b3e5cfd", + "size": 1332306731, + "url": "https://dl.google.com/android/repository/sys-img/page_size_16kb/x86_64-ps16k-VanillaIceCream_r01.zip" + } + ], + "displayName": "Pre-Release 16 KB Page Size Google APIs Intel x86_64 Atom System Image", + "last-available-day": 19954, + "license": "android-sdk-license", + "name": "system-image-VanillaIceCream-page_size_16kb-x86_64", + "path": "system-images/android-VanillaIceCream/google_apis_ps16k/x86_64", + "revision": "VanillaIceCream-page_size_16kb-x86_64", + "revision-details": { + "major:0": "1" + }, + "type-details": { + "abi:4": "x86_64", + "api-level:0": "34", + "codename:1": "VanillaIceCream", + "element-attributes": { + "xsi:type": "ns12:sysImgDetailsType" + }, + "tag:2": { + "display:1": "16 KB Page Size", + "id:0": "page_size_16kb" + }, + "vendor:3": { + "display:1": "Google Inc.", + "id:0": "google" } } } @@ -10044,7 +10410,7 @@ } }, "displayName": "Android SDK Build-Tools 17", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "obsolete": "true", @@ -10090,7 +10456,7 @@ } }, "displayName": "Android SDK Build-Tools 18.0.1", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "obsolete": "true", @@ -10136,7 +10502,7 @@ } }, "displayName": "Android SDK Build-Tools 18.1", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "obsolete": "true", @@ -10182,7 +10548,7 @@ } }, "displayName": "Android SDK Build-Tools 18.1.1", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "obsolete": "true", @@ -10228,7 +10594,7 @@ } }, "displayName": "Android SDK Build-Tools 19", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "obsolete": "true", @@ -10274,7 +10640,7 @@ } }, "displayName": "Android SDK Build-Tools 19.0.1", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "obsolete": "true", @@ -10320,7 +10686,7 @@ } }, "displayName": "Android SDK Build-Tools 19.0.2", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "obsolete": "true", @@ -10366,7 +10732,7 @@ } }, "displayName": "Android SDK Build-Tools 19.0.3", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "obsolete": "true", @@ -10412,7 +10778,7 @@ } }, "displayName": "Android SDK Build-Tools 19.1", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/19.1.0", @@ -10457,7 +10823,7 @@ } }, "displayName": "Android SDK Build-Tools 20", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/20.0.0", @@ -10502,7 +10868,7 @@ } }, "displayName": "Android SDK Build-Tools 21", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "obsolete": "true", @@ -10548,7 +10914,7 @@ } }, "displayName": "Android SDK Build-Tools 21.0.1", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "obsolete": "true", @@ -10594,7 +10960,7 @@ } }, "displayName": "Android SDK Build-Tools 21.0.2", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "obsolete": "true", @@ -10640,7 +11006,7 @@ } }, "displayName": "Android SDK Build-Tools 21.1", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "obsolete": "true", @@ -10686,7 +11052,7 @@ } }, "displayName": "Android SDK Build-Tools 21.1.1", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "obsolete": "true", @@ -10732,7 +11098,7 @@ } }, "displayName": "Android SDK Build-Tools 21.1.2", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/21.1.2", @@ -10777,7 +11143,7 @@ } }, "displayName": "Android SDK Build-Tools 22", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "obsolete": "true", @@ -10823,7 +11189,7 @@ } }, "displayName": "Android SDK Build-Tools 22.0.1", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/22.0.1", @@ -10868,7 +11234,7 @@ } }, "displayName": "Android SDK Build-Tools 23", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "obsolete": "true", @@ -10914,7 +11280,7 @@ } }, "displayName": "Android SDK Build-Tools 23.0.1", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/23.0.1", @@ -10959,7 +11325,7 @@ } }, "displayName": "Android SDK Build-Tools 23.0.2", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/23.0.2", @@ -11004,7 +11370,7 @@ } }, "displayName": "Android SDK Build-Tools 23.0.3", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/23.0.3", @@ -11049,7 +11415,7 @@ } }, "displayName": "Android SDK Build-Tools 24", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/24.0.0", @@ -11094,7 +11460,7 @@ } }, "displayName": "Android SDK Build-Tools 24.0.1", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/24.0.1", @@ -11139,7 +11505,7 @@ } }, "displayName": "Android SDK Build-Tools 24.0.2", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/24.0.2", @@ -11184,7 +11550,7 @@ } }, "displayName": "Android SDK Build-Tools 24.0.3", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/24.0.3", @@ -11229,7 +11595,7 @@ } }, "displayName": "Android SDK Build-Tools 25", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/25.0.0", @@ -11274,7 +11640,7 @@ } }, "displayName": "Android SDK Build-Tools 25.0.1", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/25.0.1", @@ -11319,7 +11685,7 @@ } }, "displayName": "Android SDK Build-Tools 25.0.2", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/25.0.2", @@ -11364,7 +11730,7 @@ } }, "displayName": "Android SDK Build-Tools 25.0.3", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/25.0.3", @@ -11409,7 +11775,7 @@ } }, "displayName": "Android SDK Build-Tools 26", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/26.0.0", @@ -11454,7 +11820,7 @@ } }, "displayName": "Android SDK Build-Tools 26.0.1", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/26.0.1", @@ -11499,7 +11865,7 @@ } }, "displayName": "Android SDK Build-Tools 26.0.2", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/26.0.2", @@ -11544,7 +11910,7 @@ } }, "displayName": "Android SDK Build-Tools 26.0.3", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/26.0.3", @@ -11589,7 +11955,7 @@ } }, "displayName": "Android SDK Build-Tools 27", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/27.0.0", @@ -11634,7 +12000,7 @@ } }, "displayName": "Android SDK Build-Tools 27.0.1", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/27.0.1", @@ -11679,7 +12045,7 @@ } }, "displayName": "Android SDK Build-Tools 27.0.2", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/27.0.2", @@ -11724,7 +12090,7 @@ } }, "displayName": "Android SDK Build-Tools 27.0.3", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/27.0.3", @@ -11769,7 +12135,7 @@ } }, "displayName": "Android SDK Build-Tools 28", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/28.0.0", @@ -11814,7 +12180,7 @@ } }, "displayName": "Android SDK Build-Tools 28-rc1", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "build-tools", "obsolete": "true", @@ -11861,7 +12227,7 @@ } }, "displayName": "Android SDK Build-Tools 28-rc2", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "build-tools", "obsolete": "true", @@ -11908,7 +12274,7 @@ } }, "displayName": "Android SDK Build-Tools 28.0.1", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/28.0.1", @@ -11953,7 +12319,7 @@ } }, "displayName": "Android SDK Build-Tools 28.0.2", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/28.0.2", @@ -11998,7 +12364,7 @@ } }, "displayName": "Android SDK Build-Tools 28.0.3", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/28.0.3", @@ -12043,7 +12409,7 @@ } }, "displayName": "Android SDK Build-Tools 29", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/29.0.0", @@ -12088,7 +12454,7 @@ } }, "displayName": "Android SDK Build-Tools 29-rc1", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "build-tools", "obsolete": "true", @@ -12135,7 +12501,7 @@ } }, "displayName": "Android SDK Build-Tools 29-rc2", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "build-tools", "obsolete": "true", @@ -12182,7 +12548,7 @@ } }, "displayName": "Android SDK Build-Tools 29-rc3", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "build-tools", "obsolete": "true", @@ -12229,7 +12595,7 @@ } }, "displayName": "Android SDK Build-Tools 29.0.1", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/29.0.1", @@ -12274,7 +12640,7 @@ } }, "displayName": "Android SDK Build-Tools 29.0.2", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/29.0.2", @@ -12319,7 +12685,7 @@ } }, "displayName": "Android SDK Build-Tools 29.0.3", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/29.0.3", @@ -12364,7 +12730,7 @@ } }, "displayName": "Android SDK Build-Tools 30", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/30.0.0", @@ -12409,7 +12775,7 @@ } }, "displayName": "Android SDK Build-Tools 30.0.1", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/30.0.1", @@ -12454,7 +12820,7 @@ } }, "displayName": "Android SDK Build-Tools 30.0.2", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/30.0.2", @@ -12499,7 +12865,7 @@ } }, "displayName": "Android SDK Build-Tools 30.0.3", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/30.0.3", @@ -12537,7 +12903,7 @@ } ], "displayName": "Android SDK Build-Tools 31", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/31.0.0", @@ -12575,7 +12941,7 @@ } ], "displayName": "Android SDK Build-Tools 32", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/32.0.0", @@ -12613,7 +12979,7 @@ } ], "displayName": "Android SDK Build-Tools 32.1-rc1", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "build-tools", "path": "build-tools/32.1.0-rc1", @@ -12652,7 +13018,7 @@ } ], "displayName": "Android SDK Build-Tools 33", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/33.0.0", @@ -12690,7 +13056,7 @@ } ], "displayName": "Android SDK Build-Tools 33.0.1", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/33.0.1", @@ -12728,7 +13094,7 @@ } ], "displayName": "Android SDK Build-Tools 33.0.2", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/33.0.2", @@ -12766,7 +13132,7 @@ } ], "displayName": "Android SDK Build-Tools 33.0.3", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/33.0.3", @@ -12804,7 +13170,7 @@ } ], "displayName": "Android SDK Build-Tools 34", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "build-tools", "path": "build-tools/34.0.0", @@ -12842,7 +13208,7 @@ } ], "displayName": "Android SDK Build-Tools 34-rc1", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "build-tools", "path": "build-tools/34.0.0-rc1", @@ -12881,7 +13247,7 @@ } ], "displayName": "Android SDK Build-Tools 34-rc2", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "build-tools", "path": "build-tools/34.0.0-rc2", @@ -12920,7 +13286,7 @@ } ], "displayName": "Android SDK Build-Tools 34-rc3", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "build-tools", "path": "build-tools/34.0.0-rc3", @@ -12976,6 +13342,44 @@ } } }, + "35.0.0": { + "archives": [ + { + "os": "linux", + "sha1": "2cfaa0bbb2336e9ec18ed3ecea84fa2e2af607bc", + "size": 61958799, + "url": "https://dl.google.com/android/repository/build-tools_r35_linux.zip" + }, + { + "os": "windows", + "sha1": "af059bb67cf7786f45ee0db85e2d24985df1b4b6", + "size": 59878107, + "url": "https://dl.google.com/android/repository/build-tools_r35_windows.zip" + }, + { + "os": "macosx", + "sha1": "93ab8ce91230e067b5add4bfa79919c52b27f072", + "size": 76857898, + "url": "https://dl.google.com/android/repository/build-tools_r35_macosx.zip" + } + ], + "displayName": "Android SDK Build-Tools 35", + "last-available-day": 19954, + "license": "android-sdk-license", + "name": "build-tools", + "path": "build-tools/35.0.0", + "revision": "35.0.0", + "revision-details": { + "major:0": "35", + "micro:2": "0", + "minor:1": "0" + }, + "type-details": { + "element-attributes": { + "xsi:type": "ns5:genericDetailsType" + } + } + }, "35.0.0-rc1": { "archives": [ { @@ -12998,7 +13402,7 @@ } ], "displayName": "Android SDK Build-Tools 35-rc1", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "build-tools", "path": "build-tools/35.0.0-rc1", @@ -13037,7 +13441,7 @@ } ], "displayName": "Android SDK Build-Tools 35-rc2", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "build-tools", "path": "build-tools/35.0.0-rc2", @@ -13053,6 +13457,84 @@ "xsi:type": "ns5:genericDetailsType" } } + }, + "35.0.0-rc3": { + "archives": [ + { + "os": "linux", + "sha1": "25a13fd75a525385d77864f5470db9c1c48b5a40", + "size": 62746687, + "url": "https://dl.google.com/android/repository/build-tools_r35-rc3_linux.zip" + }, + { + "os": "windows", + "sha1": "f04f402d7d92edc14502e7b94034d1a1695ac12e", + "size": 59812048, + "url": "https://dl.google.com/android/repository/build-tools_r35-rc3_windows.zip" + }, + { + "os": "macosx", + "sha1": "f0d2a565d3634d2fd7a22838eafad792e8538c0a", + "size": 78263822, + "url": "https://dl.google.com/android/repository/build-tools_r35-rc3_macosx.zip" + } + ], + "displayName": "Android SDK Build-Tools 35-rc3", + "last-available-day": 19954, + "license": "android-sdk-preview-license", + "name": "build-tools", + "path": "build-tools/35.0.0-rc3", + "revision": "35.0.0-rc3", + "revision-details": { + "major:0": "35", + "micro:2": "0", + "minor:1": "0", + "preview:3": "3" + }, + "type-details": { + "element-attributes": { + "xsi:type": "ns5:genericDetailsType" + } + } + }, + "35.0.0-rc4": { + "archives": [ + { + "os": "linux", + "sha1": "08049ed693a2ba9bf6b9fa0edec897abac9f85ed", + "size": 61882448, + "url": "https://dl.google.com/android/repository/build-tools_r35-rc4_linux.zip" + }, + { + "os": "windows", + "sha1": "e08195bf5ce51105aca15f9eba758fceeb7b4b5d", + "size": 59901374, + "url": "https://dl.google.com/android/repository/build-tools_r35-rc4_windows.zip" + }, + { + "os": "macosx", + "sha1": "d9ce6ae1b0d720d7c2abd6510843c881f9d65188", + "size": 76832786, + "url": "https://dl.google.com/android/repository/build-tools_r35-rc4_macosx.zip" + } + ], + "displayName": "Android SDK Build-Tools 35-rc4", + "last-available-day": 19954, + "license": "android-sdk-preview-license", + "name": "build-tools", + "path": "build-tools/35.0.0-rc4", + "revision": "35.0.0-rc4", + "revision-details": { + "major:0": "35", + "micro:2": "0", + "minor:1": "0", + "preview:3": "4" + }, + "type-details": { + "element-attributes": { + "xsi:type": "ns5:genericDetailsType" + } + } } }, "cmake": { @@ -13078,7 +13560,7 @@ } ], "displayName": "CMake 3.10.2.4988404", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "cmake", "path": "cmake/3.10.2.4988404", @@ -13116,7 +13598,7 @@ } ], "displayName": "CMake 3.18.1", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "cmake", "path": "cmake/3.18.1", @@ -13154,7 +13636,7 @@ } ], "displayName": "CMake 3.22.1", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "cmake", "path": "cmake/3.22.1", @@ -13192,7 +13674,7 @@ } ], "displayName": "CMake 3.6.4111459", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "cmake", "path": "cmake/3.6.4111459", @@ -13232,7 +13714,7 @@ } ], "displayName": "Android SDK Command-line Tools", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "cmdline-tools", "path": "cmdline-tools/1.0", @@ -13269,7 +13751,7 @@ } ], "displayName": "Android SDK Command-line Tools", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "cmdline-tools", "path": "cmdline-tools/10.0", @@ -13344,7 +13826,7 @@ } ], "displayName": "Android SDK Command-line Tools", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "cmdline-tools", "path": "cmdline-tools/11.0", @@ -13457,7 +13939,7 @@ } ], "displayName": "Android SDK Command-line Tools", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "cmdline-tools", "path": "cmdline-tools/12.0", @@ -13532,7 +14014,7 @@ } ], "displayName": "Android SDK Command-line Tools", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "cmdline-tools", "path": "cmdline-tools/13.0", @@ -13569,7 +14051,7 @@ } ], "displayName": "Android SDK Command-line Tools", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "cmdline-tools", "path": "cmdline-tools/13.0-rc01", @@ -13607,7 +14089,7 @@ } ], "displayName": "Android SDK Command-line Tools", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "cmdline-tools", "path": "cmdline-tools/14.0-alpha01", @@ -13623,6 +14105,44 @@ } } }, + "16.0-rc01": { + "archives": [ + { + "os": "linux", + "sha1": "818d632f1d727edaecd4ff94aa5f86b5a8a129a6", + "size": 165618743, + "url": "https://dl.google.com/android/repository/commandlinetools-linux-12172612_latest.zip" + }, + { + "os": "macosx", + "sha1": "8c7e4cc8fa9b2594ab8b56343bf56618ebdf04b9", + "size": 143967294, + "url": "https://dl.google.com/android/repository/commandlinetools-mac-12172612_latest.zip" + }, + { + "os": "windows", + "sha1": "b2ae4d96dca0f10358a041adc9b79eedf399779b", + "size": 143481957, + "url": "https://dl.google.com/android/repository/commandlinetools-win-12172612_latest.zip" + } + ], + "displayName": "Android SDK Command-line Tools", + "last-available-day": 19954, + "license": "android-sdk-preview-license", + "name": "cmdline-tools", + "path": "cmdline-tools/16.0-alpha01", + "revision": "16.0-rc01", + "revision-details": { + "major:0": "16", + "minor:1": "0", + "preview:2": "01" + }, + "type-details": { + "element-attributes": { + "xsi:type": "ns5:genericDetailsType" + } + } + }, "2.0": { "archives": [ { @@ -13645,7 +14165,7 @@ } ], "displayName": "Android SDK Command-line Tools", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "cmdline-tools", "obsolete": "true", @@ -13683,7 +14203,7 @@ } ], "displayName": "Android SDK Command-line Tools", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "cmdline-tools", "path": "cmdline-tools/2.1", @@ -13720,7 +14240,7 @@ } ], "displayName": "Android SDK Command-line Tools", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "cmdline-tools", "path": "cmdline-tools/3.0", @@ -13757,7 +14277,7 @@ } ], "displayName": "Android SDK Command-line Tools", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "cmdline-tools", "path": "cmdline-tools/4.0", @@ -13794,7 +14314,7 @@ } ], "displayName": "Android SDK Command-line Tools", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "cmdline-tools", "path": "cmdline-tools/5.0", @@ -13831,7 +14351,7 @@ } ], "displayName": "Android SDK Command-line Tools", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "cmdline-tools", "path": "cmdline-tools/6.0", @@ -13868,7 +14388,7 @@ } ], "displayName": "Android SDK Command-line Tools", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "cmdline-tools", "path": "cmdline-tools/7.0", @@ -13905,7 +14425,7 @@ } ], "displayName": "Android SDK Command-line Tools", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "cmdline-tools", "path": "cmdline-tools/8.0", @@ -13942,7 +14462,7 @@ } ], "displayName": "Android SDK Command-line Tools", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "cmdline-tools", "path": "cmdline-tools/9.0", @@ -14599,6 +15119,82 @@ } } }, + "34.2.16": { + "archives": [ + { + "os": "linux", + "sha1": "fe7a96bf6fbe7b026555dd7f76b713f22a07ec8b", + "size": 292750827, + "url": "https://dl.google.com/android/repository/emulator-linux_x64-12038310.zip" + }, + { + "os": "macosx", + "sha1": "8da9494f5a08c2a04f50aeef543fd32ca8424f12", + "size": 387388734, + "url": "https://dl.google.com/android/repository/emulator-darwin_x64-12038310.zip" + }, + { + "os": "windows", + "sha1": "76a5cbca04dc11bc04421e30392e78ab3b744d33", + "size": 412503831, + "url": "https://dl.google.com/android/repository/emulator-windows_x64-12038310.zip" + } + ], + "displayName": "Android Emulator", + "last-available-day": 19954, + "license": "android-sdk-license", + "name": "emulator", + "path": "emulator", + "revision": "34.2.16", + "revision-details": { + "major:0": "34", + "micro:2": "16", + "minor:1": "2" + }, + "type-details": { + "element-attributes": { + "xsi:type": "ns5:genericDetailsType" + } + } + }, + "35.1.19": { + "archives": [ + { + "os": "linux", + "sha1": "728fb67266a7648aee58c1f4eaadeb8781c646d8", + "size": 295185796, + "url": "https://dl.google.com/android/repository/emulator-linux_x64-12171648.zip" + }, + { + "os": "macosx", + "sha1": "a7c61d2f057186e54f41e0573f5cb5659daca9c4", + "size": 390781280, + "url": "https://dl.google.com/android/repository/emulator-darwin_x64-12171648.zip" + }, + { + "os": "windows", + "sha1": "a954a95bf3f49907ea8e3b4dbeda8f963394540c", + "size": 420058404, + "url": "https://dl.google.com/android/repository/emulator-windows_x64-12171648.zip" + } + ], + "displayName": "Android Emulator", + "last-available-day": 19954, + "license": "android-sdk-license", + "name": "emulator", + "path": "emulator", + "revision": "35.1.19", + "revision-details": { + "major:0": "35", + "micro:2": "19", + "minor:1": "1" + }, + "type-details": { + "element-attributes": { + "xsi:type": "ns5:genericDetailsType" + } + } + }, "35.1.2": { "archives": [ { @@ -14712,6 +15308,44 @@ "xsi:type": "ns5:genericDetailsType" } } + }, + "35.2.5": { + "archives": [ + { + "os": "linux", + "sha1": "cc22b6fb2d6dbb17f436af29364929aba5f776ae", + "size": 301992613, + "url": "https://dl.google.com/android/repository/emulator-linux_x64-12205771.zip" + }, + { + "os": "macosx", + "sha1": "32e32d993b1af0c4c93a3aed775baeed881e0ce7", + "size": 399727915, + "url": "https://dl.google.com/android/repository/emulator-darwin_x64-12205771.zip" + }, + { + "os": "windows", + "sha1": "739dd017682373c745ec60189d2cb52be016181d", + "size": 426685873, + "url": "https://dl.google.com/android/repository/emulator-windows_x64-12205771.zip" + } + ], + "displayName": "Android Emulator", + "last-available-day": 19954, + "license": "android-sdk-preview-license", + "name": "emulator", + "path": "emulator", + "revision": "35.2.5", + "revision-details": { + "major:0": "35", + "micro:2": "5", + "minor:1": "2" + }, + "type-details": { + "element-attributes": { + "xsi:type": "ns5:genericDetailsType" + } + } } }, "extras": { @@ -14737,7 +15371,7 @@ } ], "displayName": "Android Auto Desktop Head Unit Emulator", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "extras", "path": "extras/google/auto", @@ -14774,7 +15408,7 @@ } ], "displayName": "Android Auto Desktop Head Unit Emulator", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "extras", "path": "extras/google/auto", @@ -14820,7 +15454,7 @@ } }, "displayName": "NDK (Side by side) 16.1.4479499", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "ndk", "path": "ndk/16.1.4479499", @@ -14865,7 +15499,7 @@ } }, "displayName": "NDK (Side by side) 17.2.4988734", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "ndk", "path": "ndk/17.2.4988734", @@ -14910,7 +15544,7 @@ } }, "displayName": "NDK (Side by side) 18.1.5063045", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "ndk", "path": "ndk/18.1.5063045", @@ -14955,7 +15589,7 @@ } }, "displayName": "NDK (Side by side) 19.0.5232133", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "ndk", "obsolete": "true", @@ -15001,7 +15635,7 @@ } }, "displayName": "NDK (Side by side) 19.2.5345600", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "ndk", "path": "ndk/19.2.5345600", @@ -15046,7 +15680,7 @@ } }, "displayName": "NDK (Side by side) 20.0.5392854", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "ndk", "obsolete": "true", @@ -15093,7 +15727,7 @@ } }, "displayName": "NDK (Side by side) 20.0.5471264", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "ndk", "obsolete": "true", @@ -15140,7 +15774,7 @@ } }, "displayName": "NDK (Side by side) 20.0.5594570", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "ndk", "path": "ndk/20.0.5594570", @@ -15185,7 +15819,7 @@ } }, "displayName": "NDK (Side by side) 20.1.5948944", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "ndk", "path": "ndk/20.1.5948944", @@ -15230,7 +15864,7 @@ } }, "displayName": "NDK (Side by side) 21.0.6011959", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "ndk", "path": "ndk/21.0.6011959", @@ -15276,7 +15910,7 @@ } }, "displayName": "NDK (Side by side) 21.0.6113669", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "ndk", "path": "ndk/21.0.6113669", @@ -15321,7 +15955,7 @@ } }, "displayName": "NDK (Side by side) 21.1.6210238", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "ndk", "path": "ndk/21.1.6210238", @@ -15367,7 +16001,7 @@ } }, "displayName": "NDK (Side by side) 21.1.6273396", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "ndk", "path": "ndk/21.1.6273396", @@ -15413,7 +16047,7 @@ } }, "displayName": "NDK (Side by side) 21.1.6352462", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "ndk", "path": "ndk/21.1.6352462", @@ -15458,7 +16092,7 @@ } }, "displayName": "NDK (Side by side) 21.1.6363665", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "ndk", "path": "ndk/21.1.6363665", @@ -15504,7 +16138,7 @@ } }, "displayName": "NDK (Side by side) 21.2.6472646", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "ndk", "path": "ndk/21.2.6472646", @@ -15549,7 +16183,7 @@ } }, "displayName": "NDK (Side by side) 21.3.6528147", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "ndk", "path": "ndk/21.3.6528147", @@ -15594,7 +16228,7 @@ } }, "displayName": "NDK (Side by side) 21.4.7075529", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "ndk", "path": "ndk/21.4.7075529", @@ -15639,7 +16273,7 @@ } }, "displayName": "NDK (Side by side) 22.0.6917172", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "ndk", "path": "ndk/22.0.6917172", @@ -15685,7 +16319,7 @@ } }, "displayName": "NDK (Side by side) 22.0.7026061", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "ndk", "path": "ndk/22.0.7026061", @@ -15730,7 +16364,7 @@ } }, "displayName": "NDK (Side by side) 22.1.7171670", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "ndk", "path": "ndk/22.1.7171670", @@ -15775,7 +16409,7 @@ } }, "displayName": "NDK (Side by side) 23.0.7123448", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "ndk", "path": "ndk/23.0.7123448", @@ -15821,7 +16455,7 @@ } }, "displayName": "NDK (Side by side) 23.0.7196353", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "ndk", "path": "ndk/23.0.7196353", @@ -15867,7 +16501,7 @@ } }, "displayName": "NDK (Side by side) 23.0.7272597", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "ndk", "path": "ndk/23.0.7272597", @@ -15913,7 +16547,7 @@ } }, "displayName": "NDK (Side by side) 23.0.7344513", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "ndk", "path": "ndk/23.0.7344513", @@ -15959,7 +16593,7 @@ } }, "displayName": "NDK (Side by side) 23.0.7421159", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "ndk", "path": "ndk/23.0.7421159", @@ -16005,7 +16639,7 @@ } }, "displayName": "NDK (Side by side) 23.0.7530507", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "ndk", "path": "ndk/23.0.7530507", @@ -16051,7 +16685,7 @@ } }, "displayName": "NDK (Side by side) 23.0.7599858", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "ndk", "path": "ndk/23.0.7599858", @@ -16096,7 +16730,7 @@ } }, "displayName": "NDK (Side by side) 23.1.7779620", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "ndk", "path": "ndk/23.1.7779620", @@ -16141,7 +16775,7 @@ } }, "displayName": "NDK (Side by side) 23.2.8568313", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "ndk", "path": "ndk/23.2.8568313", @@ -16186,7 +16820,7 @@ } }, "displayName": "NDK (Side by side) 24.0.7856742", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "ndk", "path": "ndk/24.0.7856742", @@ -16232,7 +16866,7 @@ } }, "displayName": "NDK (Side by side) 24.0.7956693", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "ndk", "path": "ndk/24.0.7956693", @@ -16278,7 +16912,7 @@ } }, "displayName": "NDK (Side by side) 24.0.8079956", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "ndk", "path": "ndk/24.0.8079956", @@ -16324,7 +16958,7 @@ } }, "displayName": "NDK (Side by side) 24.0.8215888", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "ndk", "path": "ndk/24.0.8215888", @@ -16369,7 +17003,7 @@ } }, "displayName": "NDK (Side by side) 25.0.8151533", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "ndk", "path": "ndk/25.0.8151533", @@ -16415,7 +17049,7 @@ } }, "displayName": "NDK (Side by side) 25.0.8221429", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "ndk", "path": "ndk/25.0.8221429", @@ -16461,7 +17095,7 @@ } }, "displayName": "NDK (Side by side) 25.0.8355429", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "ndk", "path": "ndk/25.0.8355429", @@ -16507,7 +17141,7 @@ } }, "displayName": "NDK (Side by side) 25.0.8528842", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "ndk", "path": "ndk/25.0.8528842", @@ -16553,7 +17187,7 @@ } }, "displayName": "NDK (Side by side) 25.0.8775105", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "ndk", "path": "ndk/25.0.8775105", @@ -16598,7 +17232,7 @@ } }, "displayName": "NDK (Side by side) 25.1.8937393", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "ndk", "path": "ndk/25.1.8937393", @@ -16643,7 +17277,7 @@ } }, "displayName": "NDK (Side by side) 25.2.9519653", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "ndk", "path": "ndk/25.2.9519653", @@ -16688,7 +17322,7 @@ } }, "displayName": "NDK (Side by side) 26.0.10404224", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "ndk", "path": "ndk/26.0.10404224", @@ -16727,7 +17361,7 @@ } ], "displayName": "NDK (Side by side) 26.0.10636728", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "ndk", "path": "ndk/26.0.10636728", @@ -16766,7 +17400,7 @@ } ], "displayName": "NDK (Side by side) 26.0.10792818", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "ndk", "path": "ndk/26.0.10792818", @@ -16804,7 +17438,7 @@ } ], "displayName": "NDK (Side by side) 26.1.10909125", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "ndk", "path": "ndk/26.1.10909125", @@ -16842,7 +17476,7 @@ } ], "displayName": "NDK (Side by side) 26.2.11394342", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "ndk", "path": "ndk/26.2.11394342", @@ -16880,7 +17514,7 @@ } ], "displayName": "NDK (Side by side) 26.3.11579264", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "ndk", "path": "ndk/26.3.11579264", @@ -16895,6 +17529,122 @@ "xsi:type": "ns5:genericDetailsType" } } + }, + "27.0.11718014-rc1": { + "archives": [ + { + "os": "linux", + "sha1": "35a78f7544ccc72d8438d8ea2feb7f252a062abe", + "size": 658958615, + "url": "https://dl.google.com/android/repository/android-ndk-r27-beta1-linux.zip" + }, + { + "os": "macosx", + "sha1": "0206d7e1c4255c40acc691fad8bf943f055e627e", + "size": 841636299, + "url": "https://dl.google.com/android/repository/android-ndk-r27-beta1-darwin.zip" + }, + { + "os": "windows", + "sha1": "147b5b333cc57875e34b88ccd29efbe58963264d", + "size": 785017110, + "url": "https://dl.google.com/android/repository/android-ndk-r27-beta1-windows.zip" + } + ], + "displayName": "NDK (Side by side) 27.0.11718014", + "last-available-day": 19954, + "license": "android-sdk-preview-license", + "name": "ndk", + "path": "ndk/27.0.11718014", + "revision": "27.0.11718014-rc1", + "revision-details": { + "major:0": "27", + "micro:2": "11718014", + "minor:1": "0", + "preview:3": "1" + }, + "type-details": { + "element-attributes": { + "xsi:type": "ns5:genericDetailsType" + } + } + }, + "27.0.11902837-rc2": { + "archives": [ + { + "os": "linux", + "sha1": "93103e182405b9d7757231a1d9dad58937a6374b", + "size": 662398163, + "url": "https://dl.google.com/android/repository/android-ndk-r27-beta2-linux.zip" + }, + { + "os": "macosx", + "sha1": "48af6bb62dbfff2f68b39cf118494ebd5ba3b8ad", + "size": 836162827, + "url": "https://dl.google.com/android/repository/android-ndk-r27-beta2-darwin.zip" + }, + { + "os": "windows", + "sha1": "30f4103bc32fd28a5b93bb610db0130cfe9ff125", + "size": 781461627, + "url": "https://dl.google.com/android/repository/android-ndk-r27-beta2-windows.zip" + } + ], + "displayName": "NDK (Side by side) 27.0.11902837", + "last-available-day": 19954, + "license": "android-sdk-preview-license", + "name": "ndk", + "path": "ndk/27.0.11902837", + "revision": "27.0.11902837-rc2", + "revision-details": { + "major:0": "27", + "micro:2": "11902837", + "minor:1": "0", + "preview:3": "2" + }, + "type-details": { + "element-attributes": { + "xsi:type": "ns5:genericDetailsType" + } + } + }, + "27.0.12077973": { + "archives": [ + { + "os": "linux", + "sha1": "5e5cd517bdb98d7e0faf2c494a3041291e71bdcc", + "size": 663957918, + "url": "https://dl.google.com/android/repository/android-ndk-r27-linux.zip" + }, + { + "os": "macosx", + "sha1": "1a4a8c39c018430ff170657fc1673d895f5e4570", + "size": 836135405, + "url": "https://dl.google.com/android/repository/android-ndk-r27-darwin.zip" + }, + { + "os": "windows", + "sha1": "0ea2756e6815356831bda3af358cce4cdb6a981e", + "size": 781482169, + "url": "https://dl.google.com/android/repository/android-ndk-r27-windows.zip" + } + ], + "displayName": "NDK (Side by side) 27.0.12077973", + "last-available-day": 19954, + "license": "android-sdk-license", + "name": "ndk", + "path": "ndk/27.0.12077973", + "revision": "27.0.12077973", + "revision-details": { + "major:0": "27", + "micro:2": "12077973", + "minor:1": "0" + }, + "type-details": { + "element-attributes": { + "xsi:type": "ns5:genericDetailsType" + } + } } }, "ndk-bundle": { @@ -16927,7 +17677,7 @@ } }, "displayName": "NDK", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "ndk-bundle", "path": "ndk-bundle", @@ -16972,7 +17722,7 @@ } }, "displayName": "NDK", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "ndk-bundle", "path": "ndk-bundle", @@ -17017,7 +17767,7 @@ } }, "displayName": "NDK", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "ndk-bundle", "path": "ndk-bundle", @@ -17062,7 +17812,7 @@ } }, "displayName": "NDK", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "ndk-bundle", "obsolete": "true", @@ -17108,7 +17858,7 @@ } }, "displayName": "NDK", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "ndk-bundle", "path": "ndk-bundle", @@ -17153,7 +17903,7 @@ } }, "displayName": "NDK", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "ndk-bundle", "obsolete": "true", @@ -17200,7 +17950,7 @@ } }, "displayName": "NDK", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "ndk-bundle", "obsolete": "true", @@ -17247,7 +17997,7 @@ } }, "displayName": "NDK", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "ndk-bundle", "path": "ndk-bundle", @@ -17292,7 +18042,7 @@ } }, "displayName": "NDK", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "ndk-bundle", "path": "ndk-bundle", @@ -17337,7 +18087,7 @@ } }, "displayName": "NDK", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "ndk-bundle", "path": "ndk-bundle", @@ -17383,7 +18133,7 @@ } }, "displayName": "NDK", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "ndk-bundle", "path": "ndk-bundle", @@ -17428,7 +18178,7 @@ } }, "displayName": "NDK", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "ndk-bundle", "path": "ndk-bundle", @@ -17474,7 +18224,7 @@ } }, "displayName": "NDK", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "ndk-bundle", "path": "ndk-bundle", @@ -17520,7 +18270,7 @@ } }, "displayName": "NDK", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "ndk-bundle", "path": "ndk-bundle", @@ -17565,7 +18315,7 @@ } }, "displayName": "NDK", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "ndk-bundle", "path": "ndk-bundle", @@ -17611,7 +18361,7 @@ } }, "displayName": "NDK", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "ndk-bundle", "path": "ndk-bundle", @@ -17656,7 +18406,7 @@ } }, "displayName": "NDK", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "ndk-bundle", "path": "ndk-bundle", @@ -17701,7 +18451,7 @@ } }, "displayName": "NDK", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "ndk-bundle", "path": "ndk-bundle", @@ -17746,7 +18496,7 @@ } }, "displayName": "NDK", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "ndk-bundle", "path": "ndk-bundle", @@ -17792,7 +18542,7 @@ } }, "displayName": "NDK", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "ndk-bundle", "path": "ndk-bundle", @@ -17837,7 +18587,7 @@ } }, "displayName": "NDK", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "ndk-bundle", "path": "ndk-bundle", @@ -17882,7 +18632,7 @@ } }, "displayName": "NDK", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "ndk-bundle", "path": "ndk-bundle", @@ -17928,7 +18678,7 @@ } }, "displayName": "NDK", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "ndk-bundle", "path": "ndk-bundle", @@ -17974,7 +18724,7 @@ } }, "displayName": "NDK", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "ndk-bundle", "path": "ndk-bundle", @@ -18020,7 +18770,7 @@ } }, "displayName": "NDK", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-preview-license", "name": "ndk-bundle", "path": "ndk-bundle", @@ -18254,6 +19004,44 @@ "xsi:type": "ns5:genericDetailsType" } } + }, + "35.0.2": { + "archives": [ + { + "os": "linux", + "sha1": "f6406982a79d67e40b1ca3cb9e5e2cc783c0f232", + "size": 7472902, + "url": "https://dl.google.com/android/repository/platform-tools_r35.0.2-linux.zip" + }, + { + "os": "macosx", + "sha1": "f6b3158097ca0e9d6fe2024b790ac68af3f2faf2", + "size": 13335867, + "url": "https://dl.google.com/android/repository/platform-tools_r35.0.2-darwin.zip" + }, + { + "os": "windows", + "sha1": "6d204cdff21bce8a39c1d2367084e6174f854c2c", + "size": 6700829, + "url": "https://dl.google.com/android/repository/platform-tools_r35.0.2-win.zip" + } + ], + "displayName": "Android SDK Platform-Tools", + "last-available-day": 19954, + "license": "android-sdk-license", + "name": "platform-tools", + "path": "platform-tools", + "revision": "35.0.2", + "revision-details": { + "major:0": "35", + "micro:2": "2", + "minor:1": "0" + }, + "type-details": { + "element-attributes": { + "xsi:type": "ns5:genericDetailsType" + } + } } }, "platforms": { @@ -18267,7 +19055,7 @@ } ], "displayName": "Android SDK Platform 10", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-10", @@ -18299,7 +19087,7 @@ } ], "displayName": "Android SDK Platform 11", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-11", @@ -18331,7 +19119,7 @@ } ], "displayName": "Android SDK Platform 12", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-12", @@ -18363,7 +19151,7 @@ } ], "displayName": "Android SDK Platform 13", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-13", @@ -18395,7 +19183,7 @@ } ], "displayName": "Android SDK Platform 14", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-14", @@ -18427,7 +19215,7 @@ } ], "displayName": "Android SDK Platform 15", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-15", @@ -18459,7 +19247,7 @@ } ], "displayName": "Android SDK Platform 16", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-16", @@ -18491,7 +19279,7 @@ } ], "displayName": "Android SDK Platform 17", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-17", @@ -18523,7 +19311,7 @@ } ], "displayName": "Android SDK Platform 18", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-18", @@ -18555,7 +19343,7 @@ } ], "displayName": "Android SDK Platform 19", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-19", @@ -18599,7 +19387,7 @@ } ], "displayName": "Android SDK Platform 2", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "platforms", "obsolete": "true", @@ -18632,7 +19420,7 @@ } ], "displayName": "Android SDK Platform 20", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-20", @@ -18664,7 +19452,7 @@ } ], "displayName": "Android SDK Platform 21", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-21", @@ -18696,7 +19484,7 @@ } ], "displayName": "Android SDK Platform 22", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-22", @@ -18728,7 +19516,7 @@ } ], "displayName": "Android SDK Platform 23", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-23", @@ -18760,7 +19548,7 @@ } ], "displayName": "Android SDK Platform 24", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-24", @@ -18792,7 +19580,7 @@ } ], "displayName": "Android SDK Platform 25", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-25", @@ -18824,7 +19612,7 @@ } ], "displayName": "Android SDK Platform 26", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-26", @@ -18856,7 +19644,7 @@ } ], "displayName": "Android SDK Platform 27", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-27", @@ -18888,7 +19676,7 @@ } ], "displayName": "Android SDK Platform 28", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-28", @@ -18920,7 +19708,7 @@ } ], "displayName": "Android SDK Platform 29", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-29", @@ -18964,7 +19752,7 @@ } ], "displayName": "Android SDK Platform 3", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "platforms", "obsolete": "true", @@ -18997,7 +19785,7 @@ } ], "displayName": "Android SDK Platform 30", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-30", @@ -19029,7 +19817,7 @@ } ], "displayName": "Android SDK Platform 31", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-31", @@ -19061,7 +19849,7 @@ } ], "displayName": "Android SDK Platform 32", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-32", @@ -19093,7 +19881,7 @@ } ], "displayName": "Android SDK Platform 33-ext5", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-33", @@ -19124,8 +19912,8 @@ "url": "https://dl.google.com/android/repository/platform-34-ext7_r02.zip" } ], - "displayName": "Android SDK Platform 34-ext10", - "last-available-day": 19823, + "displayName": "Android SDK Platform 34-ext12", + "last-available-day": 19954, "license": "android-sdk-license", "name": "platforms", "obsolete": "true", @@ -19141,6 +19929,11 @@ "element-attributes": { "xsi:type": "ns11:platformDetailsType" }, + "layoutlib:1": { + "element-attributes": { + "api": "15" + } + }, "layoutlib:2": { "element-attributes": { "api": "15" @@ -19148,6 +19941,36 @@ } } }, + "35": { + "archives": [ + { + "os": "all", + "sha1": "c84ed39cecaeec13bc06c67639fcf86734013d98", + "size": 64281654, + "url": "https://dl.google.com/android/repository/platform-35_r01.zip" + } + ], + "displayName": "Android SDK Platform 35", + "last-available-day": 19954, + "license": "android-sdk-license", + "name": "platforms", + "path": "platforms/android-35", + "revision": "35", + "revision-details": { + "major:0": "1" + }, + "type-details": { + "api-level:0": "35", + "element-attributes": { + "xsi:type": "ns11:platformDetailsType" + }, + "layoutlib:1": { + "element-attributes": { + "api": "15" + } + } + } + }, "4": { "archives": [ { @@ -19170,7 +19993,7 @@ } ], "displayName": "Android SDK Platform 4", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "platforms", "obsolete": "true", @@ -19215,7 +20038,7 @@ } ], "displayName": "Android SDK Platform 5", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "platforms", "obsolete": "true", @@ -19260,7 +20083,7 @@ } ], "displayName": "Android SDK Platform 6", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "platforms", "obsolete": "true", @@ -19293,7 +20116,7 @@ } ], "displayName": "Android SDK Platform 7", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-7", @@ -19325,7 +20148,7 @@ } ], "displayName": "Android SDK Platform 8", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-8", @@ -19357,7 +20180,7 @@ } ], "displayName": "Android SDK Platform 9", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-9", @@ -19389,7 +20212,7 @@ } ], "displayName": "Android SDK Platform TiramisuPrivacySandbox", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-TiramisuPrivacySandbox", @@ -19420,7 +20243,7 @@ } ], "displayName": "Android SDK Platform UpsideDownCake", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "platforms", "obsolete": "true", @@ -19452,7 +20275,7 @@ } ], "displayName": "Android SDK Platform UpsideDownCakePrivacySandbox", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-UpsideDownCakePrivacySandbox", @@ -19477,19 +20300,19 @@ "archives": [ { "os": "all", - "sha1": "b95f5a8a2bb908f8d13b6f874ab622e194c5aa20", - "size": 64097940, - "url": "https://dl.google.com/android/repository/platform-VanillaIceCream_r02.zip" + "sha1": "593df928592daf8e8b904a1680f54be715b32e98", + "size": 64462100, + "url": "https://dl.google.com/android/repository/platform-VanillaIceCream_r04.zip" } ], "displayName": "Android SDK Platform VanillaIceCream", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "platforms", "path": "platforms/android-VanillaIceCream", "revision": "VanillaIceCream", "revision-details": { - "major:0": "2" + "major:0": "4" }, "type-details": { "api-level:0": "34", @@ -19564,7 +20387,7 @@ } ], "displayName": "Layout Inspector image server for API S", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "skiaparser", "path": "skiaparser/2", @@ -19600,7 +20423,7 @@ } ], "displayName": "Layout Inspector image server for API 31-35", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "skiaparser", "path": "skiaparser/3", @@ -19636,7 +20459,7 @@ } ], "displayName": "Layout Inspector image server for API 29-30", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "skiaparser", "path": "skiaparser/1", @@ -19662,7 +20485,7 @@ } ], "displayName": "Sources for Android 14", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "sources", "obsolete": "true", @@ -19690,7 +20513,7 @@ } ], "displayName": "Sources for Android 15", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "sources", "path": "sources/android-15", @@ -19717,7 +20540,7 @@ } ], "displayName": "Sources for Android 16", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "sources", "path": "sources/android-16", @@ -19744,7 +20567,7 @@ } ], "displayName": "Sources for Android 17", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "sources", "path": "sources/android-17", @@ -19771,7 +20594,7 @@ } ], "displayName": "Sources for Android 18", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "sources", "path": "sources/android-18", @@ -19798,7 +20621,7 @@ } ], "displayName": "Sources for Android 19", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "sources", "path": "sources/android-19", @@ -19825,7 +20648,7 @@ } ], "displayName": "Sources for Android 20", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "sources", "path": "sources/android-20", @@ -19852,7 +20675,7 @@ } ], "displayName": "Sources for Android 21", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "sources", "path": "sources/android-21", @@ -19879,7 +20702,7 @@ } ], "displayName": "Sources for Android 22", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "sources", "path": "sources/android-22", @@ -19906,7 +20729,7 @@ } ], "displayName": "Sources for Android 23", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "sources", "path": "sources/android-23", @@ -19933,7 +20756,7 @@ } ], "displayName": "Sources for Android 24", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "sources", "path": "sources/android-24", @@ -19960,7 +20783,7 @@ } ], "displayName": "Sources for Android 25", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "sources", "path": "sources/android-25", @@ -19987,7 +20810,7 @@ } ], "displayName": "Sources for Android 26", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "sources", "path": "sources/android-26", @@ -20014,7 +20837,7 @@ } ], "displayName": "Sources for Android 27", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "sources", "path": "sources/android-27", @@ -20041,7 +20864,7 @@ } ], "displayName": "Sources for Android 28", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "sources", "path": "sources/android-28", @@ -20068,7 +20891,7 @@ } ], "displayName": "Sources for Android 29", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "sources", "path": "sources/android-29", @@ -20095,7 +20918,7 @@ } ], "displayName": "Sources for Android 30", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "sources", "path": "sources/android-30", @@ -20122,7 +20945,7 @@ } ], "displayName": "Sources for Android 31", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "sources", "path": "sources/android-31", @@ -20149,7 +20972,7 @@ } ], "displayName": "Sources for Android 32", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "sources", "path": "sources/android-32", @@ -20176,7 +20999,7 @@ } ], "displayName": "Sources for Android 33", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "sources", "path": "sources/android-33", @@ -20203,7 +21026,7 @@ } ], "displayName": "Sources for Android 34", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "sources", "path": "sources/android-34", @@ -20219,6 +21042,33 @@ "xsi:type": "ns11:sourceDetailsType" } } + }, + "35": { + "archives": [ + { + "os": "all", + "sha1": "c2770115a5f5ad787c8b298b93687a27eebb85b9", + "size": 48616636, + "url": "https://dl.google.com/android/repository/source-35_r01.zip" + } + ], + "displayName": "Sources for Android 35", + "last-available-day": 19954, + "license": "android-sdk-license", + "name": "sources", + "path": "sources/android-35", + "revision": "35", + "revision-details": { + "major:0": "1" + }, + "type-details": { + "api-level:0": "35", + "codename:1": { + }, + "element-attributes": { + "xsi:type": "ns11:sourceDetailsType" + } + } } }, "tools": { @@ -20267,7 +21117,7 @@ } }, "displayName": "Android SDK Tools", - "last-available-day": 19823, + "last-available-day": 19954, "license": "android-sdk-license", "name": "tools", "obsolete": "true", diff --git a/pkgs/development/node-packages/aliases.nix b/pkgs/development/node-packages/aliases.nix index 792156d5bde0..b81b0d60678a 100644 --- a/pkgs/development/node-packages/aliases.nix +++ b/pkgs/development/node-packages/aliases.nix @@ -134,7 +134,9 @@ mapAliases { node-inspector = throw "node-inspector was removed because it was broken"; # added 2023-08-21 inherit (pkgs) node-gyp; # added 2024-08-13 inherit (pkgs) node-pre-gyp; # added 2024-08-05 + inherit (pkgs) node-red; # added 2024-10-06 inherit (pkgs) nodemon; # added 2024-06-28 + npm = pkgs.nodejs.overrideAttrs (old: { meta = old.meta // { mainProgram = "npm"; }; }); # added 2024-10-04 inherit (pkgs) npm-check-updates; # added 2023-08-22 ocaml-language-server = throw "ocaml-language-server was removed because it was abandoned upstream"; # added 2023-09-04 parcel-bundler = self.parcel; # added 2023-09-04 diff --git a/pkgs/development/node-packages/node-packages.json b/pkgs/development/node-packages/node-packages.json index 3364d6f72f39..ba88f38d9fcf 100644 --- a/pkgs/development/node-packages/node-packages.json +++ b/pkgs/development/node-packages/node-packages.json @@ -145,10 +145,8 @@ , "neovim" , "nijs" , "node-gyp-build" -, "node-red" , "node2nix" , "np" -, "npm" , "npm-merge-driver" , "nrm" , "orval" diff --git a/pkgs/development/node-packages/node-packages.nix b/pkgs/development/node-packages/node-packages.nix index 8bf89bc8b213..5183a1811ca7 100644 --- a/pkgs/development/node-packages/node-packages.nix +++ b/pkgs/development/node-packages/node-packages.nix @@ -75595,421 +75595,6 @@ in bypassCache = true; reconstructLock = true; }; - node-red = nodeEnv.buildNodePackage { - name = "node-red"; - packageName = "node-red"; - version = "4.0.3"; - src = fetchurl { - url = "https://registry.npmjs.org/node-red/-/node-red-4.0.3.tgz"; - sha512 = "6ZYh54FKqkEANoFgUBNgHm4LaUg5m3eW/01Dslf3cf3aeaRPa9mpS63sRiFC75JuJCxN29LH1/As91/1lSOxYA=="; - }; - dependencies = [ - sources."@babel/runtime-7.25.6" - sources."@emnapi/core-1.2.0" - sources."@emnapi/runtime-1.2.0" - sources."@emnapi/wasi-threads-1.0.1" - (sources."@isaacs/cliui-8.0.2" // { - dependencies = [ - sources."ansi-regex-6.1.0" - sources."strip-ansi-7.1.0" - ]; - }) - sources."@isaacs/fs-minipass-4.0.1" - sources."@napi-rs/wasm-runtime-0.2.4" - (sources."@node-red/editor-api-4.0.3" // { - dependencies = [ - sources."mime-3.0.0" - ]; - }) - sources."@node-red/editor-client-4.0.3" - (sources."@node-red/nodes-4.0.3" // { - dependencies = [ - sources."iconv-lite-0.6.3" - sources."media-typer-1.1.0" - ]; - }) - sources."@node-red/registry-4.0.3" - sources."@node-red/runtime-4.0.3" - sources."@node-red/util-4.0.3" - sources."@node-rs/bcrypt-1.10.4" - sources."@node-rs/bcrypt-android-arm-eabi-1.10.4" - sources."@node-rs/bcrypt-android-arm64-1.10.4" - sources."@node-rs/bcrypt-darwin-arm64-1.10.4" - sources."@node-rs/bcrypt-darwin-x64-1.10.4" - sources."@node-rs/bcrypt-freebsd-x64-1.10.4" - sources."@node-rs/bcrypt-linux-arm-gnueabihf-1.10.4" - sources."@node-rs/bcrypt-linux-arm64-gnu-1.10.4" - sources."@node-rs/bcrypt-linux-arm64-musl-1.10.4" - sources."@node-rs/bcrypt-linux-x64-gnu-1.10.4" - sources."@node-rs/bcrypt-linux-x64-musl-1.10.4" - sources."@node-rs/bcrypt-wasm32-wasi-1.10.4" - sources."@node-rs/bcrypt-win32-arm64-msvc-1.10.4" - sources."@node-rs/bcrypt-win32-ia32-msvc-1.10.4" - sources."@node-rs/bcrypt-win32-x64-msvc-1.10.4" - sources."@sindresorhus/is-5.6.0" - sources."@szmarczak/http-timer-5.0.1" - sources."@tybys/wasm-util-0.9.0" - sources."@types/http-cache-semantics-4.0.4" - sources."@types/node-22.5.5" - (sources."@types/readable-stream-4.0.15" // { - dependencies = [ - sources."safe-buffer-5.1.2" - ]; - }) - sources."@types/ws-8.5.12" - sources."abbrev-1.1.1" - sources."abort-controller-3.0.0" - sources."accepts-1.3.8" - sources."acorn-8.12.1" - sources."acorn-walk-8.3.4" - (sources."agent-base-6.0.2" // { - dependencies = [ - sources."debug-4.3.7" - sources."ms-2.1.3" - ]; - }) - sources."ajv-8.17.1" - sources."ansi-colors-4.1.3" - sources."ansi-regex-5.0.1" - sources."ansi-styles-6.2.1" - sources."append-field-1.0.0" - sources."argparse-2.0.1" - sources."array-flatten-1.1.1" - sources."async-mutex-0.5.0" - sources."asynckit-0.4.0" - sources."axios-1.7.7" - sources."balanced-match-1.0.2" - sources."base64-js-1.5.1" - (sources."basic-auth-2.0.1" // { - dependencies = [ - sources."safe-buffer-5.1.2" - ]; - }) - sources."bcryptjs-2.4.3" - sources."bl-6.0.15" - sources."body-parser-1.20.3" - sources."boolbase-1.0.0" - sources."brace-expansion-2.0.1" - sources."buffer-6.0.3" - sources."buffer-from-1.1.2" - sources."bufferutil-4.0.8" - sources."busboy-1.6.0" - sources."bytes-3.1.2" - sources."cacheable-lookup-7.0.0" - sources."cacheable-request-10.2.14" - sources."call-bind-1.0.7" - sources."cheerio-1.0.0-rc.10" - sources."cheerio-select-1.6.0" - sources."chownr-3.0.0" - sources."cli-table-0.3.11" - sources."clone-2.1.2" - sources."color-convert-2.0.1" - sources."color-name-1.1.4" - sources."colors-1.0.3" - sources."combined-stream-1.0.8" - sources."commist-3.2.0" - (sources."concat-stream-2.0.0" // { - dependencies = [ - sources."readable-stream-3.6.2" - ]; - }) - sources."content-disposition-0.5.4" - sources."content-type-1.0.5" - sources."cookie-0.6.0" - (sources."cookie-parser-1.4.6" // { - dependencies = [ - sources."cookie-0.4.1" - ]; - }) - sources."cookie-signature-1.0.6" - sources."core-util-is-1.0.3" - sources."cors-2.8.5" - sources."cronosjs-1.7.1" - sources."cross-spawn-7.0.3" - sources."css-select-4.3.0" - sources."css-what-6.1.0" - sources."debug-2.6.9" - (sources."decompress-response-6.0.0" // { - dependencies = [ - sources."mimic-response-3.1.0" - ]; - }) - sources."defer-to-connect-2.0.1" - sources."define-data-property-1.1.4" - sources."delayed-stream-1.0.0" - sources."denque-2.1.0" - sources."depd-2.0.0" - sources."destroy-1.2.0" - sources."dom-serializer-1.4.1" - sources."domelementtype-2.3.0" - sources."domhandler-4.3.1" - sources."domutils-2.8.0" - sources."eastasianwidth-0.2.0" - sources."ee-first-1.1.1" - sources."emoji-regex-9.2.2" - sources."encodeurl-2.0.0" - sources."enquirer-2.4.1" - sources."entities-2.2.0" - sources."es-define-property-1.0.0" - sources."es-errors-1.3.0" - sources."escape-html-1.0.3" - sources."etag-1.8.1" - sources."event-target-shim-5.0.1" - sources."events-3.3.0" - sources."express-4.21.0" - (sources."express-session-1.18.0" // { - dependencies = [ - sources."cookie-signature-1.0.7" - ]; - }) - sources."fast-deep-equal-3.1.3" - sources."fast-unique-numbers-8.0.13" - sources."fast-uri-3.0.1" - sources."finalhandler-1.3.1" - sources."follow-redirects-1.15.9" - sources."foreground-child-3.3.0" - sources."form-data-4.0.0" - sources."form-data-encoder-2.1.4" - sources."forwarded-0.2.0" - sources."fresh-0.5.2" - sources."fs-extra-11.2.0" - sources."function-bind-1.1.2" - sources."get-intrinsic-1.2.4" - sources."get-stream-6.0.1" - sources."glob-10.4.5" - sources."gopd-1.0.1" - sources."got-12.6.0" - sources."graceful-fs-4.2.11" - sources."has-property-descriptors-1.0.2" - sources."has-proto-1.0.3" - sources."has-symbols-1.0.3" - sources."hash-sum-2.0.0" - sources."hasown-2.0.2" - sources."help-me-5.0.0" - sources."hpagent-1.2.0" - sources."htmlparser2-6.1.0" - sources."http-cache-semantics-4.1.1" - sources."http-errors-2.0.0" - sources."http2-wrapper-2.2.1" - (sources."https-proxy-agent-5.0.1" // { - dependencies = [ - sources."debug-4.3.7" - sources."ms-2.1.3" - ]; - }) - sources."i18next-21.10.0" - sources."iconv-lite-0.4.24" - sources."ieee754-1.2.1" - sources."inherits-2.0.4" - sources."ipaddr.js-1.9.1" - sources."is-fullwidth-code-point-3.0.0" - sources."is-utf8-0.2.1" - sources."isarray-1.0.0" - sources."isexe-2.0.0" - sources."jackspeak-3.4.3" - sources."js-sdsl-4.3.0" - sources."js-yaml-4.1.0" - sources."json-buffer-3.0.1" - sources."json-schema-traverse-1.0.0" - sources."json-stringify-safe-5.0.1" - sources."jsonata-2.0.5" - sources."jsonfile-6.1.0" - sources."keyv-4.5.4" - sources."lodash.clonedeep-4.5.0" - sources."lowercase-keys-3.0.0" - sources."lru-cache-6.0.0" - sources."media-typer-0.3.0" - (sources."memorystore-1.6.7" // { - dependencies = [ - sources."debug-4.3.7" - sources."lru-cache-4.1.5" - sources."ms-2.1.3" - sources."yallist-2.1.2" - ]; - }) - sources."merge-descriptors-1.0.3" - sources."methods-1.1.2" - sources."mime-1.6.0" - sources."mime-db-1.52.0" - sources."mime-types-2.1.35" - sources."mimic-response-4.0.0" - sources."minimatch-9.0.5" - sources."minimist-1.2.8" - sources."minipass-7.1.2" - sources."minizlib-3.0.1" - sources."mkdirp-0.5.6" - sources."moment-2.30.1" - sources."moment-timezone-0.5.45" - (sources."mqtt-5.7.0" // { - dependencies = [ - sources."debug-4.3.7" - sources."lru-cache-10.4.3" - sources."ms-2.1.3" - sources."ws-8.18.0" - ]; - }) - (sources."mqtt-packet-9.0.0" // { - dependencies = [ - sources."debug-4.3.7" - sources."ms-2.1.3" - ]; - }) - sources."ms-2.0.0" - (sources."multer-1.4.5-lts.1" // { - dependencies = [ - sources."concat-stream-1.6.2" - sources."readable-stream-2.3.8" - sources."safe-buffer-5.1.2" - sources."string_decoder-1.1.1" - ]; - }) - sources."mustache-4.2.0" - sources."mute-stream-1.0.0" - sources."negotiator-0.6.3" - sources."node-gyp-build-4.8.2" - sources."node-red-admin-4.0.1" - sources."node-watch-0.7.4" - sources."nopt-5.0.0" - sources."normalize-url-8.0.1" - sources."nth-check-2.1.1" - (sources."number-allocator-1.0.14" // { - dependencies = [ - sources."debug-4.3.7" - sources."ms-2.1.3" - ]; - }) - sources."oauth2orize-1.12.0" - sources."object-assign-4.1.1" - sources."object-inspect-1.13.2" - sources."on-finished-2.4.1" - sources."on-headers-1.0.2" - sources."p-cancelable-3.0.0" - sources."package-json-from-dist-1.0.0" - sources."parse5-6.0.1" - sources."parse5-htmlparser2-tree-adapter-6.0.1" - sources."parseurl-1.3.3" - sources."passport-0.7.0" - sources."passport-http-bearer-1.0.1" - sources."passport-oauth2-client-password-0.1.2" - sources."passport-strategy-1.0.0" - sources."path-key-3.1.1" - (sources."path-scurry-1.11.1" // { - dependencies = [ - sources."lru-cache-10.4.3" - ]; - }) - sources."path-to-regexp-0.1.10" - sources."pause-0.0.1" - sources."process-0.11.10" - sources."process-nextick-args-2.0.1" - sources."proxy-addr-2.0.7" - sources."proxy-from-env-1.1.0" - sources."pseudomap-1.0.2" - sources."qs-6.13.0" - sources."quick-lru-5.1.1" - sources."random-bytes-1.0.0" - sources."range-parser-1.2.1" - sources."raw-body-2.5.2" - sources."read-3.0.1" - sources."readable-stream-4.5.2" - sources."regenerator-runtime-0.14.1" - sources."reinterval-1.1.0" - sources."require-from-string-2.0.2" - sources."resolve-alpn-1.2.1" - sources."responselike-3.0.0" - sources."rfdc-1.4.1" - sources."rimraf-5.0.10" - sources."safe-buffer-5.2.1" - sources."safer-buffer-2.1.2" - sources."sax-1.4.1" - sources."semver-7.5.4" - (sources."send-0.19.0" // { - dependencies = [ - sources."encodeurl-1.0.2" - sources."ms-2.1.3" - ]; - }) - sources."serve-static-1.16.2" - sources."set-function-length-1.2.2" - sources."setprototypeof-1.2.0" - sources."shebang-command-2.0.0" - sources."shebang-regex-3.0.0" - sources."side-channel-1.0.6" - sources."signal-exit-4.1.0" - sources."split2-4.2.0" - sources."statuses-2.0.1" - sources."streamsearch-1.1.0" - (sources."string-width-5.1.2" // { - dependencies = [ - sources."ansi-regex-6.1.0" - sources."strip-ansi-7.1.0" - ]; - }) - (sources."string-width-cjs-4.2.3" // { - dependencies = [ - sources."emoji-regex-8.0.0" - ]; - }) - sources."string_decoder-1.3.0" - sources."strip-ansi-6.0.1" - sources."strip-ansi-cjs-6.0.1" - (sources."tar-7.2.0" // { - dependencies = [ - sources."mkdirp-3.0.1" - sources."yallist-5.0.0" - ]; - }) - sources."tldts-6.1.47" - sources."tldts-core-6.1.47" - sources."toidentifier-1.0.1" - sources."tough-cookie-5.0.0" - sources."tslib-2.7.0" - sources."type-is-1.6.18" - sources."typedarray-0.0.6" - sources."uglify-js-3.17.4" - sources."uid-safe-2.1.5" - sources."uid2-0.0.4" - sources."undici-types-6.19.8" - sources."universalify-2.0.1" - sources."unpipe-1.0.0" - sources."utf-8-validate-5.0.10" - sources."util-deprecate-1.0.2" - sources."utils-merge-1.0.1" - sources."uuid-9.0.1" - sources."vary-1.1.2" - sources."which-2.0.2" - sources."worker-timers-7.1.8" - sources."worker-timers-broker-6.1.8" - sources."worker-timers-worker-7.0.71" - (sources."wrap-ansi-8.1.0" // { - dependencies = [ - sources."ansi-regex-6.1.0" - sources."strip-ansi-7.1.0" - ]; - }) - (sources."wrap-ansi-cjs-7.0.0" // { - dependencies = [ - sources."ansi-styles-4.3.0" - sources."emoji-regex-8.0.0" - sources."string-width-4.2.3" - ]; - }) - sources."ws-7.5.10" - sources."xml2js-0.6.2" - sources."xmlbuilder-11.0.1" - sources."xtend-4.0.2" - sources."yallist-4.0.0" - ]; - buildInputs = globalBuildInputs; - meta = { - description = "Low-code programming for event-driven applications"; - homepage = "https://nodered.org"; - license = "Apache-2.0"; - }; - production = true; - bypassCache = true; - reconstructLock = true; - }; node2nix = nodeEnv.buildNodePackage { name = "node2nix"; packageName = "node2nix"; @@ -76695,24 +76280,6 @@ in bypassCache = true; reconstructLock = true; }; - npm = nodeEnv.buildNodePackage { - name = "npm"; - packageName = "npm"; - version = "10.8.3"; - src = fetchurl { - url = "https://registry.npmjs.org/npm/-/npm-10.8.3.tgz"; - sha512 = "0IQlyAYvVtQ7uOhDFYZCGK8kkut2nh8cpAdA9E6FvRSJaTgtZRZgNjlC5ZCct//L73ygrpY93CxXpRJDtNqPVg=="; - }; - buildInputs = globalBuildInputs; - meta = { - description = "a package manager for JavaScript"; - homepage = "https://docs.npmjs.com/"; - license = "Artistic-2.0"; - }; - production = true; - bypassCache = true; - reconstructLock = true; - }; npm-merge-driver = nodeEnv.buildNodePackage { name = "npm-merge-driver"; packageName = "npm-merge-driver"; diff --git a/pkgs/development/node-packages/overrides.nix b/pkgs/development/node-packages/overrides.nix index c3db83758006..a9108d934d43 100644 --- a/pkgs/development/node-packages/overrides.nix +++ b/pkgs/development/node-packages/overrides.nix @@ -155,10 +155,6 @@ final: prev: { ''; }; - node-red = prev.node-red.override { - buildInputs = [ pkgs.node-pre-gyp ]; - }; - node2nix = prev.node2nix.override { # Get latest commit for misc fixes src = fetchFromGitHub { diff --git a/pkgs/development/ocaml-modules/ctypes/default.nix b/pkgs/development/ocaml-modules/ctypes/default.nix index fa7bf6a587f0..cb6414a7a4cf 100644 --- a/pkgs/development/ocaml-modules/ctypes/default.nix +++ b/pkgs/development/ocaml-modules/ctypes/default.nix @@ -10,13 +10,13 @@ buildDunePackage rec { pname = "ctypes"; - version = "0.22.0"; + version = "0.23.0"; src = fetchFromGitHub { owner = "ocamllabs"; repo = "ocaml-ctypes"; rev = version; - hash = "sha256-xgDKupQuakjHTbjoap/r2aAjNQUpH9K4HmeLbbgw1x4="; + hash = "sha256-fZfTsOMppHiI7BVvgICVt/9ofGFAfYjXzHSDA7L4vZk="; }; buildInputs = [ dune-configurator ]; diff --git a/pkgs/development/python-modules/aiostream/default.nix b/pkgs/development/python-modules/aiostream/default.nix index e6f7900a0b93..4c03576350c6 100644 --- a/pkgs/development/python-modules/aiostream/default.nix +++ b/pkgs/development/python-modules/aiostream/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "aiostream"; - version = "0.6.2"; + version = "0.6.3"; pyproject = true; disabled = pythonOlder "3.8"; @@ -20,7 +20,7 @@ buildPythonPackage rec { owner = "vxgmichel"; repo = "aiostream"; rev = "refs/tags/v${version}"; - hash = "sha256-uMK3WFO4IvrI7QBGiu1MOInRfGgdWufe4zefmT1Bjv0="; + hash = "sha256-MssA4gDo79mlHjVwQAxhX6DZPHB4Quo6V05Nye91oJg="; }; postPatch = '' diff --git a/pkgs/development/python-modules/auroranoaa/default.nix b/pkgs/development/python-modules/auroranoaa/default.nix index 82820fc05f33..8dcec269dced 100644 --- a/pkgs/development/python-modules/auroranoaa/default.nix +++ b/pkgs/development/python-modules/auroranoaa/default.nix @@ -4,31 +4,37 @@ buildPythonPackage, fetchFromGitHub, pythonOlder, + setuptools, }: buildPythonPackage rec { pname = "auroranoaa"; - version = "0.0.3"; - format = "setuptools"; + version = "0.0.5"; + pyproject = true; + disabled = pythonOlder "3.6"; src = fetchFromGitHub { owner = "djtimca"; repo = "aurora-api"; - rev = version; - hash = "sha256-ho0O5aEHCKaTuWh2eW2kY5a7dVGIGBLm4nKxAMq0bZ4="; + rev = "refs/tags/${version}"; + hash = "sha256-bQDFSbYFsGtvPuJNMykynOpBTIeloUoCVRtIuHXR4n0="; }; - propagatedBuildInputs = [ aiohttp ]; + build-system = [ setuptools ]; + + dependencies = [ aiohttp ]; # Project has no tests doCheck = false; + pythonImportsCheck = [ "auroranoaa" ]; meta = with lib; { description = "Python wrapper for the Aurora API"; homepage = "https://github.com/djtimca/aurora-api"; - license = with licenses; [ asl20 ]; + changelog = "https://github.com/djtimca/aurora-api/releases/tag/${version}"; + license = licenses.asl20; maintainers = with maintainers; [ fab ]; }; } diff --git a/pkgs/development/python-modules/azure-iot-device/default.nix b/pkgs/development/python-modules/azure-iot-device/default.nix new file mode 100644 index 000000000000..cae7ceb73efc --- /dev/null +++ b/pkgs/development/python-modules/azure-iot-device/default.nix @@ -0,0 +1,58 @@ +{ + lib, + buildPythonPackage, + fetchPypi, + pythonOlder, + + setuptools, + + urllib3, + deprecation, + paho-mqtt, + requests, + requests-unixsocket2, + janus, + pysocks, + typing-extensions, +}: +buildPythonPackage rec { + pname = "azure-iot-device"; + version = "2.14.0"; + pyproject = true; + + disabled = pythonOlder "3.8"; + + src = fetchPypi { + inherit version; + pname = "azure_iot_device"; + hash = "sha256-ttSNSTLCQAJXNqzlRMTnG8SaFXasmY6h3neK+CSW/84="; + }; + + nativeBuildInputs = [ setuptools ]; + + propagatedBuildInputs = [ + urllib3 + deprecation + paho-mqtt + requests + requests-unixsocket2 + janus + pysocks + typing-extensions + ]; + + # Module has no tests + doCheck = false; + + pythonImportsCheck = [ + "azure.iot.device" + "azure.iot.device.aio" + ]; + + meta = with lib; { + description = "Microsoft Azure IoT Device Library for Python"; + homepage = "https://github.com/Azure/azure-iot-sdk-python"; + license = licenses.mit; + maintainers = with maintainers; [ mikut ]; + }; +} diff --git a/pkgs/development/python-modules/datasalad/default.nix b/pkgs/development/python-modules/datasalad/default.nix index a9eba3978ae2..4216dd180cf2 100644 --- a/pkgs/development/python-modules/datasalad/default.nix +++ b/pkgs/development/python-modules/datasalad/default.nix @@ -12,14 +12,14 @@ buildPythonPackage rec { pname = "datasalad"; - version = "0.3.0"; + version = "0.4.0"; pyproject = true; src = fetchFromGitHub { owner = "datalad"; repo = "datasalad"; rev = "refs/tags/v${version}"; - hash = "sha256-WkU3MqAveeANrRGLj1A4UGlT5Sel5wxNcYbIeKlPIqE="; + hash = "sha256-UIrbvFz674+HarFbv1eF++flj1hOR0cZyqKQSl+G7xY="; }; build-system = [ diff --git a/pkgs/development/python-modules/extract-msg/default.nix b/pkgs/development/python-modules/extract-msg/default.nix index 9ed39dae6783..45959765581f 100644 --- a/pkgs/development/python-modules/extract-msg/default.nix +++ b/pkgs/development/python-modules/extract-msg/default.nix @@ -16,7 +16,7 @@ buildPythonPackage rec { pname = "extract-msg"; - version = "0.49.0"; + version = "0.50.1"; pyproject = true; disabled = pythonOlder "3.7"; @@ -25,7 +25,7 @@ buildPythonPackage rec { owner = "TeamMsgExtractor"; repo = "msg-extractor"; rev = "refs/tags/v${version}"; - hash = "sha256-o9kf88IYYpjZDpg1liIaIpxzg0cfFepRx0BdxeLRTz0="; + hash = "sha256-MWqJYdv+P87n5KtrtSJnyY59uuLtHL9EG8WyYRdfSTw="; }; pythonRelaxDeps = [ diff --git a/pkgs/development/python-modules/ifcopenshell/default.nix b/pkgs/development/python-modules/ifcopenshell/default.nix index 0ea5ee75d618..9feccf84613e 100644 --- a/pkgs/development/python-modules/ifcopenshell/default.nix +++ b/pkgs/development/python-modules/ifcopenshell/default.nix @@ -41,6 +41,7 @@ shapely, typing-extensions, ## additional deps for tests + ifcopenshell, lxml, mathutils, networkx, @@ -182,7 +183,10 @@ buildPythonPackage rec { passthru = { updateScript = gitUpdater { rev-prefix = "ifcopenshell-python-"; }; tests = { - version = testers.testVersion { command = "IfcConvert --version"; }; + version = testers.testVersion { + command = "IfcConvert --version"; + package = ifcopenshell; + }; }; }; diff --git a/pkgs/development/python-modules/iminuit/default.nix b/pkgs/development/python-modules/iminuit/default.nix index 17fa94212c77..af1a63f42951 100644 --- a/pkgs/development/python-modules/iminuit/default.nix +++ b/pkgs/development/python-modules/iminuit/default.nix @@ -21,14 +21,14 @@ buildPythonPackage rec { pname = "iminuit"; - version = "2.30.0"; + version = "2.30.1"; format = "pyproject"; disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - hash = "sha256-jeC4K7azOBFls46VdhoCcBiaAIPNuS4VTfFlfsZRmkA="; + hash = "sha256-KBW/3rjn94GF8xa3Xi1LGdD2mTvcX/AzUu03twp5Y2A="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/langfuse/default.nix b/pkgs/development/python-modules/langfuse/default.nix index 6a434fb0cb00..2a76b9e8e8dd 100644 --- a/pkgs/development/python-modules/langfuse/default.nix +++ b/pkgs/development/python-modules/langfuse/default.nix @@ -17,14 +17,14 @@ buildPythonPackage rec { pname = "langfuse"; - version = "2.51.2"; + version = "2.51.5"; pyproject = true; src = fetchFromGitHub { owner = "langfuse"; repo = "langfuse-python"; rev = "refs/tags/v${version}"; - hash = "sha256-MaTR7hEE+Ed9pCXJ2JSxzLAJ0O0SnN3M3b5/7tdmQBw="; + hash = "sha256-2zcEpSXpW67ltB87LIqH6+DCKvNK1gstJU+/JHDJoPE="; }; build-system = [ poetry-core ]; diff --git a/pkgs/development/python-modules/libarcus/default.nix b/pkgs/development/python-modules/libarcus/default.nix index 316c604750ab..ce56a19501cc 100644 --- a/pkgs/development/python-modules/libarcus/default.nix +++ b/pkgs/development/python-modules/libarcus/default.nix @@ -39,6 +39,7 @@ buildPythonPackage rec { ''; meta = with lib; { + broken = true; description = "Communication library between internal components for Ultimaker software"; homepage = "https://github.com/Ultimaker/libArcus"; license = licenses.lgpl3Plus; diff --git a/pkgs/development/python-modules/mitmproxy-macos/default.nix b/pkgs/development/python-modules/mitmproxy-macos/default.nix index 08228102cf1b..5178b9584e92 100644 --- a/pkgs/development/python-modules/mitmproxy-macos/default.nix +++ b/pkgs/development/python-modules/mitmproxy-macos/default.nix @@ -1,29 +1,26 @@ { lib, buildPythonPackage, - fetchFromGitHub, - hatchling, + fetchPypi, pythonOlder, }: buildPythonPackage rec { pname = "mitmproxy-macos"; - version = "0.5.1"; - pyproject = true; + version = "0.9.2"; + format = "wheel"; disabled = pythonOlder "3.10"; - src = fetchFromGitHub { - owner = "mitmproxy"; - repo = "mitmproxy_rs"; - rev = "refs/tags/${version}"; - hash = "sha256-nrm1T2yaGVmYsubwNJHPnPDC/A/jYiKVzwBKmuc9MD4="; + src = fetchPypi { + pname = "mitmproxy_macos"; + inherit version; + format = "wheel"; + dist = "py3"; + python = "py3"; + hash = "sha256-Q19gQF6qnoF0TDmeZIxu90A5/ur7N7sDcoeBi2LaNrg="; }; - sourceRoot = "${src.name}/mitmproxy-macos"; - - nativeBuildInputs = [ hatchling ]; - pythonImportsCheck = [ "mitmproxy_macos" ]; meta = with lib; { @@ -33,6 +30,6 @@ buildPythonPackage rec { license = licenses.mit; maintainers = with maintainers; [ boltzmannrain ]; platforms = platforms.darwin; - broken = true; # last successful build 2023-12-04 + sourceProvenance = with sourceTypes; [ binaryBytecode ]; }; } diff --git a/pkgs/development/python-modules/mitmproxy-rs/Cargo.lock b/pkgs/development/python-modules/mitmproxy-rs/Cargo.lock index c5fad70fb845..a558f0e00222 100644 --- a/pkgs/development/python-modules/mitmproxy-rs/Cargo.lock +++ b/pkgs/development/python-modules/mitmproxy-rs/Cargo.lock @@ -93,9 +93,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.86" +version = "1.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" +checksum = "86fdf8605db99b54d3cd748a44c6d04df638eb5dafb219b135d0149bd0db01f6" dependencies = [ "backtrace", ] @@ -145,6 +145,23 @@ dependencies = [ "syn 2.0.68", ] +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + +[[package]] +name = "atty" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" +dependencies = [ + "hermit-abi 0.1.19", + "libc", + "winapi", +] + [[package]] name = "autocfg" version = "1.3.0" @@ -153,18 +170,17 @@ checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" [[package]] name = "axum" -version = "0.6.20" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b829e4e32b91e643de6eafe82b1d90675f5874230191a4ffbc1b336dec4d6bf" +checksum = "3a6c9af12842a67734c9a2e355436e5d03b22383ed60cf13cd0c18fbfe3dcbcf" dependencies = [ "async-trait", "axum-core", - "bitflags 1.3.2", "bytes", "futures-util", "http", "http-body", - "hyper", + "http-body-util", "itoa", "matchit", "memchr", @@ -173,7 +189,7 @@ dependencies = [ "pin-project-lite", "rustversion", "serde", - "sync_wrapper", + "sync_wrapper 1.0.1", "tower", "tower-layer", "tower-service", @@ -181,17 +197,20 @@ dependencies = [ [[package]] name = "axum-core" -version = "0.3.4" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c" +checksum = "a15c63fd72d41492dc4f497196f5da1fb04fb7529e631d73630d1b491e47a2e3" dependencies = [ "async-trait", "bytes", "futures-util", "http", "http-body", + "http-body-util", "mime", + "pin-project-lite", "rustversion", + "sync_wrapper 0.1.2", "tower-layer", "tower-service", ] @@ -223,6 +242,12 @@ version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + [[package]] name = "bitflags" version = "1.3.2" @@ -262,8 +287,7 @@ dependencies = [ [[package]] name = "boringtun" version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "751787b019c674b9ac353f4eaa285e6711c21badb421cd8c199bf2c83b727f29" +source = "git+https://github.com/cloudflare/boringtun?rev=e3252d9c4f4c8fc628995330f45369effd4660a1#e3252d9c4f4c8fc628995330f45369effd4660a1" dependencies = [ "aead", "base64 0.13.1", @@ -279,7 +303,7 @@ dependencies = [ "rand_core", "ring", "tracing", - "untrusted 0.9.0", + "untrusted", "x25519-dalek", ] @@ -301,6 +325,12 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" +[[package]] +name = "byteorder-lite" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495" + [[package]] name = "bytes" version = "1.6.0" @@ -393,6 +423,21 @@ dependencies = [ "zeroize", ] +[[package]] +name = "clap" +version = "3.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123" +dependencies = [ + "atty", + "bitflags 1.3.2", + "clap_lex 0.2.4", + "indexmap 1.9.3", + "strsim", + "termcolor", + "textwrap", +] + [[package]] name = "clap" version = "4.5.8" @@ -409,7 +454,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c1c09dd5ada6c6c78075d6fd0da3f90d8080651e2d6cc8eb2f1aaa4034ced708" dependencies = [ "anstyle", - "clap_lex", + "clap_lex 0.7.1", +] + +[[package]] +name = "clap_lex" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" +dependencies = [ + "os_str_bytes", ] [[package]] @@ -420,11 +474,11 @@ checksum = "4b82cf0babdbd58558212896d1a4272303a57bdb245c2bf1147185fb45640e70" [[package]] name = "cocoa" -version = "0.25.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6140449f97a6e97f9511815c5632d84c8aacf8ac271ad77c559218161a1373c" +checksum = "f79398230a6e2c08f5c9760610eb6924b52aa9e7950a619602baba59dcbbdbb2" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.6.0", "block", "cocoa-foundation", "core-foundation", @@ -436,11 +490,11 @@ dependencies = [ [[package]] name = "cocoa-foundation" -version = "0.1.2" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c6234cbb2e4c785b456c0644748b1ac416dd045799740356f8363dfe00c93f7" +checksum = "e14045fb83be07b5acf1c0884b2180461635b433455fa35d1cd6f17f1450679d" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.6.0", "block", "core-foundation", "core-graphics-types", @@ -456,9 +510,9 @@ checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422" [[package]] name = "console-api" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a257c22cd7e487dd4a13d413beabc512c5052f0bc048db0da6a84c3d8a6142fd" +checksum = "86ed14aa9c9f927213c6e4f3ef75faaad3406134efe84ba2cb7983431d5f0931" dependencies = [ "futures-core", "prost", @@ -469,9 +523,9 @@ dependencies = [ [[package]] name = "console-subscriber" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31c4cc54bae66f7d9188996404abdf7fdfa23034ef8e43478c8810828abad758" +checksum = "e2e3a111a37f3333946ebf9da370ba5c5577b18eb342ec683eb488dd21980302" dependencies = [ "console-api", "crossbeam-channel", @@ -479,6 +533,7 @@ dependencies = [ "futures-task", "hdrhistogram", "humantime", + "hyper-util", "prost", "prost-types", "serde", @@ -494,9 +549,9 @@ dependencies = [ [[package]] name = "core-foundation" -version = "0.9.4" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +checksum = "b55271e5c8c478ad3f38ad24ef34923091e0548492a266d19b3c0b4d82574c63" dependencies = [ "core-foundation-sys", "libc", @@ -504,17 +559,17 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.6" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "core-graphics" -version = "0.23.2" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c07782be35f9e1140080c6b96f0d44b739e2278479f64e02fdab4e32dfd8b081" +checksum = "fa95a34622365fa5bbf40b20b75dba8dfa8c94c734aea8ac9a5ca38af14316f1" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.6.0", "core-foundation", "core-graphics-types", "foreign-types", @@ -523,11 +578,11 @@ dependencies = [ [[package]] name = "core-graphics-types" -version = "0.1.3" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf" +checksum = "3d44a101f213f6c4cdc1853d4b78aef6db6bdfa3468798cc1d9912f4735013eb" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.6.0", "core-foundation", "libc", ] @@ -559,10 +614,10 @@ dependencies = [ "anes", "cast", "ciborium", - "clap", + "clap 4.5.8", "criterion-plot", "is-terminal", - "itertools 0.10.5", + "itertools", "num-traits", "once_cell", "oorandom", @@ -583,7 +638,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1" dependencies = [ "cast", - "itertools 0.10.5", + "itertools", ] [[package]] @@ -639,15 +694,14 @@ dependencies = [ [[package]] name = "curve25519-dalek" -version = "4.0.0-rc.3" +version = "4.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "436ace70fc06e06f7f689d2624dc4e2f0ea666efb5aa704215f7249ae6e047a7" +checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" dependencies = [ "cfg-if", "cpufeatures", "curve25519-dalek-derive", "fiat-crypto", - "platforms", "rustc_version", "subtle", "zeroize", @@ -752,9 +806,9 @@ dependencies = [ [[package]] name = "env_logger" -version = "0.11.3" +version = "0.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38b35839ba51819680ba087cd351788c9a3c476841207e0b8cee0b04722343b9" +checksum = "e13fa619b91fb2381732789fc5de83b45675e882f66623b7d8cb4f643017018d" dependencies = [ "anstream", "anstyle", @@ -799,9 +853,9 @@ dependencies = [ [[package]] name = "fiat-crypto" -version = "0.1.20" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e825f6987101665dea6ec934c09ec6d721de7bc1bf92248e1d5810c8cd636b77" +checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" [[package]] name = "filetime" @@ -985,15 +1039,15 @@ checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" [[package]] name = "h2" -version = "0.3.26" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" +checksum = "fa82e28a107a8cc405f0839610bdc9b15f1e25ec7d696aa5cf173edbcb1486ab" dependencies = [ + "atomic-waker", "bytes", "fnv", "futures-core", "futures-sink", - "futures-util", "http", "indexmap 2.2.6", "slab", @@ -1062,6 +1116,15 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" +[[package]] +name = "hermit-abi" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +dependencies = [ + "libc", +] + [[package]] name = "hermit-abi" version = "0.3.9" @@ -1161,9 +1224,9 @@ dependencies = [ [[package]] name = "http" -version = "0.2.12" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" +checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" dependencies = [ "bytes", "fnv", @@ -1172,12 +1235,24 @@ dependencies = [ [[package]] name = "http-body" -version = "0.4.6" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" dependencies = [ "bytes", "http", +] + +[[package]] +name = "http-body-util" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" +dependencies = [ + "bytes", + "futures-util", + "http", + "http-body", "pin-project-lite", ] @@ -1201,13 +1276,12 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.29" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f361cde2f109281a220d4307746cdfd5ee3f410da58a70377762396775634b33" +checksum = "50dfd22e0e76d0f662d429a5f80fcaf3855009297eab6a0a9f8543834744ba05" dependencies = [ "bytes", "futures-channel", - "futures-core", "futures-util", "h2", "http", @@ -1216,23 +1290,42 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite", - "socket2", + "smallvec", "tokio", - "tower-service", - "tracing", "want", ] [[package]] name = "hyper-timeout" -version = "0.4.1" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1" +checksum = "3203a961e5c83b6f5498933e78b6b263e208c197b63e9c6c53cc82ffd3f63793" dependencies = [ "hyper", + "hyper-util", "pin-project-lite", "tokio", - "tokio-io-timeout", + "tower-service", +] + +[[package]] +name = "hyper-util" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ab92f4f49ee4fb4f997c784b7a2e0fa70050211e0b6a287f898c3c9785ca956" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "http", + "http-body", + "hyper", + "pin-project-lite", + "socket2", + "tokio", + "tower", + "tower-service", + "tracing", ] [[package]] @@ -1257,12 +1350,12 @@ dependencies = [ [[package]] name = "image" -version = "0.25.1" +version = "0.25.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd54d660e773627692c524beaad361aca785a4f9f5730ce91f42aabe5bce3d11" +checksum = "99314c8a2152b8ddb211f924cdae532d8c5e4c8bb54728e12fff1b0cd5963a10" dependencies = [ "bytemuck", - "byteorder", + "byteorder-lite", "num-traits", "png", "tiff", @@ -1319,6 +1412,12 @@ dependencies = [ "smoltcp", ] +[[package]] +name = "inventory" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f958d3d68f4167080a18141e10381e7634563984a537f2a49a30fd8e53ac5767" + [[package]] name = "ip_network" version = "0.4.1" @@ -1365,7 +1464,7 @@ version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b" dependencies = [ - "hermit-abi", + "hermit-abi 0.3.9", "libc", "windows-sys 0.52.0", ] @@ -1385,15 +1484,6 @@ dependencies = [ "either", ] -[[package]] -name = "itertools" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" -dependencies = [ - "either", -] - [[package]] name = "itoa" version = "1.0.11" @@ -1472,7 +1562,7 @@ checksum = "9106e1d747ffd48e6be5bb2d97fa706ed25b144fbee4d5c02eae110cd8d6badd" [[package]] name = "macos-certificate-truster" -version = "0.6.3" +version = "0.9.2" dependencies = [ "security-framework", ] @@ -1552,18 +1642,19 @@ dependencies = [ [[package]] name = "mio" -version = "0.8.11" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" +checksum = "4569e456d394deccd22ce1c1913e6ea0e54519f577285001215d33557431afe4" dependencies = [ + "hermit-abi 0.3.9", "libc", "wasi", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] name = "mitm-wg-test-client" -version = "0.6.3" +version = "0.9.2" dependencies = [ "anyhow", "boringtun", @@ -1574,7 +1665,7 @@ dependencies = [ [[package]] name = "mitmproxy" -version = "0.6.3" +version = "0.9.2" dependencies = [ "anyhow", "boringtun", @@ -1601,6 +1692,7 @@ dependencies = [ "rand_core", "security-framework", "smoltcp", + "socket2", "sysinfo", "tokio", "tokio-util", @@ -1610,7 +1702,7 @@ dependencies = [ [[package]] name = "mitmproxy_rs" -version = "0.6.3" +version = "0.9.2" dependencies = [ "anyhow", "boringtun", @@ -1686,16 +1778,6 @@ dependencies = [ "autocfg", ] -[[package]] -name = "num_cpus" -version = "1.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" -dependencies = [ - "hermit-abi", - "libc", -] - [[package]] name = "objc" version = "0.2.7" @@ -1732,6 +1814,12 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" +[[package]] +name = "os_str_bytes" +version = "6.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1" + [[package]] name = "parking_lot" version = "0.12.3" @@ -1793,12 +1881,6 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" -[[package]] -name = "platforms" -version = "3.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e4c7666f2019727f9e8e14bf14456e99c707d780922869f1ba473eee101fa49" - [[package]] name = "plotters" version = "0.3.6" @@ -1910,9 +1992,9 @@ dependencies = [ [[package]] name = "prost" -version = "0.12.6" +version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29" +checksum = "7b0487d90e047de87f984913713b85c601c05609aad5b0df4b4573fbf69aa13f" dependencies = [ "bytes", "prost-derive", @@ -1920,12 +2002,12 @@ dependencies = [ [[package]] name = "prost-derive" -version = "0.12.6" +version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" +checksum = "e9552f850d5f0964a4e4d0bf306459ac29323ddfbae05e35a7c0d35cb0803cc5" dependencies = [ "anyhow", - "itertools 0.12.1", + "itertools", "proc-macro2", "quote", "syn 2.0.68", @@ -1933,9 +2015,9 @@ dependencies = [ [[package]] name = "prost-types" -version = "0.12.6" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9091c90b0a32608e984ff2fa4091273cbdd755d54935c51d520887f4a1dbd5b0" +checksum = "cee5168b05f49d4b0ca581206eb14a7b22fafd963efe729ac48eb03266e25cc2" dependencies = [ "prost", ] @@ -1965,13 +2047,27 @@ version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8fde289486f7d5cee0ac7c20b2637a0657654681079cc5eedc90d9a2a79af1e5" dependencies = [ + "clap 3.2.25", "futures", + "inventory", "once_cell", "pin-project-lite", "pyo3", + "pyo3-asyncio-macros-0-21", "tokio", ] +[[package]] +name = "pyo3-asyncio-macros-0-21" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e5ffc4e987e866bf54b781235a6c3b91e7e67df14f73ce716625ee78728554a" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "pyo3-build-config" version = "0.21.2" @@ -2167,17 +2263,17 @@ dependencies = [ [[package]] name = "ring" -version = "0.16.20" +version = "0.17.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" +checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" dependencies = [ "cc", + "cfg-if", + "getrandom", "libc", - "once_cell", "spin", - "untrusted 0.7.1", - "web-sys", - "winapi", + "untrusted", + "windows-sys 0.52.0", ] [[package]] @@ -2237,9 +2333,9 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "security-framework" -version = "2.11.0" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0" +checksum = "f9d0283c0a4a22a0f1b0e4edca251aa20b92fc96eaa09b84bec052f9415e9d71" dependencies = [ "bitflags 2.6.0", "core-foundation", @@ -2250,9 +2346,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.11.0" +version = "2.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "317936bbbd05227752583946b9e66d7ce3b489f84e11a94a510b4437fef407d7" +checksum = "ea4a292869320c0272d7bc55a5a6aafaff59b4f63404a003887b679a2e05b4b6" dependencies = [ "core-foundation-sys", "libc", @@ -2361,9 +2457,9 @@ dependencies = [ [[package]] name = "spin" -version = "0.5.2" +version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" [[package]] name = "stable_deref_trait" @@ -2371,6 +2467,12 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" +[[package]] +name = "strsim" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" + [[package]] name = "subtle" version = "2.6.1" @@ -2384,6 +2486,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ "proc-macro2", + "quote", "unicode-ident", ] @@ -2404,6 +2507,12 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" +[[package]] +name = "sync_wrapper" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" + [[package]] name = "sysinfo" version = "0.29.11" @@ -2421,9 +2530,9 @@ dependencies = [ [[package]] name = "tar" -version = "0.4.41" +version = "0.4.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb797dad5fb5b76fcf519e702f4a589483b5ef06567f160c392832c1f5e44909" +checksum = "4ff6c40d3aedb5e06b57c6f669ad17ab063dd1e63d977c6a88e7f4dfa4f04020" dependencies = [ "filetime", "libc", @@ -2436,6 +2545,21 @@ version = "0.12.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f" +[[package]] +name = "termcolor" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "textwrap" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9" + [[package]] name = "thiserror" version = "1.0.61" @@ -2523,38 +2647,27 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.38.0" +version = "1.40.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a" +checksum = "e2b070231665d27ad9ec9b8df639893f46727666c6767db40317fbe920a5d998" dependencies = [ "backtrace", "bytes", "libc", "mio", - "num_cpus", "pin-project-lite", "signal-hook-registry", "socket2", "tokio-macros", "tracing", - "windows-sys 0.48.0", -] - -[[package]] -name = "tokio-io-timeout" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30b74022ada614a1b4834de765f9bb43877f910cc8ce4be40e89042c9223a8bf" -dependencies = [ - "pin-project-lite", - "tokio", + "windows-sys 0.52.0", ] [[package]] name = "tokio-macros" -version = "2.3.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" +checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", @@ -2574,9 +2687,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.11" +version = "0.7.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" +checksum = "61e7c3654c13bcd040d4a03abee2c75b1d14a37b423cf5a813ceae1cc903ec6a" dependencies = [ "bytes", "futures-core", @@ -2596,23 +2709,26 @@ dependencies = [ [[package]] name = "tonic" -version = "0.11.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76c4eb7a4e9ef9d4763600161f12f5070b92a578e1b634db88a6887844c91a13" +checksum = "38659f4a91aba8598d27821589f5db7dddd94601e7a01b1e485a50e5484c7401" dependencies = [ "async-stream", "async-trait", "axum", - "base64 0.21.7", + "base64 0.22.1", "bytes", "h2", "http", "http-body", + "http-body-util", "hyper", "hyper-timeout", + "hyper-util", "percent-encoding", "pin-project", "prost", + "socket2", "tokio", "tokio-stream", "tower", @@ -2749,12 +2865,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "untrusted" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" - [[package]] name = "untrusted" version = "0.9.0" @@ -3000,7 +3110,7 @@ dependencies = [ [[package]] name = "windows-redirector" -version = "0.6.3" +version = "0.9.2" dependencies = [ "anyhow", "env_logger", @@ -3184,9 +3294,9 @@ dependencies = [ [[package]] name = "x25519-dalek" -version = "2.0.0-rc.3" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec7fae07da688e17059d5886712c933bb0520f15eff2e09cfa18e30968f4e63a" +checksum = "c7e468321c81fb07fa7f4c636c3972b9100f0346e5b6a9f2bd0603a52f7ed277" dependencies = [ "curve25519-dalek", "rand_core", diff --git a/pkgs/development/python-modules/mitmproxy-rs/default.nix b/pkgs/development/python-modules/mitmproxy-rs/default.nix index cbe1442da06b..e9c475e390d6 100644 --- a/pkgs/development/python-modules/mitmproxy-rs/default.nix +++ b/pkgs/development/python-modules/mitmproxy-rs/default.nix @@ -12,21 +12,22 @@ buildPythonPackage rec { pname = "mitmproxy-rs"; - version = "0.6.3"; + version = "0.9.2"; pyproject = true; src = fetchFromGitHub { owner = "mitmproxy"; repo = "mitmproxy_rs"; - rev = version; - hash = "sha256-rnM2MNJ9ZVmwFjhXU8kPEQjpqNIzVZ3bVtm43WvGj5E="; + rev = "v${version}"; + hash = "sha256-Cp0AbwRNLuLzmF4EAK/2Fzq5I9Iq7gqg6OLbK1B8fGY="; }; cargoDeps = rustPlatform.importCargoLock { + lockFile = ./Cargo.lock; outputHashes = { + "boringtun-0.6.0" = "sha256-fx2lY6q1ZdO5STvf7xnbVG64tn0BC4yWPFy4ICPJgEg="; "smoltcp-0.11.0" = "sha256-KC9nTKd2gfZ1ICjrkLK//M2bbqYlfcCK18gBdN0RqWQ="; }; - lockFile = ./Cargo.lock; }; buildAndTestSubdir = "mitmproxy-rs"; @@ -38,6 +39,7 @@ buildPythonPackage rec { buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.Security + darwin.apple_sdk.frameworks.AppKit libiconv mitmproxy-macos ]; diff --git a/pkgs/development/python-modules/mitmproxy/default.nix b/pkgs/development/python-modules/mitmproxy/default.nix index 5e01020bb21f..93a77b49a8e2 100644 --- a/pkgs/development/python-modules/mitmproxy/default.nix +++ b/pkgs/development/python-modules/mitmproxy/default.nix @@ -45,7 +45,7 @@ buildPythonPackage rec { pname = "mitmproxy"; - version = "10.4.2"; + version = "11.0.0"; pyproject = true; disabled = pythonOlder "3.9"; @@ -54,7 +54,7 @@ buildPythonPackage rec { owner = "mitmproxy"; repo = "mitmproxy"; rev = "refs/tags/v${version}"; - hash = "sha256-1OMVgV6dFKoG/upv+RWbYqftqejeQLBlsycuy2+Na6E="; + hash = "sha256-f5TudaLlHtIMAvS7s5mWgqpdi7/vWNF0EdlYNuG67hM="; }; diff --git a/pkgs/development/python-modules/numpy/2.nix b/pkgs/development/python-modules/numpy/2.nix index e8f6d36b73d8..de318ba8ae67 100644 --- a/pkgs/development/python-modules/numpy/2.nix +++ b/pkgs/development/python-modules/numpy/2.nix @@ -59,7 +59,7 @@ let in buildPythonPackage rec { pname = "numpy"; - version = "2.1.1"; + version = "2.1.2"; pyproject = true; disabled = pythonOlder "3.10"; @@ -67,7 +67,7 @@ buildPythonPackage rec { src = fetchPypi { inherit pname version; extension = "tar.gz"; - hash = "sha256-0M99VbEFE4eAdAWziY76+oYpl7TLqKpdvmV755Sv6v0="; + hash = "sha256-E1MqCIIX+mJMmbhD7rVGQN4js0FLFKpm0COAXrcxBmw="; }; patches = lib.optionals python.hasDistutilsCxxPatch [ diff --git a/pkgs/development/python-modules/pbs-installer/default.nix b/pkgs/development/python-modules/pbs-installer/default.nix index 8404c8bc0b90..576ec488241c 100644 --- a/pkgs/development/python-modules/pbs-installer/default.nix +++ b/pkgs/development/python-modules/pbs-installer/default.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "pbs-installer"; - version = "2024.09.09"; + version = "2024.10.08"; pyproject = true; disabled = pythonOlder "3.8"; @@ -19,7 +19,7 @@ buildPythonPackage rec { owner = "frostming"; repo = "pbs-installer"; rev = "refs/tags/${version}"; - hash = "sha256-c9jd85CLQPrwA1HmsedGhbBoQIuEWiPsZN0Srq+DyVE="; + hash = "sha256-fftrY1r84o9Vj9Hw18WYItGRRjgKarF1tXmDV2tERXQ="; }; build-system = [ pdm-backend ]; diff --git a/pkgs/development/python-modules/pipenv-poetry-migrate/default.nix b/pkgs/development/python-modules/pipenv-poetry-migrate/default.nix index 68f3bcd56291..02290a60328e 100644 --- a/pkgs/development/python-modules/pipenv-poetry-migrate/default.nix +++ b/pkgs/development/python-modules/pipenv-poetry-migrate/default.nix @@ -12,7 +12,7 @@ buildPythonPackage rec { pname = "pipenv-poetry-migrate"; - version = "0.5.9"; + version = "0.5.10"; format = "pyproject"; disabled = pythonOlder "3.8"; @@ -21,7 +21,7 @@ buildPythonPackage rec { owner = "yhino"; repo = "pipenv-poetry-migrate"; rev = "refs/tags/v${version}"; - hash = "sha256-oV3HdqDuC0t6manVlBqf4cxAWx6U6CbNpCUsBwfAn+o="; + hash = "sha256-ROi5Yj4Ht91Go2jkm6BQZyaJWtBKHk4ar1ly8jAPGlc="; }; nativeBuildInputs = [ poetry-core ]; diff --git a/pkgs/development/python-modules/plotly/default.nix b/pkgs/development/python-modules/plotly/default.nix index 38b4ed40dca2..8bd265181aa1 100644 --- a/pkgs/development/python-modules/plotly/default.nix +++ b/pkgs/development/python-modules/plotly/default.nix @@ -1,23 +1,42 @@ { lib, buildPythonPackage, - fetchPypi, + fetchFromGitHub, setuptools, packaging, tenacity, kaleido, + pytestCheckHook, + pandas, + requests, + matplotlib, + xarray, + pillow, + scipy, + psutil, + statsmodels, + ipython, + ipywidgets, + which, + orca, + nbformat, + scikit-image, }: buildPythonPackage rec { pname = "plotly"; - version = "5.23.0"; + version = "5.24.0"; pyproject = true; - src = fetchPypi { - inherit pname version; - hash = "sha256-ieV9ADoRYwOjTeZwCGI5E2fdVkIiq3H4Ux33Ann8AZM="; + src = fetchFromGitHub { + owner = "plotly"; + repo = "plotly.py"; + rev = "refs/tags/v${version}"; + hash = "sha256-frSUybQxst4wG8g8U43Nay9dYCUXuR3dBealwPVyFdI="; }; + sourceRoot = "${src.name}/packages/python/plotly"; + postPatch = '' substituteInPlace pyproject.toml \ --replace-fail "\"jupyterlab~=3.0;python_version>='3.6'\"," "" @@ -33,16 +52,80 @@ buildPythonPackage rec { kaleido ]; + nativeCheckInputs = [ + pytestCheckHook + pandas + requests + matplotlib + xarray + pillow + scipy + psutil + statsmodels + ipython + ipywidgets + which + orca + nbformat + scikit-image + ]; + + disabledTests = [ + # FAILED plotly/matplotlylib/mplexporter/tests/test_basic.py::test_legend_dots - AssertionError: assert '3' == '2' + "test_legend_dots" + # FAILED plotly/matplotlylib/mplexporter/tests/test_utils.py::test_linestyle - AssertionError: + "test_linestyle" + # FAILED plotly/tests/test_io/test_to_from_plotly_json.py::test_sanitize_json[auto] - KeyError: 'template' + # FAILED plotly/tests/test_io/test_to_from_plotly_json.py::test_sanitize_json[json] - KeyError: 'template' + "test_sanitize_json" + # FAILED plotly/tests/test_orca/test_orca_server.py::test_validate_orca - ValueError: + "test_validate_orca" + # FAILED plotly/tests/test_orca/test_orca_server.py::test_orca_executable_path - ValueError: + "test_orca_executable_path" + # FAILED plotly/tests/test_orca/test_orca_server.py::test_orca_version_number - ValueError: + "test_orca_version_number" + # FAILED plotly/tests/test_orca/test_orca_server.py::test_ensure_orca_ping_and_proc - ValueError: + "test_ensure_orca_ping_and_proc" + # FAILED plotly/tests/test_orca/test_orca_server.py::test_server_timeout_shutdown - ValueError: + "test_server_timeout_shutdown" + # FAILED plotly/tests/test_orca/test_orca_server.py::test_external_server_url - ValueError: + "test_external_server_url" + # FAILED plotly/tests/test_orca/test_to_image.py::test_simple_to_image[eps] - ValueError: + "test_simple_to_image" + # FAILED plotly/tests/test_orca/test_to_image.py::test_to_image_default[eps] - ValueError: + "test_to_image_default" + # FAILED plotly/tests/test_orca/test_to_image.py::test_write_image_string[eps] - ValueError: + "test_write_image_string" + # FAILED plotly/tests/test_orca/test_to_image.py::test_write_image_writeable[eps] - ValueError: + "test_write_image_writeable" + # FAILED plotly/tests/test_orca/test_to_image.py::test_write_image_string_format_inference[eps] - ValueError: + "test_write_image_string_format_inference" + # FAILED plotly/tests/test_orca/test_to_image.py::test_write_image_string_bad_extension_failure - assert 'must be specified as one of the followi... + "test_write_image_string_bad_extension_failure" + # FAILED plotly/tests/test_orca/test_to_image.py::test_write_image_string_bad_extension_override - ValueError: + "test_write_image_string_bad_extension_override" + # FAILED plotly/tests/test_orca/test_to_image.py::test_topojson_fig_to_image[eps] - ValueError: + "test_topojson_fig_to_image" + # FAILED plotly/tests/test_orca/test_to_image.py::test_latex_fig_to_image[eps] - ValueError: + "test_latex_fig_to_image" + # FAILED plotly/tests/test_orca/test_to_image.py::test_problematic_environment_variables[eps] - ValueError: + "test_problematic_environment_variables" + # FAILED plotly/tests/test_orca/test_to_image.py::test_invalid_figure_json - assert 'Invalid' in "\nThe orca executable is required in order to e... + "test_invalid_figure_json" + # FAILED test_init/test_dependencies_not_imported.py::test_dependencies_not_imported - AssertionError: assert 'plotly' not in {'IPython': + "test_dependencies_not_imported" + # FAILED test_init/test_lazy_imports.py::test_lazy_imports - AssertionError: assert 'plotly' not in {'IPython':