diff options
Diffstat (limited to 'nixpkgs/pkgs/development/tools/continuous-integration')
51 files changed, 5962 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/agola/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/agola/default.nix new file mode 100644 index 000000000000..02cd0f25acd5 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/continuous-integration/agola/default.nix @@ -0,0 +1,42 @@ +{ lib +, buildGoModule +, fetchFromGitHub +}: + +let + version = "0.8.0"; +in + +buildGoModule { + pname = "agola"; + inherit version; + + src = fetchFromGitHub { + owner = "agola-io"; + repo = "agola"; + rev = "v${version}"; + hash = "sha256-nU04MVkUC+m6Ga4qDUH9KrA0zbYmttAicpvdxbaBG0Y="; + }; + + vendorHash = "sha256-k3Sip9CqTGRTWxr3RzZf0jCrm4AfUrpY/wSTmHy+yik="; + + ldflags = [ + "-s" + "-w" + "-X agola.io/agola/cmd.Version=${version}" + ]; + + tags = [ + "sqlite_unlock_notify" + ]; + + # somehow the tests get stuck + doCheck = false; + + meta = with lib; { + description = "Agola: CI/CD Redefined "; + homepage = "https://agola.io"; + maintainers = with maintainers; [ happysalada ]; + license = licenses.mit; + }; +} diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/buildbot/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/buildbot/default.nix new file mode 100644 index 000000000000..43752d828b63 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/continuous-integration/buildbot/default.nix @@ -0,0 +1,47 @@ +{ python3 +, fetchPypi +, recurseIntoAttrs +, callPackage +}: +let + python = python3.override { + packageOverrides = self: super: { + sqlalchemy = super.sqlalchemy.overridePythonAttrs (oldAttrs: rec { + version = "1.4.40"; + src = fetchPypi { + pname = "SQLAlchemy"; + inherit version; + hash = "sha256-RKZgUGCAzJdeHfpXdv5fYxXdxiane1C/Du4YsDieomU="; + }; + disabledTestPaths = [ + "test/aaa_profiling" + "test/ext/mypy" + ]; + }); + moto = super.moto.overridePythonAttrs (oldAttrs: rec { + # a lot of tests -> very slow, we already build them when building python packages + doCheck = false; + }); + }; + }; + + buildbot-pkg = python.pkgs.callPackage ./pkg.nix { + inherit buildbot; + }; + buildbot-worker = python3.pkgs.callPackage ./worker.nix { + inherit buildbot; + }; + buildbot = python.pkgs.callPackage ./master.nix { + inherit buildbot-pkg buildbot-worker buildbot-plugins; + }; + buildbot-plugins = recurseIntoAttrs (callPackage ./plugins.nix { + inherit buildbot-pkg; + }); +in +{ + inherit buildbot buildbot-plugins buildbot-worker; + buildbot-ui = buildbot.withPlugins (with buildbot-plugins; [ www ]); + buildbot-full = buildbot.withPlugins (with buildbot-plugins; [ + www console-view waterfall-view grid-view wsgi-dashboards badges + ]); +} diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/buildbot/master.nix b/nixpkgs/pkgs/development/tools/continuous-integration/buildbot/master.nix new file mode 100644 index 000000000000..d4c08cafbf26 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/continuous-integration/buildbot/master.nix @@ -0,0 +1,151 @@ +{ lib +, stdenv +, buildPythonPackage +, buildPythonApplication +, fetchPypi +, makeWrapper +, pythonOlder +, python +, twisted +, jinja2 +, msgpack +, zope_interface +, sqlalchemy +, alembic +, python-dateutil +, txaio +, autobahn +, pyjwt +, pyyaml +, treq +, txrequests +, pypugjs +, boto3 +, moto +, markdown +, lz4 +, setuptoolsTrial +, buildbot-worker +, buildbot-plugins +, buildbot-pkg +, parameterized +, git +, openssh +, glibcLocales +, nixosTests +, callPackage +}: + +let + withPlugins = plugins: buildPythonApplication { + pname = "${package.pname}-with-plugins"; + inherit (package) version; + format = "other"; + + dontUnpack = true; + dontBuild = true; + doCheck = false; + + nativeBuildInputs = [ + makeWrapper + ]; + + propagatedBuildInputs = plugins ++ package.propagatedBuildInputs; + + installPhase = '' + makeWrapper ${package}/bin/buildbot $out/bin/buildbot \ + --prefix PYTHONPATH : "${package}/${python.sitePackages}:$PYTHONPATH" + ln -sfv ${package}/lib $out/lib + ''; + + passthru = package.passthru // { + withPlugins = morePlugins: withPlugins (morePlugins ++ plugins); + }; + }; + + package = buildPythonApplication rec { + pname = "buildbot"; + version = "3.9.2"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; + + src = fetchPypi { + inherit pname version; + hash = "sha256-7QhIMUpzmxbh8qjz0hgqzibLkWADhTV523neo1wpGSA="; + }; + + propagatedBuildInputs = [ + # core + twisted + jinja2 + msgpack + zope_interface + sqlalchemy + alembic + python-dateutil + txaio + autobahn + pyjwt + pyyaml + ] + # tls + ++ twisted.optional-dependencies.tls; + + nativeCheckInputs = [ + treq + txrequests + pypugjs + boto3 + moto + markdown + lz4 + setuptoolsTrial + buildbot-worker + buildbot-pkg + buildbot-plugins.www + parameterized + git + openssh + glibcLocales + ]; + + patches = [ + # This patch disables the test that tries to read /etc/os-release which + # is not accessible in sandboxed builds. + ./skip_test_linux_distro.patch + ]; + + postPatch = '' + substituteInPlace buildbot/scripts/logwatcher.py --replace '/usr/bin/tail' "$(type -P tail)" + ''; + + # TimeoutErrors on slow machines -> aarch64 + doCheck = !stdenv.isAarch64; + + preCheck = '' + export LC_ALL="en_US.UTF-8" + export PATH="$out/bin:$PATH" + + # remove testfile which is missing configuration file from sdist + rm buildbot/test/integration/test_graphql.py + # tests in this file are flaky, see https://github.com/buildbot/buildbot/issues/6776 + rm buildbot/test/integration/test_try_client.py + ''; + + passthru = { + inherit withPlugins; + tests.buildbot = nixosTests.buildbot; + updateScript = ./update.sh; + }; + + meta = with lib; { + description = "An open-source continuous integration framework for automating software build, test, and release processes"; + homepage = "https://buildbot.net/"; + changelog = "https://github.com/buildbot/buildbot/releases/tag/v${version}"; + maintainers = with maintainers; [ ryansydnor lopsided98 ]; + license = licenses.gpl2Only; + broken = stdenv.isDarwin; + }; + }; +in package diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/buildbot/pkg.nix b/nixpkgs/pkgs/development/tools/continuous-integration/buildbot/pkg.nix new file mode 100644 index 000000000000..2af7289000e2 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/continuous-integration/buildbot/pkg.nix @@ -0,0 +1,31 @@ +{ lib, buildPythonPackage, fetchPypi, isPy3k, buildbot }: + +buildPythonPackage rec { + pname = "buildbot-pkg"; + inherit (buildbot) version; + + src = fetchPypi { + inherit pname version; + hash = "sha256-HmkJHN81AcQdKrA/XnH3REURCssXnzmoKjcmvinfzFo="; + }; + + postPatch = '' + # Their listdir function filters out `node_modules` folders. + # Do we have to care about that with Nix...? + substituteInPlace buildbot_pkg.py --replace "os.listdir = listdir" "" + ''; + + # No tests + doCheck = false; + + pythonImportsCheck = [ "buildbot_pkg" ]; + + disabled = !isPy3k; + + meta = with lib; { + homepage = "https://buildbot.net/"; + description = "Buildbot Packaging Helper"; + maintainers = with maintainers; [ ryansydnor lopsided98 ]; + license = licenses.gpl2; + }; +} diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/buildbot/plugins.nix b/nixpkgs/pkgs/development/tools/continuous-integration/buildbot/plugins.nix new file mode 100644 index 000000000000..429c19ecfcee --- /dev/null +++ b/nixpkgs/pkgs/development/tools/continuous-integration/buildbot/plugins.nix @@ -0,0 +1,179 @@ +{ lib, buildPythonPackage, fetchPypi, fetchurl, callPackage, mock, cairosvg, klein, jinja2, buildbot-pkg, unzip, zip }: +{ + # this is exposed for potential plugins to use and for nix-update + inherit buildbot-pkg; + www = buildPythonPackage rec { + pname = "buildbot-www"; + inherit (buildbot-pkg) version; + + src = fetchPypi { + inherit pname version; + hash = "sha256-fwWzgIf0/+UiKRyiFUKPN4WUbmxQE5sU/ChAOqqLHE4="; + }; + + # Remove unnecessary circular dependency on buildbot + postPatch = '' + sed -i "s/'buildbot'//" setup.py + ''; + + buildInputs = [ buildbot-pkg mock ]; + + # No tests + doCheck = false; + + meta = with lib; { + homepage = "https://buildbot.net/"; + description = "Buildbot UI"; + maintainers = with maintainers; [ ryansydnor lopsided98 ]; + license = licenses.gpl2; + }; + }; + + www-react = buildPythonPackage rec { + pname = "buildbot-www-react"; + inherit (buildbot-pkg) version; + format = "wheel"; + + # fetchpypy returns a 404 for the wheel? + # normal source release doesn't have any assets + src = fetchurl { + url = "https://github.com/buildbot/buildbot/releases/download/v${version}/buildbot_www_react-${version}-py3-none-any.whl"; + hash = "sha256-pEzuMiDhGQtIWQm80lgKIcTjnS7Z8UJhH9plJup5O84="; + }; + + # Remove unneccessary circular dependency on buildbot + postPatch = '' + pushd dist + unzip buildbot_www_react-${version}-py3-none-any.whl + sed -i "s/Requires-Dist: buildbot//" buildbot_www_react-${version}.dist-info/METADATA + chmod -R u+w buildbot_www_react-${version}-py3-none-any.whl + zip -r buildbot_www_react-${version}-py3-none-any.whl buildbot_www_react-${version}.dist-info + popd + ''; + + buildInputs = [ buildbot-pkg ]; + nativeBuildInputs = [ unzip zip ]; + + # No tests + doCheck = false; + + meta = with lib; { + homepage = "https://buildbot.net/"; + description = "Buildbot UI (React)"; + maintainers = with maintainers; [ mic92 ]; + license = licenses.gpl2Only; + }; + }; + + console-view = buildPythonPackage rec { + pname = "buildbot-console-view"; + inherit (buildbot-pkg) version; + + src = fetchPypi { + inherit pname version; + hash = "sha256-ghCmbUw/Gj23J5X3fDn/FGkVvXUE9QWrPFTRXSsxEZ4="; + }; + + buildInputs = [ buildbot-pkg ]; + + # No tests + doCheck = false; + + meta = with lib; { + homepage = "https://buildbot.net/"; + description = "Buildbot Console View Plugin"; + maintainers = with maintainers; [ ryansydnor lopsided98 ]; + license = licenses.gpl2; + }; + }; + + waterfall-view = buildPythonPackage rec { + pname = "buildbot-waterfall-view"; + inherit (buildbot-pkg) version; + + src = fetchPypi { + inherit pname version; + hash = "sha256-B+xUsZBQWt4TwiBqukHO6o0R0XbjLxbCxQKLaWW0/Fw="; + }; + + buildInputs = [ buildbot-pkg ]; + + # No tests + doCheck = false; + + meta = with lib; { + homepage = "https://buildbot.net/"; + description = "Buildbot Waterfall View Plugin"; + maintainers = with maintainers; [ ryansydnor lopsided98 ]; + license = licenses.gpl2; + }; + }; + + grid-view = buildPythonPackage rec { + pname = "buildbot-grid-view"; + inherit (buildbot-pkg) version; + + src = fetchPypi { + inherit pname version; + hash = "sha256-LFZ3VquRHAHkRcQbw9apOlGlWCK42WT1tPGhW8zSXyo="; + }; + + buildInputs = [ buildbot-pkg ]; + + # No tests + doCheck = false; + + meta = with lib; { + homepage = "https://buildbot.net/"; + description = "Buildbot Grid View Plugin"; + maintainers = with maintainers; [ lopsided98 ]; + license = licenses.gpl2; + }; + }; + + wsgi-dashboards = buildPythonPackage rec { + pname = "buildbot-wsgi-dashboards"; + inherit (buildbot-pkg) version; + + src = fetchPypi { + inherit pname version; + hash = "sha256-NGI4T0eVV4MxYpD7+BTKbi3r6USt28lXXInrgSd4ASU="; + }; + + buildInputs = [ buildbot-pkg ]; + + # No tests + doCheck = false; + + meta = with lib; { + homepage = "https://buildbot.net/"; + description = "Buildbot WSGI dashboards Plugin"; + maintainers = with maintainers; [ lopsided98 ]; + license = licenses.gpl2; + }; + }; + + badges = buildPythonPackage rec { + pname = "buildbot-badges"; + inherit (buildbot-pkg) version; + + src = fetchPypi { + inherit pname version; + hash = "sha256-BtKA8zuJEyg3q3GnHS4XSGBLBk3IqCR8NOKui2rIn6Q="; + }; + + buildInputs = [ buildbot-pkg ]; + propagatedBuildInputs = [ cairosvg klein jinja2 ]; + + # No tests + doCheck = false; + + meta = with lib; { + homepage = "https://buildbot.net/"; + description = "Buildbot Badges Plugin"; + maintainers = with maintainers; [ julienmalka ]; + license = licenses.gpl2; + }; + }; + +} diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/buildbot/skip_test_linux_distro.patch b/nixpkgs/pkgs/development/tools/continuous-integration/buildbot/skip_test_linux_distro.patch new file mode 100644 index 000000000000..8fe5c7b56b4f --- /dev/null +++ b/nixpkgs/pkgs/development/tools/continuous-integration/buildbot/skip_test_linux_distro.patch @@ -0,0 +1,11 @@ +diff -Nur buildbot-0.9.6/buildbot/test/unit/test_buildbot_net_usage_data.py buildbot-0.9.6.patched/buildbot/test/unit/test_buildbot_net_usage_data.py +--- buildbot-0.9.6/buildbot/test/unit/test_buildbot_net_usage_data.py 2017-04-19 16:57:02.000000000 +0200 ++++ buildbot-0.9.6.patched/buildbot/test/unit/test_buildbot_net_usage_data.py 2017-05-04 12:22:54.575762551 +0200 +@@ -147,6 +147,7 @@ + _sendBuildbotNetUsageData({'foo': 'bar'}) + + def test_linux_distro(self): ++ raise SkipTest("NixOS sandboxed builds hides /etc/os-release") + system = platform.system() + if system != "Linux": + raise SkipTest("test is only for linux") diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/buildbot/update.sh b/nixpkgs/pkgs/development/tools/continuous-integration/buildbot/update.sh new file mode 100755 index 000000000000..3bbbfc840e44 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/continuous-integration/buildbot/update.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p nix-update +set -eu -o pipefail + +nix-update buildbot +nix-update --version=skip buildbot-worker +nix-update --version=skip buildbot-plugins.buildbot-pkg +nix-update --version=skip buildbot-plugins.www +nix-update --version=skip buildbot-plugins.www-react +nix-update --version=skip buildbot-plugins.console-view +nix-update --version=skip buildbot-plugins.waterfall-view +nix-update --version=skip buildbot-plugins.grid-view +nix-update --version=skip buildbot-plugins.wsgi-dashboards +nix-update --version=skip buildbot-plugins.badges diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/buildbot/worker.nix b/nixpkgs/pkgs/development/tools/continuous-integration/buildbot/worker.nix new file mode 100644 index 000000000000..5f3c0efab417 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/continuous-integration/buildbot/worker.nix @@ -0,0 +1,64 @@ +{ lib +, buildPythonPackage +, fetchPypi +, buildbot + +# patch +, coreutils + +# propagates +, autobahn +, future +, msgpack +, twisted + +# tests +, parameterized +, psutil +, setuptoolsTrial + +# passthru +, nixosTests +}: + +buildPythonPackage (rec { + pname = "buildbot-worker"; + inherit (buildbot) version; + + src = fetchPypi { + inherit pname version; + hash = "sha256-jI38ZhCcHbjah6lST6YtSZAwaeZPBWsgY3VTUf6s2x8="; + }; + + postPatch = '' + substituteInPlace buildbot_worker/scripts/logwatcher.py \ + --replace /usr/bin/tail "${coreutils}/bin/tail" + ''; + + nativeBuildInputs = [ + setuptoolsTrial + ]; + + propagatedBuildInputs = [ + autobahn + future + msgpack + twisted + ]; + + nativeCheckInputs = [ + parameterized + psutil + ]; + + passthru.tests = { + smoke-test = nixosTests.buildbot; + }; + + meta = with lib; { + homepage = "https://buildbot.net/"; + description = "Buildbot Worker Daemon"; + maintainers = with maintainers; [ ryansydnor lopsided98 ]; + license = licenses.gpl2; + }; +}) diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix new file mode 100644 index 000000000000..215de1235822 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix @@ -0,0 +1,52 @@ +{ fetchFromGitHub, lib, buildGoModule, + makeWrapper, coreutils, git, openssh, bash, gnused, gnugrep, + nixosTests }: +buildGoModule rec { + pname = "buildkite-agent"; + version = "3.49.0"; + + src = fetchFromGitHub { + owner = "buildkite"; + repo = "agent"; + rev = "v${version}"; + sha256 = "sha256-gsGG0NljFBbqsuY0nk5PVpIPLgusE5C/ruxANl4F9Xg="; + }; + + vendorHash = "sha256-Gz7A0pbbLuxzNIfcUh5ki2EiSJY/qtBeWxv0Y6pQkTc="; + + postPatch = '' + substituteInPlace bootstrap/shell/shell.go --replace /bin/bash ${bash}/bin/bash + ''; + + nativeBuildInputs = [ makeWrapper ]; + + doCheck = false; + + postInstall = '' + # Fix binary name + mv $out/bin/{agent,buildkite-agent} + + # These are runtime dependencies + wrapProgram $out/bin/buildkite-agent \ + --prefix PATH : '${lib.makeBinPath [ openssh git coreutils gnused gnugrep ]}' + ''; + + passthru.tests = { + smoke-test = nixosTests.buildkite-agents; + }; + + meta = with lib; { + description = "Build runner for buildkite.com"; + longDescription = '' + The buildkite-agent is a small, reliable, and cross-platform build runner + that makes it easy to run automated builds on your own infrastructure. + It’s main responsibilities are polling buildkite.com for work, running + build jobs, reporting back the status code and output log of the job, + and uploading the job's artifacts. + ''; + homepage = "https://buildkite.com/docs/agent"; + license = licenses.mit; + maintainers = with maintainers; [ pawelpacana zimbatm rvl techknowlogick ]; + platforms = with platforms; unix ++ darwin; + }; +} diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/buildkite-cli/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/buildkite-cli/default.nix new file mode 100644 index 000000000000..5e191cb83b32 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/continuous-integration/buildkite-cli/default.nix @@ -0,0 +1,33 @@ +{ lib, buildGoModule, fetchFromGitHub }: + +buildGoModule rec { + pname = "buildkite-cli"; + version = "2.0.0"; + + src = fetchFromGitHub { + owner = "buildkite"; + repo = "cli"; + rev = "v${version}"; + sha256 = "sha256-4MUgyUKyycsreAMVtyKJFpQOHvI6JJSn7TUZtbQANyc="; + }; + + vendorHash = "sha256-3x7yJenJ2BHdqVPaBaqfFVeOSJZ/VRNF/TTfSsw+2os="; + + doCheck = false; + + postPatch = '' + patchShebangs .buildkite/steps/{lint,run-local}.sh + ''; + + subPackages = [ "cmd/bk" ]; + + ldflags = [ "-s" "-w" "-X main.VERSION=${version}" ]; + + meta = with lib; { + description = "A command line interface for Buildkite"; + homepage = "https://github.com/buildkite/cli"; + license = licenses.mit; + maintainers = with maintainers; [ groodt ]; + mainProgram = "bk"; + }; +} diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/buildkite-test-collector-rust/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/buildkite-test-collector-rust/default.nix new file mode 100644 index 000000000000..7f1e6c55f5fa --- /dev/null +++ b/nixpkgs/pkgs/development/tools/continuous-integration/buildkite-test-collector-rust/default.nix @@ -0,0 +1,31 @@ +{ lib +, fetchFromGitHub +, rustPlatform +, stdenv +, Security +}: + +rustPlatform.buildRustPackage rec { + pname = "buildkite-test-collector-rust"; + version = "0.1.0"; + + src = fetchFromGitHub { + owner = "buildkite"; + repo = "test-collector-rust"; + rev = "v${version}"; + sha256 = "sha256-rY/+AwxO0+xcnRj0A8TRhCUJQ0ecosybI6It1mDOdQM="; + }; + + buildInputs = lib.optionals stdenv.isDarwin [ + Security + ]; + + cargoSha256 = "sha256-qfJ0ROi0S0mmPl6kKrW3dp3VLjYqK+sBVj+iKDNTjyM="; + + meta = with lib; { + description = "Rust adapter for Buildkite Test Analytics"; + homepage = "https://buildkite.com/test-analytics"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ jfroche ]; + }; +} diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/cirrus-cli/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/cirrus-cli/default.nix new file mode 100644 index 000000000000..fa95291295dc --- /dev/null +++ b/nixpkgs/pkgs/development/tools/continuous-integration/cirrus-cli/default.nix @@ -0,0 +1,43 @@ +{ lib +, fetchFromGitHub +, buildGoModule +, installShellFiles +}: + +buildGoModule rec { + pname = "cirrus-cli"; + version = "0.102.0"; + + src = fetchFromGitHub { + owner = "cirruslabs"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-JF93tVEwGY4wHNNkQyzxjai6S+qLzBd0SPdDgkn4Wdc="; + }; + + vendorHash = "sha256-ryEFSFQFASH+yzmHbxLSywg9xewbvg9JGliSJrFC4U0="; + + ldflags = [ + "-X github.com/cirruslabs/cirrus-cli/internal/version.Version=v${version}" + "-X github.com/cirruslabs/cirrus-cli/internal/version.Commit=v${version}" + ]; + + nativeBuildInputs = [ installShellFiles ]; + postInstall = '' + installShellCompletion --cmd cirrus \ + --bash <($out/bin/cirrus completion bash) \ + --zsh <($out/bin/cirrus completion zsh) \ + --fish <($out/bin/cirrus completion fish) + ''; + + # tests fail on read-only filesystem + doCheck = false; + + meta = with lib; { + description = "CLI for executing Cirrus tasks locally and in any CI"; + homepage = "https://github.com/cirruslabs/cirrus-cli"; + license = licenses.agpl3Plus; + maintainers = with maintainers; [ techknowlogick ]; + mainProgram = "cirrus"; + }; +} diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/codeberg-pages/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/codeberg-pages/default.nix new file mode 100644 index 000000000000..d252266f2377 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/continuous-integration/codeberg-pages/default.nix @@ -0,0 +1,30 @@ +{ lib, fetchFromGitea, buildGoModule }: + +buildGoModule rec { + pname = "codeberg-pages"; + version = "4.6.2"; + + src = fetchFromGitea { + domain = "codeberg.org"; + owner = "Codeberg"; + repo = "pages-server"; + rev = "ce241fa40adee2b12f8e225db98e09a45bc2acbb"; + sha256 = "sha256-mL2Xs7eyldoZK4zrX6WFlFtwdLN0iVyl1Qh8X6b2u9c="; + }; + + vendorHash = "sha256-R/LuZkA2xHmu7SO3BVyK1C6n9U+pYn50kNkyLltn2ng="; + + patches = [ ./disable_httptest.patch ]; + + ldflags = [ "-s" "-w" ]; + + tags = [ "sqlite" "sqlite_unlock_notify" "netgo" ]; + + meta = with lib; { + mainProgram = "codeberg-pages"; + maintainers = with maintainers; [ laurent-f1z1 ]; + license = licenses.eupl12; + homepage = "https://codeberg.org/Codeberg/pages-server"; + description = "Static websites hosting from Gitea repositories"; + }; +} diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/codeberg-pages/disable_httptest.patch b/nixpkgs/pkgs/development/tools/continuous-integration/codeberg-pages/disable_httptest.patch new file mode 100644 index 000000000000..2095b603badc --- /dev/null +++ b/nixpkgs/pkgs/development/tools/continuous-integration/codeberg-pages/disable_httptest.patch @@ -0,0 +1,55 @@ +diff --git a/server/handler/handler_test.go b/server/handler/handler_test.go +deleted file mode 100644 +index 626564a..0000000 +--- a/server/handler/handler_test.go ++++ /dev/null +@@ -1,49 +0,0 @@ +-package handler +- +-import ( +- "net/http/httptest" +- "testing" +- "time" +- +- "codeberg.org/codeberg/pages/server/cache" +- "codeberg.org/codeberg/pages/server/gitea" +- "github.com/rs/zerolog/log" +-) +- +-func TestHandlerPerformance(t *testing.T) { +- giteaClient, _ := gitea.NewClient("https://codeberg.org", "", cache.NewKeyValueCache(), false, false) +- testHandler := Handler( +- "codeberg.page", "raw.codeberg.org", +- giteaClient, +- "https://docs.codeberg.org/pages/raw-content/", +- []string{"/.well-known/acme-challenge/"}, +- []string{"raw.codeberg.org", "fonts.codeberg.org", "design.codeberg.org"}, +- cache.NewKeyValueCache(), +- cache.NewKeyValueCache(), +- ) +- +- testCase := func(uri string, status int) { +- t.Run(uri, func(t *testing.T) { +- req := httptest.NewRequest("GET", uri, nil) +- w := httptest.NewRecorder() +- +- log.Printf("Start: %v\n", time.Now()) +- start := time.Now() +- testHandler(w, req) +- end := time.Now() +- log.Printf("Done: %v\n", time.Now()) +- +- resp := w.Result() +- +- if resp.StatusCode != status { +- t.Errorf("request failed with status code %d", resp.StatusCode) +- } else { +- t.Logf("request took %d milliseconds", end.Sub(start).Milliseconds()) +- } +- }) +- } +- +- testCase("https://mondstern.codeberg.page/", 404) // TODO: expect 200 +- testCase("https://codeberg.page/", 404) // TODO: expect 200 +- testCase("https://example.momar.xyz/", 424) +-} diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/dagger/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/dagger/default.nix new file mode 100644 index 000000000000..816702d263ed --- /dev/null +++ b/nixpkgs/pkgs/development/tools/continuous-integration/dagger/default.nix @@ -0,0 +1,35 @@ +{ lib, buildGoModule, fetchFromGitHub, testers, dagger }: + +buildGoModule rec { + pname = "dagger"; + version = "0.8.4"; + + src = fetchFromGitHub { + owner = "dagger"; + repo = "dagger"; + rev = "v${version}"; + hash = "sha256-iFuPbSat555QHPqqP6j/6uTid19x1+OtRHADmGxTYzs="; + }; + + vendorHash = "sha256-DWmHq8BIR00QTh3ZcbEgTtbHwTmsMFAhV7kQVRSKNdQ="; + proxyVendor = true; + + subPackages = [ + "cmd/dagger" + ]; + + ldflags = [ "-s" "-w" "-X github.com/dagger/dagger/engine.Version=${version}" ]; + + passthru.tests.version = testers.testVersion { + package = dagger; + command = "dagger version"; + version = "v${version}"; + }; + + meta = with lib; { + description = "A portable devkit for CICD pipelines"; + homepage = "https://dagger.io"; + license = licenses.asl20; + maintainers = with maintainers; [ jfroche sagikazarmark ]; + }; +} diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/drone-cli/0001-use-builtin-go-syscerts.patch b/nixpkgs/pkgs/development/tools/continuous-integration/drone-cli/0001-use-builtin-go-syscerts.patch new file mode 100644 index 000000000000..6dfb50271a49 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/continuous-integration/drone-cli/0001-use-builtin-go-syscerts.patch @@ -0,0 +1,39 @@ +From 93f4f92b017935a35988e7210036db8020753f9e Mon Sep 17 00:00:00 2001 +From: Jake Hillion <jake@hillion.co.uk> +Date: Sun, 21 Feb 2021 21:26:39 +0000 +Subject: [PATCH] removed dependency for systemcertpool + +--- + drone/internal/util.go | 7 +++++-- + go.mod | 1 - + 2 files changed, 5 insertions(+), 3 deletions(-) + +diff --git a/drone/internal/util.go b/drone/internal/util.go +index 46c8ec6f..25d4def7 100644 +--- a/drone/internal/util.go ++++ b/drone/internal/util.go +@@ -2,11 +2,11 @@ package internal + + import ( + "crypto/tls" ++ "crypto/x509" + "fmt" + "net/http" + "strings" + +- "github.com/jackspirou/syscerts" + "github.com/urfave/cli" + "golang.org/x/net/proxy" + "golang.org/x/oauth2" +@@ -35,7 +35,10 @@ func NewClient(c *cli.Context) (drone.Client, error) { + } + + // attempt to find system CA certs +- certs := syscerts.SystemRootsPool() ++ certs, err := x509.SystemCertPool() ++ if err != nil { ++ return nil, err ++ } + tlsConfig := &tls.Config{ + RootCAs: certs, + InsecureSkipVerify: skip, diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/drone-cli/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/drone-cli/default.nix new file mode 100644 index 000000000000..ce5849048a66 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/continuous-integration/drone-cli/default.nix @@ -0,0 +1,36 @@ +{ lib +, fetchFromGitHub +, buildGoModule +}: + +buildGoModule rec { + version = "1.7.0"; + pname = "drone-cli"; + revision = "v${version}"; + + src = fetchFromGitHub { + owner = "harness"; + repo = "drone-cli"; + rev = revision; + hash = "sha256-PZ0M79duSctPepD5O+NdJZKhkyR21g/4P6loJtoWZiU="; + }; + + vendorHash = "sha256-JC7OR4ySDsVWmrBBTjpwZrkJlM8RJehbsvXW/VtA4VA="; + + # patch taken from https://patch-diff.githubusercontent.com/raw/harness/drone-cli/pull/179.patch + # but with go.mod changes removed due to conflict + patches = [ ./0001-use-builtin-go-syscerts.patch ]; + + ldflags = [ + "-X main.version=${version}" + ]; + + doCheck = false; + + meta = with lib; { + mainProgram = "drone"; + maintainers = with maintainers; [ techknowlogick ]; + license = licenses.asl20; + description = "Command line client for the Drone continuous integration server"; + }; +} diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/drone-runner-docker/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/drone-runner-docker/default.nix new file mode 100644 index 000000000000..974cd8f464cb --- /dev/null +++ b/nixpkgs/pkgs/development/tools/continuous-integration/drone-runner-docker/default.nix @@ -0,0 +1,23 @@ +{ lib, fetchFromGitHub, buildGoModule }: + +buildGoModule rec { + pname = "drone-runner-docker"; + version = "1.8.3"; + + src = fetchFromGitHub { + owner = "drone-runners"; + repo = pname; + rev = "refs/tags/v${version}"; + sha256 = "sha256-ZoQeCuT5FRhxp/ikB0gkp3QVOQ6OS7ukkz4QanWT9G0="; + }; + + vendorHash = "sha256-KcNp3VdJ201oxzF0bLXY4xWHqHNz54ZrVSI96cfhU+k="; + + meta = with lib; { + maintainers = with maintainers; [ endocrimes emilylange ]; + license = licenses.unfreeRedistributable; + homepage = "https://github.com/drone-runners/drone-runner-docker"; + description = "Drone pipeline runner that executes builds inside Docker containers"; + mainProgram = "drone-runner-docker"; + }; +} diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/drone-runner-exec/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/drone-runner-exec/default.nix new file mode 100644 index 000000000000..1e9d1e96a9a9 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/continuous-integration/drone-runner-exec/default.nix @@ -0,0 +1,27 @@ +{ lib +, buildGoModule +, fetchFromGitHub +}: + +buildGoModule rec { + pname = "drone-runner-exec"; + version = "unstable-2020-04-19"; + + src = fetchFromGitHub { + owner = "drone-runners"; + repo = "drone-runner-exec"; + rev = "c0a612ef2bdfdc6d261dfbbbb005c887a0c3668d"; + sha256 = "sha256-0UIJwpC5Y2TQqyZf6C6neICYBZdLQBWAZ8/K1l6KVRs="; + }; + + vendorHash = "sha256-ypYuQKxRhRQGX1HtaWt6F6BD9vBpD8AJwx/4esLrJsw="; + + meta = with lib; { + description = "Drone pipeline runner that executes builds directly on the host machine"; + homepage = "https://github.com/drone-runners/drone-runner-exec"; + # https://polyformproject.org/licenses/small-business/1.0.0/ + license = licenses.unfree; + maintainers = with maintainers; [ mic92 ]; + mainProgram = "drone-runner-exec"; + }; +} diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/drone-runner-ssh/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/drone-runner-ssh/default.nix new file mode 100644 index 000000000000..92a015f8e95a --- /dev/null +++ b/nixpkgs/pkgs/development/tools/continuous-integration/drone-runner-ssh/default.nix @@ -0,0 +1,23 @@ +{ lib, fetchFromGitHub, buildGoModule }: + +buildGoModule rec { + pname = "drone-runner-ssh"; + version = "unstable-2022-12-22"; + + src = fetchFromGitHub { + owner = "drone-runners"; + repo = pname; + rev = "ee70745c60e070a7fac57d9cecc41252e7a3ff55"; + sha256 = "sha256-YUyhEA1kYIFLN+BI2A8PFeSgifoVNmNPKtdS58MwwVU="; + }; + + vendorHash = "sha256-Vj6ZmNwegKBVJPh6MsjtLMmX9WR76msuR2DPM8Qyhe0="; + + meta = with lib; { + description = "Experimental Drone runner that executes a pipeline on a remote machine"; + homepage = "https://github.com/drone-runners/drone-runner-ssh"; + license = licenses.unfreeRedistributable; + maintainers = teams.c3d2.members; + mainProgram = "drone-runner-ssh"; + }; +} diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/drone/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/drone/default.nix new file mode 100644 index 000000000000..a7092f3c1f9a --- /dev/null +++ b/nixpkgs/pkgs/development/tools/continuous-integration/drone/default.nix @@ -0,0 +1,30 @@ +{ lib +, fetchFromGitHub +, buildGoModule +, enableUnfree ? true +}: + +buildGoModule rec { + pname = "drone.io${lib.optionalString (!enableUnfree) "-oss"}"; + version = "2.20.0"; + + src = fetchFromGitHub { + owner = "harness"; + repo = "drone"; + rev = "v${version}"; + sha256 = "sha256-YiKULnLSP5wgrYob1t4HssGS9ubSR5dHECIwnAicg8M="; + }; + + vendorHash = "sha256-3GPe76zcyKItYWedmnAnmN4c1AorQePxxWXkRk0vNpk="; + + tags = lib.optionals (!enableUnfree) [ "oss" "nolimit" ]; + + doCheck = false; + + meta = with lib; { + description = "Continuous Integration platform built on container technology"; + homepage = "https://github.com/harness/drone"; + maintainers = with maintainers; [ elohmeier vdemeester techknowlogick ]; + license = with licenses; if enableUnfree then unfreeRedistributable else asl20; + }; +} diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/fly/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/fly/default.nix new file mode 100644 index 000000000000..cc6d2a70f211 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/continuous-integration/fly/default.nix @@ -0,0 +1,39 @@ +{ buildGoModule, fetchFromGitHub, stdenv, lib, installShellFiles }: + +buildGoModule rec { + pname = "fly"; + version = "7.10.0"; + + src = fetchFromGitHub { + owner = "concourse"; + repo = "concourse"; + rev = "v${version}"; + hash = "sha256-KmKIr7Y3CQmv1rXdju6xwUHABqj/dkXpgWc/yNrAza8="; + }; + + vendorHash = "sha256-lc0okniezfTNLsnCBIABQxSgakRUidsprrEnkH8il2g="; + + subPackages = [ "fly" ]; + + ldflags = [ + "-s" "-w" "-X github.com/concourse/concourse.Version=${version}" + ]; + + nativeBuildInputs = [ installShellFiles ]; + + doCheck = false; + + postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + installShellCompletion --cmd fly \ + --bash <($out/bin/fly completion --shell bash) \ + --fish <($out/bin/fly completion --shell fish) \ + --zsh <($out/bin/fly completion --shell zsh) + ''; + + meta = with lib; { + description = "Command line interface to Concourse CI"; + homepage = "https://concourse-ci.org"; + license = licenses.asl20; + maintainers = with maintainers; [ ivanbrennan SuperSandro2000 ]; + }; +} diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/forgejo-actions-runner/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/forgejo-actions-runner/default.nix new file mode 100644 index 000000000000..8b9a108d3db5 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/continuous-integration/forgejo-actions-runner/default.nix @@ -0,0 +1,43 @@ +{ lib +, buildGoModule +, fetchFromGitea +, testers +, forgejo-actions-runner +}: + +buildGoModule rec { + pname = "forgejo-actions-runner"; + version = "2.4.0"; + + src = fetchFromGitea { + domain = "codeberg.org"; + owner = "forgejo"; + repo = "runner"; + rev = "v${version}"; + hash = "sha256-EEwXo2MvdBlSMho4rrYD4wXLccS/30NbCuxO0CUktgE="; + }; + + vendorHash = "sha256-FspNmiphGHSeZFmdlWIDsEUrCc8THfb0Wm67cMCTtHI="; + + ldflags = [ + "-s" + "-w" + "-X gitea.com/gitea/act_runner/internal/pkg/ver.version=${src.rev}" + ]; + + doCheck = false; # Test try to lookup code.forgejo.org. + + passthru.tests.version = testers.testVersion { + package = forgejo-actions-runner; + version = src.rev; + }; + + meta = with lib; { + description = "A runner for Forgejo based on act"; + homepage = "https://code.forgejo.org/forgejo/runner"; + changelog = "https://gitea.com/gitea/act_runner/releases/tag/${src.rev}"; + license = licenses.mit; + maintainers = with maintainers; [ kranzes ]; + mainProgram = "act_runner"; + }; +} diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/gitea-actions-runner/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/gitea-actions-runner/default.nix new file mode 100644 index 000000000000..cd2a9788f406 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/continuous-integration/gitea-actions-runner/default.nix @@ -0,0 +1,41 @@ +{ lib +, fetchFromGitea +, buildGoModule +, testers +, gitea-actions-runner +}: + +buildGoModule rec { + pname = "gitea-actions-runner"; + version = "0.2.5"; + + src = fetchFromGitea { + domain = "gitea.com"; + owner = "gitea"; + repo = "act_runner"; + rev = "v${version}"; + hash = "sha256-HWJrgZJfI5fOeZvQkmpd6wciJWh1JOmZMlyGHSbgHpc="; + }; + + vendorHash = "sha256-Z61kTbKHSUpt2F6jVUUK4KwMJ0ILT1FI4/62AkNQuZI="; + + ldflags = [ + "-s" + "-w" + "-X gitea.com/gitea/act_runner/internal/pkg/ver.version=v${version}" + ]; + + passthru.tests.version = testers.testVersion { + package = gitea-actions-runner; + version = "v${version}"; + }; + + meta = with lib; { + mainProgram = "act_runner"; + maintainers = with maintainers; [ techknowlogick ]; + license = licenses.mit; + changelog = "https://gitea.com/gitea/act_runner/releases/tag/v${version}"; + homepage = "https://gitea.com/gitea/act_runner"; + description = "A runner for Gitea based on act"; + }; +} diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/github-runner/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/github-runner/default.nix new file mode 100644 index 000000000000..0b1a21c2852b --- /dev/null +++ b/nixpkgs/pkgs/development/tools/continuous-integration/github-runner/default.nix @@ -0,0 +1,320 @@ +{ autoPatchelfHook +, autoSignDarwinBinariesHook +, buildDotnetModule +, dotnetCorePackages +, fetchFromGitHub +, fetchpatch +, git +, glibc +, glibcLocales +, lib +, nixosTests +, stdenv +, which +, buildPackages +, runtimeShell + # List of Node.js runtimes the package should support +, nodeRuntimes ? [ "node20" ] +, nodejs_16 +, nodejs_20 +}: + +# Node.js runtimes supported by upstream +assert builtins.all (x: builtins.elem x [ "node16" "node20" ]) nodeRuntimes; + +buildDotnetModule rec { + pname = "github-runner"; + version = "2.308.0"; + + src = fetchFromGitHub { + owner = "actions"; + repo = "runner"; + rev = "v${version}"; + hash = "sha256-LrHScQbBkRPSNsfPxvE2+K9tON8xuR0e4JpKVuI+Gu0="; + leaveDotGit = true; + postFetch = '' + git -C $out rev-parse --short HEAD > $out/.git-revision + rm -rf $out/.git + ''; + }; + + # The git commit is read during the build and some tests depend on a git repo to be present + # https://github.com/actions/runner/blob/22d1938ac420a4cb9e3255e47a91c2e43c38db29/src/dir.proj#L5 + unpackPhase = '' + cp -r $src $TMPDIR/src + chmod -R +w $TMPDIR/src + cd $TMPDIR/src + ( + export PATH=${buildPackages.git}/bin:$PATH + git init + git config user.email "root@localhost" + git config user.name "root" + git add . + git commit -m "Initial commit" + git checkout -b v${version} + ) + mkdir -p $TMPDIR/bin + cat > $TMPDIR/bin/git <<EOF + #!${runtimeShell} + if [ \$# -eq 1 ] && [ "\$1" = "rev-parse" ]; then + echo $(cat $TMPDIR/src/.git-revision) + exit 0 + fi + exec ${buildPackages.git}/bin/git "\$@" + EOF + chmod +x $TMPDIR/bin/git + export PATH=$TMPDIR/bin:$PATH + ''; + + patches = [ + # Replace some paths that originally point to Nix's read-only store + ./patches/host-context-dirs.patch + # Use GetDirectory() to obtain "diag" dir + ./patches/use-get-directory-for-diag.patch + # Don't try to install service + ./patches/dont-install-service.patch + # Access `.env` and `.path` relative to `$RUNNER_ROOT`, if set + ./patches/env-sh-use-runner-root.patch + # Fix FHS path: https://github.com/actions/runner/pull/2464 + (fetchpatch { + name = "ln-fhs.patch"; + url = "https://github.com/actions/runner/commit/5ff0ce1.patch"; + hash = "sha256-2Vg3cKZK3cE/OcPDZkdN2Ro2WgvduYTTwvNGxwCfXas="; + }) + ]; + + postPatch = '' + # Ignore changes to src/Runner.Sdk/BuildConstants.cs + substituteInPlace src/dir.proj \ + --replace 'git update-index --assume-unchanged ./Runner.Sdk/BuildConstants.cs' \ + 'true' + ''; + + DOTNET_SYSTEM_GLOBALIZATION_INVARIANT = isNull glibcLocales; + LOCALE_ARCHIVE = lib.optionalString (!DOTNET_SYSTEM_GLOBALIZATION_INVARIANT) "${glibcLocales}/lib/locale/locale-archive"; + + postConfigure = '' + # Generate src/Runner.Sdk/BuildConstants.cs + dotnet msbuild \ + -t:GenerateConstant \ + -p:ContinuousIntegrationBuild=true \ + -p:Deterministic=true \ + -p:PackageRuntime="${dotnetCorePackages.systemToDotnetRid stdenv.hostPlatform.system}" \ + -p:RunnerVersion="${version}" \ + src/dir.proj + ''; + + nativeBuildInputs = [ + which + git + ] ++ lib.optionals stdenv.isLinux [ + autoPatchelfHook + ] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [ + autoSignDarwinBinariesHook + ]; + + buildInputs = [ stdenv.cc.cc.lib ]; + + dotnet-sdk = dotnetCorePackages.sdk_6_0; + dotnet-runtime = dotnetCorePackages.runtime_6_0; + + dotnetFlags = [ "-p:PackageRuntime=${dotnetCorePackages.systemToDotnetRid stdenv.hostPlatform.system}" ]; + + # As given here: https://github.com/actions/runner/blob/0befa62/src/dir.proj#L33-L41 + projectFile = [ + "src/Sdk/Sdk.csproj" + "src/Runner.Common/Runner.Common.csproj" + "src/Runner.Listener/Runner.Listener.csproj" + "src/Runner.Worker/Runner.Worker.csproj" + "src/Runner.PluginHost/Runner.PluginHost.csproj" + "src/Runner.Sdk/Runner.Sdk.csproj" + "src/Runner.Plugins/Runner.Plugins.csproj" + ]; + nugetDeps = ./deps.nix; + + doCheck = true; + + __darwinAllowLocalNetworking = true; + + # Fully qualified name of disabled tests + disabledTests = + [ + "GitHub.Runner.Common.Tests.Listener.SelfUpdaterL0.TestSelfUpdateAsync" + "GitHub.Runner.Common.Tests.ProcessInvokerL0.OomScoreAdjIsInherited" + ] + ++ map (x: "GitHub.Runner.Common.Tests.Listener.SelfUpdaterL0.TestSelfUpdateAsync_${x}") [ + "Cancel_CloneHashTask_WhenNotNeeded" + "CloneHash_RuntimeAndExternals" + "DownloadRetry" + "FallbackToFullPackage" + "NoUpdateOnOldVersion" + "NotUseExternalsRuntimeTrimmedPackageOnHashMismatch" + "UseExternalsRuntimeTrimmedPackage" + "UseExternalsTrimmedPackage" + "ValidateHash" + ] + ++ map (x: "GitHub.Runner.Common.Tests.Worker.ActionManagerL0.PrepareActions_${x}") [ + "CompositeActionWithActionfile_CompositeContainerNested" + "CompositeActionWithActionfile_CompositePrestepNested" + "CompositeActionWithActionfile_MaxLimit" + "CompositeActionWithActionfile_Node" + "DownloadActionFromGraph" + "NotPullOrBuildImagesMultipleTimes" + "RepositoryActionWithActionYamlFile_DockerHubImage" + "RepositoryActionWithActionfileAndDockerfile" + "RepositoryActionWithActionfile_DockerHubImage" + "RepositoryActionWithActionfile_Dockerfile" + "RepositoryActionWithActionfile_DockerfileRelativePath" + "RepositoryActionWithActionfile_Node" + "RepositoryActionWithDockerfile" + "RepositoryActionWithDockerfileInRelativePath" + "RepositoryActionWithDockerfilePrepareActions_Repository" + "RepositoryActionWithInvalidWrapperActionfile_Node" + "RepositoryActionWithWrapperActionfile_PreSteps" + ] + ++ map (x: "GitHub.Runner.Common.Tests.DotnetsdkDownloadScriptL0.${x}") [ + "EnsureDotnetsdkBashDownloadScriptUpToDate" + "EnsureDotnetsdkPowershellDownloadScriptUpToDate" + ] + ++ [ "GitHub.Runner.Common.Tests.Listener.RunnerL0.TestRunOnceHandleUpdateMessage" ] + # Tests for trimmed runner packages which aim at reducing the update size. Not relevant for Nix. + ++ map (x: "GitHub.Runner.Common.Tests.PackagesTrimL0.${x}") [ + "RunnerLayoutParts_CheckExternalsHash" + "RunnerLayoutParts_CheckDotnetRuntimeHash" + ] + ++ lib.optionals (stdenv.hostPlatform.system == "aarch64-linux") [ + # "JavaScript Actions in Alpine containers are only supported on x64 Linux runners. Detected Linux Arm64" + "GitHub.Runner.Common.Tests.Worker.StepHostL0.DetermineNodeRuntimeVersionInAlpineContainerAsync" + "GitHub.Runner.Common.Tests.Worker.StepHostL0.DetermineNode20RuntimeVersionInAlpineContainerAsync" + ] + ++ lib.optionals DOTNET_SYSTEM_GLOBALIZATION_INVARIANT [ + "GitHub.Runner.Common.Tests.ProcessExtensionL0.SuccessReadProcessEnv" + "GitHub.Runner.Common.Tests.Util.StringUtilL0.FormatUsesInvariantCulture" + "GitHub.Runner.Common.Tests.Worker.VariablesL0.Constructor_SetsOrdinalIgnoreCaseComparer" + "GitHub.Runner.Common.Tests.Worker.WorkerL0.DispatchCancellation" + "GitHub.Runner.Common.Tests.Worker.WorkerL0.DispatchRunNewJob" + ] + ++ lib.optionals (!lib.elem "node16" nodeRuntimes) [ + "GitHub.Runner.Common.Tests.ProcessExtensionL0.SuccessReadProcessEnv" + ]; + + testProjectFile = [ "src/Test/Test.csproj" ]; + + preCheck = '' + mkdir -p _layout/externals + '' + lib.optionalString (lib.elem "node16" nodeRuntimes) '' + ln -s ${nodejs_16} _layout/externals/node16 + '' + lib.optionalString (lib.elem "node20" nodeRuntimes) '' + ln -s ${nodejs_20} _layout/externals/node20 + ''; + + postInstall = '' + mkdir -p $out/bin + + install -m755 src/Misc/layoutbin/runsvc.sh $out/lib/github-runner + install -m755 src/Misc/layoutbin/RunnerService.js $out/lib/github-runner + install -m755 src/Misc/layoutroot/run.sh $out/lib/github-runner + install -m755 src/Misc/layoutroot/run-helper.sh.template $out/lib/github-runner/run-helper.sh + install -m755 src/Misc/layoutroot/config.sh $out/lib/github-runner + install -m755 src/Misc/layoutroot/env.sh $out/lib/github-runner + + # env.sh is patched to not require any wrapping + ln -sr "$out/lib/github-runner/env.sh" "$out/bin/" + + substituteInPlace $out/lib/github-runner/config.sh \ + --replace './bin/Runner.Listener' "$out/bin/Runner.Listener" + '' + lib.optionalString stdenv.isLinux '' + substituteInPlace $out/lib/github-runner/config.sh \ + --replace 'command -v ldd' 'command -v ${glibc.bin}/bin/ldd' \ + --replace 'ldd ./bin' '${glibc.bin}/bin/ldd ${dotnet-runtime}/shared/Microsoft.NETCore.App/${dotnet-runtime.version}/' \ + --replace '/sbin/ldconfig' '${glibc.bin}/bin/ldconfig' + '' + '' + # Remove uneeded copy for run-helper template + substituteInPlace $out/lib/github-runner/run.sh --replace 'cp -f "$DIR"/run-helper.sh.template "$DIR"/run-helper.sh' ' ' + substituteInPlace $out/lib/github-runner/run-helper.sh --replace '"$DIR"/bin/' '"$DIR"/' + + # Make paths absolute + substituteInPlace $out/lib/github-runner/runsvc.sh \ + --replace './externals' "$out/lib/externals" \ + --replace './bin/RunnerService.js' "$out/lib/github-runner/RunnerService.js" + + # The upstream package includes Node and expects it at the path + # externals/node$version. As opposed to the official releases, we don't + # link the Alpine Node flavors. + mkdir -p $out/lib/externals + '' + lib.optionalString (lib.elem "node16" nodeRuntimes) '' + ln -s ${nodejs_16} $out/lib/externals/node16 + '' + lib.optionalString (lib.elem "node20" nodeRuntimes) '' + ln -s ${nodejs_20} $out/lib/externals/node20 + '' + '' + # Install Nodejs scripts called from workflows + install -D src/Misc/layoutbin/hashFiles/index.js $out/lib/github-runner/hashFiles/index.js + mkdir -p $out/lib/github-runner/checkScripts + install src/Misc/layoutbin/checkScripts/* $out/lib/github-runner/checkScripts/ + '' + lib.optionalString stdenv.isLinux '' + # Wrap explicitly to, e.g., prevent extra entries for LD_LIBRARY_PATH + makeWrapperArgs=() + + # We don't wrap with libicu + substituteInPlace $out/lib/github-runner/config.sh \ + --replace '$LDCONFIG_COMMAND -NXv ''${libpath//:/ }' 'echo libicu' + '' + '' + # XXX: Using the corresponding Nix argument does not work as expected: + # https://github.com/NixOS/nixpkgs/issues/218449 + # Common wrapper args for `executables` + makeWrapperArgs+=( + --run 'export RUNNER_ROOT="''${RUNNER_ROOT:-"$HOME/.github-runner"}"' + --run 'mkdir -p "$RUNNER_ROOT"' + --chdir "$out" + ) + ''; + + # List of files to wrap + executables = [ + "config.sh" + "Runner.Listener" + "Runner.PluginHost" + "Runner.Worker" + "run.sh" + "runsvc.sh" + ]; + + doInstallCheck = true; + installCheckPhase = '' + runHook preInstallCheck + + export RUNNER_ROOT="$TMPDIR" + + $out/bin/config.sh --help >/dev/null + $out/bin/Runner.Listener --help >/dev/null + + version=$($out/bin/Runner.Listener --version) + if [[ "$version" != "${version}" ]]; then + printf 'Unexpected version %s' "$version" + exit 1 + fi + + commit=$($out/bin/Runner.Listener --commit) + if [[ "$commit" != "$(git rev-parse HEAD)" ]]; then + printf 'Unexpected commit %s' "$commit" + exit 1 + fi + + runHook postInstallCheck + ''; + + passthru = { + tests.smoke-test = nixosTests.github-runner; + updateScript = ./update.sh; + }; + + meta = with lib; { + changelog = "https://github.com/actions/runner/releases/tag/v${version}"; + description = "Self-hosted runner for GitHub Actions"; + homepage = "https://github.com/actions/runner"; + license = licenses.mit; + maintainers = with maintainers; [ veehaitch newam kfollesdal aanderse zimbatm ]; + platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; + sourceProvenance = with sourceTypes; [ binaryNativeCode ]; + }; +} diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/github-runner/deps.nix b/nixpkgs/pkgs/development/tools/continuous-integration/github-runner/deps.nix new file mode 100644 index 000000000000..caa00cad9af2 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/continuous-integration/github-runner/deps.nix @@ -0,0 +1,256 @@ +# This file was automatically generated by passthru.fetch-deps. +# Please dont edit it manually, your changes might get overwritten! + +{ fetchNuGet }: [ + (fetchNuGet { pname = "Castle.Core"; version = "4.4.0"; sha256 = "0rpcbmyhckvlvp6vbzpj03c1gqz56ixc6f15vgmxmyf1g40c24pf"; }) + (fetchNuGet { pname = "Microsoft.AspNet.WebApi.Client"; version = "5.2.4"; sha256 = "00fkczf69z2rwarcd8kjjdp47517a0ca6lggn72qbilsp03a5scj"; }) + (fetchNuGet { pname = "Microsoft.CodeCoverage"; version = "17.2.0"; sha256 = "018yl113i037m5qhm3z6csb0c4l8kj412dxw2dagdbj07qbxwikj"; }) + (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.0.1"; sha256 = "0zxc0apx1gcx361jlq8smc9pfdgmyjh6hpka8dypc9w23nlsh6yj"; }) + (fetchNuGet { pname = "Microsoft.IdentityModel.Logging"; version = "5.2.1"; sha256 = "1gpka9jm2gl6f07pcwzwvaxw9xq1a19i9fskn0qs921c5grhlp3g"; }) + (fetchNuGet { pname = "Microsoft.IdentityModel.Tokens"; version = "5.2.1"; sha256 = "03v6145vr1winq8xxfikydicds4f10qmy1ybyz2gfimnzzx51w00"; }) + (fetchNuGet { pname = "Microsoft.NET.Test.Sdk"; version = "17.2.0"; sha256 = "0ncnq378pk1immy2dyf75xjf2xn72r4m5gma1njhc4rvhzx9qz11"; }) + (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1"; sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr"; }) + (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.0.1-rc2-24027"; sha256 = "1a0w5fv8slfr4q7m3mh78lb9awdwyz4zv3bb73vybkyq1f6z7lx8"; }) + (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; }) + (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.0.0"; sha256 = "1fk2fk2639i7nzy58m9dvpdnzql4vb8yl8vr19r2fp8lmj9w2jr0"; }) + (fetchNuGet { pname = "Microsoft.NETCore.Runtime"; version = "1.0.2-rc2-24027"; sha256 = "0ippdn16381l8i2iy63i45nk0p303fjbd4amh7biwvqxgagfbvhh"; }) + (fetchNuGet { pname = "Microsoft.NETCore.Runtime.CoreCLR"; version = "1.0.2-rc2-24027"; sha256 = "05y0jz6vfl9zs0lmmwsz6arf7r0mg2dm93ymizrzmqn706krz45x"; }) + (fetchNuGet { pname = "Microsoft.NETCore.Runtime.Native"; version = "1.0.2-rc2-24027"; sha256 = "11hpbbmnjbskw7s6sx32l6qzz63kshx0gyp3sawyxk82nbqrissl"; }) + (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.0.1"; sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p"; }) + (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.0.1-rc2-24027"; sha256 = "1j1458jska7540ng7fdf5i06k2vy71mxl5dld4x5s8gfndxpdzdj"; }) + (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; }) + (fetchNuGet { pname = "Microsoft.NETCore.Windows.ApiSets"; version = "1.0.1-rc2-24027"; sha256 = "034m9p417iq3yzipg393wp4bddsh80di9iad78vvvh7w5difdv0x"; }) + (fetchNuGet { pname = "Microsoft.TestPlatform.ObjectModel"; version = "17.2.0"; sha256 = "0l05smcgjzdfa5f60f9q5lylap3i21aswxbava92s19bgv46w2rv"; }) + (fetchNuGet { pname = "Microsoft.TestPlatform.TestHost"; version = "17.2.0"; sha256 = "1238hx3hdg22s123cxygdfm89h54abw1jv6az6hl8h76ip39ybdp"; }) + (fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.0.1-rc2-24027"; sha256 = "1rvb076s4ksvmbvnxi4sv2f9f22izqp2rca0scjqya5x1qhcgkp0"; }) + (fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq"; }) + (fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "4.4.0"; sha256 = "088j2anh1rnkxdcycw5kgp97ahk7cj741y6kask84880835arsb6"; }) + (fetchNuGet { pname = "Minimatch"; version = "2.0.0"; sha256 = "1k84q1bz1qq2nh35nip8vmi65wixsh5y7piln5b4n172xzhfqvx0"; }) + (fetchNuGet { pname = "Moq"; version = "4.11.0"; sha256 = "08bnk80scjjqnkdbjam8grcqrw2rvj9z7556hiznac7in3fcp77w"; }) + (fetchNuGet { pname = "NETStandard.Library"; version = "1.5.0-rc2-24027"; sha256 = "1kazwidj63w53r1s6fd8sgykb70kdic27fg9qhg74qzwm354imwm"; }) + (fetchNuGet { pname = "NETStandard.Library"; version = "1.6.1"; sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8"; }) + (fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.1"; sha256 = "0fijg0w6iwap8gvzyjnndds0q4b8anwxxvik7y8vgq97dram4srb"; }) + (fetchNuGet { pname = "Newtonsoft.Json"; version = "9.0.1"; sha256 = "0mcy0i7pnfpqm4pcaiyzzji4g0c8i3a5gjz28rrr28110np8304r"; }) + (fetchNuGet { pname = "Newtonsoft.Json.Bson"; version = "1.0.1"; sha256 = "1r1hvj5gjl466bya2bfl5aaj8rbwyf5x1msg710wf3k2llbci1xa"; }) + (fetchNuGet { pname = "NuGet.Frameworks"; version = "5.11.0"; sha256 = "0wv26gq39hfqw9md32amr5771s73f5zn1z9vs4y77cgynxr73s4z"; }) + (fetchNuGet { pname = "runtime.any.System.Collections"; version = "4.3.0"; sha256 = "0bv5qgm6vr47ynxqbnkc7i797fdi8gbjjxii173syrx14nmrkwg0"; }) + (fetchNuGet { pname = "runtime.any.System.Diagnostics.Tools"; version = "4.3.0"; sha256 = "1wl76vk12zhdh66vmagni66h5xbhgqq7zkdpgw21jhxhvlbcl8pk"; }) + (fetchNuGet { pname = "runtime.any.System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "00j6nv2xgmd3bi347k00m7wr542wjlig53rmj28pmw7ddcn97jbn"; }) + (fetchNuGet { pname = "runtime.any.System.Globalization"; version = "4.3.0"; sha256 = "1daqf33hssad94lamzg01y49xwndy2q97i2lrb7mgn28656qia1x"; }) + (fetchNuGet { pname = "runtime.any.System.Globalization.Calendars"; version = "4.3.0"; sha256 = "1ghhhk5psqxcg6w88sxkqrc35bxcz27zbqm2y5p5298pv3v7g201"; }) + (fetchNuGet { pname = "runtime.any.System.IO"; version = "4.3.0"; sha256 = "0l8xz8zn46w4d10bcn3l4yyn4vhb3lrj2zw8llvz7jk14k4zps5x"; }) + (fetchNuGet { pname = "runtime.any.System.Reflection"; version = "4.3.0"; sha256 = "02c9h3y35pylc0zfq3wcsvc5nqci95nrkq0mszifc0sjx7xrzkly"; }) + (fetchNuGet { pname = "runtime.any.System.Reflection.Extensions"; version = "4.3.0"; sha256 = "0zyri97dfc5vyaz9ba65hjj1zbcrzaffhsdlpxc9bh09wy22fq33"; }) + (fetchNuGet { pname = "runtime.any.System.Reflection.Primitives"; version = "4.3.0"; sha256 = "0x1mm8c6iy8rlxm8w9vqw7gb7s1ljadrn049fmf70cyh42vdfhrf"; }) + (fetchNuGet { pname = "runtime.any.System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "03kickal0iiby82wa5flar18kyv82s9s6d4xhk5h4bi5kfcyfjzl"; }) + (fetchNuGet { pname = "runtime.any.System.Runtime"; version = "4.3.0"; sha256 = "1cqh1sv3h5j7ixyb7axxbdkqx6cxy00p4np4j91kpm492rf4s25b"; }) + (fetchNuGet { pname = "runtime.any.System.Runtime.Handles"; version = "4.3.0"; sha256 = "0bh5bi25nk9w9xi8z23ws45q5yia6k7dg3i4axhfqlnj145l011x"; }) + (fetchNuGet { pname = "runtime.any.System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "0c3g3g3jmhlhw4klrc86ka9fjbl7i59ds1fadsb2l8nqf8z3kb19"; }) + (fetchNuGet { pname = "runtime.any.System.Text.Encoding"; version = "4.3.0"; sha256 = "0aqqi1v4wx51h51mk956y783wzags13wa7mgqyclacmsmpv02ps3"; }) + (fetchNuGet { pname = "runtime.any.System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "0lqhgqi0i8194ryqq6v2gqx0fb86db2gqknbm0aq31wb378j7ip8"; }) + (fetchNuGet { pname = "runtime.any.System.Threading.Tasks"; version = "4.3.0"; sha256 = "03mnvkhskbzxddz4hm113zsch1jyzh2cs450dk3rgfjp8crlw1va"; }) + (fetchNuGet { pname = "runtime.any.System.Threading.Timer"; version = "4.3.0"; sha256 = "0aw4phrhwqz9m61r79vyfl5la64bjxj8l34qnrcwb28v49fg2086"; }) + (fetchNuGet { pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "16rnxzpk5dpbbl1x354yrlsbvwylrq456xzpsha1n9y3glnhyx9d"; }) + (fetchNuGet { pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0hkg03sgm2wyq8nqk6dbm9jh5vcq57ry42lkqdmfklrw89lsmr59"; }) + (fetchNuGet { pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0c2p354hjx58xhhz7wv6div8xpi90sc6ibdm40qin21bvi7ymcaa"; }) + (fetchNuGet { pname = "runtime.native.System"; version = "4.0.0-rc2-24027"; sha256 = "0n3ndk1g5qdd892sjcz3y2qmg8ki8b001qfgl2fkwv5f52m65pz9"; }) + (fetchNuGet { pname = "runtime.native.System"; version = "4.3.0"; sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4"; }) + (fetchNuGet { pname = "runtime.native.System.IO.Compression"; version = "4.1.0-rc2-24027"; sha256 = "1qnd05bsrz88cr4wnkq7haf2bwml2zzjcscjk94v8ka4isi1i89b"; }) + (fetchNuGet { pname = "runtime.native.System.IO.Compression"; version = "4.3.0"; sha256 = "1vvivbqsk6y4hzcid27pqpm5bsi6sc50hvqwbcx8aap5ifrxfs8d"; }) + (fetchNuGet { pname = "runtime.native.System.Net.Http"; version = "4.0.1-rc2-24027"; sha256 = "0dpgj544rfdqlgjc1nwslwbq49mp286wyy6rfnklxlbfgc2mr216"; }) + (fetchNuGet { pname = "runtime.native.System.Net.Http"; version = "4.3.0"; sha256 = "1n6rgz5132lcibbch1qlf0g9jk60r0kqv087hxc0lisy50zpm7kk"; }) + (fetchNuGet { pname = "runtime.native.System.Security.Cryptography"; version = "4.0.0-rc2-24027"; sha256 = "0pkd72vrqn1jxc20g8h2pgqz02xn2rfbl0m4i7b82xa8bc483jmz"; }) + (fetchNuGet { pname = "runtime.native.System.Security.Cryptography.Apple"; version = "4.3.0"; sha256 = "1b61p6gw1m02cc1ry996fl49liiwky6181dzr873g9ds92zl326q"; }) + (fetchNuGet { pname = "runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "18pzfdlwsg2nb1jjjjzyb5qlgy6xjxzmhnfaijq5s2jw3cm3ab97"; }) + (fetchNuGet { pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0qyynf9nz5i7pc26cwhgi8j62ps27sqmf78ijcfgzab50z9g8ay3"; }) + (fetchNuGet { pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "1klrs545awhayryma6l7g2pvnp9xy4z0r1i40r80zb45q3i9nbyf"; }) + (fetchNuGet { pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple"; version = "4.3.0"; sha256 = "10yc8jdrwgcl44b4g93f1ds76b176bajd3zqi2faf5rvh1vy9smi"; }) + (fetchNuGet { pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0zcxjv5pckplvkg0r6mw3asggm7aqzbdjimhvsasb0cgm59x09l3"; }) + (fetchNuGet { pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0vhynn79ih7hw7cwjazn87rm9z9fj0rvxgzlab36jybgcpcgphsn"; }) + (fetchNuGet { pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "160p68l2c7cqmyqjwxydcvgw7lvl1cr0znkw8fp24d1by9mqc8p3"; }) + (fetchNuGet { pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "15zrc8fgd8zx28hdghcj5f5i34wf3l6bq5177075m2bc2j34jrqy"; }) + (fetchNuGet { pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5"; }) + (fetchNuGet { pname = "runtime.unix.Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0y61k9zbxhdi0glg154v30kkq7f8646nif8lnnxbvkjpakggd5id"; }) + (fetchNuGet { pname = "runtime.unix.System.Console"; version = "4.3.0"; sha256 = "1pfpkvc6x2if8zbdzg9rnc5fx51yllprl8zkm5npni2k50lisy80"; }) + (fetchNuGet { pname = "runtime.unix.System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "1lps7fbnw34bnh3lm31gs5c0g0dh7548wfmb8zz62v0zqz71msj5"; }) + (fetchNuGet { pname = "runtime.unix.System.IO.FileSystem"; version = "4.3.0"; sha256 = "14nbkhvs7sji5r1saj2x8daz82rnf9kx28d3v2qss34qbr32dzix"; }) + (fetchNuGet { pname = "runtime.unix.System.Net.Primitives"; version = "4.3.0"; sha256 = "0bdnglg59pzx9394sy4ic66kmxhqp8q8bvmykdxcbs5mm0ipwwm4"; }) + (fetchNuGet { pname = "runtime.unix.System.Net.Sockets"; version = "4.3.0"; sha256 = "03npdxzy8gfv035bv1b9rz7c7hv0rxl5904wjz51if491mw0xy12"; }) + (fetchNuGet { pname = "runtime.unix.System.Private.Uri"; version = "4.3.0"; sha256 = "1jx02q6kiwlvfksq1q9qr17fj78y5v6mwsszav4qcz9z25d5g6vk"; }) + (fetchNuGet { pname = "runtime.unix.System.Runtime.Extensions"; version = "4.3.0"; sha256 = "0pnxxmm8whx38dp6yvwgmh22smknxmqs5n513fc7m4wxvs1bvi4p"; }) + (fetchNuGet { pname = "System.AppContext"; version = "4.1.0-rc2-24027"; sha256 = "0c0x3sg12a5zwiamvxs9c4bhdwmmm9by6x5da58fbrzz7afbaaag"; }) + (fetchNuGet { pname = "System.AppContext"; version = "4.3.0"; sha256 = "1649qvy3dar900z3g817h17nl8jp4ka5vcfmsr05kh0fshn7j3ya"; }) + (fetchNuGet { pname = "System.Buffers"; version = "4.0.0-rc2-24027"; sha256 = "1mqnay87pkxih73984jf5fm14d0m6yjq4cv4cqbj37nmgm54ssjp"; }) + (fetchNuGet { pname = "System.Buffers"; version = "4.3.0"; sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; }) + (fetchNuGet { pname = "System.Collections"; version = "4.0.11"; sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6"; }) + (fetchNuGet { pname = "System.Collections"; version = "4.0.11-rc2-24027"; sha256 = "0ijpgf7iy3mcvr9327craxsb0lsznprajqzjy59sspc75gk0yahq"; }) + (fetchNuGet { pname = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; }) + (fetchNuGet { pname = "System.Collections.Concurrent"; version = "4.0.12-rc2-24027"; sha256 = "0yhc5q74vb9vb9cmyrr9p4dfql62dr7c8ajbaxnzzs917v2z68q4"; }) + (fetchNuGet { pname = "System.Collections.Concurrent"; version = "4.3.0"; sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8"; }) + (fetchNuGet { pname = "System.Collections.NonGeneric"; version = "4.3.0"; sha256 = "07q3k0hf3mrcjzwj8fwk6gv3n51cb513w4mgkfxzm3i37sc9kz7k"; }) + (fetchNuGet { pname = "System.Collections.Specialized"; version = "4.3.0"; sha256 = "1sdwkma4f6j85m3dpb53v9vcgd0zyc9jb33f8g63byvijcj39n20"; }) + (fetchNuGet { pname = "System.ComponentModel"; version = "4.3.0"; sha256 = "0986b10ww3nshy30x9sjyzm0jx339dkjxjj3401r3q0f6fx2wkcb"; }) + (fetchNuGet { pname = "System.ComponentModel.Primitives"; version = "4.3.0"; sha256 = "1svfmcmgs0w0z9xdw2f2ps05rdxmkxxhf0l17xk9l1l8xfahkqr0"; }) + (fetchNuGet { pname = "System.ComponentModel.TypeConverter"; version = "4.3.0"; sha256 = "17ng0p7v3nbrg3kycz10aqrrlw4lz9hzhws09pfh8gkwicyy481x"; }) + (fetchNuGet { pname = "System.Console"; version = "4.0.0-rc2-24027"; sha256 = "072m313av0s5cfpr2rpq07p7c13dy4rh1ngigv3dnr1yyvab9081"; }) + (fetchNuGet { pname = "System.Console"; version = "4.3.0"; sha256 = "1flr7a9x920mr5cjsqmsy9wgnv3lvd0h1g521pdr1lkb2qycy7ay"; }) + (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.0.11"; sha256 = "0gmjghrqmlgzxivd2xl50ncbglb7ljzb66rlx8ws6dv8jm0d5siz"; }) + (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.0.11-rc2-24027"; sha256 = "11rz0kdzk4bw9yc85jmskxla7i1bs61kladqzvymrg8xn3lk488a"; }) + (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; }) + (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "4.0.0-rc2-24027"; sha256 = "1cizj1xvaz7dm701r4bl6s08858j1r2794y7xx8abyw8j91c957w"; }) + (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "4.3.0"; sha256 = "0z6m3pbiy0qw6rn3n209rrzf9x1k4002zh90vwcrsym09ipm2liq"; }) + (fetchNuGet { pname = "System.Diagnostics.Tools"; version = "4.0.1"; sha256 = "19cknvg07yhakcvpxg3cxa0bwadplin6kyxd8mpjjpwnp56nl85x"; }) + (fetchNuGet { pname = "System.Diagnostics.Tools"; version = "4.0.1-rc2-24027"; sha256 = "080gd86c1pkfkzz67ispkzxc426lfh82zajayiizbgwd6yqa7fv5"; }) + (fetchNuGet { pname = "System.Diagnostics.Tools"; version = "4.3.0"; sha256 = "0in3pic3s2ddyibi8cvgl102zmvp9r9mchh82ns9f0ms4basylw1"; }) + (fetchNuGet { pname = "System.Diagnostics.TraceSource"; version = "4.3.0"; sha256 = "1kyw4d7dpjczhw6634nrmg7yyyzq72k75x38y0l0nwhigdlp1766"; }) + (fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.1.0-rc2-24027"; sha256 = "0a0c24lm8yn0hbvd5m64lv7xhs2bmhm5fdpk89xvxj14zdarqhm6"; }) + (fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4"; }) + (fetchNuGet { pname = "System.Dynamic.Runtime"; version = "4.0.11"; sha256 = "1pla2dx8gkidf7xkciig6nifdsb494axjvzvann8g2lp3dbqasm9"; }) + (fetchNuGet { pname = "System.Dynamic.Runtime"; version = "4.3.0"; sha256 = "1d951hrvrpndk7insiag80qxjbf2y0y39y8h5hnq9612ws661glk"; }) + (fetchNuGet { pname = "System.Globalization"; version = "4.0.11"; sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d"; }) + (fetchNuGet { pname = "System.Globalization"; version = "4.0.11-rc2-24027"; sha256 = "0yl161lr85smzdfzb7fbk0lfrqk5ns71hcnws6vm3sn2aqvfmhpn"; }) + (fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; }) + (fetchNuGet { pname = "System.Globalization.Calendars"; version = "4.0.1-rc2-24027"; sha256 = "0whr2qird567iyc137s10qs0xi6607kjii9wi8a8g1f9lybzlz5k"; }) + (fetchNuGet { pname = "System.Globalization.Calendars"; version = "4.3.0"; sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq"; }) + (fetchNuGet { pname = "System.Globalization.Extensions"; version = "4.3.0"; sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls"; }) + (fetchNuGet { pname = "System.IdentityModel.Tokens.Jwt"; version = "5.2.1"; sha256 = "08n1z9ngsi26qlhwpjzxafhwl3p279widfci64l2ahxf1gprfqsx"; }) + (fetchNuGet { pname = "System.IO"; version = "4.1.0"; sha256 = "1g0yb8p11vfd0kbkyzlfsbsp5z44lwsvyc0h3dpw6vqnbi035ajp"; }) + (fetchNuGet { pname = "System.IO"; version = "4.1.0-rc2-24027"; sha256 = "0rwqmn743gl21xnb3rwqkdacshd5l86pn23mc4bviva3pbncbjs4"; }) + (fetchNuGet { pname = "System.IO"; version = "4.3.0"; sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; }) + (fetchNuGet { pname = "System.IO.Compression"; version = "4.1.0-rc2-24027"; sha256 = "07s5zxdw3ihxdv0mjxb2ywzg9phcp4bayrhkadzm95l4kcv0xaij"; }) + (fetchNuGet { pname = "System.IO.Compression"; version = "4.3.0"; sha256 = "084zc82yi6yllgda0zkgl2ys48sypiswbiwrv7irb3r0ai1fp4vz"; }) + (fetchNuGet { pname = "System.IO.Compression.ZipFile"; version = "4.0.1-rc2-24027"; sha256 = "0np6vf9rnfasz0sqys56kpryc84qcqi1a1rfskmycdlxk182p3s2"; }) + (fetchNuGet { pname = "System.IO.Compression.ZipFile"; version = "4.3.0"; sha256 = "1yxy5pq4dnsm9hlkg9ysh5f6bf3fahqqb6p8668ndy5c0lk7w2ar"; }) + (fetchNuGet { pname = "System.IO.FileSystem"; version = "4.0.1"; sha256 = "0kgfpw6w4djqra3w5crrg8xivbanh1w9dh3qapb28q060wb9flp1"; }) + (fetchNuGet { pname = "System.IO.FileSystem"; version = "4.0.1-rc2-24027"; sha256 = "0hpw3ssnbcv9l1lnlcym2bv3h3sf2znif4brys2i3868s6h946k6"; }) + (fetchNuGet { pname = "System.IO.FileSystem"; version = "4.3.0"; sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw"; }) + (fetchNuGet { pname = "System.IO.FileSystem.AccessControl"; version = "4.4.0"; sha256 = "11sna2bv5ai4sivrs7g2gp7g0yjp02s0kasl01j3fa1cvnwwvgkv"; }) + (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.0.1"; sha256 = "1s0mniajj3lvbyf7vfb5shp4ink5yibsx945k6lvxa96r8la1612"; }) + (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.0.1-rc2-24027"; sha256 = "04q3sxrfxqgig9scmxblxlb6n6fypv535lby26pi20ixszs19dxc"; }) + (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.3.0"; sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c"; }) + (fetchNuGet { pname = "System.IO.FileSystem.Watcher"; version = "4.0.0-rc2-24027"; sha256 = "0g2h4q0w42frdz101z2cxs4n9zpxvzb43wnzawx1f26vpilz7km4"; }) + (fetchNuGet { pname = "System.Linq"; version = "4.1.0"; sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5"; }) + (fetchNuGet { pname = "System.Linq"; version = "4.1.0-rc2-24027"; sha256 = "0icbsy0vq07achclz32jvnnfdchkgylsjj67gra3fn5906s40n24"; }) + (fetchNuGet { pname = "System.Linq"; version = "4.3.0"; sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; }) + (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.1.0"; sha256 = "1gpdxl6ip06cnab7n3zlcg6mqp7kknf73s8wjinzi4p0apw82fpg"; }) + (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.3.0"; sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv"; }) + (fetchNuGet { pname = "System.Net.Http"; version = "4.0.1-rc2-24027"; sha256 = "1j9z5as3k7ydr4yi83lwh09hqj32g2ndpjgj25xvny5a32dl2mhz"; }) + (fetchNuGet { pname = "System.Net.Http"; version = "4.3.0"; sha256 = "1i4gc757xqrzflbk7kc5ksn20kwwfjhw9w7pgdkn19y3cgnl302j"; }) + (fetchNuGet { pname = "System.Net.NameResolution"; version = "4.3.0"; sha256 = "15r75pwc0rm3vvwsn8rvm2krf929mjfwliv0mpicjnii24470rkq"; }) + (fetchNuGet { pname = "System.Net.Primitives"; version = "4.0.11-rc2-24027"; sha256 = "16wv24cb39639i7fcw005hh1rggyz2bgn51dpkdc67aq9lz76ivm"; }) + (fetchNuGet { pname = "System.Net.Primitives"; version = "4.3.0"; sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii"; }) + (fetchNuGet { pname = "System.Net.Sockets"; version = "4.1.0-rc2-24027"; sha256 = "062kbbvm17nhwmcxjnakfv3i23vrk6c9gmz6x8q79kcr5hxr40qs"; }) + (fetchNuGet { pname = "System.Net.Sockets"; version = "4.3.0"; sha256 = "1ssa65k6chcgi6mfmzrznvqaxk8jp0gvl77xhf1hbzakjnpxspla"; }) + (fetchNuGet { pname = "System.ObjectModel"; version = "4.0.12"; sha256 = "1sybkfi60a4588xn34nd9a58png36i0xr4y4v4kqpg8wlvy5krrj"; }) + (fetchNuGet { pname = "System.ObjectModel"; version = "4.0.12-rc2-24027"; sha256 = "065p89awfiz9kb304hqs7wkfpykd9z9kkv84ihm813msv54i8lvj"; }) + (fetchNuGet { pname = "System.ObjectModel"; version = "4.3.0"; sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2"; }) + (fetchNuGet { pname = "System.Private.DataContractSerialization"; version = "4.3.0"; sha256 = "06fjipqvjp559rrm825x6pll8gimdj9x1n3larigh5hsm584gndw"; }) + (fetchNuGet { pname = "System.Private.Uri"; version = "4.3.0"; sha256 = "04r1lkdnsznin0fj4ya1zikxiqr0h6r6a1ww2dsm60gqhdrf0mvx"; }) + (fetchNuGet { pname = "System.Reflection"; version = "4.1.0"; sha256 = "1js89429pfw79mxvbzp8p3q93il6rdff332hddhzi5wqglc4gml9"; }) + (fetchNuGet { pname = "System.Reflection"; version = "4.1.0-rc2-24027"; sha256 = "0717y8iqcw19g2zkcs0hkalvjhnpaq5mapd82kxkhiq1djgjhhi2"; }) + (fetchNuGet { pname = "System.Reflection"; version = "4.3.0"; sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; }) + (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.0.1"; sha256 = "0ydqcsvh6smi41gyaakglnv252625hf29f7kywy2c70nhii2ylqp"; }) + (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.3.0"; sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74"; }) + (fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.0.1"; sha256 = "1pcd2ig6bg144y10w7yxgc9d22r7c7ww7qn1frdfwgxr24j9wvv0"; }) + (fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.3.0"; sha256 = "0w1n67glpv8241vnpz1kl14sy7zlnw414aqwj4hcx5nd86f6994q"; }) + (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.0.1"; sha256 = "1s4b043zdbx9k39lfhvsk68msv1nxbidhkq6nbm27q7sf8xcsnxr"; }) + (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.3.0"; sha256 = "0ql7lcakycrvzgi9kxz1b3lljd990az1x6c4jsiwcacrvimpib5c"; }) + (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.0.1"; sha256 = "0m7wqwq0zqq9gbpiqvgk3sr92cbrw7cp3xn53xvw7zj6rz6fdirn"; }) + (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.0.1-rc2-24027"; sha256 = "0lgz7wwdb02vapa17hgdkf1jnq1mcsbq8gwy6a9iqd04d2mfanv7"; }) + (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.3.0"; sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq"; }) + (fetchNuGet { pname = "System.Reflection.Metadata"; version = "1.6.0"; sha256 = "1wdbavrrkajy7qbdblpbpbalbdl48q3h34cchz24gvdgyrlf15r4"; }) + (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.0.1"; sha256 = "1bangaabhsl4k9fg8khn83wm6yial8ik1sza7401621jc6jrym28"; }) + (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.0.1-rc2-24027"; sha256 = "1xjbwji89s69f9lq8wcjfkz8y9ym9zffgj2mg9bv0rxwyqcynpz8"; }) + (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.3.0"; sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; }) + (fetchNuGet { pname = "System.Reflection.TypeExtensions"; version = "4.3.0"; sha256 = "0y2ssg08d817p0vdag98vn238gyrrynjdj4181hdg780sif3ykp1"; }) + (fetchNuGet { pname = "System.Reflection.TypeExtensions"; version = "4.4.0"; sha256 = "0n9r1w4lp2zmadyqkgp4sk9wy90sj4ygq4dh7kzamx26i9biys5h"; }) + (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.0.1"; sha256 = "0b4i7mncaf8cnai85jv3wnw6hps140cxz8vylv2bik6wyzgvz7bi"; }) + (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.0.1-rc2-24027"; sha256 = "06lkqk5hjkcna19inpda5fqbxvd9pq5cs61di7kmhrd2sgzbs6xj"; }) + (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; }) + (fetchNuGet { pname = "System.Runtime"; version = "4.1.0"; sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m"; }) + (fetchNuGet { pname = "System.Runtime"; version = "4.1.0-rc2-24027"; sha256 = "1g5ghiyfb8njzfz39cswizjbxgaamil7kgkzgab93fhgk7jksmyg"; }) + (fetchNuGet { pname = "System.Runtime"; version = "4.3.0"; sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; }) + (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.1.0"; sha256 = "0rw4rm4vsm3h3szxp9iijc3ksyviwsv6f63dng3vhqyg4vjdkc2z"; }) + (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.1.0-rc2-24027"; sha256 = "09k4c6is31dpccwgb749055m2ad0b84rnapk69fmj3wjswacg26p"; }) + (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.3.0"; sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; }) + (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.0.1"; sha256 = "1g0zrdi5508v49pfm3iii2hn6nm00bgvfpjq1zxknfjrxxa20r4g"; }) + (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.0.1-rc2-24027"; sha256 = "0lw4amgaryahvija5xxb2vmybq7ks4b4ir7g7nc1xw6x9x58jf2q"; }) + (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.3.0"; sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; }) + (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.1.0"; sha256 = "01kxqppx3dr3b6b286xafqilv4s2n0gqvfgzfd4z943ga9i81is1"; }) + (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.1.0-rc2-24027"; sha256 = "0v5phdy7yr6d1q13fvb6hhd32k89l93z6x4hlkh5qhm1zlavaabl"; }) + (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; }) + (fetchNuGet { pname = "System.Runtime.InteropServices.PInvoke"; version = "4.0.0-rc2-24027"; sha256 = "0qsgwvr6ppvllblb64p5plr7ssbmwfxxc4qf6l1xfincza8np34r"; }) + (fetchNuGet { pname = "System.Runtime.InteropServices.RuntimeInformation"; version = "4.0.0-rc2-24027"; sha256 = "03pgqbgahfgvigyrsd08snzsryg90shfjlbdv4jk6yzfr27va3n2"; }) + (fetchNuGet { pname = "System.Runtime.InteropServices.RuntimeInformation"; version = "4.3.0"; sha256 = "0q18r1sh4vn7bvqgd6dmqlw5v28flbpj349mkdish2vjyvmnb2ii"; }) + (fetchNuGet { pname = "System.Runtime.Loader"; version = "4.3.0"; sha256 = "07fgipa93g1xxgf7193a6vw677mpzgr0z0cfswbvqqb364cva8dk"; }) + (fetchNuGet { pname = "System.Runtime.Numerics"; version = "4.0.1-rc2-24027"; sha256 = "1gkkc7njymmb12dd952q89x2h2jdrhp171vszsjqzh5q2ryj25gh"; }) + (fetchNuGet { pname = "System.Runtime.Numerics"; version = "4.3.0"; sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z"; }) + (fetchNuGet { pname = "System.Runtime.Serialization.Primitives"; version = "4.1.1"; sha256 = "042rfjixknlr6r10vx2pgf56yming8lkjikamg3g4v29ikk78h7k"; }) + (fetchNuGet { pname = "System.Runtime.Serialization.Primitives"; version = "4.3.0"; sha256 = "01vv2p8h4hsz217xxs0rixvb7f2xzbh6wv1gzbfykcbfrza6dvnf"; }) + (fetchNuGet { pname = "System.Runtime.Serialization.Xml"; version = "4.3.0"; sha256 = "1b2cxl2h7s8cydbhbmxhvvq071n9ck61g08npg4gyw7nvg37rfni"; }) + (fetchNuGet { pname = "System.Security.AccessControl"; version = "4.4.0"; sha256 = "0ixqw47krkazsw0ycm22ivkv7dpg6cjz8z8g0ii44bsx4l8gcx17"; }) + (fetchNuGet { pname = "System.Security.Claims"; version = "4.3.0"; sha256 = "0jvfn7j22l3mm28qjy3rcw287y9h65ha4m940waaxah07jnbzrhn"; }) + (fetchNuGet { pname = "System.Security.Cryptography.Algorithms"; version = "4.1.0-rc2-24027"; sha256 = "183qanczf0jb6njgr9pibyr5jh0m8xwrja3j0pcdnzab0cii3n17"; }) + (fetchNuGet { pname = "System.Security.Cryptography.Algorithms"; version = "4.3.0"; sha256 = "03sq183pfl5kp7gkvq77myv7kbpdnq3y0xj7vi4q1kaw54sny0ml"; }) + (fetchNuGet { pname = "System.Security.Cryptography.Cng"; version = "4.3.0"; sha256 = "1k468aswafdgf56ab6yrn7649kfqx2wm9aslywjam1hdmk5yypmv"; }) + (fetchNuGet { pname = "System.Security.Cryptography.Cng"; version = "4.4.0"; sha256 = "1grg9id80m358crr5y4q4rhhbrm122yw8jrlcl1ybi7nkmmck40n"; }) + (fetchNuGet { pname = "System.Security.Cryptography.Csp"; version = "4.0.0-rc2-24027"; sha256 = "0nny9yvnhf3l5hjsy3ina8cha6sjln993vzkzdqka9d7rq1z23d5"; }) + (fetchNuGet { pname = "System.Security.Cryptography.Csp"; version = "4.3.0"; sha256 = "1x5wcrddf2s3hb8j78cry7yalca4lb5vfnkrysagbn6r9x6xvrx1"; }) + (fetchNuGet { pname = "System.Security.Cryptography.Encoding"; version = "4.0.0-rc2-24027"; sha256 = "19f83159vrfnfppzchjclk82w2x1mkvnx1y5yg1f238dpjb2ri8w"; }) + (fetchNuGet { pname = "System.Security.Cryptography.Encoding"; version = "4.3.0"; sha256 = "1jr6w70igqn07k5zs1ph6xja97hxnb3mqbspdrff6cvssgrixs32"; }) + (fetchNuGet { pname = "System.Security.Cryptography.OpenSsl"; version = "4.0.0-rc2-24027"; sha256 = "1mqw7xkh4pj110f249c4jpv9mg1sd8c2cr6kj2zc0mic325vvg0s"; }) + (fetchNuGet { pname = "System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0givpvvj8yc7gv4lhb6s1prq6p2c4147204a0wib89inqzd87gqc"; }) + (fetchNuGet { pname = "System.Security.Cryptography.Pkcs"; version = "4.4.0"; sha256 = "1bn7d2czpc994qzdph4drv7p1cv4x55j2dhbmr113p0gs4hx33zh"; }) + (fetchNuGet { pname = "System.Security.Cryptography.Primitives"; version = "4.0.0-rc2-24027"; sha256 = "16zwyw3glsq2flq1crd0c24i336bc42rj28a9rjvvkg428vz4rf8"; }) + (fetchNuGet { pname = "System.Security.Cryptography.Primitives"; version = "4.3.0"; sha256 = "0pyzncsv48zwly3lw4f2dayqswcfvdwq2nz0dgwmi7fj3pn64wby"; }) + (fetchNuGet { pname = "System.Security.Cryptography.ProtectedData"; version = "4.4.0"; sha256 = "1q8ljvqhasyynp94a1d7jknk946m20lkwy2c3wa8zw2pc517fbj6"; }) + (fetchNuGet { pname = "System.Security.Cryptography.X509Certificates"; version = "4.1.0-rc2-24027"; sha256 = "1gfxc9p73zak46klrfsyxgkcyzbvqnjarsm0wkvmj31n9g4dpjkz"; }) + (fetchNuGet { pname = "System.Security.Cryptography.X509Certificates"; version = "4.3.0"; sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h"; }) + (fetchNuGet { pname = "System.Security.Principal"; version = "4.3.0"; sha256 = "12cm2zws06z4lfc4dn31iqv7072zyi4m910d4r6wm8yx85arsfxf"; }) + (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.3.0"; sha256 = "00a0a7c40i3v4cb20s2cmh9csb5jv2l0frvnlzyfxh848xalpdwr"; }) + (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.4.0"; sha256 = "11rr16fp68apc0arsymgj18w8ajs9a4366wgx9iqwny4glrl20wp"; }) + (fetchNuGet { pname = "System.ServiceProcess.ServiceController"; version = "4.4.0"; sha256 = "0hyijvysbcjh20mbbgajg9wh04nkjd6y5lqxgm0a6m28zjcjshl6"; }) + (fetchNuGet { pname = "System.Text.Encoding"; version = "4.0.11"; sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw"; }) + (fetchNuGet { pname = "System.Text.Encoding"; version = "4.0.11-rc2-24027"; sha256 = "0qkaldb06dwmi8gb940h75n9cs5rgy6sqcpa6f443mhahmagmsbd"; }) + (fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; }) + (fetchNuGet { pname = "System.Text.Encoding.CodePages"; version = "4.4.0"; sha256 = "07bzjnflxjk9vgpljfybrpqmvsr9qr2f20nq5wf11imwa5pbhgfc"; }) + (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.0.11"; sha256 = "08nsfrpiwsg9x5ml4xyl3zyvjfdi4mvbqf93kjdh11j4fwkznizs"; }) + (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.0.11-rc2-24027"; sha256 = "02xic3hhfy48s50bxh25as1l9v3afgrhlxqfnd5ki4qirxly7qs6"; }) + (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; }) + (fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.0.12-rc2-24027"; sha256 = "1111sgvbxrxq9c1i0nziqddlzfdc2bsawd0jcf2nna9nkcn4d6br"; }) + (fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.1.0"; sha256 = "1mw7vfkkyd04yn2fbhm38msk7dz2xwvib14ygjsb8dq2lcvr18y7"; }) + (fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.3.0"; sha256 = "1bgq51k7fwld0njylfn7qc5fmwrk2137gdq7djqdsw347paa9c2l"; }) + (fetchNuGet { pname = "System.Threading"; version = "4.0.11"; sha256 = "19x946h926bzvbsgj28csn46gak2crv2skpwsx80hbgazmkgb1ls"; }) + (fetchNuGet { pname = "System.Threading"; version = "4.0.11-rc2-24027"; sha256 = "0aa4zaqma4yagjd44m2j13gr9qzn8rv8dbz3p9mjdk0dx1zpi4iq"; }) + (fetchNuGet { pname = "System.Threading"; version = "4.3.0"; sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; }) + (fetchNuGet { pname = "System.Threading.Channels"; version = "4.5.0"; sha256 = "0n6z3wjia7h2a5vl727p97riydnb6jhhkb1pdcnizza02dwkz0nz"; }) + (fetchNuGet { pname = "System.Threading.Overlapped"; version = "4.0.1-rc2-24027"; sha256 = "1ansaxwkc4xi2ngpiv8gjmv02d75y0nb4lfqzxy73r3radakqvdp"; }) + (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.0.11"; sha256 = "0nr1r41rak82qfa5m0lhk9mp0k93bvfd7bbd9sdzwx9mb36g28p5"; }) + (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.0.11-rc2-24027"; sha256 = "0fsgdzdxm3yj1cym421ymn8x8anhyzgzc1529q5xd1vq4yknwfq0"; }) + (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; }) + (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.0.0"; sha256 = "1cb51z062mvc2i8blpzmpn9d9mm4y307xrwi65di8ri18cz5r1zr"; }) + (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.0.0-rc2-24027"; sha256 = "108sdqpy3ga6gzksl59w1k21a3jlrh8x2igyxh3dm3212rca1pyg"; }) + (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.3.0"; sha256 = "1xxcx2xh8jin360yjwm4x4cf5y3a2bwpn2ygkfkwkicz7zk50s2z"; }) + (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.1"; sha256 = "1ikrplvw4m6pzjbq3bfbpr572n4i9mni577zvmrkaygvx85q3myw"; }) + (fetchNuGet { pname = "System.Threading.Thread"; version = "4.0.0-rc2-24027"; sha256 = "1gv963m4523m3m9gbn819bfzmhxqsv93m5kaqmbv4ijyziby2872"; }) + (fetchNuGet { pname = "System.Threading.ThreadPool"; version = "4.3.0"; sha256 = "027s1f4sbx0y1xqw2irqn6x161lzj8qwvnh2gn78ciiczdv10vf1"; }) + (fetchNuGet { pname = "System.Threading.Timer"; version = "4.0.1-rc2-24027"; sha256 = "06kwi42lgf3zw3b5yw668ammbjl6208y182wyqaaqrxgn5gs4yh7"; }) + (fetchNuGet { pname = "System.Threading.Timer"; version = "4.3.0"; sha256 = "1nx773nsx6z5whv8kaa1wjh037id2f1cxhb69pvgv12hd2b6qs56"; }) + (fetchNuGet { pname = "System.Xml.ReaderWriter"; version = "4.0.11"; sha256 = "0c6ky1jk5ada9m94wcadih98l6k1fvf6vi7vhn1msjixaha419l5"; }) + (fetchNuGet { pname = "System.Xml.ReaderWriter"; version = "4.0.11-rc2-24027"; sha256 = "0vywggi6mqkbr6g1a1fh821hqfnyq1k829vlhfw908l7mj75k34d"; }) + (fetchNuGet { pname = "System.Xml.ReaderWriter"; version = "4.3.0"; sha256 = "0c47yllxifzmh8gq6rq6l36zzvw4kjvlszkqa9wq3fr59n0hl3s1"; }) + (fetchNuGet { pname = "System.Xml.XDocument"; version = "4.0.11"; sha256 = "0n4lvpqzy9kc7qy1a4acwwd7b7pnvygv895az5640idl2y9zbz18"; }) + (fetchNuGet { pname = "System.Xml.XDocument"; version = "4.0.11-rc2-24027"; sha256 = "1rvglifac6xq1lawm78w49fq9cl8zvs1g4vrsd2hhf0vb4i85p1z"; }) + (fetchNuGet { pname = "System.Xml.XDocument"; version = "4.3.0"; sha256 = "08h8fm4l77n0nd4i4fk2386y809bfbwqb7ih9d7564ifcxr5ssxd"; }) + (fetchNuGet { pname = "System.Xml.XmlDocument"; version = "4.3.0"; sha256 = "0bmz1l06dihx52jxjr22dyv5mxv6pj4852lx68grjm7bivhrbfwi"; }) + (fetchNuGet { pname = "System.Xml.XmlSerializer"; version = "4.3.0"; sha256 = "07pa4sx196vxkgl3csvdmw94nydlsm9ir38xxcs84qjn8cycd912"; }) + (fetchNuGet { pname = "xunit"; version = "2.4.1"; sha256 = "0xf3kaywpg15flqaqfgywqyychzk15kz0kz34j21rcv78q9ywq20"; }) + (fetchNuGet { pname = "xunit.abstractions"; version = "2.0.3"; sha256 = "00wl8qksgkxld76fgir3ycc5rjqv1sqds6x8yx40927q5py74gfh"; }) + (fetchNuGet { pname = "xunit.analyzers"; version = "0.10.0"; sha256 = "15n02q3akyqbvkp8nq75a8rd66d4ax0rx8fhdcn8j78pi235jm7j"; }) + (fetchNuGet { pname = "xunit.assert"; version = "2.4.1"; sha256 = "1imynzh80wxq2rp9sc4gxs4x1nriil88f72ilhj5q0m44qqmqpc6"; }) + (fetchNuGet { pname = "xunit.core"; version = "2.4.1"; sha256 = "1nnb3j4kzmycaw1g76ii4rfqkvg6l8gqh18falwp8g28h802019a"; }) + (fetchNuGet { pname = "xunit.extensibility.core"; version = "2.4.1"; sha256 = "103qsijmnip2pnbhciqyk2jyhdm6snindg5z2s57kqf5pcx9a050"; }) + (fetchNuGet { pname = "xunit.extensibility.execution"; version = "2.4.1"; sha256 = "1pbilxh1gp2ywm5idfl0klhl4gb16j86ib4x83p8raql1dv88qia"; }) + (fetchNuGet { pname = "xunit.runner.visualstudio"; version = "2.4.1"; sha256 = "0fln5pk18z98gp0zfshy1p9h6r9wc55nyqhap34k89yran646vhn"; }) + (fetchNuGet { pname = "YamlDotNet.Signed"; version = "5.3.0"; sha256 = "1gnp5aa2zzg7v61bbn2ra1npy0p07szp5w8vqk44fdj3fcvrdxib"; }) +] diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/github-runner/patches/dont-install-service.patch b/nixpkgs/pkgs/development/tools/continuous-integration/github-runner/patches/dont-install-service.patch new file mode 100644 index 000000000000..5590fa3df027 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/continuous-integration/github-runner/patches/dont-install-service.patch @@ -0,0 +1,28 @@ +From 369b3d98b44abbf061080ab1b17b22f99706ef69 Mon Sep 17 00:00:00 2001 +From: Vincent Haupert <mail@vincent-haupert.de> +Date: Sun, 26 Feb 2023 12:55:38 +0100 +Subject: [PATCH] Don't generate service config on Linux and OSX + +--- + src/Runner.Listener/Configuration/ConfigurationManager.cs | 5 ----- + 1 file changed, 5 deletions(-) + +diff --git a/src/Runner.Listener/Configuration/ConfigurationManager.cs b/src/Runner.Listener/Configuration/ConfigurationManager.cs +index 392eb0e..4c75324 100644 +--- a/src/Runner.Listener/Configuration/ConfigurationManager.cs ++++ b/src/Runner.Listener/Configuration/ConfigurationManager.cs +@@ -367,11 +367,6 @@ namespace GitHub.Runner.Listener.Configuration + var serviceControlManager = HostContext.GetService<IWindowsServiceControlManager>(); + serviceControlManager.ConfigureService(runnerSettings, command); + } +- +-#elif OS_LINUX || OS_OSX +- // generate service config script for OSX and Linux, GenerateScripts() will no-opt on windows. +- var serviceControlManager = HostContext.GetService<ILinuxServiceControlManager>(); +- serviceControlManager.GenerateScripts(runnerSettings); + #endif + } + +-- +2.38.1 + diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/github-runner/patches/env-sh-use-runner-root.patch b/nixpkgs/pkgs/development/tools/continuous-integration/github-runner/patches/env-sh-use-runner-root.patch new file mode 100644 index 000000000000..d87e00d0f349 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/continuous-integration/github-runner/patches/env-sh-use-runner-root.patch @@ -0,0 +1,76 @@ +From 84b2fcdf042771ae8adc0f59f1a3ecd9788a808d Mon Sep 17 00:00:00 2001 +From: Vincent Haupert <mail@vincent-haupert.de> +Date: Sun, 26 Feb 2023 11:37:01 +0100 +Subject: [PATCH] Access `.env` and `.path` relative to `$RUNNER_ROOT`, if set + +--- + src/Misc/layoutbin/runsvc.sh | 4 ++-- + src/Misc/layoutroot/env.sh | 10 +++++----- + src/Runner.Listener/Program.cs | 2 +- + 3 files changed, 8 insertions(+), 8 deletions(-) + +diff --git a/src/Misc/layoutbin/runsvc.sh b/src/Misc/layoutbin/runsvc.sh +index c135645..bb0fbf6 100755 +--- a/src/Misc/layoutbin/runsvc.sh ++++ b/src/Misc/layoutbin/runsvc.sh +@@ -4,9 +4,9 @@ + # for more info on how to propagate SIGTERM to a child process see: http://veithen.github.io/2014/11/16/sigterm-propagation.html + trap 'kill -INT $PID' TERM INT + +-if [ -f ".path" ]; then ++if [ -f "${RUNNER_ROOT:-"."}/.path" ]; then + # configure +- export PATH=`cat .path` ++ export PATH=`cat "${RUNNER_ROOT:-"."}/.path"` + echo ".path=${PATH}" + fi + +diff --git a/src/Misc/layoutroot/env.sh b/src/Misc/layoutroot/env.sh +index 641d244..85379bf 100755 +--- a/src/Misc/layoutroot/env.sh ++++ b/src/Misc/layoutroot/env.sh +@@ -16,10 +16,10 @@ varCheckList=( + + envContents="" + +-if [ -f ".env" ]; then +- envContents=`cat .env` ++if [ -f "${RUNNER_ROOT:-"."}/.env" ]; then ++ envContents=`cat "${RUNNER_ROOT:-"."}/.env"` + else +- touch .env ++ touch "${RUNNER_ROOT:-"."}/.env" + fi + + function writeVar() +@@ -29,12 +29,12 @@ function writeVar() + if test "${envContents#*$checkDelim}" = "$envContents" + then + if [ ! -z "${!checkVar}" ]; then +- echo "${checkVar}=${!checkVar}">>.env ++ echo "${checkVar}=${!checkVar}">>"${RUNNER_ROOT:-"."}/.env" + fi + fi + } + +-echo $PATH>.path ++echo $PATH>"${RUNNER_ROOT:-"."}/.path" + + for var_name in ${varCheckList[@]} + do +diff --git a/src/Runner.Listener/Program.cs b/src/Runner.Listener/Program.cs +index d4d5e43..beacc9d 100644 +--- a/src/Runner.Listener/Program.cs ++++ b/src/Runner.Listener/Program.cs +@@ -148,7 +148,7 @@ namespace GitHub.Runner.Listener + private static void LoadAndSetEnv() + { + var binDir = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location); +- var rootDir = new DirectoryInfo(binDir).Parent.FullName; ++ var rootDir = Environment.GetEnvironmentVariable("RUNNER_ROOT") ?? new DirectoryInfo(binDir).Parent.FullName; + string envFile = Path.Combine(rootDir, ".env"); + if (File.Exists(envFile)) + { +-- +2.38.1 + diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/github-runner/patches/host-context-dirs.patch b/nixpkgs/pkgs/development/tools/continuous-integration/github-runner/patches/host-context-dirs.patch new file mode 100644 index 000000000000..662ad9676da9 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/continuous-integration/github-runner/patches/host-context-dirs.patch @@ -0,0 +1,20 @@ +diff --git a/src/Runner.Common/HostContext.cs b/src/Runner.Common/HostContext.cs +index d4ea48c..2ec8455 100644 +--- a/src/Runner.Common/HostContext.cs ++++ b/src/Runner.Common/HostContext.cs +@@ -220,12 +220,13 @@ namespace GitHub.Runner.Common + + case WellKnownDirectory.Externals: + path = Path.Combine( +- GetDirectory(WellKnownDirectory.Root), ++ new DirectoryInfo(GetDirectory(WellKnownDirectory.Bin)).Parent.FullName, + Constants.Path.ExternalsDirectory); + break; + + case WellKnownDirectory.Root: +- path = new DirectoryInfo(GetDirectory(WellKnownDirectory.Bin)).Parent.FullName; ++ path = Environment.GetEnvironmentVariable("RUNNER_ROOT") ++ ?? new DirectoryInfo(GetDirectory(WellKnownDirectory.Bin)).Parent.FullName; + break; + + case WellKnownDirectory.Temp: diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/github-runner/patches/use-get-directory-for-diag.patch b/nixpkgs/pkgs/development/tools/continuous-integration/github-runner/patches/use-get-directory-for-diag.patch new file mode 100644 index 000000000000..2581cb7bb921 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/continuous-integration/github-runner/patches/use-get-directory-for-diag.patch @@ -0,0 +1,25 @@ +diff --git a/src/Runner.Common/HostContext.cs b/src/Runner.Common/HostContext.cs +index 9e43464..a953694 100644 +--- a/src/Runner.Common/HostContext.cs ++++ b/src/Runner.Common/HostContext.cs +@@ -119,7 +119,7 @@ namespace GitHub.Runner.Common + } + + // this should give us _diag folder under runner root directory +- string diagLogDirectory = Path.Combine(new DirectoryInfo(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location)).Parent.FullName, Constants.Path.DiagDirectory); ++ string diagLogDirectory = GetDirectory(WellKnownDirectory.Diag); + _traceManager = new TraceManager(new HostTraceListener(diagLogDirectory, hostType, logPageSize, logRetentionDays), stdoutTraceListener, this.SecretMasker); + } + else +@@ -297,7 +297,10 @@ namespace GitHub.Runner.Common + throw new NotSupportedException($"Unexpected well known directory: '{directory}'"); + } + +- _trace.Info($"Well known directory '{directory}': '{path}'"); ++ if (_trace != null) ++ { ++ _trace.Info($"Well known directory '{directory}': '{path}'"); ++ } + return path; + } + diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/github-runner/update.sh b/nixpkgs/pkgs/development/tools/continuous-integration/github-runner/update.sh new file mode 100755 index 000000000000..26b54bf6ac0e --- /dev/null +++ b/nixpkgs/pkgs/development/tools/continuous-integration/github-runner/update.sh @@ -0,0 +1,19 @@ +#! /usr/bin/env nix-shell +#! nix-shell -I nixpkgs=./. -i bash -p coreutils common-updater-scripts jq curl + +set -euo pipefail + +currentVersion="$(nix --extra-experimental-features nix-command eval -f . github-runner.version --raw)" +latestVersion="$(curl -s -H "Accept: application/vnd.github.v3+json" \ + ${GITHUB_TOKEN:+ -H "Authorization: bearer $GITHUB_TOKEN"} \ + "https://api.github.com/repos/actions/runner/releases/latest" | jq -r ".tag_name")" +latestVersion="${latestVersion#?}" # v2.296.2 -> 2.296.2 + +if [[ "$latestVersion" == "$currentVersion" ]]; then + echo "github-runner is already up to date: $currentVersion" + exit +fi + +update-source-version github-runner "$latestVersion" +$(nix-build -A github-runner.fetch-deps --no-out-link) + diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix new file mode 100644 index 000000000000..e50ade55d9b8 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix @@ -0,0 +1,74 @@ +{ lib, buildGoModule, fetchFromGitLab, fetchurl, bash }: + +let + version = "16.3.0"; +in +buildGoModule rec { + inherit version; + pname = "gitlab-runner"; + + commonPackagePath = "gitlab.com/gitlab-org/gitlab-runner/common"; + ldflags = [ + "-X ${commonPackagePath}.NAME=gitlab-runner" + "-X ${commonPackagePath}.VERSION=${version}" + "-X ${commonPackagePath}.REVISION=v${version}" + ]; + + # For patchShebangs + buildInputs = [ bash ]; + + vendorHash = "sha256-tMhzq9ygUmNi9+mlI9Gvr2nDyG9HQbs8PVusSgadZIE="; + + src = fetchFromGitLab { + owner = "gitlab-org"; + repo = "gitlab-runner"; + rev = "v${version}"; + sha256 = "sha256-YAnHOIpUN1OuNefjCIccZOLwPNMxVBuCRQgX0Tb5bos="; + }; + + patches = [ + ./fix-shell-path.patch + ./remove-bash-test.patch + ]; + + prePatch = '' + # Remove some tests that can't work during a nix build + + # Requires to run in a git repo + sed -i "s/func TestCacheArchiverAddingUntrackedFiles/func OFF_TestCacheArchiverAddingUntrackedFiles/" commands/helpers/file_archiver_test.go + sed -i "s/func TestCacheArchiverAddingUntrackedUnicodeFiles/func OFF_TestCacheArchiverAddingUntrackedUnicodeFiles/" commands/helpers/file_archiver_test.go + + # No writable developer environment + rm common/build_test.go + rm executors/custom/custom_test.go + + # No docker during build + rm executors/docker/terminal_test.go + rm executors/docker/docker_test.go + rm helpers/docker/auth/auth_test.go + rm executors/docker/services_test.go + ''; + + excludedPackages = [ + # CI helper script for pushing images to Docker and ECR registries + # https://gitlab.com/gitlab-org/gitlab-runner/-/merge_requests/4139 + "./scripts/sync-docker-images" + ]; + + postInstall = '' + install packaging/root/usr/share/gitlab-runner/clear-docker-cache $out/bin + ''; + + preCheck = '' + # Make the tests pass outside of GitLab CI + export CI=0 + ''; + + meta = with lib; { + description = "GitLab Runner the continuous integration executor of GitLab"; + license = licenses.mit; + homepage = "https://about.gitlab.com/gitlab-ci/"; + platforms = platforms.unix ++ platforms.darwin; + maintainers = with maintainers; [ bachp zimbatm globin ] ++ teams.gitlab.members; + }; +} diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/gitlab-runner/fix-shell-path.patch b/nixpkgs/pkgs/development/tools/continuous-integration/gitlab-runner/fix-shell-path.patch new file mode 100644 index 000000000000..b70b95e7be0b --- /dev/null +++ b/nixpkgs/pkgs/development/tools/continuous-integration/gitlab-runner/fix-shell-path.patch @@ -0,0 +1,25 @@ +diff --git a/shells/bash.go b/shells/bash.go +index 18d608445..f158ffc0b 100644 +--- a/shells/bash.go ++++ b/shells/bash.go +@@ -3,6 +3,7 @@ package shells + import ( + "bytes" + "fmt" ++ "os/exec" + "path" + "runtime" + "strconv" +@@ -307,7 +308,11 @@ func (b *BashShell) GetConfiguration(info common.ShellScriptInfo) (*common.Shell + + script.Command = "su" + if runtime.GOOS == OSLinux { +- script.Arguments = []string{"-s", "/bin/" + b.Shell, info.User, "-c", script.CmdLine} ++ shellPath, err := exec.LookPath(b.Shell) ++ if err != nil { ++ shellPath = "/bin/" + b.Shell ++ } ++ script.Arguments = []string{"-s", shellPath, info.User, "-c", script.CmdLine} + } else { + script.Arguments = []string{info.User, "-c", script.CmdLine} + } diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/gitlab-runner/remove-bash-test.patch b/nixpkgs/pkgs/development/tools/continuous-integration/gitlab-runner/remove-bash-test.patch new file mode 100644 index 000000000000..6f27ef71c957 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/continuous-integration/gitlab-runner/remove-bash-test.patch @@ -0,0 +1,82 @@ +diff --git a/shells/bash_test.go b/shells/bash_test.go +index 9ed9e65ff..02b6e6d5f 100644 +--- a/shells/bash_test.go ++++ b/shells/bash_test.go +@@ -4,11 +4,9 @@ package shells + + import ( + "path" +- "runtime" + "testing" + + "github.com/stretchr/testify/assert" +- "github.com/stretchr/testify/require" + "gitlab.com/gitlab-org/gitlab-runner/common" + ) + +@@ -90,65 +88,6 @@ func TestBash_CheckForErrors(t *testing.T) { + } + } + +-func TestBash_GetConfiguration(t *testing.T) { +- tests := map[string]struct { +- info common.ShellScriptInfo +- cmd string +- args []string +- os string +- }{ +- `bash`: { +- info: common.ShellScriptInfo{Shell: "bash", Type: common.NormalShell}, +- cmd: "bash", +- }, +- `bash -l`: { +- info: common.ShellScriptInfo{Shell: "bash", Type: common.LoginShell}, +- cmd: "bash", +- args: []string{"-l"}, +- }, +- `su -s /bin/bash foobar -c bash`: { +- info: common.ShellScriptInfo{Shell: "bash", User: "foobar", Type: common.NormalShell}, +- cmd: "su", +- args: []string{"-s", "/bin/bash", "foobar", "-c", "bash"}, +- os: OSLinux, +- }, +- `su -s /bin/bash foobar -c $'bash -l'`: { +- info: common.ShellScriptInfo{Shell: "bash", User: "foobar", Type: common.LoginShell}, +- cmd: "su", +- args: []string{"-s", "/bin/bash", "foobar", "-c", "bash -l"}, +- os: OSLinux, +- }, +- `su -s /bin/sh foobar -c $'sh -l'`: { +- info: common.ShellScriptInfo{Shell: "sh", User: "foobar", Type: common.LoginShell}, +- cmd: "su", +- args: []string{"-s", "/bin/sh", "foobar", "-c", "sh -l"}, +- os: OSLinux, +- }, +- `su foobar -c $'bash -l'`: { +- info: common.ShellScriptInfo{Shell: "bash", User: "foobar", Type: common.LoginShell}, +- cmd: "su", +- args: []string{"foobar", "-c", "bash -l"}, +- os: "darwin", +- }, +- } +- +- for tn, tc := range tests { +- t.Run(tn, func(t *testing.T) { +- if tc.os != "" && tc.os != runtime.GOOS { +- t.Skipf("test only runs on %s", tc.os) +- } +- +- sh := BashShell{Shell: tc.info.Shell} +- config, err := sh.GetConfiguration(tc.info) +- require.NoError(t, err) +- +- assert.Equal(t, tc.cmd, config.Command) +- assert.Equal(t, tc.args, config.Arguments) +- assert.Equal(t, tn, config.CmdLine) +- }) +- } +-} +- + func Test_BashWriter_isTmpFile(t *testing.T) { + tmpDir := "/foo/bar" + bw := BashWriter{TemporaryPath: tmpDir} diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/gocd-agent/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/gocd-agent/default.nix new file mode 100644 index 000000000000..6a6c5674bb67 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/continuous-integration/gocd-agent/default.nix @@ -0,0 +1,30 @@ +{ lib, stdenv, fetchurl, unzip }: + +stdenv.mkDerivation rec { + pname = "gocd-agent"; + version = "23.1.0"; + rev = "16079"; + + src = fetchurl { + url = "https://download.go.cd/binaries/${version}-${rev}/generic/go-agent-${version}-${rev}.zip"; + sha256 = "sha256-L2MOkbVHoQu99lKrbnsNkhuU0SZ8VANSK72GZrGLbiQ="; + }; + meta = with lib; { + description = "A continuous delivery server specializing in advanced workflow modeling and visualization"; + homepage = "http://www.go.cd"; + license = licenses.asl20; + platforms = platforms.all; + sourceProvenance = with sourceTypes; [ + binaryBytecode + binaryNativeCode + ]; + maintainers = with maintainers; [ grahamc swarren83 ]; + }; + + nativeBuildInputs = [ unzip ]; + + buildCommand = " + unzip $src -d $out + mv $out/go-agent-${version} $out/go-agent + "; +} diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/gocd-server/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/gocd-server/default.nix new file mode 100644 index 000000000000..6fc577225f42 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/continuous-integration/gocd-server/default.nix @@ -0,0 +1,41 @@ +{ lib +, stdenv +, fetchurl +, unzip +, nixosTests +}: + +stdenv.mkDerivation rec { + pname = "gocd-server"; + version = "23.1.0"; + rev = "16079"; + + src = fetchurl { + url = "https://download.go.cd/binaries/${version}-${rev}/generic/go-server-${version}-${rev}.zip"; + sha256 = "sha256-//d6izGm1odE25H/PI5pn51FfUL4/6GbLwKUKAqZ3Kw="; + }; + + meta = with lib; { + description = "A continuous delivery server specializing in advanced workflow modeling and visualization"; + homepage = "http://www.go.cd"; + license = licenses.asl20; + platforms = platforms.all; + sourceProvenance = with sourceTypes; [ + binaryBytecode + binaryNativeCode + ]; + maintainers = with maintainers; [ grahamc swarren83 ]; + }; + + nativeBuildInputs = [ unzip ]; + + passthru.tests = { + inherit (nixosTests) gocd-server; + }; + + buildCommand = " + unzip $src -d $out + mv $out/go-server-${version} $out/go-server + mkdir -p $out/go-server/conf + "; +} diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/hci/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/hci/default.nix new file mode 100644 index 000000000000..5060d0aeda01 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/continuous-integration/hci/default.nix @@ -0,0 +1,23 @@ +{ haskell, haskellPackages, lib, makeWrapper, runc, stdenv }: +let + inherit (haskell.lib.compose) overrideCabal addBuildTools justStaticExecutables; + inherit (lib) makeBinPath; + bundledBins = lib.optional stdenv.isLinux runc; + + pkg = + # justStaticExecutables is needed due to https://github.com/NixOS/nix/issues/2990 + overrideCabal + (o: { + postInstall = '' + ${o.postInstall or ""} + mkdir -p $out/libexec + mv $out/bin/hci $out/libexec + makeWrapper $out/libexec/hci $out/bin/hci --prefix PATH : ${lib.escapeShellArg (makeBinPath bundledBins)} + ''; + }) + (addBuildTools [ makeWrapper ] (justStaticExecutables haskellPackages.hercules-ci-cli)); +in pkg // { + meta = pkg.meta // { + position = toString ./default.nix + ":1"; + }; + } diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/hercules-ci-agent/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/hercules-ci-agent/default.nix new file mode 100644 index 000000000000..c5c52d29d3aa --- /dev/null +++ b/nixpkgs/pkgs/development/tools/continuous-integration/hercules-ci-agent/default.nix @@ -0,0 +1,72 @@ +{ + git, + gnutar, + gzip, + haskell, + haskellPackages, + lib, + makeBinaryWrapper, + nixos, + openssh, + runc, + stdenv, + testers, +}: +let + inherit (haskell.lib.compose) overrideCabal addBuildTools justStaticExecutables; + inherit (lib) makeBinPath; + bundledBins = [ gnutar gzip git openssh ] ++ lib.optional stdenv.isLinux runc; + + pkg = + # justStaticExecutables is needed due to https://github.com/NixOS/nix/issues/2990 + overrideCabal + (o: { + postInstall = '' + ${o.postInstall or ""} + mkdir -p $out/libexec + mv $out/bin/hercules-ci-agent $out/libexec + makeWrapper $out/libexec/hercules-ci-agent $out/bin/hercules-ci-agent --prefix PATH : ${lib.escapeShellArg (makeBinPath bundledBins)} + ''; + }) + (addBuildTools [ makeBinaryWrapper ] (justStaticExecutables haskellPackages.hercules-ci-agent)); +in pkg.overrideAttrs (finalAttrs: o: { + meta = o.meta // { + position = toString ./default.nix + ":1"; + }; + passthru = o.passthru // { + tests = { + version = testers.testVersion { + package = finalAttrs.finalPackage; + command = "hercules-ci-agent --help"; + }; + } // lib.optionalAttrs (stdenv.isLinux) { + # Does not test the package, but evaluation of the related NixOS module. + nixos-simple-config = (nixos { + boot.loader.grub.enable = false; + fileSystems."/".device = "bogus"; + services.hercules-ci-agent.enable = true; + # Dummy value for testing only. + system.stateVersion = lib.trivial.release; # TEST ONLY + }).config.system.build.toplevel; + + nixos-many-options-config = (nixos ({ pkgs, ... }: { + boot.loader.grub.enable = false; + fileSystems."/".device = "bogus"; + services.hercules-ci-agent = { + enable = true; + package = pkgs.hercules-ci-agent; + settings = { + workDirectory = "/var/tmp/hci"; + binaryCachesPath = "/var/keys/binary-caches.json"; + labels.foo.bar.baz = "qux"; + labels.qux = ["q" "u"]; + apiBaseUrl = "https://hci.dev.biz.example.com"; + concurrentTasks = 42; + }; + }; + # Dummy value for testing only. + system.stateVersion = lib.trivial.release; # TEST ONLY + })).config.system.build.toplevel; + }; + }; + }) diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/jenkins/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/jenkins/default.nix new file mode 100644 index 000000000000..46d4e911c077 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/continuous-integration/jenkins/default.nix @@ -0,0 +1,77 @@ +{ lib, stdenv, fetchurl, common-updater-scripts, coreutils, git, gnused +, makeWrapper, nix, nixfmt, openjdk, writeScript, nixosTests, jq, cacert, curl +}: + +stdenv.mkDerivation rec { + pname = "jenkins"; + version = "2.414.1"; + + src = fetchurl { + url = "https://get.jenkins.io/war-stable/${version}/jenkins.war"; + hash = "sha256-8lI/m1/lAZn2j2D5a2vvnKEA4YCZ4+PaeppJroxHsBU="; + }; + + nativeBuildInputs = [ makeWrapper ]; + + buildCommand = '' + mkdir -p "$out/bin" "$out/share" "$out/webapps" + + cp "$src" "$out/webapps/jenkins.war" + + # Create the `jenkins-cli` command. + ${openjdk}/bin/jar -xf "$src" WEB-INF/lib/cli-${version}.jar \ + && mv WEB-INF/lib/cli-${version}.jar "$out/share/jenkins-cli.jar" + + makeWrapper "${openjdk}/bin/java" "$out/bin/jenkins-cli" \ + --add-flags "-jar $out/share/jenkins-cli.jar" + ''; + + passthru = { + tests = { inherit (nixosTests) jenkins jenkins-cli; }; + + updateScript = writeScript "update.sh" '' + #!${stdenv.shell} + set -o errexit + PATH=${ + lib.makeBinPath [ + cacert + common-updater-scripts + coreutils + curl + git + gnused + jq + nix + nixfmt + ] + } + + core_json="$(curl -s --fail --location https://updates.jenkins.io/stable/update-center.actual.json | jq .core)" + oldVersion=$(nix-instantiate --eval -E "with import ./. {}; lib.getVersion jenkins" | tr -d '"') + + version="$(jq -r .version <<<$core_json)" + sha256="$(jq -r .sha256 <<<$core_json)" + hash="$(nix hash to-sri --type sha256 "$sha256")" + + if [ ! "$oldVersion" = "$version" ]; then + update-source-version jenkins "$version" "$hash" + nixpkgs="$(git rev-parse --show-toplevel)" + default_nix="$nixpkgs/pkgs/development/tools/continuous-integration/jenkins/default.nix" + nixfmt "$default_nix" + else + echo "jenkins is already up-to-date" + fi + ''; + }; + + meta = with lib; { + description = "An extendable open source continuous integration server"; + homepage = "https://jenkins.io/"; + sourceProvenance = with sourceTypes; [ binaryBytecode ]; + license = licenses.mit; + maintainers = with maintainers; [ coconnor earldouglas nequissimus ajs124 ]; + changelog = "https://www.jenkins.io/changelog-stable/#v${version}"; + mainProgram = "jenkins-cli"; + platforms = platforms.all; + }; +} diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/laminar/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/laminar/default.nix new file mode 100644 index 000000000000..e32d3e4a9701 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/continuous-integration/laminar/default.nix @@ -0,0 +1,67 @@ +{ stdenv +, lib +, fetchurl +, fetchFromGitHub +, cmake +, capnproto +, sqlite +, boost +, zlib +, rapidjson +, pandoc +}: +let + js.vue = fetchurl { + url = "https://cdnjs.cloudflare.com/ajax/libs/vue/2.6.12/vue.min.js"; + sha256 = "1hm5kci2g6n5ikrvp1kpkkdzimjgylv1xicg2vnkbvd9rb56qa99"; + }; + js.ansi_up = fetchurl { + url = "https://raw.githubusercontent.com/drudru/ansi_up/v4.0.4/ansi_up.js"; + sha256 = "1dx8wn38ds8d01kkih26fx1yrisg3kpz61qynjr4zil03ap0hrlr"; + }; + js.Chart = fetchurl { + url = "https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.9.1/chart.min.js"; + hash = "sha256-+8RZJua0aEWg+QVVKg4LEzEEm/8RFez5Tb4JBNiV5xA="; + }; +in stdenv.mkDerivation rec { + pname = "laminar"; + version = "1.3"; + outputs = [ "out" "doc" ]; + src = fetchFromGitHub { + owner = "ohwgiles"; + repo = "laminar"; + rev = version; + hash = "sha256-eo5WzvmjBEe0LAfZdQ/U0XepEE2kdWKKiyE4HOi3RXk="; + }; + patches = [ ./patches/no-network.patch ]; + + # We need both binary from "capnproto" and library files. + nativeBuildInputs = [ cmake pandoc capnproto ]; + buildInputs = [ capnproto sqlite boost zlib rapidjson ]; + cmakeFlags = [ "-DLAMINAR_VERSION=${version}" ]; + + preBuild = '' + mkdir -p js css + cp ${js.vue} js/vue.min.js + cp ${js.ansi_up} js/ansi_up.js + cp ${js.Chart} js/Chart.min.js + ''; + + postInstall = '' + mv $out/usr/share/* $out/share/ + rmdir $out/usr/share $out/usr + + mkdir -p $out/share/doc/laminar + pandoc -s ../UserManual.md -o $out/share/doc/laminar/UserManual.html + rm -rf $out/lib # remove upstream systemd units + rm -rf $out/etc # remove upstream config file + ''; + + meta = with lib; { + description = "Lightweight and modular continuous integration service"; + homepage = "https://laminar.ohwg.net"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ kaction maralorn ]; + }; +} diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/laminar/patches/no-network.patch b/nixpkgs/pkgs/development/tools/continuous-integration/laminar/patches/no-network.patch new file mode 100644 index 000000000000..7b4d3134d69f --- /dev/null +++ b/nixpkgs/pkgs/development/tools/continuous-integration/laminar/patches/no-network.patch @@ -0,0 +1,39 @@ +Build system that downloads stuff from network is bad. Build system that +does so unconditionally is twice as bad. + +Required files are downloaded as separate fixed-output derivations and +put into correct location before build phase starts. + +--- laminar-1.3/CMakeLists.txt ++++ laminar-1.3-new/CMakeLists.txt +@@ -82,13 +82,6 @@ + COMMAND sh -c '( echo -n "\\#define INDEX_HTML_UNCOMPRESSED_SIZE " && wc -c < "${CMAKE_SOURCE_DIR}/src/resources/index.html" ) > index_html_size.h' + DEPENDS src/resources/index.html) + +-# Download 3rd-party frontend JS libs... +-file(DOWNLOAD https://cdnjs.cloudflare.com/ajax/libs/vue/2.6.12/vue.min.js +- js/vue.min.js EXPECTED_MD5 fb192338844efe86ec759a40152fcb8e) +-file(DOWNLOAD https://raw.githubusercontent.com/drudru/ansi_up/v4.0.4/ansi_up.js +- js/ansi_up.js EXPECTED_MD5 b31968e1a8fed0fa82305e978161f7f5) +-file(DOWNLOAD https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.9.1/chart.min.js +- js/Chart.min.js EXPECTED_MD5 7dd5ea7d2cf22a1c42b43c40093d2669) + # ...and compile them + generate_compressed_bins(${CMAKE_BINARY_DIR} js/vue.min.js + js/ansi_up.js js/Chart.min.js) +@@ -139,12 +132,12 @@ + target_link_libraries(laminar-tests ${GTEST_LIBRARIES} capnp-rpc capnp kj-http kj-async kj pthread sqlite3 z) + endif() + +-set(SYSTEMD_UNITDIR /lib/systemd/system CACHE PATH "Path to systemd unit files") +-set(BASH_COMPLETIONS_DIR /usr/share/bash-completion/completions CACHE PATH "Path to bash completions directory") +-set(ZSH_COMPLETIONS_DIR /usr/share/zsh/site-functions CACHE PATH "Path to zsh completions directory") ++set(SYSTEMD_UNITDIR lib/systemd/system CACHE PATH "Path to systemd unit files") ++set(BASH_COMPLETIONS_DIR usr/share/bash-completion/completions CACHE PATH "Path to bash completions directory") ++set(ZSH_COMPLETIONS_DIR usr/share/zsh/site-functions CACHE PATH "Path to zsh completions directory") + install(TARGETS laminard RUNTIME DESTINATION sbin) + install(TARGETS laminarc RUNTIME DESTINATION bin) +-install(FILES etc/laminar.conf DESTINATION /etc) ++install(FILES etc/laminar.conf DESTINATION etc) + install(FILES etc/laminarc-completion.bash DESTINATION ${BASH_COMPLETIONS_DIR} RENAME laminarc) + install(FILES etc/laminarc-completion.zsh DESTINATION ${ZSH_COMPLETIONS_DIR} RENAME _laminarc) + diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/woodpecker-pipeline-transform/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/woodpecker-pipeline-transform/default.nix new file mode 100644 index 000000000000..af05fafea40b --- /dev/null +++ b/nixpkgs/pkgs/development/tools/continuous-integration/woodpecker-pipeline-transform/default.nix @@ -0,0 +1,23 @@ +{ lib, buildGoModule, fetchFromGitea }: +buildGoModule rec { + pname = "woodpecker-pipeline-transform"; + version = "0.1.1"; + + src = fetchFromGitea { + domain = "codeberg.org"; + owner = "lafriks"; + repo = "woodpecker-pipeline-transform"; + rev = "v${version}"; + sha256 = "sha256-tWDMbOkajZ3BB32Vl630EZrY+Owm72MD2Z2JjMucVkI="; + }; + + vendorHash = "sha256-qKzGALMagf6QHeLdABfNGG4f/3K/F6CjVYjOJtyTNoM="; + + meta = with lib; { + description = "Utility to convert different pipelines to Woodpecker CI pipelines"; + homepage = "https://codeberg.org/lafriks/woodpecker-pipeline-transform"; + license = licenses.mit; + mainProgram = "pipeline-convert"; + maintainers = with maintainers; [ ambroisie ]; + }; +} diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/woodpecker-plugin-git/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/woodpecker-plugin-git/default.nix new file mode 100644 index 000000000000..dfca2742b58b --- /dev/null +++ b/nixpkgs/pkgs/development/tools/continuous-integration/woodpecker-plugin-git/default.nix @@ -0,0 +1,42 @@ +{ lib +, buildGoModule +, fetchFromGitHub +, testers +, woodpecker-plugin-git +}: + +buildGoModule rec { + pname = "woodpecker-plugin-git"; + version = "2.1.1"; + + src = fetchFromGitHub { + owner = "woodpecker-ci"; + repo = "plugin-git"; + rev = "refs/tags/${version}"; + hash = "sha256-siPLI463qUQs9tBMlmrMv6G5ry0JrEEIelpid9/cf88="; + }; + + vendorHash = "sha256-ol5k37gGFsyeEnGOVcJaerkIejShHyNCBu4RZ8WyHvU="; + + CGO_ENABLED = "0"; + + ldflags = [ + "-s" + "-w" + "-X main.version=${version}" + ]; + + # Checks fail because they require network access. + doCheck = false; + + passthru.tests.version = testers.testVersion { package = woodpecker-plugin-git; }; + + meta = with lib; { + description = "Woodpecker plugin for cloning Git repositories."; + homepage = "https://woodpecker-ci.org/"; + changelog = "https://github.com/woodpecker-ci/plugin-git/releases/tag/${version}"; + license = licenses.asl20; + mainProgram = "plugin-git"; + maintainers = with maintainers; [ ambroisie ]; + }; +} diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/woodpecker/agent.nix b/nixpkgs/pkgs/development/tools/continuous-integration/woodpecker/agent.nix new file mode 100644 index 000000000000..5bbc4cf99cea --- /dev/null +++ b/nixpkgs/pkgs/development/tools/continuous-integration/woodpecker/agent.nix @@ -0,0 +1,17 @@ +{ buildGoModule, callPackage }: +let + common = callPackage ./common.nix { }; +in +buildGoModule { + pname = "woodpecker-agent"; + inherit (common) version src ldflags postInstall vendorHash; + + subPackages = "cmd/agent"; + + CGO_ENABLED = 0; + + meta = common.meta // { + description = "Woodpecker Continuous Integration agent"; + mainProgram = "woodpecker-agent"; + }; +} diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/woodpecker/cli.nix b/nixpkgs/pkgs/development/tools/continuous-integration/woodpecker/cli.nix new file mode 100644 index 000000000000..d1f1da881681 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/continuous-integration/woodpecker/cli.nix @@ -0,0 +1,17 @@ +{ buildGoModule, callPackage }: +let + common = callPackage ./common.nix { }; +in +buildGoModule { + pname = "woodpecker-cli"; + inherit (common) version src ldflags postInstall vendorHash; + + subPackages = "cmd/cli"; + + CGO_ENABLED = 0; + + meta = common.meta // { + description = "Command line client for the Woodpecker Continuous Integration server"; + mainProgram = "woodpecker-cli"; + }; +} diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/woodpecker/common.nix b/nixpkgs/pkgs/development/tools/continuous-integration/woodpecker/common.nix new file mode 100644 index 000000000000..f44f48d6e2ad --- /dev/null +++ b/nixpkgs/pkgs/development/tools/continuous-integration/woodpecker/common.nix @@ -0,0 +1,38 @@ +{ lib, fetchFromGitHub }: +let + version = "1.0.2"; + srcHash = "sha256-OeOKR9lTGXU2qumyXq3s/CI56IX4XiI/ZTRHNoY6MEI="; + vendorHash = "sha256-+2wQKNyCb9xtB1TeE1/oSMEvKoXVX9ARZxsNqE2rfrg="; + yarnHash = "sha256-QNeQwWU36A05zaARWmqEOhfyZRW68OgF4wTonQLYQfs="; +in +{ + inherit version yarnHash vendorHash; + + src = fetchFromGitHub { + owner = "woodpecker-ci"; + repo = "woodpecker"; + rev = "v${version}"; + hash = srcHash; + }; + + postInstall = '' + cd $out/bin + for f in *; do + mv -- "$f" "woodpecker-$f" + done + cd - + ''; + + ldflags = [ + "-s" + "-w" + "-X github.com/woodpecker-ci/woodpecker/version.Version=${version}" + ]; + + meta = with lib; { + homepage = "https://woodpecker-ci.org/"; + changelog = "https://github.com/woodpecker-ci/woodpecker/blob/v${version}/CHANGELOG.md"; + license = licenses.asl20; + maintainers = with maintainers; [ ambroisie techknowlogick adamcstephens ]; + }; +} diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/woodpecker/frontend.nix b/nixpkgs/pkgs/development/tools/continuous-integration/woodpecker/frontend.nix new file mode 100644 index 000000000000..01767d6fe00e --- /dev/null +++ b/nixpkgs/pkgs/development/tools/continuous-integration/woodpecker/frontend.nix @@ -0,0 +1,57 @@ +{ lib, buildPackages, callPackage, fetchFromGitHub, fetchYarnDeps, mkYarnPackage }: +let + common = callPackage ./common.nix { }; + + esbuild_0_17_19 = buildPackages.esbuild.overrideAttrs (_: rec { + version = "0.17.19"; + + src = fetchFromGitHub { + owner = "evanw"; + repo = "esbuild"; + rev = "v${version}"; + hash = "sha256-PLC7OJLSOiDq4OjvrdfCawZPfbfuZix4Waopzrj8qsU="; + }; + + vendorHash = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ="; + }); +in +mkYarnPackage { + pname = "woodpecker-frontend"; + inherit (common) version; + + src = "${common.src}/web"; + + packageJSON = ./woodpecker-package.json; + yarnLock = ./yarn.lock; + + offlineCache = fetchYarnDeps { + yarnLock = ./yarn.lock; + hash = common.yarnHash; + }; + + ESBUILD_BINARY_PATH = lib.getExe esbuild_0_17_19; + + buildPhase = '' + runHook preBuild + + yarn --offline build + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + cp -R deps/woodpecker-ci/dist $out + echo "${common.version}" > "$out/version" + + runHook postInstall + ''; + + # Do not attempt generating a tarball for woodpecker-frontend again. + doDist = false; + + meta = common.meta // { + description = "Woodpecker Continuous Integration server frontend"; + }; +} diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/woodpecker/server.nix b/nixpkgs/pkgs/development/tools/continuous-integration/woodpecker/server.nix new file mode 100644 index 000000000000..874949dff2f4 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/continuous-integration/woodpecker/server.nix @@ -0,0 +1,27 @@ +{ buildGoModule, callPackage, woodpecker-frontend }: +let + common = callPackage ./common.nix { }; +in +buildGoModule { + pname = "woodpecker-server"; + inherit (common) version src ldflags postInstall vendorHash; + + postPatch = '' + cp -r ${woodpecker-frontend} web/dist + ''; + + subPackages = "cmd/server"; + + CGO_ENABLED = 1; + + passthru = { + inherit woodpecker-frontend; + + updateScript = ./update.sh; + }; + + meta = common.meta // { + description = "Woodpecker Continuous Integration server"; + mainProgram = "woodpecker-server"; + }; +} diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/woodpecker/update.sh b/nixpkgs/pkgs/development/tools/continuous-integration/woodpecker/update.sh new file mode 100755 index 000000000000..bfe948e8f507 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/continuous-integration/woodpecker/update.sh @@ -0,0 +1,53 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p nix wget prefetch-yarn-deps nix-prefetch-github jq nix-prefetch pnpm-lock-export + +# shellcheck shell=bash + +if [ -n "$GITHUB_TOKEN" ]; then + TOKEN_ARGS=(--header "Authorization: token $GITHUB_TOKEN") +fi + +if [[ $# -gt 1 || $1 == -* ]]; then + echo "Regenerates packaging data for the woodpecker packages." + echo "Usage: $0 [git release tag]" + exit 1 +fi + +set -x + +cd "$(dirname "$0")" +version="$1" + +set -euo pipefail + +if [ -z "$version" ]; then + version="$(wget -O- "${TOKEN_ARGS[@]}" "https://api.github.com/repos/woodpecker-ci/woodpecker/releases?per_page=1" | jq -r '.[0].tag_name')" +fi + +# strip leading "v" +version="${version#v}" + +# Woodpecker repository +src_hash=$(nix-prefetch-github woodpecker-ci woodpecker --rev "v${version}" | jq -r .hash) + +# Go modules +vendorHash=$(nix-prefetch '{ sha256 }: (callPackage (import ./cli.nix) { }).goModules.overrideAttrs (_: { modHash = sha256; })') + +# Front-end dependencies +woodpecker_src="https://raw.githubusercontent.com/woodpecker-ci/woodpecker/v$version" +wget "${TOKEN_ARGS[@]}" "$woodpecker_src/web/package.json" -O woodpecker-package.json + +trap 'rm -rf pnpm-lock.yaml' EXIT +wget "${TOKEN_ARGS[@]}" "$woodpecker_src/web/pnpm-lock.yaml" +pnpm-lock-export --schema yarn.lock@v1 +yarn_hash=$(prefetch-yarn-deps yarn.lock) + +# Use friendlier hashes +src_hash=$(nix hash to-sri --type sha256 "$src_hash") +vendorHash=$(nix hash to-sri --type sha256 "$vendorHash") +yarn_hash=$(nix hash to-sri --type sha256 "$yarn_hash") + +sed -i -E -e "s#version = \".*\"#version = \"$version\"#" common.nix +sed -i -E -e "s#srcHash = \".*\"#srcHash = \"$src_hash\"#" common.nix +sed -i -E -e "s#vendorHash = \".*\"#vendorHash = \"$vendorHash\"#" common.nix +sed -i -E -e "s#yarnHash = \".*\"#yarnHash = \"$yarn_hash\"#" common.nix diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/woodpecker/woodpecker-package.json b/nixpkgs/pkgs/development/tools/continuous-integration/woodpecker/woodpecker-package.json new file mode 100644 index 000000000000..b92624a01c27 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/continuous-integration/woodpecker/woodpecker-package.json @@ -0,0 +1,76 @@ +{ + "name": "woodpecker-ci", + "author": "Woodpecker CI", + "version": "0.0.0", + "license": "Apache-2.0", + "engines": { + "node": ">=14" + }, + "scripts": { + "start": "vite", + "build": "vite build --base=/BASE_PATH", + "serve": "vite preview", + "lint": "eslint --max-warnings 0 --ext .js,.ts,.vue,.json .", + "formatcheck": "prettier -c .", + "format:fix": "prettier --write .", + "typecheck": "vue-tsc --noEmit", + "test": "echo 'No tests configured' && exit 0" + }, + "dependencies": { + "@intlify/unplugin-vue-i18n": "^0.10.1", + "@kyvg/vue3-notification": "^2.9.1", + "@vueuse/core": "^9.13.0", + "ansi_up": "^5.2.1", + "dayjs": "^1.11.9", + "floating-vue": "^2.0.0-beta.24", + "fuse.js": "^6.6.2", + "humanize-duration": "^3.28.0", + "javascript-time-ago": "^2.5.9", + "lodash": "^4.17.21", + "node-emoji": "^1.11.0", + "pinia": "^2.1.4", + "prismjs": "^1.29.0", + "vue": "^3.3.4", + "vue-i18n": "^9.2.2", + "vue-router": "^4.2.2" + }, + "devDependencies": { + "@iconify/json": "^2.2.85", + "@types/humanize-duration": "^3.27.1", + "@types/javascript-time-ago": "^2.0.3", + "@types/lodash": "^4.14.195", + "@types/node": "^18.16.19", + "@types/node-emoji": "^1.8.2", + "@types/prismjs": "^1.26.0", + "@typescript-eslint/eslint-plugin": "^5.60.1", + "@typescript-eslint/parser": "^5.60.1", + "@vitejs/plugin-vue": "^4.2.3", + "@vue/compiler-sfc": "^3.3.4", + "eslint": "^8.44.0", + "eslint-config-airbnb-base": "^15.0.0", + "eslint-config-airbnb-typescript": "^17.0.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-import": "^2.27.5", + "eslint-plugin-prettier": "^4.2.1", + "eslint-plugin-promise": "^6.1.1", + "eslint-plugin-simple-import-sort": "^10.0.0", + "eslint-plugin-vue": "^9.15.1", + "eslint-plugin-vue-scoped-css": "^2.5.0", + "prettier": "^2.8.8", + "typescript": "5.0.3", + "unplugin-icons": "^0.16.3", + "unplugin-vue-components": "^0.24.1", + "vite": "^4.3.9", + "vite-plugin-prismjs": "^0.0.8", + "vite-plugin-windicss": "^1.9.0", + "vite-svg-loader": "^4.0.0", + "vue-eslint-parser": "^9.3.1", + "vue-tsc": "^1.8.3", + "windicss": "^3.5.6" + }, + "pnpm": { + "overrides": { + "semver@<7.5.2": ">=7.5.2" + } + } +} diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/woodpecker/yarn.lock b/nixpkgs/pkgs/development/tools/continuous-integration/woodpecker/yarn.lock new file mode 100644 index 000000000000..22790763a429 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/continuous-integration/woodpecker/yarn.lock @@ -0,0 +1,3219 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@aashutoshrathi/word-wrap@1.2.6": + version "1.2.6" + resolved "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz" + integrity "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==" + +"@ampproject/remapping@2.2.1": + version "2.2.1" + resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz" + integrity "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==" + dependencies: + "@jridgewell/gen-mapping" "0.3.3" + "@jridgewell/trace-mapping" "0.3.18" + +"@antfu/install-pkg@0.1.1": + version "0.1.1" + resolved "https://registry.npmjs.org/@antfu/install-pkg/-/install-pkg-0.1.1.tgz" + integrity "sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ==" + dependencies: + "execa" "5.1.1" + "find-up" "5.0.0" + +"@antfu/utils@0.7.4": + version "0.7.4" + resolved "https://registry.npmjs.org/@antfu/utils/-/utils-0.7.4.tgz" + integrity "sha512-qe8Nmh9rYI/HIspLSTwtbMFPj6dISG6+dJnOguTlPNXtCvS2uezdxscVBb7/3DrmNbQK49TDqpkSQ1chbRGdpQ==" + +"@babel/code-frame@7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz" + integrity "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==" + dependencies: + "@babel/highlight" "7.22.5" + +"@babel/compat-data@7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.5.tgz" + integrity "sha512-4Jc/YuIaYqKnDDz892kPIledykKg12Aw1PYX5i/TY28anJtacvM1Rrr8wbieB9GfEJwlzqT0hUEao0CxEebiDA==" + +"@babel/core@7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/core/-/core-7.22.5.tgz" + integrity "sha512-SBuTAjg91A3eKOvD+bPEz3LlhHZRNu1nFOVts9lzDJTXshHTjII0BAtDS3Y2DAkdZdDKWVZGVwkDfc4Clxn1dg==" + dependencies: + "@ampproject/remapping" "2.2.1" + "@babel/code-frame" "7.22.5" + "@babel/generator" "7.22.5" + "@babel/helper-compilation-targets" "7.22.5" + "@babel/helper-module-transforms" "7.22.5" + "@babel/helpers" "7.22.5" + "@babel/parser" "7.22.5" + "@babel/template" "7.22.5" + "@babel/traverse" "7.22.5" + "@babel/types" "7.22.5" + "convert-source-map" "1.9.0" + "debug" "4.3.4" + "gensync" "1.0.0-beta.2" + "json5" "2.2.3" + "semver" "7.5.3" + +"@babel/generator@7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.22.5.tgz" + integrity "sha512-+lcUbnTRhd0jOewtFSedLyiPsD5tswKkbgcezOqqWFUVNEwoUTlpPOBmvhG7OXWLR4jMdv0czPGH5XbflnD1EA==" + dependencies: + "@babel/types" "7.22.5" + "@jridgewell/gen-mapping" "0.3.3" + "@jridgewell/trace-mapping" "0.3.18" + "jsesc" "2.5.2" + +"@babel/helper-compilation-targets@7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.5.tgz" + integrity "sha512-Ji+ywpHeuqxB8WDxraCiqR0xfhYjiDE/e6k7FuIaANnoOFxAHskHChz4vA1mJC9Lbm01s1PVAGhQY4FUKSkGZw==" + dependencies: + "@babel/compat-data" "7.22.5" + "@babel/core" "7.22.5" + "@babel/helper-validator-option" "7.22.5" + "browserslist" "4.21.9" + "lru-cache" "5.1.1" + "semver" "7.5.3" + +"@babel/helper-environment-visitor@7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz" + integrity "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==" + +"@babel/helper-function-name@7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz" + integrity "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==" + dependencies: + "@babel/template" "7.22.5" + "@babel/types" "7.22.5" + +"@babel/helper-hoist-variables@7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz" + integrity "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==" + dependencies: + "@babel/types" "7.22.5" + +"@babel/helper-module-imports@7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz" + integrity "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==" + dependencies: + "@babel/types" "7.22.5" + +"@babel/helper-module-transforms@7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.5.tgz" + integrity "sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw==" + dependencies: + "@babel/helper-environment-visitor" "7.22.5" + "@babel/helper-module-imports" "7.22.5" + "@babel/helper-simple-access" "7.22.5" + "@babel/helper-split-export-declaration" "7.22.5" + "@babel/helper-validator-identifier" "7.22.5" + "@babel/template" "7.22.5" + "@babel/traverse" "7.22.5" + "@babel/types" "7.22.5" + +"@babel/helper-simple-access@7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz" + integrity "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==" + dependencies: + "@babel/types" "7.22.5" + +"@babel/helper-split-export-declaration@7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.5.tgz" + integrity "sha512-thqK5QFghPKWLhAV321lxF95yCg2K3Ob5yw+M3VHWfdia0IkPXUtoLH8x/6Fh486QUvzhb8YOWHChTVen2/PoQ==" + dependencies: + "@babel/types" "7.22.5" + +"@babel/helper-string-parser@7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz" + integrity "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==" + +"@babel/helper-validator-identifier@7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz" + integrity "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==" + +"@babel/helper-validator-option@7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz" + integrity "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==" + +"@babel/helpers@7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.5.tgz" + integrity "sha512-pSXRmfE1vzcUIDFQcSGA5Mr+GxBV9oiRKDuDxXvWQQBCh8HoIjs/2DlDB7H8smac1IVrB9/xdXj2N3Wol9Cr+Q==" + dependencies: + "@babel/template" "7.22.5" + "@babel/traverse" "7.22.5" + "@babel/types" "7.22.5" + +"@babel/highlight@7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz" + integrity "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==" + dependencies: + "@babel/helper-validator-identifier" "7.22.5" + "chalk" "2.4.2" + "js-tokens" "4.0.0" + +"@babel/parser@7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.22.5.tgz" + integrity "sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q==" + dependencies: + "@babel/types" "7.22.5" + +"@babel/template@7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz" + integrity "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==" + dependencies: + "@babel/code-frame" "7.22.5" + "@babel/parser" "7.22.5" + "@babel/types" "7.22.5" + +"@babel/traverse@7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.5.tgz" + integrity "sha512-7DuIjPgERaNo6r+PZwItpjCZEa5vyw4eJGufeLxrPdBXBoLcCJCIasvK6pK/9DVNrLZTLFhUGqaC6X/PA007TQ==" + dependencies: + "@babel/code-frame" "7.22.5" + "@babel/generator" "7.22.5" + "@babel/helper-environment-visitor" "7.22.5" + "@babel/helper-function-name" "7.22.5" + "@babel/helper-hoist-variables" "7.22.5" + "@babel/helper-split-export-declaration" "7.22.5" + "@babel/parser" "7.22.5" + "@babel/types" "7.22.5" + "debug" "4.3.4" + "globals" "11.12.0" + +"@babel/types@7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz" + integrity "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==" + dependencies: + "@babel/helper-string-parser" "7.22.5" + "@babel/helper-validator-identifier" "7.22.5" + "to-fast-properties" "2.0.0" + +"@esbuild/android-arm64@0.17.19": + version "0.17.19" + resolved "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz" + integrity "sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==" + +"@esbuild/android-arm@0.17.19": + version "0.17.19" + resolved "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.19.tgz" + integrity "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==" + +"@esbuild/android-x64@0.17.19": + version "0.17.19" + resolved "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.19.tgz" + integrity "sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==" + +"@esbuild/darwin-arm64@0.17.19": + version "0.17.19" + resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz" + integrity "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==" + +"@esbuild/darwin-x64@0.17.19": + version "0.17.19" + resolved "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz" + integrity "sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==" + +"@esbuild/freebsd-arm64@0.17.19": + version "0.17.19" + resolved "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz" + integrity "sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==" + +"@esbuild/freebsd-x64@0.17.19": + version "0.17.19" + resolved "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz" + integrity "sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==" + +"@esbuild/linux-arm64@0.17.19": + version "0.17.19" + resolved "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz" + integrity "sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==" + +"@esbuild/linux-arm@0.17.19": + version "0.17.19" + resolved "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz" + integrity "sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==" + +"@esbuild/linux-ia32@0.17.19": + version "0.17.19" + resolved "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz" + integrity "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==" + +"@esbuild/linux-loong64@0.17.19": + version "0.17.19" + resolved "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz" + integrity "sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==" + +"@esbuild/linux-mips64el@0.17.19": + version "0.17.19" + resolved "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz" + integrity "sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==" + +"@esbuild/linux-ppc64@0.17.19": + version "0.17.19" + resolved "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz" + integrity "sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==" + +"@esbuild/linux-riscv64@0.17.19": + version "0.17.19" + resolved "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz" + integrity "sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==" + +"@esbuild/linux-s390x@0.17.19": + version "0.17.19" + resolved "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz" + integrity "sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==" + +"@esbuild/linux-x64@0.17.19": + version "0.17.19" + resolved "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz" + integrity "sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==" + +"@esbuild/netbsd-x64@0.17.19": + version "0.17.19" + resolved "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz" + integrity "sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==" + +"@esbuild/openbsd-x64@0.17.19": + version "0.17.19" + resolved "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz" + integrity "sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==" + +"@esbuild/sunos-x64@0.17.19": + version "0.17.19" + resolved "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz" + integrity "sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==" + +"@esbuild/win32-arm64@0.17.19": + version "0.17.19" + resolved "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz" + integrity "sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==" + +"@esbuild/win32-ia32@0.17.19": + version "0.17.19" + resolved "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz" + integrity "sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==" + +"@esbuild/win32-x64@0.17.19": + version "0.17.19" + resolved "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz" + integrity "sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==" + +"@eslint-community/eslint-utils@4.4.0": + version "4.4.0" + resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz" + integrity "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==" + dependencies: + "eslint" "8.44.0" + "eslint-visitor-keys" "3.4.1" + +"@eslint-community/regexpp@4.5.1": + version "4.5.1" + resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz" + integrity "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==" + +"@eslint/eslintrc@2.1.0": + version "2.1.0" + resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.0.tgz" + integrity "sha512-Lj7DECXqIVCqnqjjHMPna4vn6GJcMgul/wuS0je9OZ9gsL0zzDpKPVtcG1HaDVc+9y+qgXneTeUMbCqXJNpH1A==" + dependencies: + "ajv" "6.12.6" + "debug" "4.3.4" + "espree" "9.6.0" + "globals" "13.20.0" + "ignore" "5.2.4" + "import-fresh" "3.3.0" + "js-yaml" "4.1.0" + "minimatch" "3.1.2" + "strip-json-comments" "3.1.1" + +"@eslint/js@8.44.0": + version "8.44.0" + resolved "https://registry.npmjs.org/@eslint/js/-/js-8.44.0.tgz" + integrity "sha512-Ag+9YM4ocKQx9AarydN0KY2j0ErMHNIocPDrVo8zAE44xLTjEtz81OdR68/cydGtk6m6jDb5Za3r2useMzYmSw==" + +"@floating-ui/core@1.3.1": + version "1.3.1" + resolved "https://registry.npmjs.org/@floating-ui/core/-/core-1.3.1.tgz" + integrity "sha512-Bu+AMaXNjrpjh41znzHqaz3r2Nr8hHuHZT6V2LBKMhyMl0FgKA62PNYbqnfgmzOhoWZj70Zecisbo4H1rotP5g==" + +"@floating-ui/dom@1.1.1": + version "1.1.1" + resolved "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.1.1.tgz" + integrity "sha512-TpIO93+DIujg3g7SykEAGZMDtbJRrmnYRCNYSjJlvIbGhBjRSNTLVbNeDQBrzy9qDgUbiWdc7KA0uZHZ2tJmiw==" + dependencies: + "@floating-ui/core" "1.3.1" + +"@humanwhocodes/config-array@0.11.10": + version "0.11.10" + resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz" + integrity "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==" + dependencies: + "@humanwhocodes/object-schema" "1.2.1" + "debug" "4.3.4" + "minimatch" "3.1.2" + +"@humanwhocodes/module-importer@1.0.1": + version "1.0.1" + resolved "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz" + integrity "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==" + +"@humanwhocodes/object-schema@1.2.1": + version "1.2.1" + resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz" + integrity "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==" + +"@iconify/json@^2.2.85", "@iconify/json@2.2.85": + version "2.2.85" + resolved "https://registry.npmjs.org/@iconify/json/-/json-2.2.85.tgz" + integrity "sha512-T72zjZlpP311ftbdzpOFbRCictazlrX1xR8lLu3swVvFo22b/SZNBN4r0cv+e+eVNZvMxhF/cFww2fkaZ3m7Pg==" + dependencies: + "@iconify/types" "2.0.0" + "pathe" "1.1.1" + +"@iconify/types@2.0.0": + version "2.0.0" + resolved "https://registry.npmjs.org/@iconify/types/-/types-2.0.0.tgz" + integrity "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==" + +"@iconify/utils@2.1.7": + version "2.1.7" + resolved "https://registry.npmjs.org/@iconify/utils/-/utils-2.1.7.tgz" + integrity "sha512-P8S3z/L1LcV4Qem9AoCfVAaTFGySEMzFEY4CHZLkfRj0Fv9LiR+AwjDgrDrzyI93U2L2mg9JHsbTJ52mF8suNw==" + dependencies: + "@antfu/install-pkg" "0.1.1" + "@antfu/utils" "0.7.4" + "@iconify/types" "2.0.0" + "debug" "4.3.4" + "kolorist" "1.8.0" + "local-pkg" "0.4.3" + +"@intlify/bundle-utils@5.5.0": + version "5.5.0" + resolved "https://registry.npmjs.org/@intlify/bundle-utils/-/bundle-utils-5.5.0.tgz" + integrity "sha512-k5xe8oAoPXiH6unXvyyyCRbq+LtLn1tSi/6r5f6mF+MsX7mcOMtgYbyAQINsjFrf7EDu5Pg4BY00VWSt8bI9XQ==" + dependencies: + "@intlify/message-compiler" "9.3.0-beta.17" + "@intlify/shared" "9.3.0-beta.17" + "acorn" "8.9.0" + "escodegen" "2.1.0" + "estree-walker" "2.0.2" + "jsonc-eslint-parser" "1.4.1" + "magic-string" "0.30.0" + "source-map" "0.6.1" + "vue-i18n" "9.2.2" + "yaml-eslint-parser" "0.3.2" + +"@intlify/core-base@9.2.2": + version "9.2.2" + resolved "https://registry.npmjs.org/@intlify/core-base/-/core-base-9.2.2.tgz" + integrity "sha512-JjUpQtNfn+joMbrXvpR4hTF8iJQ2sEFzzK3KIESOx+f+uwIjgw20igOyaIdhfsVVBCds8ZM64MoeNSx+PHQMkA==" + dependencies: + "@intlify/devtools-if" "9.2.2" + "@intlify/message-compiler" "9.2.2" + "@intlify/shared" "9.2.2" + "@intlify/vue-devtools" "9.2.2" + +"@intlify/devtools-if@9.2.2": + version "9.2.2" + resolved "https://registry.npmjs.org/@intlify/devtools-if/-/devtools-if-9.2.2.tgz" + integrity "sha512-4ttr/FNO29w+kBbU7HZ/U0Lzuh2cRDhP8UlWOtV9ERcjHzuyXVZmjyleESK6eVP60tGC9QtQW9yZE+JeRhDHkg==" + dependencies: + "@intlify/shared" "9.2.2" + +"@intlify/message-compiler@9.2.2": + version "9.2.2" + resolved "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-9.2.2.tgz" + integrity "sha512-IUrQW7byAKN2fMBe8z6sK6riG1pue95e5jfokn8hA5Q3Bqy4MBJ5lJAofUsawQJYHeoPJ7svMDyBaVJ4d0GTtA==" + dependencies: + "@intlify/shared" "9.2.2" + "source-map" "0.6.1" + +"@intlify/message-compiler@9.3.0-beta.17": + version "9.3.0-beta.17" + resolved "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-9.3.0-beta.17.tgz" + integrity "sha512-i7hvVIRk1Ax2uKa9xLRJCT57to08OhFMhFXXjWN07rmx5pWQYQ23MfX1xgggv9drnWTNhqEiD+u4EJeHoS5+Ww==" + dependencies: + "@intlify/shared" "9.3.0-beta.17" + "source-map" "0.6.1" + +"@intlify/shared@9.2.2": + version "9.2.2" + resolved "https://registry.npmjs.org/@intlify/shared/-/shared-9.2.2.tgz" + integrity "sha512-wRwTpsslgZS5HNyM7uDQYZtxnbI12aGiBZURX3BTR9RFIKKRWpllTsgzHWvj3HKm3Y2Sh5LPC1r0PDCKEhVn9Q==" + +"@intlify/shared@9.3.0-beta.17": + version "9.3.0-beta.17" + resolved "https://registry.npmjs.org/@intlify/shared/-/shared-9.3.0-beta.17.tgz" + integrity "sha512-mscf7RQsUTOil35jTij4KGW1RC9SWQjYScwLxP53Ns6g24iEd5HN7ksbt9O6FvTmlQuX77u+MXpBdfJsGqizLQ==" + +"@intlify/unplugin-vue-i18n@^0.10.1", "@intlify/unplugin-vue-i18n@0.10.1": + version "0.10.1" + resolved "https://registry.npmjs.org/@intlify/unplugin-vue-i18n/-/unplugin-vue-i18n-0.10.1.tgz" + integrity "sha512-9ZzE0ddlDO06Xzg25JPiNbx6PJPDho5k/Np+uL9fJRZEKq2TxT3c+ZK+Pec6j0ybhhVXeda8/yE3tPUf4SOXZQ==" + dependencies: + "@intlify/bundle-utils" "5.5.0" + "@intlify/shared" "9.3.0-beta.17" + "@rollup/pluginutils" "5.0.2" + "@vue/compiler-sfc" "3.3.4" + "debug" "4.3.4" + "fast-glob" "3.3.0" + "js-yaml" "4.1.0" + "json5" "2.2.3" + "pathe" "1.1.1" + "picocolors" "1.0.0" + "source-map" "0.6.1" + "unplugin" "1.3.1" + "vue-i18n" "9.2.2" + +"@intlify/vue-devtools@9.2.2": + version "9.2.2" + resolved "https://registry.npmjs.org/@intlify/vue-devtools/-/vue-devtools-9.2.2.tgz" + integrity "sha512-+dUyqyCHWHb/UcvY1MlIpO87munedm3Gn6E9WWYdWrMuYLcoIoOEVDWSS8xSwtlPU+kA+MEQTP6Q1iI/ocusJg==" + dependencies: + "@intlify/core-base" "9.2.2" + "@intlify/shared" "9.2.2" + +"@jridgewell/gen-mapping@0.3.3": + version "0.3.3" + resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz" + integrity "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==" + dependencies: + "@jridgewell/set-array" "1.1.2" + "@jridgewell/sourcemap-codec" "1.4.15" + "@jridgewell/trace-mapping" "0.3.18" + +"@jridgewell/resolve-uri@3.1.0": + version "3.1.0" + resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz" + integrity "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==" + +"@jridgewell/set-array@1.1.2": + version "1.1.2" + resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" + integrity "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" + +"@jridgewell/sourcemap-codec@1.4.14": + version "1.4.14" + resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz" + integrity "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" + +"@jridgewell/sourcemap-codec@1.4.15": + version "1.4.15" + resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" + integrity "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + +"@jridgewell/trace-mapping@0.3.18": + version "0.3.18" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz" + integrity "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==" + dependencies: + "@jridgewell/resolve-uri" "3.1.0" + "@jridgewell/sourcemap-codec" "1.4.14" + +"@kyvg/vue3-notification@^2.9.1", "@kyvg/vue3-notification@2.9.1": + version "2.9.1" + resolved "https://registry.npmjs.org/@kyvg/vue3-notification/-/vue3-notification-2.9.1.tgz" + integrity "sha512-FsY8g25tQetr3etnarxHtCeNFKssH8sheFu13LyL2JJmOOel437QqKV5n4RBDDDTIo55iKgIVYXeojliXYdEhw==" + dependencies: + "vue" "3.3.4" + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" + integrity "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==" + dependencies: + "@nodelib/fs.stat" "2.0.5" + "run-parallel" "1.2.0" + +"@nodelib/fs.stat@2.0.5": + version "2.0.5" + resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" + integrity "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" + +"@nodelib/fs.walk@1.2.8": + version "1.2.8" + resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" + integrity "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==" + dependencies: + "@nodelib/fs.scandir" "2.1.5" + "fastq" "1.15.0" + +"@rollup/pluginutils@5.0.2": + version "5.0.2" + resolved "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz" + integrity "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==" + dependencies: + "@types/estree" "1.0.1" + "estree-walker" "2.0.2" + "picomatch" "2.3.1" + +"@trysound/sax@0.2.0": + version "0.2.0" + resolved "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz" + integrity "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==" + +"@types/estree@1.0.1": + version "1.0.1" + resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz" + integrity "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==" + +"@types/humanize-duration@^3.27.1", "@types/humanize-duration@3.27.1": + version "3.27.1" + resolved "https://registry.npmjs.org/@types/humanize-duration/-/humanize-duration-3.27.1.tgz" + integrity "sha512-K3e+NZlpCKd6Bd/EIdqjFJRFHbrq5TzPPLwREk5Iv/YoIjQrs6ljdAUCo+Lb2xFlGNOjGSE0dqsVD19cZL137w==" + +"@types/javascript-time-ago@^2.0.3", "@types/javascript-time-ago@2.0.3": + version "2.0.3" + resolved "https://registry.npmjs.org/@types/javascript-time-ago/-/javascript-time-ago-2.0.3.tgz" + integrity "sha512-G6SdYh6gHxgCTU0s4cMIRHwRO4p3f7jQSZbDPfUOZpUAG1od3rTjT0e8rxGThUiTTWQHwpBRws8eHO8D2QqfkA==" + +"@types/json-schema@7.0.12": + version "7.0.12" + resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz" + integrity "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==" + +"@types/json5@0.0.29": + version "0.0.29" + resolved "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz" + integrity "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" + +"@types/lodash@^4.14.195", "@types/lodash@4.14.195": + version "4.14.195" + resolved "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.195.tgz" + integrity "sha512-Hwx9EUgdwf2GLarOjQp5ZH8ZmblzcbTBC2wtQWNKARBSxM9ezRIAUpeDTgoQRAFB0+8CNWXVA9+MaSOzOF3nPg==" + +"@types/node-emoji@^1.8.2", "@types/node-emoji@1.8.2": + version "1.8.2" + resolved "https://registry.npmjs.org/@types/node-emoji/-/node-emoji-1.8.2.tgz" + integrity "sha512-PfF1qL/9veo8BSHLV84C9ORNr3lHSlnWJ6yU8OdNufoftajeWHTLVbGHvp2B7e7DPDS9gMs6cfeSsqo5rqSitg==" + +"@types/node@^18.16.19", "@types/node@18.16.19": + version "18.16.19" + resolved "https://registry.npmjs.org/@types/node/-/node-18.16.19.tgz" + integrity "sha512-IXl7o+R9iti9eBW4Wg2hx1xQDig183jj7YLn8F7udNceyfkbn1ZxmzZXuak20gR40D7pIkIY1kYGx5VIGbaHKA==" + +"@types/prismjs@^1.26.0", "@types/prismjs@1.26.0": + version "1.26.0" + resolved "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.0.tgz" + integrity "sha512-ZTaqn/qSqUuAq1YwvOFQfVW1AR/oQJlLSZVustdjwI+GZ8kr0MSHBj0tsXPW1EqHubx50gtBEjbPGsdZwQwCjQ==" + +"@types/semver@7.5.0": + version "7.5.0" + resolved "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz" + integrity "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==" + +"@types/web-bluetooth@0.0.16": + version "0.0.16" + resolved "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz" + integrity "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==" + +"@typescript-eslint/eslint-plugin@^5.60.1", "@typescript-eslint/eslint-plugin@5.60.1": + version "5.60.1" + resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.60.1.tgz" + integrity "sha512-KSWsVvsJsLJv3c4e73y/Bzt7OpqMCADUO846bHcuWYSYM19bldbAeDv7dYyV0jwkbMfJ2XdlzwjhXtuD7OY6bw==" + dependencies: + "@eslint-community/regexpp" "4.5.1" + "@typescript-eslint/parser" "5.60.1" + "@typescript-eslint/scope-manager" "5.60.1" + "@typescript-eslint/type-utils" "5.60.1" + "@typescript-eslint/utils" "5.60.1" + "debug" "4.3.4" + "eslint" "8.44.0" + "grapheme-splitter" "1.0.4" + "ignore" "5.2.4" + "natural-compare-lite" "1.4.0" + "semver" "7.5.3" + "tsutils" "3.21.0" + "typescript" "5.0.3" + +"@typescript-eslint/parser@^5.60.1", "@typescript-eslint/parser@5.60.1": + version "5.60.1" + resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.60.1.tgz" + integrity "sha512-pHWlc3alg2oSMGwsU/Is8hbm3XFbcrb6P5wIxcQW9NsYBfnrubl/GhVVD/Jm/t8HXhA2WncoIRfBtnCgRGV96Q==" + dependencies: + "@typescript-eslint/scope-manager" "5.60.1" + "@typescript-eslint/types" "5.60.1" + "@typescript-eslint/typescript-estree" "5.60.1" + "debug" "4.3.4" + "eslint" "8.44.0" + "typescript" "5.0.3" + +"@typescript-eslint/scope-manager@5.60.1": + version "5.60.1" + resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.60.1.tgz" + integrity "sha512-Dn/LnN7fEoRD+KspEOV0xDMynEmR3iSHdgNsarlXNLGGtcUok8L4N71dxUgt3YvlO8si7E+BJ5Fe3wb5yUw7DQ==" + dependencies: + "@typescript-eslint/types" "5.60.1" + "@typescript-eslint/visitor-keys" "5.60.1" + +"@typescript-eslint/type-utils@5.60.1": + version "5.60.1" + resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.60.1.tgz" + integrity "sha512-vN6UztYqIu05nu7JqwQGzQKUJctzs3/Hg7E2Yx8rz9J+4LgtIDFWjjl1gm3pycH0P3mHAcEUBd23LVgfrsTR8A==" + dependencies: + "@typescript-eslint/typescript-estree" "5.60.1" + "@typescript-eslint/utils" "5.60.1" + "debug" "4.3.4" + "eslint" "8.44.0" + "tsutils" "3.21.0" + "typescript" "5.0.3" + +"@typescript-eslint/types@5.60.1": + version "5.60.1" + resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.60.1.tgz" + integrity "sha512-zDcDx5fccU8BA0IDZc71bAtYIcG9PowaOwaD8rjYbqwK7dpe/UMQl3inJ4UtUK42nOCT41jTSCwg76E62JpMcg==" + +"@typescript-eslint/typescript-estree@5.60.1": + version "5.60.1" + resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.60.1.tgz" + integrity "sha512-hkX70J9+2M2ZT6fhti5Q2FoU9zb+GeZK2SLP1WZlvUDqdMbEKhexZODD1WodNRyO8eS+4nScvT0dts8IdaBzfw==" + dependencies: + "@typescript-eslint/types" "5.60.1" + "@typescript-eslint/visitor-keys" "5.60.1" + "debug" "4.3.4" + "globby" "11.1.0" + "is-glob" "4.0.3" + "semver" "7.5.3" + "tsutils" "3.21.0" + "typescript" "5.0.3" + +"@typescript-eslint/utils@5.60.1": + version "5.60.1" + resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.60.1.tgz" + integrity "sha512-tiJ7FFdFQOWssFa3gqb94Ilexyw0JVxj6vBzaSpfN/8IhoKkDuSAenUKvsSHw2A/TMpJb26izIszTXaqygkvpQ==" + dependencies: + "@eslint-community/eslint-utils" "4.4.0" + "@types/json-schema" "7.0.12" + "@types/semver" "7.5.0" + "@typescript-eslint/scope-manager" "5.60.1" + "@typescript-eslint/types" "5.60.1" + "@typescript-eslint/typescript-estree" "5.60.1" + "eslint" "8.44.0" + "eslint-scope" "5.1.1" + "semver" "7.5.3" + +"@typescript-eslint/visitor-keys@5.60.1": + version "5.60.1" + resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.60.1.tgz" + integrity "sha512-xEYIxKcultP6E/RMKqube11pGjXH1DCo60mQoWhVYyKfLkwbIVVjYxmOenNMxILx0TjCujPTjjnTIVzm09TXIw==" + dependencies: + "@typescript-eslint/types" "5.60.1" + "eslint-visitor-keys" "3.4.1" + +"@vitejs/plugin-vue@^4.2.3", "@vitejs/plugin-vue@4.2.3": + version "4.2.3" + resolved "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.2.3.tgz" + integrity "sha512-R6JDUfiZbJA9cMiguQ7jxALsgiprjBeHL5ikpXfJCH62pPHtI+JdJ5xWj6Ev73yXSlYl86+blXn1kZHQ7uElxw==" + dependencies: + "vite" "4.3.9" + "vue" "3.3.4" + +"@volar/language-core@1.7.10": + version "1.7.10" + resolved "https://registry.npmjs.org/@volar/language-core/-/language-core-1.7.10.tgz" + integrity "sha512-18Gmth5M0UI3hDDqhZngjMnb6WCslcfglkOdepRIhGxRYe7xR7DRRzciisYDMZsvOQxDYme+uaohg0dKUxLV2Q==" + dependencies: + "@volar/source-map" "1.7.10" + +"@volar/source-map@1.7.10": + version "1.7.10" + resolved "https://registry.npmjs.org/@volar/source-map/-/source-map-1.7.10.tgz" + integrity "sha512-FBpLEOKJpRxeh2nYbw1mTI5sZOPXYU8LlsCz6xuBY3yNtAizDTTIZtBHe1V8BaMpoSMgRysZe4gVxMEi3rDGVA==" + dependencies: + "muggle-string" "0.3.1" + +"@volar/typescript@1.7.10": + version "1.7.10" + resolved "https://registry.npmjs.org/@volar/typescript/-/typescript-1.7.10.tgz" + integrity "sha512-yqIov4wndLU3GE1iE25bU5W6T+P+exPePcE1dFPPBKzQIBki1KvmdQN5jBlJp3Wo+wp7UIxa/RsdNkXT+iFBjg==" + dependencies: + "@volar/language-core" "1.7.10" + +"@vue/compiler-core@3.3.4": + version "3.3.4" + resolved "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.4.tgz" + integrity "sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==" + dependencies: + "@babel/parser" "7.22.5" + "@vue/shared" "3.3.4" + "estree-walker" "2.0.2" + "source-map-js" "1.0.2" + +"@vue/compiler-dom@3.3.4": + version "3.3.4" + resolved "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz" + integrity "sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==" + dependencies: + "@vue/compiler-core" "3.3.4" + "@vue/shared" "3.3.4" + +"@vue/compiler-sfc@^3.3.4", "@vue/compiler-sfc@3.3.4": + version "3.3.4" + resolved "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz" + integrity "sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==" + dependencies: + "@babel/parser" "7.22.5" + "@vue/compiler-core" "3.3.4" + "@vue/compiler-dom" "3.3.4" + "@vue/compiler-ssr" "3.3.4" + "@vue/reactivity-transform" "3.3.4" + "@vue/shared" "3.3.4" + "estree-walker" "2.0.2" + "magic-string" "0.30.0" + "postcss" "8.4.24" + "source-map-js" "1.0.2" + +"@vue/compiler-ssr@3.3.4": + version "3.3.4" + resolved "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.4.tgz" + integrity "sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==" + dependencies: + "@vue/compiler-dom" "3.3.4" + "@vue/shared" "3.3.4" + +"@vue/devtools-api@6.5.0": + version "6.5.0" + resolved "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.0.tgz" + integrity "sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==" + +"@vue/language-core@1.8.3": + version "1.8.3" + resolved "https://registry.npmjs.org/@vue/language-core/-/language-core-1.8.3.tgz" + integrity "sha512-AzhvMYoQkK/tg8CpAAttO19kx1zjS3+weYIr2AhlH/M5HebVzfftQoq4jZNFifjq+hyLKi8j9FiDMS8oqA89+A==" + dependencies: + "@volar/language-core" "1.7.10" + "@volar/source-map" "1.7.10" + "@vue/compiler-dom" "3.3.4" + "@vue/reactivity" "3.3.4" + "@vue/shared" "3.3.4" + "minimatch" "9.0.2" + "muggle-string" "0.3.1" + "typescript" "5.0.3" + "vue-template-compiler" "2.7.14" + +"@vue/reactivity-transform@3.3.4": + version "3.3.4" + resolved "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.4.tgz" + integrity "sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==" + dependencies: + "@babel/parser" "7.22.5" + "@vue/compiler-core" "3.3.4" + "@vue/shared" "3.3.4" + "estree-walker" "2.0.2" + "magic-string" "0.30.0" + +"@vue/reactivity@3.3.4": + version "3.3.4" + resolved "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.4.tgz" + integrity "sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==" + dependencies: + "@vue/shared" "3.3.4" + +"@vue/runtime-core@3.3.4": + version "3.3.4" + resolved "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.4.tgz" + integrity "sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==" + dependencies: + "@vue/reactivity" "3.3.4" + "@vue/shared" "3.3.4" + +"@vue/runtime-dom@3.3.4": + version "3.3.4" + resolved "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.4.tgz" + integrity "sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==" + dependencies: + "@vue/runtime-core" "3.3.4" + "@vue/shared" "3.3.4" + "csstype" "3.1.2" + +"@vue/server-renderer@3.3.4": + version "3.3.4" + resolved "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.4.tgz" + integrity "sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==" + dependencies: + "@vue/compiler-ssr" "3.3.4" + "@vue/shared" "3.3.4" + "vue" "3.3.4" + +"@vue/shared@3.3.4": + version "3.3.4" + resolved "https://registry.npmjs.org/@vue/shared/-/shared-3.3.4.tgz" + integrity "sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==" + +"@vue/typescript@1.8.3": + version "1.8.3" + resolved "https://registry.npmjs.org/@vue/typescript/-/typescript-1.8.3.tgz" + integrity "sha512-6bdgSnIFpRYHlt70pHmnmNksPU00bfXgqAISeaNz3W6d2cH0OTfH8h/IhligQ82sJIhsuyfftQJ5518ZuKIhtA==" + dependencies: + "@volar/typescript" "1.7.10" + "@vue/language-core" "1.8.3" + +"@vueuse/core@^9.13.0", "@vueuse/core@9.13.0": + version "9.13.0" + resolved "https://registry.npmjs.org/@vueuse/core/-/core-9.13.0.tgz" + integrity "sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==" + dependencies: + "@types/web-bluetooth" "0.0.16" + "@vueuse/metadata" "9.13.0" + "@vueuse/shared" "9.13.0" + "vue-demi" "0.14.5" + +"@vueuse/metadata@9.13.0": + version "9.13.0" + resolved "https://registry.npmjs.org/@vueuse/metadata/-/metadata-9.13.0.tgz" + integrity "sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==" + +"@vueuse/shared@9.13.0": + version "9.13.0" + resolved "https://registry.npmjs.org/@vueuse/shared/-/shared-9.13.0.tgz" + integrity "sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==" + dependencies: + "vue-demi" "0.14.5" + +"@windicss/config@1.9.0": + version "1.9.0" + resolved "https://registry.npmjs.org/@windicss/config/-/config-1.9.0.tgz" + integrity "sha512-QO4+udbmDIgZwAi89tqUt5nGwBq3IgyELjLn83twZXiIqzOw+77ecCuM0oPSbzWmIbCqXq3wRQHd6Z1u5E/5zQ==" + dependencies: + "debug" "4.3.4" + "jiti" "1.18.2" + "windicss" "3.5.6" + +"@windicss/plugin-utils@1.9.0": + version "1.9.0" + resolved "https://registry.npmjs.org/@windicss/plugin-utils/-/plugin-utils-1.9.0.tgz" + integrity "sha512-omAacM5ExIr9XBUI2z47CyCXJBke4imJZqXW41YgHhRLbahTngbScFk5yxa6dXivDXUpUKqasOPXBJgA4bhHCg==" + dependencies: + "@antfu/utils" "0.7.4" + "@windicss/config" "1.9.0" + "debug" "4.3.4" + "fast-glob" "3.3.0" + "magic-string" "0.30.0" + "micromatch" "4.0.5" + "windicss" "3.5.6" + +"acorn-jsx@5.3.2": + version "5.3.2" + resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" + integrity "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==" + dependencies: + "acorn" "8.9.0" + +"acorn@7.4.1": + version "7.4.1" + resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz" + integrity "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" + +"acorn@8.9.0": + version "8.9.0" + resolved "https://registry.npmjs.org/acorn/-/acorn-8.9.0.tgz" + integrity "sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ==" + +"ajv@6.12.6": + version "6.12.6" + resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" + integrity "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==" + dependencies: + "fast-deep-equal" "3.1.3" + "fast-json-stable-stringify" "2.1.0" + "json-schema-traverse" "0.4.1" + "uri-js" "4.4.1" + +"ansi-regex@5.0.1": + version "5.0.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" + integrity "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + +"ansi-styles@3.2.1": + 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==" + dependencies: + "color-convert" "1.9.3" + +"ansi-styles@4.3.0": + version "4.3.0" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + integrity "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==" + dependencies: + "color-convert" "2.0.1" + +"ansi_up@^5.2.1", "ansi_up@5.2.1": + version "5.2.1" + resolved "https://registry.npmjs.org/ansi_up/-/ansi_up-5.2.1.tgz" + integrity "sha512-5bz5T/7FRmlxA37zDXhG6cAwlcZtfnmNLDJra66EEIT3kYlw5aPJdbkJEhm59D6kA4Wi5ict6u6IDYHJaQlH+g==" + +"anymatch@3.1.3": + version "3.1.3" + resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" + integrity "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==" + dependencies: + "normalize-path" "3.0.0" + "picomatch" "2.3.1" + +"argparse@2.0.1": + version "2.0.1" + resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" + integrity "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + +"array-buffer-byte-length@1.0.0": + version "1.0.0" + resolved "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz" + integrity "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==" + dependencies: + "call-bind" "1.0.2" + "is-array-buffer" "3.0.2" + +"array-includes@3.1.6": + version "3.1.6" + resolved "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz" + integrity "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==" + dependencies: + "call-bind" "1.0.2" + "define-properties" "1.2.0" + "es-abstract" "1.21.2" + "get-intrinsic" "1.2.1" + "is-string" "1.0.7" + +"array-union@2.1.0": + version "2.1.0" + resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" + integrity "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" + +"array.prototype.flat@1.3.1": + version "1.3.1" + resolved "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz" + integrity "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==" + dependencies: + "call-bind" "1.0.2" + "define-properties" "1.2.0" + "es-abstract" "1.21.2" + "es-shim-unscopables" "1.0.0" + +"array.prototype.flatmap@1.3.1": + version "1.3.1" + resolved "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz" + integrity "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==" + dependencies: + "call-bind" "1.0.2" + "define-properties" "1.2.0" + "es-abstract" "1.21.2" + "es-shim-unscopables" "1.0.0" + +"atob@2.1.2": + version "2.1.2" + resolved "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz" + integrity "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" + +"available-typed-arrays@1.0.5": + version "1.0.5" + resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz" + integrity "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" + +"babel-plugin-prismjs@2.1.0": + version "2.1.0" + resolved "https://registry.npmjs.org/babel-plugin-prismjs/-/babel-plugin-prismjs-2.1.0.tgz" + integrity "sha512-ehzSKYfeAz4U78zi/sfwsjDPlq0LvDKxNefcZTJ/iKBu+plsHsLqZhUeGf1+82LAcA35UZGbU6ksEx2Utphc/g==" + dependencies: + "prismjs" "1.29.0" + +"balanced-match@1.0.2": + version "1.0.2" + resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + integrity "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + +"binary-extensions@2.2.0": + version "2.2.0" + resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" + integrity "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" + +"boolbase@1.0.0": + version "1.0.0" + resolved "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz" + integrity "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + +"brace-expansion@1.1.11": + version "1.1.11" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" + integrity "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==" + dependencies: + "balanced-match" "1.0.2" + "concat-map" "0.0.1" + +"brace-expansion@2.0.1": + version "2.0.1" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz" + integrity "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==" + dependencies: + "balanced-match" "1.0.2" + +"braces@3.0.2": + version "3.0.2" + resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" + integrity "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==" + dependencies: + "fill-range" "7.0.1" + +"browserslist@4.21.9": + version "4.21.9" + resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.21.9.tgz" + integrity "sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==" + dependencies: + "caniuse-lite" "1.0.30001509" + "electron-to-chromium" "1.4.447" + "node-releases" "2.0.12" + "update-browserslist-db" "1.0.11" + +"call-bind@1.0.2": + version "1.0.2" + resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz" + integrity "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==" + dependencies: + "function-bind" "1.1.1" + "get-intrinsic" "1.2.1" + +"callsites@3.1.0": + version "3.1.0" + resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" + integrity "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + +"caniuse-lite@1.0.30001509": + version "1.0.30001509" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001509.tgz" + integrity "sha512-2uDDk+TRiTX5hMcUYT/7CSyzMZxjfGu0vAUjS2g0LSD8UoXOv0LtpH4LxGMemsiPq6LCVIUjNwVM0erkOkGCDA==" + +"chalk@2.4.2": + version "2.4.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + integrity "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" + dependencies: + "ansi-styles" "3.2.1" + "escape-string-regexp" "1.0.5" + "supports-color" "5.5.0" + +"chalk@4.1.2": + version "4.1.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + integrity "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==" + dependencies: + "ansi-styles" "4.3.0" + "supports-color" "7.2.0" + +"chokidar@3.5.3": + version "3.5.3" + resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz" + integrity "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==" + dependencies: + "anymatch" "3.1.3" + "braces" "3.0.2" + "glob-parent" "5.1.2" + "is-binary-path" "2.1.0" + "is-glob" "4.0.3" + "normalize-path" "3.0.0" + "readdirp" "3.6.0" + +"color-convert@1.9.3": + version "1.9.3" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" + integrity "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==" + dependencies: + "color-name" "1.1.3" + +"color-convert@2.0.1": + version "2.0.1" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + integrity "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==" + dependencies: + "color-name" "1.1.4" + +"color-name@1.1.3": + version "1.1.3" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + integrity "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + +"color-name@1.1.4": + version "1.1.4" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + integrity "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + +"commander@7.2.0": + version "7.2.0" + resolved "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz" + integrity "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" + +"concat-map@0.0.1": + version "0.0.1" + resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + integrity "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + +"confusing-browser-globals@1.0.11": + version "1.0.11" + resolved "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz" + integrity "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==" + +"convert-source-map@1.9.0": + 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==" + +"cross-spawn@7.0.3": + version "7.0.3" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" + integrity "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==" + dependencies: + "path-key" "3.1.1" + "shebang-command" "2.0.0" + "which" "2.0.2" + +"css-select@5.1.0": + version "5.1.0" + resolved "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz" + integrity "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==" + dependencies: + "boolbase" "1.0.0" + "css-what" "6.1.0" + "domhandler" "5.0.3" + "domutils" "3.1.0" + "nth-check" "2.1.1" + +"css-tree@2.2.1": + version "2.2.1" + resolved "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz" + integrity "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==" + dependencies: + "mdn-data" "2.0.28" + "source-map-js" "1.0.2" + +"css-tree@2.3.1": + version "2.3.1" + resolved "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz" + integrity "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==" + dependencies: + "mdn-data" "2.0.30" + "source-map-js" "1.0.2" + +"css-what@6.1.0": + version "6.1.0" + resolved "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz" + integrity "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==" + +"css@3.0.0": + version "3.0.0" + resolved "https://registry.npmjs.org/css/-/css-3.0.0.tgz" + integrity "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==" + dependencies: + "inherits" "2.0.4" + "source-map" "0.6.1" + "source-map-resolve" "0.6.0" + +"cssesc@3.0.0": + version "3.0.0" + resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" + integrity "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" + +"csso@5.0.5": + version "5.0.5" + resolved "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz" + integrity "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==" + dependencies: + "css-tree" "2.2.1" + +"csstype@3.1.2": + version "3.1.2" + resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz" + integrity "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" + +"dayjs@^1.11.9", "dayjs@1.11.9": + version "1.11.9" + resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.11.9.tgz" + integrity "sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA==" + +"de-indent@1.0.2": + version "1.0.2" + resolved "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz" + integrity "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==" + +"debug@3.2.7": + version "3.2.7" + resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" + integrity "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==" + dependencies: + "ms" "2.1.3" + +"debug@4.3.4": + version "4.3.4" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" + integrity "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==" + dependencies: + "ms" "2.1.2" + +"decode-uri-component@0.2.2": + version "0.2.2" + resolved "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz" + integrity "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==" + +"deep-is@0.1.4": + version "0.1.4" + resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" + integrity "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" + +"define-properties@1.2.0": + version "1.2.0" + resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz" + integrity "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==" + dependencies: + "has-property-descriptors" "1.0.0" + "object-keys" "1.1.1" + +"dir-glob@3.0.1": + version "3.0.1" + resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" + integrity "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==" + dependencies: + "path-type" "4.0.0" + +"doctrine@2.1.0": + version "2.1.0" + resolved "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz" + integrity "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==" + dependencies: + "esutils" "2.0.3" + +"doctrine@3.0.0": + version "3.0.0" + resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" + integrity "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==" + dependencies: + "esutils" "2.0.3" + +"dom-serializer@2.0.0": + version "2.0.0" + resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz" + integrity "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==" + dependencies: + "domelementtype" "2.3.0" + "domhandler" "5.0.3" + "entities" "4.5.0" + +"domelementtype@2.3.0": + version "2.3.0" + resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz" + integrity "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" + +"domhandler@5.0.3": + version "5.0.3" + resolved "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz" + integrity "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==" + dependencies: + "domelementtype" "2.3.0" + +"domutils@3.1.0": + version "3.1.0" + resolved "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz" + integrity "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==" + dependencies: + "dom-serializer" "2.0.0" + "domelementtype" "2.3.0" + "domhandler" "5.0.3" + +"electron-to-chromium@1.4.447": + version "1.4.447" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.447.tgz" + integrity "sha512-sxX0LXh+uL41hSJsujAN86PjhrV/6c79XmpY0TvjZStV6VxIgarf8SRkUoUTuYmFcZQTemsoqo8qXOGw5npWfw==" + +"entities@4.5.0": + version "4.5.0" + resolved "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz" + integrity "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==" + +"es-abstract@1.21.2": + version "1.21.2" + resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz" + integrity "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==" + dependencies: + "array-buffer-byte-length" "1.0.0" + "available-typed-arrays" "1.0.5" + "call-bind" "1.0.2" + "es-set-tostringtag" "2.0.1" + "es-to-primitive" "1.2.1" + "function.prototype.name" "1.1.5" + "get-intrinsic" "1.2.1" + "get-symbol-description" "1.0.0" + "globalthis" "1.0.3" + "gopd" "1.0.1" + "has" "1.0.3" + "has-property-descriptors" "1.0.0" + "has-proto" "1.0.1" + "has-symbols" "1.0.3" + "internal-slot" "1.0.5" + "is-array-buffer" "3.0.2" + "is-callable" "1.2.7" + "is-negative-zero" "2.0.2" + "is-regex" "1.1.4" + "is-shared-array-buffer" "1.0.2" + "is-string" "1.0.7" + "is-typed-array" "1.1.10" + "is-weakref" "1.0.2" + "object-inspect" "1.12.3" + "object-keys" "1.1.1" + "object.assign" "4.1.4" + "regexp.prototype.flags" "1.5.0" + "safe-regex-test" "1.0.0" + "string.prototype.trim" "1.2.7" + "string.prototype.trimend" "1.0.6" + "string.prototype.trimstart" "1.0.6" + "typed-array-length" "1.0.4" + "unbox-primitive" "1.0.2" + "which-typed-array" "1.1.9" + +"es-set-tostringtag@2.0.1": + version "2.0.1" + resolved "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz" + integrity "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==" + dependencies: + "get-intrinsic" "1.2.1" + "has" "1.0.3" + "has-tostringtag" "1.0.0" + +"es-shim-unscopables@1.0.0": + version "1.0.0" + resolved "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz" + integrity "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==" + dependencies: + "has" "1.0.3" + +"es-to-primitive@1.2.1": + version "1.2.1" + resolved "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" + integrity "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==" + dependencies: + "is-callable" "1.2.7" + "is-date-object" "1.0.5" + "is-symbol" "1.0.4" + +"esbuild@0.17.19": + version "0.17.19" + resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz" + integrity "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==" + +"escalade@3.1.1": + version "3.1.1" + resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" + integrity "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + +"escape-string-regexp@1.0.5": + version "1.0.5" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + integrity "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + +"escape-string-regexp@4.0.0": + version "4.0.0" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" + integrity "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + +"escodegen@2.1.0": + version "2.1.0" + resolved "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz" + integrity "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==" + dependencies: + "esprima" "4.0.1" + "estraverse" "5.3.0" + "esutils" "2.0.3" + +"eslint-config-airbnb-base@^15.0.0", "eslint-config-airbnb-base@15.0.0": + version "15.0.0" + resolved "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-15.0.0.tgz" + integrity "sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==" + dependencies: + "confusing-browser-globals" "1.0.11" + "eslint" "8.44.0" + "eslint-plugin-import" "2.27.5" + "object.assign" "4.1.4" + "object.entries" "1.1.6" + "semver" "7.5.3" + +"eslint-config-airbnb-typescript@^17.0.0", "eslint-config-airbnb-typescript@17.0.0": + version "17.0.0" + resolved "https://registry.npmjs.org/eslint-config-airbnb-typescript/-/eslint-config-airbnb-typescript-17.0.0.tgz" + integrity "sha512-elNiuzD0kPAPTXjFWg+lE24nMdHMtuxgYoD30OyMD6yrW1AhFZPAg27VX7d3tzOErw+dgJTNWfRSDqEcXb4V0g==" + dependencies: + "@typescript-eslint/eslint-plugin" "5.60.1" + "@typescript-eslint/parser" "5.60.1" + "eslint" "8.44.0" + "eslint-config-airbnb-base" "15.0.0" + "eslint-plugin-import" "2.27.5" + +"eslint-config-prettier@^8.8.0", "eslint-config-prettier@8.8.0": + version "8.8.0" + resolved "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz" + integrity "sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==" + dependencies: + "eslint" "8.44.0" + +"eslint-import-resolver-node@0.3.7": + version "0.3.7" + resolved "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz" + integrity "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==" + dependencies: + "debug" "3.2.7" + "is-core-module" "2.12.1" + "resolve" "1.22.2" + +"eslint-module-utils@2.8.0": + version "2.8.0" + resolved "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz" + integrity "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==" + dependencies: + "@typescript-eslint/parser" "5.60.1" + "debug" "3.2.7" + "eslint" "8.44.0" + "eslint-import-resolver-node" "0.3.7" + +"eslint-plugin-import@^2.27.5", "eslint-plugin-import@2.27.5": + version "2.27.5" + resolved "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz" + integrity "sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==" + dependencies: + "@typescript-eslint/parser" "5.60.1" + "array-includes" "3.1.6" + "array.prototype.flat" "1.3.1" + "array.prototype.flatmap" "1.3.1" + "debug" "3.2.7" + "doctrine" "2.1.0" + "eslint" "8.44.0" + "eslint-import-resolver-node" "0.3.7" + "eslint-module-utils" "2.8.0" + "has" "1.0.3" + "is-core-module" "2.12.1" + "is-glob" "4.0.3" + "minimatch" "3.1.2" + "object.values" "1.1.6" + "resolve" "1.22.2" + "semver" "7.5.3" + "tsconfig-paths" "3.14.2" + +"eslint-plugin-prettier@^4.2.1", "eslint-plugin-prettier@4.2.1": + version "4.2.1" + resolved "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz" + integrity "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==" + dependencies: + "eslint" "8.44.0" + "eslint-config-prettier" "8.8.0" + "prettier" "2.8.8" + "prettier-linter-helpers" "1.0.0" + +"eslint-plugin-promise@^6.1.1", "eslint-plugin-promise@6.1.1": + version "6.1.1" + resolved "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz" + integrity "sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==" + dependencies: + "eslint" "8.44.0" + +"eslint-plugin-simple-import-sort@^10.0.0", "eslint-plugin-simple-import-sort@10.0.0": + version "10.0.0" + resolved "https://registry.npmjs.org/eslint-plugin-simple-import-sort/-/eslint-plugin-simple-import-sort-10.0.0.tgz" + integrity "sha512-AeTvO9UCMSNzIHRkg8S6c3RPy5YEwKWSQPx3DYghLedo2ZQxowPFLGDN1AZ2evfg6r6mjBSZSLxLFsWSu3acsw==" + dependencies: + "eslint" "8.44.0" + +"eslint-plugin-vue-scoped-css@^2.5.0", "eslint-plugin-vue-scoped-css@2.5.0": + version "2.5.0" + resolved "https://registry.npmjs.org/eslint-plugin-vue-scoped-css/-/eslint-plugin-vue-scoped-css-2.5.0.tgz" + integrity "sha512-vR+raYNE1aQ69lS1lZGiKoz8rXFI3MWf2fxrfns/XCQ0XT5sIguhDtQS+9JmUQJClenLDEe2CQx7P+eeSdF4cA==" + dependencies: + "eslint" "8.44.0" + "eslint-utils" "3.0.0" + "lodash" "4.17.21" + "postcss" "8.4.24" + "postcss-safe-parser" "6.0.0" + "postcss-scss" "4.0.6" + "postcss-selector-parser" "6.0.13" + "postcss-styl" "0.12.3" + "vue-eslint-parser" "9.3.1" + +"eslint-plugin-vue@^9.15.1", "eslint-plugin-vue@9.15.1": + version "9.15.1" + resolved "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.15.1.tgz" + integrity "sha512-CJE/oZOslvmAR9hf8SClTdQ9JLweghT6JCBQNrT2Iel1uVw0W0OLJxzvPd6CxmABKCvLrtyDnqGV37O7KQv6+A==" + dependencies: + "@eslint-community/eslint-utils" "4.4.0" + "eslint" "8.44.0" + "natural-compare" "1.4.0" + "nth-check" "2.1.1" + "postcss-selector-parser" "6.0.13" + "semver" "7.5.3" + "vue-eslint-parser" "9.3.1" + "xml-name-validator" "4.0.0" + +"eslint-scope@5.1.1": + version "5.1.1" + resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" + integrity "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==" + dependencies: + "esrecurse" "4.3.0" + "estraverse" "4.3.0" + +"eslint-scope@7.2.0": + version "7.2.0" + resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz" + integrity "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==" + dependencies: + "esrecurse" "4.3.0" + "estraverse" "5.3.0" + +"eslint-utils@2.1.0": + version "2.1.0" + resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz" + integrity "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==" + dependencies: + "eslint-visitor-keys" "1.3.0" + +"eslint-utils@3.0.0": + version "3.0.0" + resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz" + integrity "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==" + dependencies: + "eslint" "8.44.0" + "eslint-visitor-keys" "2.1.0" + +"eslint-visitor-keys@1.3.0": + version "1.3.0" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz" + integrity "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==" + +"eslint-visitor-keys@2.1.0": + version "2.1.0" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz" + integrity "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==" + +"eslint-visitor-keys@3.4.1": + version "3.4.1" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz" + integrity "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==" + +"eslint@^8.44.0", "eslint@8.44.0": + version "8.44.0" + resolved "https://registry.npmjs.org/eslint/-/eslint-8.44.0.tgz" + integrity "sha512-0wpHoUbDUHgNCyvFB5aXLiQVfK9B0at6gUvzy83k4kAsQ/u769TQDX6iKC+aO4upIHO9WSaA3QoXYQDHbNwf1A==" + dependencies: + "@eslint-community/eslint-utils" "4.4.0" + "@eslint-community/regexpp" "4.5.1" + "@eslint/eslintrc" "2.1.0" + "@eslint/js" "8.44.0" + "@humanwhocodes/config-array" "0.11.10" + "@humanwhocodes/module-importer" "1.0.1" + "@nodelib/fs.walk" "1.2.8" + "ajv" "6.12.6" + "chalk" "4.1.2" + "cross-spawn" "7.0.3" + "debug" "4.3.4" + "doctrine" "3.0.0" + "escape-string-regexp" "4.0.0" + "eslint-scope" "7.2.0" + "eslint-visitor-keys" "3.4.1" + "espree" "9.6.0" + "esquery" "1.5.0" + "esutils" "2.0.3" + "fast-deep-equal" "3.1.3" + "file-entry-cache" "6.0.1" + "find-up" "5.0.0" + "glob-parent" "6.0.2" + "globals" "13.20.0" + "graphemer" "1.4.0" + "ignore" "5.2.4" + "import-fresh" "3.3.0" + "imurmurhash" "0.1.4" + "is-glob" "4.0.3" + "is-path-inside" "3.0.3" + "js-yaml" "4.1.0" + "json-stable-stringify-without-jsonify" "1.0.1" + "levn" "0.4.1" + "lodash.merge" "4.6.2" + "minimatch" "3.1.2" + "natural-compare" "1.4.0" + "optionator" "0.9.3" + "strip-ansi" "6.0.1" + "strip-json-comments" "3.1.1" + "text-table" "0.2.0" + +"espree@6.2.1": + version "6.2.1" + resolved "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz" + integrity "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==" + dependencies: + "acorn" "7.4.1" + "acorn-jsx" "5.3.2" + "eslint-visitor-keys" "1.3.0" + +"espree@9.6.0": + version "9.6.0" + resolved "https://registry.npmjs.org/espree/-/espree-9.6.0.tgz" + integrity "sha512-1FH/IiruXZ84tpUlm0aCUEwMl2Ho5ilqVh0VvQXw+byAz/4SAciyHLlfmL5WYqsvD38oymdUwBss0LtK8m4s/A==" + dependencies: + "acorn" "8.9.0" + "acorn-jsx" "5.3.2" + "eslint-visitor-keys" "3.4.1" + +"esprima@4.0.1": + version "4.0.1" + resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" + integrity "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + +"esquery@1.5.0": + version "1.5.0" + resolved "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz" + integrity "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==" + dependencies: + "estraverse" "5.3.0" + +"esrecurse@4.3.0": + version "4.3.0" + resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" + integrity "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==" + dependencies: + "estraverse" "5.3.0" + +"estraverse@4.3.0": + version "4.3.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" + integrity "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + +"estraverse@5.3.0": + version "5.3.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" + integrity "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" + +"estree-walker@2.0.2": + version "2.0.2" + resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz" + integrity "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + +"esutils@2.0.3": + version "2.0.3" + resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" + integrity "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + +"execa@5.1.1": + version "5.1.1" + resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz" + integrity "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==" + dependencies: + "cross-spawn" "7.0.3" + "get-stream" "6.0.1" + "human-signals" "2.1.0" + "is-stream" "2.0.1" + "merge-stream" "2.0.0" + "npm-run-path" "4.0.1" + "onetime" "5.1.2" + "signal-exit" "3.0.7" + "strip-final-newline" "2.0.0" + +"fast-deep-equal@3.1.3": + 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==" + +"fast-diff@1.3.0": + version "1.3.0" + resolved "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz" + integrity "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==" + +"fast-glob@3.3.0": + version "3.3.0" + resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.0.tgz" + integrity "sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA==" + dependencies: + "@nodelib/fs.stat" "2.0.5" + "@nodelib/fs.walk" "1.2.8" + "glob-parent" "5.1.2" + "merge2" "1.4.1" + "micromatch" "4.0.5" + +"fast-json-stable-stringify@2.1.0": + 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==" + +"fast-levenshtein@2.0.6": + version "2.0.6" + resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" + integrity "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" + +"fastq@1.15.0": + version "1.15.0" + resolved "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz" + integrity "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==" + dependencies: + "reusify" "1.0.4" + +"file-entry-cache@6.0.1": + version "6.0.1" + resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" + integrity "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==" + dependencies: + "flat-cache" "3.0.4" + +"fill-range@7.0.1": + version "7.0.1" + resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" + integrity "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==" + dependencies: + "to-regex-range" "5.0.1" + +"find-up@5.0.0": + version "5.0.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" + integrity "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==" + dependencies: + "locate-path" "6.0.0" + "path-exists" "4.0.0" + +"flat-cache@3.0.4": + version "3.0.4" + resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz" + integrity "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==" + dependencies: + "flatted" "3.2.7" + "rimraf" "3.0.2" + +"flatted@3.2.7": + version "3.2.7" + resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz" + integrity "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==" + +"floating-vue@^2.0.0-beta.24", "floating-vue@2.0.0-beta.24": + version "2.0.0-beta.24" + resolved "https://registry.npmjs.org/floating-vue/-/floating-vue-2.0.0-beta.24.tgz" + integrity "sha512-URSzP6YXaF4u1oZ9XGL8Sn8puuM7ivp5jkOUrpy5Q1mfo9BfGppJOn+ierTmsSUfJEeHBae8KT7r5DeI3vQIEw==" + dependencies: + "@floating-ui/dom" "1.1.1" + "vue" "3.3.4" + "vue-resize" "2.0.0-alpha.1" + +"for-each@0.3.3": + version "0.3.3" + resolved "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz" + integrity "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==" + dependencies: + "is-callable" "1.2.7" + +"fs.realpath@1.0.0": + version "1.0.0" + resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + integrity "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + +"fsevents@2.3.2": + version "2.3.2" + resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" + integrity "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==" + +"function-bind@1.1.1": + version "1.1.1" + resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" + integrity "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + +"function.prototype.name@1.1.5": + version "1.1.5" + resolved "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz" + integrity "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==" + dependencies: + "call-bind" "1.0.2" + "define-properties" "1.2.0" + "es-abstract" "1.21.2" + "functions-have-names" "1.2.3" + +"functions-have-names@1.2.3": + version "1.2.3" + resolved "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz" + integrity "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==" + +"fuse.js@^6.6.2", "fuse.js@6.6.2": + version "6.6.2" + resolved "https://registry.npmjs.org/fuse.js/-/fuse.js-6.6.2.tgz" + integrity "sha512-cJaJkxCCxC8qIIcPBF9yGxY0W/tVZS3uEISDxhYIdtk8OL93pe+6Zj7LjCqVV4dzbqcriOZ+kQ/NE4RXZHsIGA==" + +"gensync@1.0.0-beta.2": + version "1.0.0-beta.2" + resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" + integrity "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" + +"get-intrinsic@1.2.1": + version "1.2.1" + resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz" + integrity "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==" + dependencies: + "function-bind" "1.1.1" + "has" "1.0.3" + "has-proto" "1.0.1" + "has-symbols" "1.0.3" + +"get-stream@6.0.1": + version "6.0.1" + resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" + integrity "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" + +"get-symbol-description@1.0.0": + version "1.0.0" + resolved "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz" + integrity "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==" + dependencies: + "call-bind" "1.0.2" + "get-intrinsic" "1.2.1" + +"glob-parent@5.1.2": + version "5.1.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + integrity "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==" + dependencies: + "is-glob" "4.0.3" + +"glob-parent@6.0.2": + version "6.0.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" + integrity "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==" + dependencies: + "is-glob" "4.0.3" + +"glob@7.2.3": + version "7.2.3" + resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" + integrity "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==" + dependencies: + "fs.realpath" "1.0.0" + "inflight" "1.0.6" + "inherits" "2.0.4" + "minimatch" "3.1.2" + "once" "1.4.0" + "path-is-absolute" "1.0.1" + +"globals@11.12.0": + version "11.12.0" + resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" + integrity "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + +"globals@13.20.0": + version "13.20.0" + resolved "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz" + integrity "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==" + dependencies: + "type-fest" "0.20.2" + +"globalthis@1.0.3": + version "1.0.3" + resolved "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz" + integrity "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==" + dependencies: + "define-properties" "1.2.0" + +"globby@11.1.0": + version "11.1.0" + resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" + integrity "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==" + dependencies: + "array-union" "2.1.0" + "dir-glob" "3.0.1" + "fast-glob" "3.3.0" + "ignore" "5.2.4" + "merge2" "1.4.1" + "slash" "3.0.0" + +"gopd@1.0.1": + version "1.0.1" + resolved "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz" + integrity "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==" + dependencies: + "get-intrinsic" "1.2.1" + +"grapheme-splitter@1.0.4": + version "1.0.4" + resolved "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz" + integrity "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==" + +"graphemer@1.4.0": + version "1.4.0" + resolved "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz" + integrity "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==" + +"has-bigints@1.0.2": + version "1.0.2" + resolved "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz" + integrity "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==" + +"has-flag@3.0.0": + version "3.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" + integrity "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + +"has-flag@4.0.0": + version "4.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + integrity "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + +"has-property-descriptors@1.0.0": + version "1.0.0" + resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz" + integrity "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==" + dependencies: + "get-intrinsic" "1.2.1" + +"has-proto@1.0.1": + version "1.0.1" + resolved "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz" + integrity "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" + +"has-symbols@1.0.3": + version "1.0.3" + resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" + integrity "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + +"has-tostringtag@1.0.0": + version "1.0.0" + resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz" + integrity "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==" + dependencies: + "has-symbols" "1.0.3" + +"has@1.0.3": + version "1.0.3" + resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz" + integrity "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==" + dependencies: + "function-bind" "1.1.1" + +"he@1.2.0": + version "1.2.0" + resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz" + integrity "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" + +"human-signals@2.1.0": + version "2.1.0" + resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" + integrity "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" + +"humanize-duration@^3.28.0", "humanize-duration@3.28.0": + version "3.28.0" + resolved "https://registry.npmjs.org/humanize-duration/-/humanize-duration-3.28.0.tgz" + integrity "sha512-jMAxraOOmHuPbffLVDKkEKi/NeG8dMqP8lGRd6Tbf7JgAeG33jjgPWDbXXU7ypCI0o+oNKJFgbSB9FKVdWNI2A==" + +"ignore@5.2.4": + version "5.2.4" + resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz" + integrity "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==" + +"import-fresh@3.3.0": + version "3.3.0" + resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" + integrity "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==" + dependencies: + "parent-module" "1.0.1" + "resolve-from" "4.0.0" + +"imurmurhash@0.1.4": + version "0.1.4" + resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" + integrity "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" + +"inflight@1.0.6": + version "1.0.6" + resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + integrity "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==" + dependencies: + "once" "1.4.0" + "wrappy" "1.0.2" + +"inherits@2.0.4": + version "2.0.4" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + integrity "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + +"internal-slot@1.0.5": + version "1.0.5" + resolved "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz" + integrity "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==" + dependencies: + "get-intrinsic" "1.2.1" + "has" "1.0.3" + "side-channel" "1.0.4" + +"is-array-buffer@3.0.2": + version "3.0.2" + resolved "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz" + integrity "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==" + dependencies: + "call-bind" "1.0.2" + "get-intrinsic" "1.2.1" + "is-typed-array" "1.1.10" + +"is-bigint@1.0.4": + version "1.0.4" + resolved "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz" + integrity "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==" + dependencies: + "has-bigints" "1.0.2" + +"is-binary-path@2.1.0": + version "2.1.0" + resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" + integrity "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==" + dependencies: + "binary-extensions" "2.2.0" + +"is-boolean-object@1.1.2": + version "1.1.2" + resolved "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz" + integrity "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==" + dependencies: + "call-bind" "1.0.2" + "has-tostringtag" "1.0.0" + +"is-callable@1.2.7": + version "1.2.7" + resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz" + integrity "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" + +"is-core-module@2.12.1": + version "2.12.1" + resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz" + integrity "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==" + dependencies: + "has" "1.0.3" + +"is-date-object@1.0.5": + version "1.0.5" + resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz" + integrity "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==" + dependencies: + "has-tostringtag" "1.0.0" + +"is-extglob@2.1.1": + version "2.1.1" + resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + integrity "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" + +"is-glob@4.0.3": + version "4.0.3" + resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" + integrity "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==" + dependencies: + "is-extglob" "2.1.1" + +"is-negative-zero@2.0.2": + version "2.0.2" + resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz" + integrity "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==" + +"is-number-object@1.0.7": + version "1.0.7" + resolved "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz" + integrity "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==" + dependencies: + "has-tostringtag" "1.0.0" + +"is-number@7.0.0": + version "7.0.0" + resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + integrity "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + +"is-path-inside@3.0.3": + version "3.0.3" + resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" + integrity "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==" + +"is-regex@1.1.4": + version "1.1.4" + resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz" + integrity "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==" + dependencies: + "call-bind" "1.0.2" + "has-tostringtag" "1.0.0" + +"is-shared-array-buffer@1.0.2": + version "1.0.2" + resolved "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz" + integrity "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==" + dependencies: + "call-bind" "1.0.2" + +"is-stream@2.0.1": + version "2.0.1" + resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" + integrity "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" + +"is-string@1.0.7": + version "1.0.7" + resolved "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz" + integrity "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==" + dependencies: + "has-tostringtag" "1.0.0" + +"is-symbol@1.0.4": + version "1.0.4" + resolved "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz" + integrity "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==" + dependencies: + "has-symbols" "1.0.3" + +"is-typed-array@1.1.10": + version "1.1.10" + resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz" + integrity "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==" + dependencies: + "available-typed-arrays" "1.0.5" + "call-bind" "1.0.2" + "for-each" "0.3.3" + "gopd" "1.0.1" + "has-tostringtag" "1.0.0" + +"is-weakref@1.0.2": + version "1.0.2" + resolved "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz" + integrity "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==" + dependencies: + "call-bind" "1.0.2" + +"isexe@2.0.0": + version "2.0.0" + resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" + integrity "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + +"javascript-time-ago@^2.5.9", "javascript-time-ago@2.5.9": + version "2.5.9" + resolved "https://registry.npmjs.org/javascript-time-ago/-/javascript-time-ago-2.5.9.tgz" + integrity "sha512-pQ8mNco/9g9TqWXWWjP0EWl6i/lAQScOyEeXy5AB+f7MfLSdgyV9BJhiOD1zrIac/lrxPYOWNbyl/IW8CW5n0A==" + dependencies: + "relative-time-format" "1.1.6" + +"jiti@1.18.2": + version "1.18.2" + resolved "https://registry.npmjs.org/jiti/-/jiti-1.18.2.tgz" + integrity "sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==" + +"js-tokens@4.0.0": + version "4.0.0" + resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" + integrity "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + +"js-yaml@4.1.0": + version "4.1.0" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" + integrity "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==" + dependencies: + "argparse" "2.0.1" + +"jsesc@2.5.2": + version "2.5.2" + resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" + integrity "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + +"json-schema-traverse@0.4.1": + 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==" + +"json-stable-stringify-without-jsonify@1.0.1": + version "1.0.1" + resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" + integrity "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" + +"json5@1.0.2": + version "1.0.2" + resolved "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz" + integrity "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==" + dependencies: + "minimist" "1.2.8" + +"json5@2.2.3": + version "2.2.3" + resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" + integrity "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" + +"jsonc-eslint-parser@1.4.1": + version "1.4.1" + resolved "https://registry.npmjs.org/jsonc-eslint-parser/-/jsonc-eslint-parser-1.4.1.tgz" + integrity "sha512-hXBrvsR1rdjmB2kQmUjf1rEIa+TqHBGMge8pwi++C+Si1ad7EjZrJcpgwym+QGK/pqTx+K7keFAtLlVNdLRJOg==" + dependencies: + "acorn" "7.4.1" + "eslint-utils" "2.1.0" + "eslint-visitor-keys" "1.3.0" + "espree" "6.2.1" + "semver" "7.5.3" + +"kolorist@1.8.0": + version "1.8.0" + resolved "https://registry.npmjs.org/kolorist/-/kolorist-1.8.0.tgz" + integrity "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==" + +"levn@0.4.1": + version "0.4.1" + resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" + integrity "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==" + dependencies: + "prelude-ls" "1.2.1" + "type-check" "0.4.0" + +"local-pkg@0.4.3": + version "0.4.3" + resolved "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz" + integrity "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==" + +"locate-path@6.0.0": + version "6.0.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" + integrity "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==" + dependencies: + "p-locate" "5.0.0" + +"lodash.merge@4.6.2": + version "4.6.2" + resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" + integrity "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + +"lodash.sortedlastindex@4.1.0": + version "4.1.0" + resolved "https://registry.npmjs.org/lodash.sortedlastindex/-/lodash.sortedlastindex-4.1.0.tgz" + integrity "sha512-s8xEQdsp2Tu5zUqVdFSe9C0kR8YlnAJYLqMdkh+pIRBRxF6/apWseLdHl3/+jv2I61dhPwtI/Ff+EqvCpc+N8w==" + +"lodash@^4.17.21", "lodash@4.17.21": + version "4.17.21" + resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" + integrity "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + +"lru-cache@5.1.1": + version "5.1.1" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" + integrity "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==" + dependencies: + "yallist" "3.1.1" + +"lru-cache@6.0.0": + version "6.0.0" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" + integrity "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==" + dependencies: + "yallist" "4.0.0" + +"magic-string@0.30.0": + version "0.30.0" + resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.30.0.tgz" + integrity "sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==" + dependencies: + "@jridgewell/sourcemap-codec" "1.4.15" + +"mdn-data@2.0.28": + version "2.0.28" + resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz" + integrity "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==" + +"mdn-data@2.0.30": + version "2.0.30" + resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz" + integrity "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==" + +"merge-stream@2.0.0": + version "2.0.0" + resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" + integrity "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + +"merge2@1.4.1": + version "1.4.1" + resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" + integrity "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" + +"micromatch@4.0.5": + version "4.0.5" + resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" + integrity "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==" + dependencies: + "braces" "3.0.2" + "picomatch" "2.3.1" + +"mimic-fn@2.1.0": + version "2.1.0" + resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" + integrity "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + +"minimatch@3.1.2": + version "3.1.2" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" + integrity "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==" + dependencies: + "brace-expansion" "1.1.11" + +"minimatch@7.4.6": + version "7.4.6" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-7.4.6.tgz" + integrity "sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==" + dependencies: + "brace-expansion" "2.0.1" + +"minimatch@9.0.2": + version "9.0.2" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.2.tgz" + integrity "sha512-PZOT9g5v2ojiTL7r1xF6plNHLtOeTpSlDI007As2NlA2aYBMfVom17yqa6QzhmDP8QOhn7LjHTg7DFCVSSa6yg==" + dependencies: + "brace-expansion" "2.0.1" + +"minimist@1.2.8": + version "1.2.8" + resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz" + integrity "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" + +"ms@2.1.2": + version "2.1.2" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + integrity "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + +"ms@2.1.3": + version "2.1.3" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" + integrity "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + +"muggle-string@0.3.1": + version "0.3.1" + resolved "https://registry.npmjs.org/muggle-string/-/muggle-string-0.3.1.tgz" + integrity "sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==" + +"nanoid@3.3.6": + version "3.3.6" + resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz" + integrity "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==" + +"natural-compare-lite@1.4.0": + version "1.4.0" + resolved "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz" + integrity "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==" + +"natural-compare@1.4.0": + version "1.4.0" + resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" + integrity "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" + +"node-emoji@^1.11.0", "node-emoji@1.11.0": + version "1.11.0" + resolved "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz" + integrity "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==" + dependencies: + "lodash" "4.17.21" + +"node-releases@2.0.12": + version "2.0.12" + resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz" + integrity "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==" + +"normalize-path@3.0.0": + version "3.0.0" + resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" + integrity "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + +"npm-run-path@4.0.1": + version "4.0.1" + resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" + integrity "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==" + dependencies: + "path-key" "3.1.1" + +"nth-check@2.1.1": + 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==" + dependencies: + "boolbase" "1.0.0" + +"object-inspect@1.12.3": + version "1.12.3" + resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz" + integrity "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" + +"object-keys@1.1.1": + version "1.1.1" + resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" + integrity "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + +"object.assign@4.1.4": + version "4.1.4" + resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz" + integrity "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==" + dependencies: + "call-bind" "1.0.2" + "define-properties" "1.2.0" + "has-symbols" "1.0.3" + "object-keys" "1.1.1" + +"object.entries@1.1.6": + version "1.1.6" + resolved "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz" + integrity "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==" + dependencies: + "call-bind" "1.0.2" + "define-properties" "1.2.0" + "es-abstract" "1.21.2" + +"object.values@1.1.6": + version "1.1.6" + resolved "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz" + integrity "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==" + dependencies: + "call-bind" "1.0.2" + "define-properties" "1.2.0" + "es-abstract" "1.21.2" + +"once@1.4.0": + version "1.4.0" + resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + integrity "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==" + dependencies: + "wrappy" "1.0.2" + +"onetime@5.1.2": + version "5.1.2" + resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" + integrity "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==" + dependencies: + "mimic-fn" "2.1.0" + +"optionator@0.9.3": + version "0.9.3" + resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz" + integrity "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==" + dependencies: + "@aashutoshrathi/word-wrap" "1.2.6" + "deep-is" "0.1.4" + "fast-levenshtein" "2.0.6" + "levn" "0.4.1" + "prelude-ls" "1.2.1" + "type-check" "0.4.0" + +"p-limit@3.1.0": + version "3.1.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" + integrity "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==" + dependencies: + "yocto-queue" "0.1.0" + +"p-locate@5.0.0": + 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==" + dependencies: + "p-limit" "3.1.0" + +"parent-module@1.0.1": + version "1.0.1" + resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" + integrity "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==" + dependencies: + "callsites" "3.1.0" + +"path-exists@4.0.0": + version "4.0.0" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" + integrity "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + +"path-is-absolute@1.0.1": + version "1.0.1" + resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + integrity "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" + +"path-key@3.1.1": + version "3.1.1" + resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" + integrity "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + +"path-parse@1.0.7": + version "1.0.7" + resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" + integrity "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + +"path-type@4.0.0": + version "4.0.0" + resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" + integrity "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" + +"pathe@1.1.1": + version "1.1.1" + resolved "https://registry.npmjs.org/pathe/-/pathe-1.1.1.tgz" + integrity "sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==" + +"picocolors@1.0.0": + version "1.0.0" + resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" + integrity "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + +"picomatch@2.3.1": + version "2.3.1" + resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" + integrity "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + +"pinia@^2.1.4", "pinia@2.1.4": + version "2.1.4" + resolved "https://registry.npmjs.org/pinia/-/pinia-2.1.4.tgz" + integrity "sha512-vYlnDu+Y/FXxv1ABo1vhjC+IbqvzUdiUC3sfDRrRyY2CQSrqqaa+iiHmqtARFxJVqWQMCJfXx1PBvFs9aJVLXQ==" + dependencies: + "@vue/devtools-api" "6.5.0" + "typescript" "5.0.3" + "vue" "3.3.4" + "vue-demi" "0.14.5" + +"postcss-safe-parser@6.0.0": + version "6.0.0" + resolved "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz" + integrity "sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==" + dependencies: + "postcss" "8.4.24" + +"postcss-scss@4.0.6": + version "4.0.6" + resolved "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.6.tgz" + integrity "sha512-rLDPhJY4z/i4nVFZ27j9GqLxj1pwxE80eAzUNRMXtcpipFYIeowerzBgG3yJhMtObGEXidtIgbUpQ3eLDsf5OQ==" + dependencies: + "postcss" "8.4.24" + +"postcss-selector-parser@6.0.13": + version "6.0.13" + resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz" + integrity "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==" + dependencies: + "cssesc" "3.0.0" + "util-deprecate" "1.0.2" + +"postcss-styl@0.12.3": + version "0.12.3" + resolved "https://registry.npmjs.org/postcss-styl/-/postcss-styl-0.12.3.tgz" + integrity "sha512-8I7Cd8sxiEITIp32xBK4K/Aj1ukX6vuWnx8oY/oAH35NfQI4OZaY5nd68Yx8HeN5S49uhQ6DL0rNk0ZBu/TaLg==" + dependencies: + "debug" "4.3.4" + "fast-diff" "1.3.0" + "lodash.sortedlastindex" "4.1.0" + "postcss" "8.4.24" + "stylus" "0.57.0" + +"postcss@8.4.24": + version "8.4.24" + resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.24.tgz" + integrity "sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==" + dependencies: + "nanoid" "3.3.6" + "picocolors" "1.0.0" + "source-map-js" "1.0.2" + +"prelude-ls@1.2.1": + version "1.2.1" + resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" + integrity "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" + +"prettier-linter-helpers@1.0.0": + version "1.0.0" + resolved "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz" + integrity "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==" + dependencies: + "fast-diff" "1.3.0" + +"prettier@^2.8.8", "prettier@2.8.8": + version "2.8.8" + resolved "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz" + integrity "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==" + +"prismjs@^1.29.0", "prismjs@1.29.0": + version "1.29.0" + resolved "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz" + integrity "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==" + +"punycode@2.3.0": + version "2.3.0" + resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz" + integrity "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==" + +"queue-microtask@1.2.3": + version "1.2.3" + resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" + integrity "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" + +"readdirp@3.6.0": + version "3.6.0" + resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" + integrity "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==" + dependencies: + "picomatch" "2.3.1" + +"regexp.prototype.flags@1.5.0": + version "1.5.0" + resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz" + integrity "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==" + dependencies: + "call-bind" "1.0.2" + "define-properties" "1.2.0" + "functions-have-names" "1.2.3" + +"relative-time-format@1.1.6": + version "1.1.6" + resolved "https://registry.npmjs.org/relative-time-format/-/relative-time-format-1.1.6.tgz" + integrity "sha512-aCv3juQw4hT1/P/OrVltKWLlp15eW1GRcwP1XdxHrPdZE9MtgqFpegjnTjLhi2m2WI9MT/hQQtE+tjEWG1hgkQ==" + +"resolve-from@4.0.0": + version "4.0.0" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" + integrity "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" + +"resolve@1.22.2": + version "1.22.2" + resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz" + integrity "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==" + dependencies: + "is-core-module" "2.12.1" + "path-parse" "1.0.7" + "supports-preserve-symlinks-flag" "1.0.0" + +"reusify@1.0.4": + version "1.0.4" + resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" + integrity "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" + +"rimraf@3.0.2": + version "3.0.2" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" + integrity "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==" + dependencies: + "glob" "7.2.3" + +"rollup@3.26.0": + version "3.26.0" + resolved "https://registry.npmjs.org/rollup/-/rollup-3.26.0.tgz" + integrity "sha512-YzJH0eunH2hr3knvF3i6IkLO/jTjAEwU4HoMUbQl4//Tnl3ou0e7P5SjxdDr8HQJdeUJShlbEHXrrnEHy1l7Yg==" + +"run-parallel@1.2.0": + version "1.2.0" + resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" + integrity "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==" + dependencies: + "queue-microtask" "1.2.3" + +"safe-regex-test@1.0.0": + version "1.0.0" + resolved "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz" + integrity "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==" + dependencies: + "call-bind" "1.0.2" + "get-intrinsic" "1.2.1" + "is-regex" "1.1.4" + +"safer-buffer@2.1.2": + version "2.1.2" + resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" + integrity "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + +"sax@1.2.4": + version "1.2.4" + resolved "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz" + integrity "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + +"semver@7.5.3": + version "7.5.3" + resolved "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz" + integrity "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==" + dependencies: + "lru-cache" "6.0.0" + +"shebang-command@2.0.0": + version "2.0.0" + resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" + integrity "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==" + dependencies: + "shebang-regex" "3.0.0" + +"shebang-regex@3.0.0": + version "3.0.0" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" + integrity "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + +"side-channel@1.0.4": + version "1.0.4" + resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" + integrity "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==" + dependencies: + "call-bind" "1.0.2" + "get-intrinsic" "1.2.1" + "object-inspect" "1.12.3" + +"signal-exit@3.0.7": + version "3.0.7" + resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" + integrity "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + +"slash@3.0.0": + version "3.0.0" + resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" + integrity "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + +"source-map-js@1.0.2": + version "1.0.2" + resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" + integrity "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" + +"source-map-resolve@0.6.0": + version "0.6.0" + resolved "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz" + integrity "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==" + dependencies: + "atob" "2.1.2" + "decode-uri-component" "0.2.2" + +"source-map@0.6.1": + version "0.6.1" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" + integrity "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + +"source-map@0.7.4": + version "0.7.4" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz" + integrity "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==" + +"string.prototype.trim@1.2.7": + version "1.2.7" + resolved "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz" + integrity "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==" + dependencies: + "call-bind" "1.0.2" + "define-properties" "1.2.0" + "es-abstract" "1.21.2" + +"string.prototype.trimend@1.0.6": + version "1.0.6" + resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz" + integrity "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==" + dependencies: + "call-bind" "1.0.2" + "define-properties" "1.2.0" + "es-abstract" "1.21.2" + +"string.prototype.trimstart@1.0.6": + version "1.0.6" + resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz" + integrity "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==" + dependencies: + "call-bind" "1.0.2" + "define-properties" "1.2.0" + "es-abstract" "1.21.2" + +"strip-ansi@6.0.1": + version "6.0.1" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + integrity "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==" + dependencies: + "ansi-regex" "5.0.1" + +"strip-bom@3.0.0": + version "3.0.0" + resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" + integrity "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==" + +"strip-final-newline@2.0.0": + version "2.0.0" + resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" + integrity "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" + +"strip-json-comments@3.1.1": + 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==" + +"stylus@0.57.0": + version "0.57.0" + resolved "https://registry.npmjs.org/stylus/-/stylus-0.57.0.tgz" + integrity "sha512-yOI6G8WYfr0q8v8rRvE91wbxFU+rJPo760Va4MF6K0I6BZjO4r+xSynkvyPBP9tV1CIEUeRsiidjIs2rzb1CnQ==" + dependencies: + "css" "3.0.0" + "debug" "4.3.4" + "glob" "7.2.3" + "safer-buffer" "2.1.2" + "sax" "1.2.4" + "source-map" "0.7.4" + +"supports-color@5.5.0": + version "5.5.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" + integrity "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==" + dependencies: + "has-flag" "3.0.0" + +"supports-color@7.2.0": + version "7.2.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + integrity "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==" + dependencies: + "has-flag" "4.0.0" + +"supports-preserve-symlinks-flag@1.0.0": + 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==" + +"svgo@3.0.2": + version "3.0.2" + resolved "https://registry.npmjs.org/svgo/-/svgo-3.0.2.tgz" + integrity "sha512-Z706C1U2pb1+JGP48fbazf3KxHrWOsLme6Rv7imFBn5EnuanDW1GPaA/P1/dvObE670JDePC3mnj0k0B7P0jjQ==" + dependencies: + "@trysound/sax" "0.2.0" + "commander" "7.2.0" + "css-select" "5.1.0" + "css-tree" "2.3.1" + "csso" "5.0.5" + "picocolors" "1.0.0" + +"text-table@0.2.0": + version "0.2.0" + resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" + integrity "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" + +"to-fast-properties@2.0.0": + 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==" + +"to-regex-range@5.0.1": + 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==" + dependencies: + "is-number" "7.0.0" + +"tsconfig-paths@3.14.2": + version "3.14.2" + resolved "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz" + integrity "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==" + dependencies: + "@types/json5" "0.0.29" + "json5" "1.0.2" + "minimist" "1.2.8" + "strip-bom" "3.0.0" + +"tslib@1.14.1": + version "1.14.1" + resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" + integrity "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + +"tsutils@3.21.0": + version "3.21.0" + resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz" + integrity "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==" + dependencies: + "tslib" "1.14.1" + "typescript" "5.0.3" + +"type-check@0.4.0": + version "0.4.0" + resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" + integrity "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==" + dependencies: + "prelude-ls" "1.2.1" + +"type-fest@0.20.2": + version "0.20.2" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" + integrity "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" + +"typed-array-length@1.0.4": + version "1.0.4" + resolved "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz" + integrity "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==" + dependencies: + "call-bind" "1.0.2" + "for-each" "0.3.3" + "is-typed-array" "1.1.10" + +"typescript@5.0.3": + version "5.0.3" + resolved "https://registry.npmjs.org/typescript/-/typescript-5.0.3.tgz" + integrity "sha512-xv8mOEDnigb/tN9PSMTwSEqAnUvkoXMQlicOb0IUVDBSQCgBSaAAROUZYy2IcUy5qU6XajK5jjjO7TMWqBTKZA==" + +"unbox-primitive@1.0.2": + version "1.0.2" + resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz" + integrity "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==" + dependencies: + "call-bind" "1.0.2" + "has-bigints" "1.0.2" + "has-symbols" "1.0.3" + "which-boxed-primitive" "1.0.2" + +"unplugin-icons@^0.16.3", "unplugin-icons@0.16.3": + version "0.16.3" + resolved "https://registry.npmjs.org/unplugin-icons/-/unplugin-icons-0.16.3.tgz" + integrity "sha512-hivVVr6++WHSj6Iz+rjTa14/ALMYT+PFd2sPtTBKlQR3cdzui1VwM72TzSu94NkDm/KVncvOIiBwoHwUPeL9bg==" + dependencies: + "@antfu/install-pkg" "0.1.1" + "@antfu/utils" "0.7.4" + "@iconify/utils" "2.1.7" + "@vue/compiler-sfc" "3.3.4" + "debug" "4.3.4" + "kolorist" "1.8.0" + "local-pkg" "0.4.3" + "unplugin" "1.3.1" + +"unplugin-vue-components@^0.24.1", "unplugin-vue-components@0.24.1": + version "0.24.1" + resolved "https://registry.npmjs.org/unplugin-vue-components/-/unplugin-vue-components-0.24.1.tgz" + integrity "sha512-T3A8HkZoIE1Cja95xNqolwza0yD5IVlgZZ1PVAGvVCx8xthmjsv38xWRCtHtwl+rvZyL9uif42SRkDGw9aCfMA==" + dependencies: + "@antfu/utils" "0.7.4" + "@rollup/pluginutils" "5.0.2" + "chokidar" "3.5.3" + "debug" "4.3.4" + "fast-glob" "3.3.0" + "local-pkg" "0.4.3" + "magic-string" "0.30.0" + "minimatch" "7.4.6" + "resolve" "1.22.2" + "unplugin" "1.3.1" + "vue" "3.3.4" + +"unplugin@1.3.1": + version "1.3.1" + resolved "https://registry.npmjs.org/unplugin/-/unplugin-1.3.1.tgz" + integrity "sha512-h4uUTIvFBQRxUKS2Wjys6ivoeofGhxzTe2sRWlooyjHXVttcVfV/JiavNd3d4+jty0SVV0dxGw9AkY9MwiaCEw==" + dependencies: + "acorn" "8.9.0" + "chokidar" "3.5.3" + "webpack-sources" "3.2.3" + "webpack-virtual-modules" "0.5.0" + +"update-browserslist-db@1.0.11": + version "1.0.11" + resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz" + integrity "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==" + dependencies: + "browserslist" "4.21.9" + "escalade" "3.1.1" + "picocolors" "1.0.0" + +"uri-js@4.4.1": + version "4.4.1" + resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" + integrity "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==" + dependencies: + "punycode" "2.3.0" + +"util-deprecate@1.0.2": + version "1.0.2" + resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + integrity "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + +"vite-plugin-prismjs@^0.0.8", "vite-plugin-prismjs@0.0.8": + version "0.0.8" + resolved "https://registry.npmjs.org/vite-plugin-prismjs/-/vite-plugin-prismjs-0.0.8.tgz" + integrity "sha512-mBPPMS/hwVUArdqCtp/oajZT7iq1qwJDDCciNZ3R5+Q5tQUuUHXtDKuZHYnklPLElNbENf2FyuOtC4FrgxQRAA==" + dependencies: + "@babel/core" "7.22.5" + "babel-plugin-prismjs" "2.1.0" + +"vite-plugin-windicss@^1.9.0", "vite-plugin-windicss@1.9.0": + version "1.9.0" + resolved "https://registry.npmjs.org/vite-plugin-windicss/-/vite-plugin-windicss-1.9.0.tgz" + integrity "sha512-w0unPfcbVU5eaISAsFTLgIb41SLhmXoUF75Othu8NqFioe8+DEqiuvJ7/k/LRuEuvI8Rt/OKrY6cNzrB+dykaA==" + dependencies: + "@windicss/plugin-utils" "1.9.0" + "debug" "4.3.4" + "kolorist" "1.8.0" + "vite" "4.3.9" + "windicss" "3.5.6" + +"vite-svg-loader@^4.0.0", "vite-svg-loader@4.0.0": + version "4.0.0" + resolved "https://registry.npmjs.org/vite-svg-loader/-/vite-svg-loader-4.0.0.tgz" + integrity "sha512-0MMf1yzzSYlV4MGePsLVAOqXsbF5IVxbn4EEzqRnWxTQl8BJg/cfwIzfQNmNQxZp5XXwd4kyRKF1LytuHZTnqA==" + dependencies: + "@vue/compiler-sfc" "3.3.4" + "svgo" "3.0.2" + +"vite@^4.3.9", "vite@4.3.9": + version "4.3.9" + resolved "https://registry.npmjs.org/vite/-/vite-4.3.9.tgz" + integrity "sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==" + dependencies: + "@types/node" "18.16.19" + "esbuild" "0.17.19" + "postcss" "8.4.24" + "rollup" "3.26.0" + +"vue-demi@0.14.5": + version "0.14.5" + resolved "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.5.tgz" + integrity "sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA==" + dependencies: + "vue" "3.3.4" + +"vue-eslint-parser@^9.3.1", "vue-eslint-parser@9.3.1": + version "9.3.1" + resolved "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.3.1.tgz" + integrity "sha512-Clr85iD2XFZ3lJ52/ppmUDG/spxQu6+MAeHXjjyI4I1NUYZ9xmenQp4N0oaHJhrA8OOxltCVxMRfANGa70vU0g==" + dependencies: + "debug" "4.3.4" + "eslint" "8.44.0" + "eslint-scope" "7.2.0" + "eslint-visitor-keys" "3.4.1" + "espree" "9.6.0" + "esquery" "1.5.0" + "lodash" "4.17.21" + "semver" "7.5.3" + +"vue-i18n@^9.2.2", "vue-i18n@9.2.2": + version "9.2.2" + resolved "https://registry.npmjs.org/vue-i18n/-/vue-i18n-9.2.2.tgz" + integrity "sha512-yswpwtj89rTBhegUAv9Mu37LNznyu3NpyLQmozF3i1hYOhwpG8RjcjIFIIfnu+2MDZJGSZPXaKWvnQA71Yv9TQ==" + dependencies: + "@intlify/core-base" "9.2.2" + "@intlify/shared" "9.2.2" + "@intlify/vue-devtools" "9.2.2" + "@vue/devtools-api" "6.5.0" + "vue" "3.3.4" + +"vue-resize@2.0.0-alpha.1": + version "2.0.0-alpha.1" + resolved "https://registry.npmjs.org/vue-resize/-/vue-resize-2.0.0-alpha.1.tgz" + integrity "sha512-7+iqOueLU7uc9NrMfrzbG8hwMqchfVfSzpVlCMeJQe4pyibqyoifDNbKTZvwxZKDvGkB+PdFeKvnGZMoEb8esg==" + dependencies: + "vue" "3.3.4" + +"vue-router@^4.2.2", "vue-router@4.2.2": + version "4.2.2" + resolved "https://registry.npmjs.org/vue-router/-/vue-router-4.2.2.tgz" + integrity "sha512-cChBPPmAflgBGmy3tBsjeoe3f3VOSG6naKyY5pjtrqLGbNEXdzCigFUHgBvp9e3ysAtFtEx7OLqcSDh/1Cq2TQ==" + dependencies: + "@vue/devtools-api" "6.5.0" + "vue" "3.3.4" + +"vue-template-compiler@2.7.14": + version "2.7.14" + resolved "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.14.tgz" + integrity "sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==" + dependencies: + "de-indent" "1.0.2" + "he" "1.2.0" + +"vue-tsc@^1.8.3", "vue-tsc@1.8.3": + version "1.8.3" + resolved "https://registry.npmjs.org/vue-tsc/-/vue-tsc-1.8.3.tgz" + integrity "sha512-Ua4DHuYxjudlhCW2nRZtaXbhIDVncRGIbDjZhHpF8Z8vklct/G/35/kAPuGNSOmq0JcvhPAe28Oa7LWaUerZVA==" + dependencies: + "@vue/language-core" "1.8.3" + "@vue/typescript" "1.8.3" + "semver" "7.5.3" + "typescript" "5.0.3" + +"vue@^3.3.4", "vue@3.3.4": + version "3.3.4" + resolved "https://registry.npmjs.org/vue/-/vue-3.3.4.tgz" + integrity "sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==" + dependencies: + "@vue/compiler-dom" "3.3.4" + "@vue/compiler-sfc" "3.3.4" + "@vue/runtime-dom" "3.3.4" + "@vue/server-renderer" "3.3.4" + "@vue/shared" "3.3.4" + +"webpack-sources@3.2.3": + version "3.2.3" + resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz" + integrity "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==" + +"webpack-virtual-modules@0.5.0": + version "0.5.0" + resolved "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz" + integrity "sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==" + +"which-boxed-primitive@1.0.2": + version "1.0.2" + resolved "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz" + integrity "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==" + dependencies: + "is-bigint" "1.0.4" + "is-boolean-object" "1.1.2" + "is-number-object" "1.0.7" + "is-string" "1.0.7" + "is-symbol" "1.0.4" + +"which-typed-array@1.1.9": + version "1.1.9" + resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz" + integrity "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==" + dependencies: + "available-typed-arrays" "1.0.5" + "call-bind" "1.0.2" + "for-each" "0.3.3" + "gopd" "1.0.1" + "has-tostringtag" "1.0.0" + "is-typed-array" "1.1.10" + +"which@2.0.2": + version "2.0.2" + resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + integrity "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==" + dependencies: + "isexe" "2.0.0" + +"windicss@^3.5.6", "windicss@3.5.6": + version "3.5.6" + resolved "https://registry.npmjs.org/windicss/-/windicss-3.5.6.tgz" + integrity "sha512-P1mzPEjgFMZLX0ZqfFht4fhV/FX8DTG7ERG1fBLiWvd34pTLVReS5CVsewKn9PApSgXnVfPWwvq+qUsRwpnwFA==" + +"wrappy@1.0.2": + version "1.0.2" + resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + integrity "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + +"xml-name-validator@4.0.0": + version "4.0.0" + resolved "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz" + integrity "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==" + +"yallist@3.1.1": + version "3.1.1" + resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" + integrity "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + +"yallist@4.0.0": + version "4.0.0" + resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" + integrity "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + +"yaml-eslint-parser@0.3.2": + version "0.3.2" + resolved "https://registry.npmjs.org/yaml-eslint-parser/-/yaml-eslint-parser-0.3.2.tgz" + integrity "sha512-32kYO6kJUuZzqte82t4M/gB6/+11WAuHiEnK7FreMo20xsCKPeFH5tDBU7iWxR7zeJpNnMXfJyXwne48D0hGrg==" + dependencies: + "eslint-visitor-keys" "1.3.0" + "lodash" "4.17.21" + "yaml" "1.10.2" + +"yaml@1.10.2": + version "1.10.2" + resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" + integrity "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" + +"yocto-queue@0.1.0": + version "0.1.0" + resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" + integrity "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" |