From f2dbad637185ea403cf096ca373ea27b9f40c038 Mon Sep 17 00:00:00 2001 From: Sergei Korolev Date: Wed, 24 Sep 2025 14:28:17 +0300 Subject: [PATCH 01/26] style(workflows): fix formatting --- .github/workflows/build-and-publish.yml | 102 ++++++++++++------------ .github/workflows/build-and-test.yml | 5 +- .github/workflows/codacy-analysis.yml | 6 +- .github/workflows/codeql-analysis.yml | 70 ++++++++-------- 4 files changed, 91 insertions(+), 92 deletions(-) diff --git a/.github/workflows/build-and-publish.yml b/.github/workflows/build-and-publish.yml index 626bbc7..3fb2804 100644 --- a/.github/workflows/build-and-publish.yml +++ b/.github/workflows/build-and-publish.yml @@ -1,4 +1,4 @@ -name: Build and publish pyfactxx +name: Build and publish pyfactxx on: release: @@ -16,60 +16,60 @@ jobs: working-directory: ./FaCT++.Python steps: - - uses: actions/checkout@v3 - - uses: ilammy/msvc-dev-cmd@v1 - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v3 - with: - python-version: ${{ matrix.python-version }} - - name: Install dependencies - run: | - python -m pip install --upgrade pip - pip install setuptools wheel auditwheel scikit-build cmake cython - - name: Build a wheel - run: | - python setup.py bdist_wheel - - name: Audit a wheel - if: runner.os == 'Linux' - run: | - auditwheel repair --plat manylinux_2_27_x86_64 dist/* - rm -rf dist/* - mv wheelhouse/* dist - - name: Upload artifact - uses: actions/upload-artifact@v3 - with: - name: ${{ runner.os }}-${{ matrix.python-version }} - path: FaCT++.Python/dist/pyfactxx* + - uses: actions/checkout@v3 + - uses: ilammy/msvc-dev-cmd@v1 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v3 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install setuptools wheel auditwheel scikit-build cmake cython + - name: Build a wheel + run: | + python setup.py bdist_wheel + - name: Audit a wheel + if: runner.os == 'Linux' + run: | + auditwheel repair --plat manylinux_2_27_x86_64 dist/* + rm -rf dist/* + mv wheelhouse/* dist + - name: Upload artifact + uses: actions/upload-artifact@v3 + with: + name: ${{ runner.os }}-${{ matrix.python-version }} + path: FaCT++.Python/dist/pyfactxx* publish: runs-on: ubuntu-latest - needs: build + needs: build defaults: run: working-directory: ./FaCT++.Python steps: - - uses: actions/checkout@v3 - - name: Set up Python 3.8 - uses: actions/setup-python@v3 - with: - python-version: 3.8 - - name: Install dependencies - run: | - python -m pip install --upgrade pip - pip install setuptools wheel auditwheel scikit-build cmake cython - - name: Build a source distribution - run: | - python setup.py sdist - - name: Download artifacts - uses: actions/download-artifact@v3 - with: - path: FaCT++.Python/wheels/ - - name: Move wheels - run: | - mv wheels/*/*.whl dist/ - - name: Publish packages - uses: pypa/gh-action-pypi-publish@release/v1 - with: - user: __token__ - password: ${{ secrets.PYPI_API_TOKEN }} - packages_dir: FaCT++.Python/dist \ No newline at end of file + - uses: actions/checkout@v3 + - name: Set up Python 3.8 + uses: actions/setup-python@v3 + with: + python-version: 3.8 + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install setuptools wheel auditwheel scikit-build cmake cython + - name: Build a source distribution + run: | + python setup.py sdist + - name: Download artifacts + uses: actions/download-artifact@v3 + with: + path: FaCT++.Python/wheels/ + - name: Move wheels + run: | + mv wheels/*/*.whl dist/ + - name: Publish packages + uses: pypa/gh-action-pypi-publish@release/v1 + with: + user: __token__ + password: ${{ secrets.PYPI_API_TOKEN }} + packages_dir: FaCT++.Python/dist diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index 31dc8e8..e1649d1 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -3,13 +3,12 @@ name: Build and test pyfactxx on: workflow_dispatch: push: - branches: [ $default-branch, "wheels" ] + branches: [master, "wheels"] pull_request: - branches: [ $default-branch, "wheels" ] + branches: [master, "wheels"] jobs: build: - runs-on: ubuntu-latest defaults: run: diff --git a/.github/workflows/codacy-analysis.yml b/.github/workflows/codacy-analysis.yml index e2eba20..f6f94ef 100644 --- a/.github/workflows/codacy-analysis.yml +++ b/.github/workflows/codacy-analysis.yml @@ -2,12 +2,12 @@ name: Codacy Security Scan on: push: - branches: [ master ] + branches: [master] pull_request: # The branches below must be a subset of the branches above - branches: [ master ] + branches: [master] schedule: - - cron: '32 23 * * 5' + - cron: "32 23 * * 5" jobs: codacy-security-scan: diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 0c5194d..0fb60a9 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -2,12 +2,12 @@ name: "CodeQL" on: push: - branches: [ master ] + branches: [master] pull_request: # The branches below must be a subset of the branches above - branches: [ master ] + branches: [master] schedule: - - cron: '30 3 * * 0' + - cron: "30 3 * * 0" jobs: analyze: @@ -21,37 +21,37 @@ jobs: strategy: fail-fast: false matrix: - language: [ 'cpp', 'java', 'python' ] + language: ["cpp", "java", "python"] steps: - - name: Checkout repository - uses: actions/checkout@v2 - - # Initializes the CodeQL tools for scanning. - - name: Initialize CodeQL - uses: github/codeql-action/init@v1 - with: - languages: ${{ matrix.language }} - # If you wish to specify custom queries, you can do so here or in a config file. - # By default, queries listed here will override any specified in a config file. - # Prefix the list here with "+" to use these queries and those in the config file. - # queries: ./path/to/local/query, your-org/your-repo/queries@main - - # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). - # If this step fails, then you should remove it and run the build manually (see below) - - name: Autobuild - uses: github/codeql-action/autobuild@v1 - - # â„šī¸ Command-line programs to run using the OS shell. - # 📚 https://git.io/JvXDl - - # âœī¸ If the Autobuild fails above, remove it and uncomment the following three lines - # and modify them (or add more) to build your code if your project - # uses a compiled language - - #- run: | - # make bootstrap - # make release - - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v1 + - name: Checkout repository + uses: actions/checkout@v2 + + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v1 + with: + languages: ${{ matrix.language }} + # If you wish to specify custom queries, you can do so here or in a config file. + # By default, queries listed here will override any specified in a config file. + # Prefix the list here with "+" to use these queries and those in the config file. + # queries: ./path/to/local/query, your-org/your-repo/queries@main + + # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). + # If this step fails, then you should remove it and run the build manually (see below) + - name: Autobuild + uses: github/codeql-action/autobuild@v1 + + # â„šī¸ Command-line programs to run using the OS shell. + # 📚 https://git.io/JvXDl + + # âœī¸ If the Autobuild fails above, remove it and uncomment the following three lines + # and modify them (or add more) to build your code if your project + # uses a compiled language + + #- run: | + # make bootstrap + # make release + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v1 From 16aa4b82e5f15f786801fbdae9fcfaf8940cf3b4 Mon Sep 17 00:00:00 2001 From: Sergei Korolev Date: Wed, 24 Sep 2025 14:30:40 +0300 Subject: [PATCH 02/26] ci: bump actions/checkout to v5 --- .github/workflows/build-and-publish.yml | 2 +- .github/workflows/build-and-test.yml | 2 +- .github/workflows/codacy-analysis.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-and-publish.yml b/.github/workflows/build-and-publish.yml index 3fb2804..fa091c0 100644 --- a/.github/workflows/build-and-publish.yml +++ b/.github/workflows/build-and-publish.yml @@ -16,7 +16,7 @@ jobs: working-directory: ./FaCT++.Python steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v5 - uses: ilammy/msvc-dev-cmd@v1 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v3 diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index e1649d1..7533f26 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -18,7 +18,7 @@ jobs: python-version: ["3.7", "3.8", "3.9", "3.10"] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v5 - uses: ilammy/msvc-dev-cmd@v1 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v3 diff --git a/.github/workflows/codacy-analysis.yml b/.github/workflows/codacy-analysis.yml index f6f94ef..fb22813 100644 --- a/.github/workflows/codacy-analysis.yml +++ b/.github/workflows/codacy-analysis.yml @@ -16,7 +16,7 @@ jobs: steps: # Checkout the repository to the GitHub Actions runner - name: Checkout code - uses: actions/checkout@v2 + uses: actions/checkout@v5 # Execute Codacy Analysis CLI and generate a SARIF output with the security issues identified during the analysis - name: Run Codacy Analysis CLI From baf7b8beffaf1477dfd60b21f089f6cd0a035a08 Mon Sep 17 00:00:00 2001 From: Sergei Korolev Date: Fri, 10 Oct 2025 20:04:16 +0300 Subject: [PATCH 03/26] fix: find Python interpreter in virtual env first --- FaCT++.Python/CMakeLists.txt | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/FaCT++.Python/CMakeLists.txt b/FaCT++.Python/CMakeLists.txt index d372039..20bf5af 100644 --- a/FaCT++.Python/CMakeLists.txt +++ b/FaCT++.Python/CMakeLists.txt @@ -1,7 +1,9 @@ set(CMAKE_VERBOSE_MAKEFILE ON) -cmake_minimum_required(VERSION 3.13.0) +cmake_minimum_required(VERSION 3.15) set(CMAKE_CXX_STANDARD 11) -find_program(PYTHON "python") + +set(Python_FIND_VIRTUALENV FIRST) +find_package(Python3 COMPONENTS Interpreter) if (PYTHON) @@ -19,4 +21,4 @@ if (PYTHON) add_custom_target(pyfactxx-build ALL DEPENDS ${OUTPUT}) install(CODE "execute_process(COMMAND ${PYTHON} ${SETUP_PY} install)") -endif() \ No newline at end of file +endif() From 27de5aed904a7a199a2fbbe1b75e2c614d0ccd43 Mon Sep 17 00:00:00 2001 From: Sergei Korolev Date: Fri, 17 Oct 2025 16:20:05 +0300 Subject: [PATCH 04/26] fix: wrong module loading Rename python package dir to "src" to be different from installed package. --- FaCT++.Python/.gitignore | 6 ++-- FaCT++.Python/CMakeLists.txt | 2 +- FaCT++.Python/MANIFEST.in | 5 ++- FaCT++.Python/setup.cfg | 2 +- FaCT++.Python/setup.py | 32 ++++++++----------- .../{pyfactxx => src}/CMakeLists.txt | 2 +- FaCT++.Python/{pyfactxx => src}/__init__.py | 3 +- FaCT++.Python/{pyfactxx => src}/coras | 0 .../{pyfactxx => src}/lib_factxx.pyx | 0 .../{pyfactxx => }/tests/__init__.py | 0 .../{pyfactxx => }/tests/conftest.py | 0 .../{pyfactxx => }/tests/test_concept.py | 0 .../{pyfactxx => }/tests/test_d_role.py | 0 .../{pyfactxx => }/tests/test_instance.py | 0 .../{pyfactxx => }/tests/test_o_role.py | 0 .../{pyfactxx => }/tests/test_one_to_one.py | 0 .../tests/test_query_instances.py | 0 .../{pyfactxx => }/tests/test_set_op.py | 0 18 files changed, 22 insertions(+), 30 deletions(-) rename FaCT++.Python/{pyfactxx => src}/CMakeLists.txt (93%) rename FaCT++.Python/{pyfactxx => src}/__init__.py (99%) rename FaCT++.Python/{pyfactxx => src}/coras (100%) rename FaCT++.Python/{pyfactxx => src}/lib_factxx.pyx (100%) rename FaCT++.Python/{pyfactxx => }/tests/__init__.py (100%) rename FaCT++.Python/{pyfactxx => }/tests/conftest.py (100%) rename FaCT++.Python/{pyfactxx => }/tests/test_concept.py (100%) rename FaCT++.Python/{pyfactxx => }/tests/test_d_role.py (100%) rename FaCT++.Python/{pyfactxx => }/tests/test_instance.py (100%) rename FaCT++.Python/{pyfactxx => }/tests/test_o_role.py (100%) rename FaCT++.Python/{pyfactxx => }/tests/test_one_to_one.py (100%) rename FaCT++.Python/{pyfactxx => }/tests/test_query_instances.py (100%) rename FaCT++.Python/{pyfactxx => }/tests/test_set_op.py (100%) diff --git a/FaCT++.Python/.gitignore b/FaCT++.Python/.gitignore index 77b9fe4..5db6e40 100644 --- a/FaCT++.Python/.gitignore +++ b/FaCT++.Python/.gitignore @@ -5,9 +5,9 @@ __pycache__/ dist/ MANIFEST -# cythonized files -pyfactxx/*.cpp -pyfactxx/*.so +# cythonized files +src/*.cpp +src/*.so # scikit-build files _skbuild/ diff --git a/FaCT++.Python/CMakeLists.txt b/FaCT++.Python/CMakeLists.txt index 20bf5af..154d6e0 100644 --- a/FaCT++.Python/CMakeLists.txt +++ b/FaCT++.Python/CMakeLists.txt @@ -10,7 +10,7 @@ if (PYTHON) file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}") set(SETUP_PY "${CMAKE_CURRENT_BINARY_DIR}/setup.py") - set(DEPS "${CMAKE_CURRENT_SOURCE_DIR}/pyfactxx/__init__.py") + set(DEPS "${CMAKE_CURRENT_SOURCE_DIR}/src/__init__.py") set(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/build/timestamp") add_custom_command(OUTPUT ${OUTPUT} diff --git a/FaCT++.Python/MANIFEST.in b/FaCT++.Python/MANIFEST.in index 4f3040a..7fff1be 100644 --- a/FaCT++.Python/MANIFEST.in +++ b/FaCT++.Python/MANIFEST.in @@ -1,6 +1,5 @@ global-include CMakeLists.txt -prune _skbuild/ -recursive-include pyfactxx *.py *.pyx -prune pyfactxx/tests +prune _skbuild/ +recursive-include src *.py *.pyx graft lib include COPYING pyproject.toml README.md setup.py diff --git a/FaCT++.Python/setup.cfg b/FaCT++.Python/setup.cfg index 8c70520..4aa14c2 100644 --- a/FaCT++.Python/setup.cfg +++ b/FaCT++.Python/setup.cfg @@ -36,7 +36,7 @@ tests_require = pytest, pytest-cov formats = zip [tool:pytest] -addopts = --cov=pyfactxx +addopts = --cov=src [coverage:report] show_missing = 1 diff --git a/FaCT++.Python/setup.py b/FaCT++.Python/setup.py index a7f7996..01cc5e9 100644 --- a/FaCT++.Python/setup.py +++ b/FaCT++.Python/setup.py @@ -19,35 +19,29 @@ # along with this program. If not, see . # -import re import ast import pathlib -from skbuild import setup +import re +from skbuild import setup root = pathlib.Path(__file__).parent.resolve() DEBUG = False -_version_re = re.compile(r'__version__\s+=\s+(.*)') +_version_re = re.compile(r"__version__\s+=\s+(.*)") -with open('pyfactxx/__init__.py', 'rb') as f: - version = str(ast.literal_eval(_version_re.search( - f.read().decode('utf-8')).group(1))) +with open("src/__init__.py", "rb") as f: + version = str( + ast.literal_eval(_version_re.search(f.read().decode("utf-8")).group(1)) + ) -config = 'Debug' if DEBUG else 'Release' -cmake_args = [ - f'-DCMAKE_BUILD_TYPE={config}', - f'-DPYFACTXX_ROOT={root.as_posix()}' -] +config = "Debug" if DEBUG else "Release" +cmake_args = [f"-DCMAKE_BUILD_TYPE={config}", f"-DPYFACTXX_ROOT={root.as_posix()}"] setup( version=version, - packages=[ - "pyfactxx", - "pyfactxx.coras"], - package_dir={ - "pyfactxx": "pyfactxx", - "pyfactxx.coras": "pyfactxx/coras"}, - cmake_source_dir=str(root/'pyfactxx'), - cmake_args=cmake_args + packages=["pyfactxx", "pyfactxx.coras"], + package_dir={"pyfactxx": "src", "pyfactxx.coras": "src/coras"}, + cmake_source_dir=str(root / "src"), + cmake_args=cmake_args, ) diff --git a/FaCT++.Python/pyfactxx/CMakeLists.txt b/FaCT++.Python/src/CMakeLists.txt similarity index 93% rename from FaCT++.Python/pyfactxx/CMakeLists.txt rename to FaCT++.Python/src/CMakeLists.txt index 72243ab..39aa55a 100644 --- a/FaCT++.Python/pyfactxx/CMakeLists.txt +++ b/FaCT++.Python/src/CMakeLists.txt @@ -18,7 +18,7 @@ target_include_directories(lib_factxx PRIVATE ${FACT_DIR} Kernel) target_link_libraries(lib_factxx Kernel) python_extension_module(lib_factxx) -install(TARGETS lib_factxx LIBRARY DESTINATION pyfactxx) +install(TARGETS lib_factxx LIBRARY DESTINATION src) set(CPACK_PROJECT_NAME ${PROJECT_NAME}) set(CPACK_PROJECT_VERSION ${PROJECT_VERSION}) diff --git a/FaCT++.Python/pyfactxx/__init__.py b/FaCT++.Python/src/__init__.py similarity index 99% rename from FaCT++.Python/pyfactxx/__init__.py rename to FaCT++.Python/src/__init__.py index 3a64261..51019c5 100644 --- a/FaCT++.Python/pyfactxx/__init__.py +++ b/FaCT++.Python/src/__init__.py @@ -17,9 +17,8 @@ # along with this program. If not, see . # -from .lib_factxx import Reasoner # pylint: disable=no-name-in-module from .coras import Coras - +from .lib_factxx import Reasoner # pylint: disable=no-name-in-module __version__ = "1.8.1" diff --git a/FaCT++.Python/pyfactxx/coras b/FaCT++.Python/src/coras similarity index 100% rename from FaCT++.Python/pyfactxx/coras rename to FaCT++.Python/src/coras diff --git a/FaCT++.Python/pyfactxx/lib_factxx.pyx b/FaCT++.Python/src/lib_factxx.pyx similarity index 100% rename from FaCT++.Python/pyfactxx/lib_factxx.pyx rename to FaCT++.Python/src/lib_factxx.pyx diff --git a/FaCT++.Python/pyfactxx/tests/__init__.py b/FaCT++.Python/tests/__init__.py similarity index 100% rename from FaCT++.Python/pyfactxx/tests/__init__.py rename to FaCT++.Python/tests/__init__.py diff --git a/FaCT++.Python/pyfactxx/tests/conftest.py b/FaCT++.Python/tests/conftest.py similarity index 100% rename from FaCT++.Python/pyfactxx/tests/conftest.py rename to FaCT++.Python/tests/conftest.py diff --git a/FaCT++.Python/pyfactxx/tests/test_concept.py b/FaCT++.Python/tests/test_concept.py similarity index 100% rename from FaCT++.Python/pyfactxx/tests/test_concept.py rename to FaCT++.Python/tests/test_concept.py diff --git a/FaCT++.Python/pyfactxx/tests/test_d_role.py b/FaCT++.Python/tests/test_d_role.py similarity index 100% rename from FaCT++.Python/pyfactxx/tests/test_d_role.py rename to FaCT++.Python/tests/test_d_role.py diff --git a/FaCT++.Python/pyfactxx/tests/test_instance.py b/FaCT++.Python/tests/test_instance.py similarity index 100% rename from FaCT++.Python/pyfactxx/tests/test_instance.py rename to FaCT++.Python/tests/test_instance.py diff --git a/FaCT++.Python/pyfactxx/tests/test_o_role.py b/FaCT++.Python/tests/test_o_role.py similarity index 100% rename from FaCT++.Python/pyfactxx/tests/test_o_role.py rename to FaCT++.Python/tests/test_o_role.py diff --git a/FaCT++.Python/pyfactxx/tests/test_one_to_one.py b/FaCT++.Python/tests/test_one_to_one.py similarity index 100% rename from FaCT++.Python/pyfactxx/tests/test_one_to_one.py rename to FaCT++.Python/tests/test_one_to_one.py diff --git a/FaCT++.Python/pyfactxx/tests/test_query_instances.py b/FaCT++.Python/tests/test_query_instances.py similarity index 100% rename from FaCT++.Python/pyfactxx/tests/test_query_instances.py rename to FaCT++.Python/tests/test_query_instances.py diff --git a/FaCT++.Python/pyfactxx/tests/test_set_op.py b/FaCT++.Python/tests/test_set_op.py similarity index 100% rename from FaCT++.Python/pyfactxx/tests/test_set_op.py rename to FaCT++.Python/tests/test_set_op.py From d9e0210d9d2ef6f188da160c0d893265804468b4 Mon Sep 17 00:00:00 2001 From: Sergei Korolev Date: Fri, 17 Oct 2025 16:26:19 +0300 Subject: [PATCH 05/26] fix: do not use editable install Editable install is broken since Setuptools 64 https://github.com/pypa/setuptools/issues/3504 Not supported by scikit-build https://github.com/scikit-build/scikit-build/issues/740 https://github.com/scikit-build/scikit-build/issues/770 https://github.com/scikit-build/scikit-build/issues/939 --- .github/workflows/build-and-test.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index 7533f26..3160b59 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -29,9 +29,8 @@ jobs: python -m pip install --upgrade pip pip install scikit-build cmake cython pytest pytest-cov - name: Install package - working-directory: ./FaCT++.Python run: | - pip install -e . + pip install . - name: Test with pytest run: | - pytest FaCT++.Python + pytest From 9f7e05e35029dd69ed865b97d131be7842986b9f Mon Sep 17 00:00:00 2001 From: Sergei Korolev Date: Fri, 17 Oct 2025 16:28:55 +0300 Subject: [PATCH 06/26] fix: bump versions of build tools and supported interpreters --- FaCT++.Python/pyproject.toml | 8 ++++---- FaCT++.Python/setup.cfg | 16 ++++++++-------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/FaCT++.Python/pyproject.toml b/FaCT++.Python/pyproject.toml index a203ce9..bc76eb3 100644 --- a/FaCT++.Python/pyproject.toml +++ b/FaCT++.Python/pyproject.toml @@ -1,10 +1,10 @@ [build-system] -requires = [ - "setuptools>=42", +requires = [ + "setuptools>=64", "cython>0.25", "wheel", "scikit-build", - "cmake", + "cmake>=3.15", "ninja; platform_system!='Windows'" ] -build-backend = "setuptools.build_meta" \ No newline at end of file +build-backend = "setuptools.build_meta" diff --git a/FaCT++.Python/setup.cfg b/FaCT++.Python/setup.cfg index 4aa14c2..cf97b83 100644 --- a/FaCT++.Python/setup.cfg +++ b/FaCT++.Python/setup.cfg @@ -8,27 +8,28 @@ maintainer_email = ir@tilde.pro url = https://github.com/tilde-lab/pyfactxx long_description = file: README.md long_description_content_type = text/markdown -license = GNU GPL 3.0 -license_files = file: COPYING +license = GPL-3.0-only +license_files = + COPYING classifiers = Development Status :: 4 - Beta Intended Audience :: Science/Research Topic :: Scientific/Engineering :: Artificial Intelligence - License :: OSI Approved :: GNU General Public License v3 (GPLv3) Programming Language :: C++ Programming Language :: Cython Programming Language :: Lisp Programming Language :: Python :: 3 - Programming Language :: Python :: 3.6 - Programming Language :: Python :: 3.7 - Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.9 Programming Language :: Python :: 3.10 + Programming Language :: Python :: 3.11 + Programming Language :: Python :: 3.12 + Programming Language :: Python :: 3.13 + Programming Language :: Python :: 3.14 [options] zip_safe = False include_package_data = True -python_requires = >=3.7 +python_requires = >=3.9 install_requires = rdflib tests_require = pytest, pytest-cov @@ -41,4 +42,3 @@ addopts = --cov=src [coverage:report] show_missing = 1 partial_branches = 1 - From 9a7a3f08a988d19b6838fc0b15af8987e935d642 Mon Sep 17 00:00:00 2001 From: Sergei Korolev Date: Fri, 17 Oct 2025 16:29:21 +0300 Subject: [PATCH 07/26] ci: bump versions of actions and supported interpreters --- .github/workflows/build-and-test.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index 3160b59..79db93a 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -7,6 +7,9 @@ on: pull_request: branches: [master, "wheels"] +permissions: + contents: read # access to check out code and install dependencies + jobs: build: runs-on: ubuntu-latest @@ -15,13 +18,13 @@ jobs: working-directory: ./FaCT++.Python strategy: matrix: - python-version: ["3.7", "3.8", "3.9", "3.10"] + python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"] steps: - uses: actions/checkout@v5 - uses: ilammy/msvc-dev-cmd@v1 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v3 + uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} - name: Install dependencies From a1c0c367a1f6538bf1838839edc9cc83b71c1118 Mon Sep 17 00:00:00 2001 From: Sergei Korolev Date: Fri, 17 Oct 2025 17:39:49 +0300 Subject: [PATCH 08/26] ci: no need to install deps manually --- .github/workflows/build-and-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index 79db93a..0d71e68 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -30,7 +30,7 @@ jobs: - name: Install dependencies run: | python -m pip install --upgrade pip - pip install scikit-build cmake cython pytest pytest-cov + pip install pytest pytest-cov - name: Install package run: | pip install . From 0208e7e7c5eab44a228ce971b642a0906a16c513 Mon Sep 17 00:00:00 2001 From: Sergei Korolev Date: Wed, 22 Oct 2025 23:16:49 +0300 Subject: [PATCH 09/26] ci: update build matrix --- .github/workflows/build-and-publish.yml | 8 ++++---- .github/workflows/build-and-test.yml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-and-publish.yml b/.github/workflows/build-and-publish.yml index fa091c0..f38d6b4 100644 --- a/.github/workflows/build-and-publish.yml +++ b/.github/workflows/build-and-publish.yml @@ -9,8 +9,8 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: ["ubuntu-20.04", "windows-latest"] - python-version: ["3.7", "3.8", "3.9", "3.10"] + os: ["ubuntu-22.04", "windows-2025"] + python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"] defaults: run: working-directory: ./FaCT++.Python @@ -32,7 +32,7 @@ jobs: - name: Audit a wheel if: runner.os == 'Linux' run: | - auditwheel repair --plat manylinux_2_27_x86_64 dist/* + auditwheel repair --plat manylinux_2_34_x86_64 dist/*whl rm -rf dist/* mv wheelhouse/* dist - name: Upload artifact @@ -52,7 +52,7 @@ jobs: - name: Set up Python 3.8 uses: actions/setup-python@v3 with: - python-version: 3.8 + python-version: 3.14 - name: Install dependencies run: | python -m pip install --upgrade pip diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index 0d71e68..0f7ddae 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -12,7 +12,7 @@ permissions: jobs: build: - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 defaults: run: working-directory: ./FaCT++.Python From cf3d4afd4c097b12a61eef6fb39cce902a47141c Mon Sep 17 00:00:00 2001 From: Sergei Korolev Date: Wed, 22 Oct 2025 23:19:42 +0300 Subject: [PATCH 10/26] ci: update action versions --- .github/workflows/build-and-publish.yml | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build-and-publish.yml b/.github/workflows/build-and-publish.yml index f38d6b4..26bbff7 100644 --- a/.github/workflows/build-and-publish.yml +++ b/.github/workflows/build-and-publish.yml @@ -17,9 +17,13 @@ jobs: steps: - uses: actions/checkout@v5 - - uses: ilammy/msvc-dev-cmd@v1 + - uses: actions/setup-node@v6 + with: + node-version: "24" + # TODO: migrate to the upstream + - uses: knopki/msvc-dev-cmd@221ec3af3b87c0c8189236347c1c0788d2022272 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v3 + uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} - name: Install dependencies @@ -36,7 +40,7 @@ jobs: rm -rf dist/* mv wheelhouse/* dist - name: Upload artifact - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: ${{ runner.os }}-${{ matrix.python-version }} path: FaCT++.Python/dist/pyfactxx* @@ -48,9 +52,9 @@ jobs: run: working-directory: ./FaCT++.Python steps: - - uses: actions/checkout@v3 - - name: Set up Python 3.8 - uses: actions/setup-python@v3 + - uses: actions/checkout@v5 + - name: Set up Python + uses: actions/setup-python@v6 with: python-version: 3.14 - name: Install dependencies @@ -61,14 +65,14 @@ jobs: run: | python setup.py sdist - name: Download artifacts - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v5 with: path: FaCT++.Python/wheels/ - name: Move wheels run: | mv wheels/*/*.whl dist/ - name: Publish packages - uses: pypa/gh-action-pypi-publish@release/v1 + uses: pypa/gh-action-pypi-publish@v1.13.0 with: user: __token__ password: ${{ secrets.PYPI_API_TOKEN }} From 796d9efc92b8c48746bc7aa0309dfd36852ebc1b Mon Sep 17 00:00:00 2001 From: Sergei Korolev Date: Thu, 23 Oct 2025 00:14:42 +0300 Subject: [PATCH 11/26] ci: fixes --- .github/workflows/build-and-publish.yml | 27 +++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-and-publish.yml b/.github/workflows/build-and-publish.yml index 26bbff7..7d8e642 100644 --- a/.github/workflows/build-and-publish.yml +++ b/.github/workflows/build-and-publish.yml @@ -4,6 +4,9 @@ on: release: types: [created] +permissions: + contents: read # access to check out code and install dependencies + jobs: build: runs-on: ${{ matrix.os }} @@ -29,7 +32,11 @@ jobs: - name: Install dependencies run: | python -m pip install --upgrade pip - pip install setuptools wheel auditwheel scikit-build cmake cython + pip install setuptools wheel scikit-build cmake cython + - name: Install Linux-only dependencies + if: runner.os == 'Linux' + run: | + pip install auditwheel patchelf - name: Build a wheel run: | python setup.py bdist_wheel @@ -46,11 +53,16 @@ jobs: path: FaCT++.Python/dist/pyfactxx* publish: - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 needs: build defaults: run: working-directory: ./FaCT++.Python + environment: + name: pypi + url: https://pypi.org/p/pyfactxx + permissions: + id-token: write # IMPORTANT: this permission is mandatory for trusted publishing steps: - uses: actions/checkout@v5 - name: Set up Python @@ -60,7 +72,7 @@ jobs: - name: Install dependencies run: | python -m pip install --upgrade pip - pip install setuptools wheel auditwheel scikit-build cmake cython + pip install setuptools wheel scikit-build cmake cython - name: Build a source distribution run: | python setup.py sdist @@ -74,6 +86,9 @@ jobs: - name: Publish packages uses: pypa/gh-action-pypi-publish@v1.13.0 with: - user: __token__ - password: ${{ secrets.PYPI_API_TOKEN }} - packages_dir: FaCT++.Python/dist + packages-dir: FaCT++.Python/dist/ + # # useful for testing: + # verbose: true + # repository-url: https://test.pypi.org/legacy/ + # user: __token__ + # password: ${{ secrets.PYPI_API_TOKEN }} From 897e434e49620564aea932bab3e3734145e6dd6f Mon Sep 17 00:00:00 2001 From: Sergei Korolev Date: Thu, 23 Oct 2025 00:26:24 +0300 Subject: [PATCH 12/26] fix: bump min cmake version to 3.15 --- CMakeLists.txt | 2 +- FaCT++.C/CMakeLists.txt | 2 +- FaCT++.JNI/CMakeLists.txt | 2 +- FaCT++.Python/src/CMakeLists.txt | 2 +- FaCT++/CMakeLists.txt | 2 +- Kernel/CMakeLists.txt | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 550231d..1b81c7f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.0) +cmake_minimum_required(VERSION 3.15) project(factplusplus) # global definition diff --git a/FaCT++.C/CMakeLists.txt b/FaCT++.C/CMakeLists.txt index 93455fd..fec14d4 100644 --- a/FaCT++.C/CMakeLists.txt +++ b/FaCT++.C/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.8.11) +cmake_minimum_required(VERSION 3.15) set(SOURCE_FILES fact.cpp diff --git a/FaCT++.JNI/CMakeLists.txt b/FaCT++.JNI/CMakeLists.txt index 3c146d9..56a9b27 100644 --- a/FaCT++.JNI/CMakeLists.txt +++ b/FaCT++.JNI/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.8.11) +cmake_minimum_required(VERSION 3.15) # We are using JNI and need to #include find_package(JNI REQUIRED) diff --git a/FaCT++.Python/src/CMakeLists.txt b/FaCT++.Python/src/CMakeLists.txt index 39aa55a..6147375 100644 --- a/FaCT++.Python/src/CMakeLists.txt +++ b/FaCT++.Python/src/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.13.0) +cmake_minimum_required(VERSION 3.15) project(pyfactxx) set(CMAKE_CXX_STANDARD 11) include(CMakePrintHelpers) diff --git a/FaCT++/CMakeLists.txt b/FaCT++/CMakeLists.txt index 040bf38..305a317 100644 --- a/FaCT++/CMakeLists.txt +++ b/FaCT++/CMakeLists.txt @@ -1,5 +1,5 @@ project(FaCT++) -cmake_minimum_required(VERSION 2.8.11) +cmake_minimum_required(VERSION 3.15) set(SOURCE_FILES AD.cpp diff --git a/Kernel/CMakeLists.txt b/Kernel/CMakeLists.txt index f287b74..1422d7e 100644 --- a/Kernel/CMakeLists.txt +++ b/Kernel/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.8.11) +cmake_minimum_required(VERSION 3.15) set(SOURCE_FILES Actor.cpp From 072e8189a5534aaec97e22fb1e52f8e6a67cfa0d Mon Sep 17 00:00:00 2001 From: Sergei Korolev Date: Thu, 23 Oct 2025 14:40:36 +0300 Subject: [PATCH 13/26] ci: fix codacy --- .github/workflows/codacy-analysis.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/codacy-analysis.yml b/.github/workflows/codacy-analysis.yml index fb22813..2ade04b 100644 --- a/.github/workflows/codacy-analysis.yml +++ b/.github/workflows/codacy-analysis.yml @@ -36,6 +36,10 @@ jobs: # Upload the SARIF file generated in the previous step - name: Upload SARIF results file - uses: github/codeql-action/upload-sarif@v1 + uses: github/codeql-action/upload-sarif@v4 + # Codacy is broken now + # https://github.com/codacy/codacy-analysis-cli/issues/541 + continue-on-error: true with: sarif_file: results.sarif + wait-for-processing: true From eb2edd704a740eaac91c0b4fd8043154e7bed3ed Mon Sep 17 00:00:00 2001 From: Sergei Korolev Date: Thu, 23 Oct 2025 14:40:44 +0300 Subject: [PATCH 14/26] ci: fix codeql --- .github/workflows/codeql-analysis.yml | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 0fb60a9..3826736 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -12,7 +12,7 @@ on: jobs: analyze: name: Analyze - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 permissions: actions: read contents: read @@ -29,7 +29,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@v1 + uses: github/codeql-action/init@v3 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -40,7 +40,8 @@ jobs: # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # If this step fails, then you should remove it and run the build manually (see below) - name: Autobuild - uses: github/codeql-action/autobuild@v1 + if: matrix.language != 'cpp' + uses: github/codeql-action/autobuild@v3 # â„šī¸ Command-line programs to run using the OS shell. # 📚 https://git.io/JvXDl @@ -49,9 +50,16 @@ jobs: # and modify them (or add more) to build your code if your project # uses a compiled language - #- run: | - # make bootstrap - # make release + - name: Install dependencies + if: matrix.language == 'cpp' + run: | + sudo apt-get update + sudo apt-get install cmake default-jdk + - name: Build + if: matrix.language == 'cpp' + run: | + cmake . + make - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v1 + uses: github/codeql-action/analyze@v3 From f5cff44fc53713409a3426c7d3b6050acd9accbb Mon Sep 17 00:00:00 2001 From: Sergei Korolev Date: Thu, 23 Oct 2025 16:23:13 +0300 Subject: [PATCH 15/26] fix: port to GCC 13 (Ubuntu 24.04) --- Kernel/flags.h | 1 + 1 file changed, 1 insertion(+) diff --git a/Kernel/flags.h b/Kernel/flags.h index 418577a..213197b 100644 --- a/Kernel/flags.h +++ b/Kernel/flags.h @@ -16,6 +16,7 @@ You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include #ifndef FLAGS_H #define FLAGS_H From 5615b7894605f61b8818b3d08cd704a13b2d2c78 Mon Sep 17 00:00:00 2001 From: Sergei Korolev Date: Fri, 21 Nov 2025 17:21:44 +0300 Subject: [PATCH 16/26] fix: make JNI optional --- .gitignore | 10 ++++++- FaCT++.JNI/CMakeLists.txt | 57 ++++++++++++++++++++------------------- 2 files changed, 39 insertions(+), 28 deletions(-) diff --git a/.gitignore b/.gitignore index 1393927..8b32577 100644 --- a/.gitignore +++ b/.gitignore @@ -16,4 +16,12 @@ CMakeFiles/ # Targets fact_test libfact.so -libKernel.* \ No newline at end of file +libKernel.* + +# Environments +.venv +venv +.env +.envrc +.direnv +.devenv diff --git a/FaCT++.JNI/CMakeLists.txt b/FaCT++.JNI/CMakeLists.txt index 56a9b27..ffc28f9 100644 --- a/FaCT++.JNI/CMakeLists.txt +++ b/FaCT++.JNI/CMakeLists.txt @@ -1,33 +1,36 @@ cmake_minimum_required(VERSION 3.15) # We are using JNI and need to #include -find_package(JNI REQUIRED) +find_package(JNI) -set(SOURCE_FILES - Axioms.cpp - Expressions.cpp - FaCTPlusPlus.cpp - JNIActor.h - JNIMonitor.h - JNISupport.h - KnowledgeExploration.cpp - MemoryStat.cpp - MemoryStat.h - Modularity.cpp - Queries.cpp - SaveLoad.cpp - tJNICache.h - uk_ac_manchester_cs_factplusplus_FaCTPlusPlus.h -) +if(JNI_FOUND) + set(SOURCE_FILES + Axioms.cpp + Expressions.cpp + FaCTPlusPlus.cpp + JNIActor.h + JNIMonitor.h + JNISupport.h + KnowledgeExploration.cpp + MemoryStat.cpp + MemoryStat.h + Modularity.cpp + Queries.cpp + SaveLoad.cpp + tJNICache.h + uk_ac_manchester_cs_factplusplus_FaCTPlusPlus.h + ) -# JNI Library should be declared as MODULE -add_library(FaCTPlusPlusJNI MODULE ${SOURCE_FILES}) -target_link_libraries(FaCTPlusPlusJNI LINK_PUBLIC Kernel) -# Include search path for jni.h and jni_md.h -include_directories( - ${JAVA_INCLUDE_PATH} - ${JAVA_INCLUDE_PATH2} -) + # JNI Library should be declared as MODULE + add_library(FaCTPlusPlusJNI MODULE ${SOURCE_FILES}) + target_link_libraries(FaCTPlusPlusJNI LINK_PUBLIC Kernel) + # Include search path for jni.h and jni_md.h + include_directories( + ${JAVA_INCLUDE_PATH} + ${JAVA_INCLUDE_PATH2} + ) -# allow library users to find headers -target_include_directories(FaCTPlusPlusJNI PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) + # allow library users to find headers + target_include_directories(FaCTPlusPlusJNI PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) + +endif() From ce461ac5986d80e73b19dc1c72fddfd4511a7cbc Mon Sep 17 00:00:00 2001 From: Sergei Korolev Date: Sat, 13 Dec 2025 03:13:25 +0300 Subject: [PATCH 17/26] feat: ported to scikit-build-core --- .gitignore | 2 + CMakeLists.txt | 4 +- FaCT++.Python/.gitignore | 9 +- FaCT++.Python/CMakeLists.txt | 64 +- FaCT++.Python/COPYING | 674 ------------------ FaCT++.Python/MANIFEST.in | 5 - FaCT++.Python/README.md | 1 - FaCT++.Python/lib/FaCT++ | 1 - FaCT++.Python/lib/Kernel | 1 - FaCT++.Python/pyproject.toml | 10 - FaCT++.Python/setup.cfg | 44 -- FaCT++.Python/setup.py | 47 -- FaCT++.Python/src/CMakeLists.txt | 25 - FaCT++.Python/src/coras | 1 - FaCT++.Python/src/{ => pyfactxx}/__init__.py | 0 FaCT++.Python/src/pyfactxx/coras | 1 + .../src/{ => pyfactxx}/lib_factxx.pyx | 0 FaCT++/FaCT++ | Bin 0 -> 1506976 bytes pyproject.toml | 111 +++ 19 files changed, 168 insertions(+), 832 deletions(-) delete mode 100644 FaCT++.Python/COPYING delete mode 100644 FaCT++.Python/MANIFEST.in delete mode 120000 FaCT++.Python/README.md delete mode 120000 FaCT++.Python/lib/FaCT++ delete mode 120000 FaCT++.Python/lib/Kernel delete mode 100644 FaCT++.Python/pyproject.toml delete mode 100644 FaCT++.Python/setup.cfg delete mode 100644 FaCT++.Python/setup.py delete mode 100644 FaCT++.Python/src/CMakeLists.txt delete mode 120000 FaCT++.Python/src/coras rename FaCT++.Python/src/{ => pyfactxx}/__init__.py (100%) create mode 120000 FaCT++.Python/src/pyfactxx/coras rename FaCT++.Python/src/{ => pyfactxx}/lib_factxx.pyx (100%) create mode 100755 FaCT++/FaCT++ create mode 100644 pyproject.toml diff --git a/.gitignore b/.gitignore index 8b32577..0ec111e 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,8 @@ build/** .vscode .coverage +dist/ +build/ # cmake files CMakeCache.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index 1b81c7f..f87c1c8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -26,4 +26,6 @@ add_subdirectory(Kernel) add_subdirectory(FaCT++) add_subdirectory(FaCT++.C) add_subdirectory(FaCT++.JNI) -add_subdirectory(FaCT++.Python) +if(SKBUILD) + add_subdirectory(FaCT++.Python) +endif() diff --git a/FaCT++.Python/.gitignore b/FaCT++.Python/.gitignore index 5db6e40..25eb875 100644 --- a/FaCT++.Python/.gitignore +++ b/FaCT++.Python/.gitignore @@ -2,12 +2,7 @@ __pycache__/ *.egg-info/ *.so -dist/ -MANIFEST # cythonized files -src/*.cpp -src/*.so - -# scikit-build files -_skbuild/ +src/**.cpp +src/**.so diff --git a/FaCT++.Python/CMakeLists.txt b/FaCT++.Python/CMakeLists.txt index 154d6e0..e898d23 100644 --- a/FaCT++.Python/CMakeLists.txt +++ b/FaCT++.Python/CMakeLists.txt @@ -1,24 +1,58 @@ -set(CMAKE_VERBOSE_MAKEFILE ON) cmake_minimum_required(VERSION 3.15) -set(CMAKE_CXX_STANDARD 11) -set(Python_FIND_VIRTUALENV FIRST) -find_package(Python3 COMPONENTS Interpreter) +# This directory is intended to be added from the repository root via: +# add_subdirectory(FaCT++.Python) -if (PYTHON) +set(CMAKE_VERBOSE_MAKEFILE ON) +if (NOT DEFINED CMAKE_CXX_STANDARD) + set(CMAKE_CXX_STANDARD 11) +endif() - file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}") +# Repository root (directory that contains Kernel/, FaCT++/, etc.) +set(PYFACTXX_REPO_ROOT "${CMAKE_CURRENT_SOURCE_DIR}/..") - set(SETUP_PY "${CMAKE_CURRENT_BINARY_DIR}/setup.py") - set(DEPS "${CMAKE_CURRENT_SOURCE_DIR}/src/__init__.py") - set(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/build/timestamp") +# Source directory that is packaged as the Python package "pyfactxx" +set(PYFACTXX_PY_PKG_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src/pyfactxx") - add_custom_command(OUTPUT ${OUTPUT} - COMMAND ${PYTHON} ${SETUP_PY} build - COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT} - DEPENDS ${DEPS}) +# Python + helpers (provides python_add_library and Python::Interpreter) +set(Python_FIND_VIRTUALENV FIRST) +find_package(Python COMPONENTS Interpreter Development.Module REQUIRED) - add_custom_target(pyfactxx-build ALL DEPENDS ${OUTPUT}) +message(STATUS "Python executable: ${Python_EXECUTABLE}") +message(STATUS "Python version: ${Python_VERSION}") - install(CODE "execute_process(COMMAND ${PYTHON} ${SETUP_PY} install)") +if (NOT TARGET Kernel) + add_subdirectory("${PYFACTXX_REPO_ROOT}/Kernel" "${CMAKE_CURRENT_BINARY_DIR}/Kernel") endif() +set_property(TARGET Kernel PROPERTY POSITION_INDEPENDENT_CODE ON) + +# FaCT++ sources (compiled into the extension module) +set(FACT_DIR "${PYFACTXX_REPO_ROOT}/FaCT++") +file(GLOB FACT_FILES CONFIGURE_DEPENDS "${FACT_DIR}/*.cpp") + +# Cython input and generated C++ output +set(PYFACTXX_PYX "${PYFACTXX_PY_PKG_DIR}/lib_factxx.pyx") +set(PYFACTXX_CPP "${CMAKE_CURRENT_BINARY_DIR}/lib_factxx.cpp") + +add_custom_command( + OUTPUT "${PYFACTXX_CPP}" + COMMENT "Generating ${PYFACTXX_CPP} from ${PYFACTXX_PYX}" + COMMAND Python::Interpreter -m cython --cplus --verbose + "${PYFACTXX_PYX}" + --output-file "${PYFACTXX_CPP}" + DEPENDS "${PYFACTXX_PYX}" + VERBATIM +) + +# Build the Python extension module (with ABI tag / SOABI where applicable) +python_add_library(lib_factxx MODULE WITH_SOABI "${PYFACTXX_CPP}" ${FACT_FILES}) +target_include_directories(lib_factxx PRIVATE "${FACT_DIR}") +target_link_libraries(lib_factxx PRIVATE Kernel) + +# Install into the Python package directory inside the wheel: +# the compiled extension will end up next to pyfactxx/__init__.py etc. +install( + TARGETS lib_factxx + LIBRARY DESTINATION pyfactxx # Linux/macOS (.so/.dylib) + RUNTIME DESTINATION pyfactxx # Windows (.pyd) +) diff --git a/FaCT++.Python/COPYING b/FaCT++.Python/COPYING deleted file mode 100644 index 94a9ed0..0000000 --- a/FaCT++.Python/COPYING +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. diff --git a/FaCT++.Python/MANIFEST.in b/FaCT++.Python/MANIFEST.in deleted file mode 100644 index 7fff1be..0000000 --- a/FaCT++.Python/MANIFEST.in +++ /dev/null @@ -1,5 +0,0 @@ -global-include CMakeLists.txt -prune _skbuild/ -recursive-include src *.py *.pyx -graft lib -include COPYING pyproject.toml README.md setup.py diff --git a/FaCT++.Python/README.md b/FaCT++.Python/README.md deleted file mode 120000 index 32d46ee..0000000 --- a/FaCT++.Python/README.md +++ /dev/null @@ -1 +0,0 @@ -../README.md \ No newline at end of file diff --git a/FaCT++.Python/lib/FaCT++ b/FaCT++.Python/lib/FaCT++ deleted file mode 120000 index abfc572..0000000 --- a/FaCT++.Python/lib/FaCT++ +++ /dev/null @@ -1 +0,0 @@ -../../FaCT++ \ No newline at end of file diff --git a/FaCT++.Python/lib/Kernel b/FaCT++.Python/lib/Kernel deleted file mode 120000 index dcc738b..0000000 --- a/FaCT++.Python/lib/Kernel +++ /dev/null @@ -1 +0,0 @@ -../../Kernel \ No newline at end of file diff --git a/FaCT++.Python/pyproject.toml b/FaCT++.Python/pyproject.toml deleted file mode 100644 index bc76eb3..0000000 --- a/FaCT++.Python/pyproject.toml +++ /dev/null @@ -1,10 +0,0 @@ -[build-system] -requires = [ - "setuptools>=64", - "cython>0.25", - "wheel", - "scikit-build", - "cmake>=3.15", - "ninja; platform_system!='Windows'" -] -build-backend = "setuptools.build_meta" diff --git a/FaCT++.Python/setup.cfg b/FaCT++.Python/setup.cfg deleted file mode 100644 index cf97b83..0000000 --- a/FaCT++.Python/setup.cfg +++ /dev/null @@ -1,44 +0,0 @@ -[metadata] -name = pyfactxx -description = Python bindings to FaCT++ reasoner -author = Artur Wroblewski -author_email = wrobell@riseup.net -maintainer = Ivan Rygaev, Andrey Sobolev -maintainer_email = ir@tilde.pro -url = https://github.com/tilde-lab/pyfactxx -long_description = file: README.md -long_description_content_type = text/markdown -license = GPL-3.0-only -license_files = - COPYING -classifiers = - Development Status :: 4 - Beta - Intended Audience :: Science/Research - Topic :: Scientific/Engineering :: Artificial Intelligence - Programming Language :: C++ - Programming Language :: Cython - Programming Language :: Lisp - Programming Language :: Python :: 3 - Programming Language :: Python :: 3.9 - Programming Language :: Python :: 3.10 - Programming Language :: Python :: 3.11 - Programming Language :: Python :: 3.12 - Programming Language :: Python :: 3.13 - Programming Language :: Python :: 3.14 - -[options] -zip_safe = False -include_package_data = True -python_requires = >=3.9 -install_requires = rdflib -tests_require = pytest, pytest-cov - -[sdist] -formats = zip - -[tool:pytest] -addopts = --cov=src - -[coverage:report] -show_missing = 1 -partial_branches = 1 diff --git a/FaCT++.Python/setup.py b/FaCT++.Python/setup.py deleted file mode 100644 index 01cc5e9..0000000 --- a/FaCT++.Python/setup.py +++ /dev/null @@ -1,47 +0,0 @@ -#!/usr/bin/env python -# -# pyfactxx - Python interface to FaCT++ reasoner -# -# Copyright (C) 2016-2018 by Artur Wroblewski -# Copyright (C) 2021-2022 by Ivan Rygaev -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -# - -import ast -import pathlib -import re - -from skbuild import setup - -root = pathlib.Path(__file__).parent.resolve() -DEBUG = False - -_version_re = re.compile(r"__version__\s+=\s+(.*)") - -with open("src/__init__.py", "rb") as f: - version = str( - ast.literal_eval(_version_re.search(f.read().decode("utf-8")).group(1)) - ) - -config = "Debug" if DEBUG else "Release" -cmake_args = [f"-DCMAKE_BUILD_TYPE={config}", f"-DPYFACTXX_ROOT={root.as_posix()}"] - -setup( - version=version, - packages=["pyfactxx", "pyfactxx.coras"], - package_dir={"pyfactxx": "src", "pyfactxx.coras": "src/coras"}, - cmake_source_dir=str(root / "src"), - cmake_args=cmake_args, -) diff --git a/FaCT++.Python/src/CMakeLists.txt b/FaCT++.Python/src/CMakeLists.txt deleted file mode 100644 index 6147375..0000000 --- a/FaCT++.Python/src/CMakeLists.txt +++ /dev/null @@ -1,25 +0,0 @@ -cmake_minimum_required(VERSION 3.15) -project(pyfactxx) -set(CMAKE_CXX_STANDARD 11) -include(CMakePrintHelpers) - -find_package(PythonExtensions REQUIRED) -find_package(Cython REQUIRED) - -add_subdirectory(${PYFACTXX_ROOT}/lib/Kernel ./Kernel) -set(FACT_DIR ${PYFACTXX_ROOT}/lib/FaCT++) -file(GLOB FACT_FILES "${FACT_DIR}/*.cpp") -# TODO: How to create shared libKernel? -# target_compile_definitions(Kernel PRIVATE BUILD_SHARED_LIBS) -set_property(TARGET Kernel PROPERTY POSITION_INDEPENDENT_CODE ON) -add_cython_target(_factxx lib_factxx.pyx CXX PY3) -add_library(lib_factxx MODULE ${_factxx} ${FACT_FILES} Kernel) -target_include_directories(lib_factxx PRIVATE ${FACT_DIR} Kernel) -target_link_libraries(lib_factxx Kernel) -python_extension_module(lib_factxx) - -install(TARGETS lib_factxx LIBRARY DESTINATION src) - -set(CPACK_PROJECT_NAME ${PROJECT_NAME}) -set(CPACK_PROJECT_VERSION ${PROJECT_VERSION}) -include(CPack) diff --git a/FaCT++.Python/src/coras b/FaCT++.Python/src/coras deleted file mode 120000 index 549cfd6..0000000 --- a/FaCT++.Python/src/coras +++ /dev/null @@ -1 +0,0 @@ -../coras/coras \ No newline at end of file diff --git a/FaCT++.Python/src/__init__.py b/FaCT++.Python/src/pyfactxx/__init__.py similarity index 100% rename from FaCT++.Python/src/__init__.py rename to FaCT++.Python/src/pyfactxx/__init__.py diff --git a/FaCT++.Python/src/pyfactxx/coras b/FaCT++.Python/src/pyfactxx/coras new file mode 120000 index 0000000..305fca5 --- /dev/null +++ b/FaCT++.Python/src/pyfactxx/coras @@ -0,0 +1 @@ +../../coras/coras/ \ No newline at end of file diff --git a/FaCT++.Python/src/lib_factxx.pyx b/FaCT++.Python/src/pyfactxx/lib_factxx.pyx similarity index 100% rename from FaCT++.Python/src/lib_factxx.pyx rename to FaCT++.Python/src/pyfactxx/lib_factxx.pyx diff --git a/FaCT++/FaCT++ b/FaCT++/FaCT++ new file mode 100755 index 0000000000000000000000000000000000000000..70d4fab5e72d5b51b7c57fbaeb74531735f920c7 GIT binary patch literal 1506976 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∓m+`EV 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%0DF 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 CsmjOz literal 0 HcmV?d00001 diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..da4cb6c --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,111 @@ +[build-system] +requires = [ + "scikit-build-core>=0.8.0", + "cython>=0.25", +] +build-backend = "scikit_build_core.build" + +[project] +name = "pyfactxx" +version = "1.8.1" +description = "Python bindings to FaCT++ reasoner" +readme = {file = "README.md", content-type = "text/markdown"} +license = {text = "GPL-3.0-only"} +authors = [ + {name = "Artur Wroblewski", email = "wrobell@riseup.net"} +] +maintainers = [ + {name = "Ivan Rygaev", email = "ir@tilde.pro"}, + {name = "Andrey Sobolev"} +] +requires-python = ">=3.9" +dependencies = [ + "rdflib" +] +classifiers = [ + "Development Status :: 4 - Beta", + "Intended Audience :: Science/Research", + "Topic :: Scientific/Engineering :: Artificial Intelligence", + "Programming Language :: C++", + "Programming Language :: Cython", + "Programming Language :: Lisp", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", +] + +[project.urls] +Homepage = "https://github.com/tilde-lab/pyfactxx" +Repository = "https://github.com/tilde-lab/pyfactxx" + +[project.optional-dependencies] +test = ["pytest", "pytest-cov"] + +[tool.scikit-build] +# Minimum version of CMake required +cmake.version = ">=3.15" + +# Build directory +build-dir = "build/{wheel_tag}" + +# Verbose output +build.verbose = false + +# Build type (Release by default) +# Override with --config-settings=cmake.build-type=Debug +cmake.build-type = "Release" + +# Support editable installs +editable.mode = "redirect" +editable.verbose = true + +sdist.include = [ + "CMakeLists.txt", + "README.md", + "LICENSE", + "CITATION.cff", + "pyproject.toml", + "FaCT++", + "FaCT++.C", + "FaCT++.Python/CMakeLists.txt", + "FaCT++.Python/src/pyfactxx/*.py", + "FaCT++.Python/src/pyfactxx/*.pyx", + "Kernel", +] +sdist.exclude = [ + ".venv", + "venv", + ".git", + ".github", + ".gitignore", + "build", + "dist", + "FaCT++.JNI", + "FaCT++.Java", + "eclipsefiles", + ".bumpversion.cfg", + ".pylintrc", + "**/*.pyc", + "**/__pycache__", + "FaCT++.Python/coras", + "FaCT++.Python/coras/**", +] + +[tool.scikit-build.wheel.packages] +"pyfactxx" = "FaCT++.Python/src/pyfactxx" +"pyfactxx/coras" = "FaCT++.Python/src/pyfactxx/coras" + +[tool.cibuildwheel] +build = "cp39-* cp310-* cp311-* cp312-* cp313-* cp314-*" +skip = "*-musllinux_* *-win32 *-manylinux_i686" + +[tool.pytest.ini_options] +addopts = "--cov=src" +testpaths = ["tests"] + +[tool.coverage.report] +show_missing = true From 7073b3a141c5b75c23ccf765de86c971f0d4c4e6 Mon Sep 17 00:00:00 2001 From: Sergei Korolev Date: Sat, 13 Dec 2025 03:15:30 +0300 Subject: [PATCH 18/26] fix: drop broken codacy workflow --- .github/workflows/codacy-analysis.yml | 45 --------------------------- 1 file changed, 45 deletions(-) delete mode 100644 .github/workflows/codacy-analysis.yml diff --git a/.github/workflows/codacy-analysis.yml b/.github/workflows/codacy-analysis.yml deleted file mode 100644 index 2ade04b..0000000 --- a/.github/workflows/codacy-analysis.yml +++ /dev/null @@ -1,45 +0,0 @@ -name: Codacy Security Scan - -on: - push: - branches: [master] - pull_request: - # The branches below must be a subset of the branches above - branches: [master] - schedule: - - cron: "32 23 * * 5" - -jobs: - codacy-security-scan: - name: Codacy Security Scan - runs-on: ubuntu-latest - steps: - # Checkout the repository to the GitHub Actions runner - - name: Checkout code - uses: actions/checkout@v5 - - # Execute Codacy Analysis CLI and generate a SARIF output with the security issues identified during the analysis - - name: Run Codacy Analysis CLI - uses: codacy/codacy-analysis-cli-action@d840f886c4bd4edc059706d09c6a1586111c540b - with: - # Check https://github.com/codacy/codacy-analysis-cli#project-token to get your project token from your Codacy repository - # You can also omit the token and run the tools that support default configurations - project-token: ${{ secrets.CODACY_PROJECT_TOKEN }} - verbose: true - output: results.sarif - format: sarif - # Adjust severity of non-security issues - gh-code-scanning-compat: true - # Force 0 exit code to allow SARIF file generation - # This will handover control about PR rejection to the GitHub side - max-allowed-issues: 2147483647 - - # Upload the SARIF file generated in the previous step - - name: Upload SARIF results file - uses: github/codeql-action/upload-sarif@v4 - # Codacy is broken now - # https://github.com/codacy/codacy-analysis-cli/issues/541 - continue-on-error: true - with: - sarif_file: results.sarif - wait-for-processing: true From e4f51da5801e8ba079e1c7104ea4b8a3495a3973 Mon Sep 17 00:00:00 2001 From: Sergei Korolev Date: Sat, 13 Dec 2025 21:29:44 +0300 Subject: [PATCH 19/26] ci: fix workflows --- .github/dependabot.yml | 6 ++ .github/workflows/build-and-publish.yml | 95 +++++++++++-------------- .github/workflows/build-and-test.yml | 21 ++---- .gitignore | 1 + pyproject.toml | 12 ++-- 5 files changed, 62 insertions(+), 73 deletions(-) create mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..ce9df8b --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,6 @@ +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: monthly diff --git a/.github/workflows/build-and-publish.yml b/.github/workflows/build-and-publish.yml index 7d8e642..8774d86 100644 --- a/.github/workflows/build-and-publish.yml +++ b/.github/workflows/build-and-publish.yml @@ -8,85 +8,70 @@ permissions: contents: read # access to check out code and install dependencies jobs: - build: + build_wheels: + name: Build wheels on ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: matrix: - os: ["ubuntu-22.04", "windows-2025"] - python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"] - defaults: - run: - working-directory: ./FaCT++.Python + os: [ubuntu-latest, windows-latest] steps: - uses: actions/checkout@v5 + - uses: actions/setup-node@v6 with: node-version: "24" - # TODO: migrate to the upstream + # TODO: migrate to the upstream / bundle + # NOTE: https://github.com/ilammy/msvc-dev-cmd/pull/94 + # NOTE: https://github.com/ilammy/msvc-dev-cmd/pull/95 - uses: knopki/msvc-dev-cmd@221ec3af3b87c0c8189236347c1c0788d2022272 - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v6 + + - name: Build wheels + uses: pypa/cibuildwheel@v3.3.0 + + - uses: actions/upload-artifact@v4 with: - python-version: ${{ matrix.python-version }} - - name: Install dependencies - run: | - python -m pip install --upgrade pip - pip install setuptools wheel scikit-build cmake cython - - name: Install Linux-only dependencies - if: runner.os == 'Linux' - run: | - pip install auditwheel patchelf - - name: Build a wheel - run: | - python setup.py bdist_wheel - - name: Audit a wheel - if: runner.os == 'Linux' - run: | - auditwheel repair --plat manylinux_2_34_x86_64 dist/*whl - rm -rf dist/* - mv wheelhouse/* dist - - name: Upload artifact - uses: actions/upload-artifact@v4 + name: cibw-wheels-${{ matrix.os }}-${{ strategy.job-index }} + path: ./wheelhouse/*.whl + + build_sdist: + name: Build source distribution + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v5 + + - name: Install uv + uses: astral-sh/setup-uv@v7 + + - name: Build sdist + run: uv build --sdist + + - uses: actions/upload-artifact@v4 with: - name: ${{ runner.os }}-${{ matrix.python-version }} - path: FaCT++.Python/dist/pyfactxx* + name: cibw-sdist + path: dist/*.tar.gz publish: - runs-on: ubuntu-24.04 - needs: build - defaults: - run: - working-directory: ./FaCT++.Python + runs-on: ubuntu-latest + needs: [build_wheels, build_sdist] environment: name: pypi url: https://pypi.org/p/pyfactxx permissions: id-token: write # IMPORTANT: this permission is mandatory for trusted publishing + contents: read steps: - - uses: actions/checkout@v5 - - name: Set up Python - uses: actions/setup-python@v6 - with: - python-version: 3.14 - - name: Install dependencies - run: | - python -m pip install --upgrade pip - pip install setuptools wheel scikit-build cmake cython - - name: Build a source distribution - run: | - python setup.py sdist - - name: Download artifacts - uses: actions/download-artifact@v5 + - uses: actions/download-artifact@v5 with: - path: FaCT++.Python/wheels/ - - name: Move wheels - run: | - mv wheels/*/*.whl dist/ + # unpacks all CIBW artifacts into dist/ + pattern: cibw-* + path: dist + merge-multiple: true + - name: Publish packages uses: pypa/gh-action-pypi-publish@v1.13.0 with: - packages-dir: FaCT++.Python/dist/ + packages-dir: dist/ # # useful for testing: # verbose: true # repository-url: https://test.pypi.org/legacy/ diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index 0f7ddae..a6457d6 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -13,27 +13,20 @@ permissions: jobs: build: runs-on: ubuntu-24.04 - defaults: - run: - working-directory: ./FaCT++.Python strategy: matrix: python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"] steps: - uses: actions/checkout@v5 - - uses: ilammy/msvc-dev-cmd@v1 - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v6 + + - name: Install uv and set the Python version + uses: astral-sh/setup-uv@v7 with: python-version: ${{ matrix.python-version }} - - name: Install dependencies - run: | - python -m pip install --upgrade pip - pip install pytest pytest-cov + - name: Install package - run: | - pip install . + run: uv sync --all-extras --dev + - name: Test with pytest - run: | - pytest + run: uv run pytest diff --git a/.gitignore b/.gitignore index 0ec111e..f51c4d6 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,7 @@ build/** .coverage dist/ build/ +wheelhouse/ # cmake files CMakeCache.txt diff --git a/pyproject.toml b/pyproject.toml index da4cb6c..f594180 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -100,12 +100,16 @@ sdist.exclude = [ "pyfactxx/coras" = "FaCT++.Python/src/pyfactxx/coras" [tool.cibuildwheel] -build = "cp39-* cp310-* cp311-* cp312-* cp313-* cp314-*" -skip = "*-musllinux_* *-win32 *-manylinux_i686" +test-extras = ["test"] +test-command = "pytest {project}/FaCT++.Python/tests" +skip = "cp38-*" +build-frontend = "build[uv]" +build-verbosity = 1 +repair-wheel-command = "uvx repairwheel -o {dest_dir} {wheel}" [tool.pytest.ini_options] -addopts = "--cov=src" -testpaths = ["tests"] +addopts = "--cov=FaCT++.Python/src" +testpaths = ["FaCT++.Python/tests"] [tool.coverage.report] show_missing = true From d6a20b721999504753e7b7b8606ef44cc411d2ec Mon Sep 17 00:00:00 2001 From: Sergei Korolev Date: Sat, 13 Dec 2025 21:32:57 +0300 Subject: [PATCH 20/26] build: fix versionbump --- .bumpversion.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.bumpversion.cfg b/.bumpversion.cfg index 83f0c31..f1641b8 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -5,7 +5,7 @@ serialize = {major}.{minor}.{patch} commit = True tag = True -[bumpversion:file:FaCT++.Python/pyfactxx/__init__.py] +[bumpversion:file:FaCT++.Python/src/pyfactxx/__init__.py] search = __version__ = "{current_version}" replace = __version__ = "{new_version}" From 05aafe0d76791d731ae48c9ef3ceda4f4fdf845e Mon Sep 17 00:00:00 2001 From: Sergei Korolev Date: Sat, 13 Dec 2025 21:46:50 +0300 Subject: [PATCH 21/26] ci: bundle msvc-dev-cmd action --- .github/actions/msvc-dev-cmd/.gitignore | 1 + .github/actions/msvc-dev-cmd/README.md | 7 + .github/actions/msvc-dev-cmd/action.yml | 22 + .github/actions/msvc-dev-cmd/dist/index.js | 2368 +++++++++++++ .github/actions/msvc-dev-cmd/index.js | 20 + .github/actions/msvc-dev-cmd/lib.js | 225 ++ .../actions/msvc-dev-cmd/package-lock.json | 2957 +++++++++++++++++ .github/actions/msvc-dev-cmd/package.json | 37 + .github/workflows/build-and-publish.yml | 8 +- .gitignore | 2 +- 10 files changed, 5639 insertions(+), 8 deletions(-) create mode 100644 .github/actions/msvc-dev-cmd/.gitignore create mode 100644 .github/actions/msvc-dev-cmd/README.md create mode 100644 .github/actions/msvc-dev-cmd/action.yml create mode 100644 .github/actions/msvc-dev-cmd/dist/index.js create mode 100644 .github/actions/msvc-dev-cmd/index.js create mode 100644 .github/actions/msvc-dev-cmd/lib.js create mode 100644 .github/actions/msvc-dev-cmd/package-lock.json create mode 100644 .github/actions/msvc-dev-cmd/package.json diff --git a/.github/actions/msvc-dev-cmd/.gitignore b/.github/actions/msvc-dev-cmd/.gitignore new file mode 100644 index 0000000..3c3629e --- /dev/null +++ b/.github/actions/msvc-dev-cmd/.gitignore @@ -0,0 +1 @@ +node_modules diff --git a/.github/actions/msvc-dev-cmd/README.md b/.github/actions/msvc-dev-cmd/README.md new file mode 100644 index 0000000..f17a2bd --- /dev/null +++ b/.github/actions/msvc-dev-cmd/README.md @@ -0,0 +1,7 @@ +# msvc-dev-cmd + +This is a temprorary soft fork of the [msvc-dev-cmd](https://github.com/ilammy/msvc-dev-cmd) action. +Pending the adoption of the following PR: + +- [Update NodeJS to v24](https://github.com/ilammy/msvc-dev-cmd/pull/94) +- [Bundle dependencies](https://github.com/ilammy/msvc-dev-cmd/pull/95) diff --git a/.github/actions/msvc-dev-cmd/action.yml b/.github/actions/msvc-dev-cmd/action.yml new file mode 100644 index 0000000..3a99f4e --- /dev/null +++ b/.github/actions/msvc-dev-cmd/action.yml @@ -0,0 +1,22 @@ +name: Enable Developer Command Prompt +description: Configure Microsoft Visual C++ command line +inputs: + arch: + description: Target architecture + default: x64 + sdk: + description: Windows SDK number to build for + spectre: + description: Enable Specre mitigations + toolset: + description: VC++ compiler toolset version + uwp: + description: Build for Universal Windows Platform + vsversion: + description: The Visual Studio version to use. This can be the version number (e.g. 16.0 for 2019) or the year (e.g. "2019"). +runs: + using: node24 + main: dist/index.js +branding: + icon: terminal + color: purple diff --git a/.github/actions/msvc-dev-cmd/dist/index.js b/.github/actions/msvc-dev-cmd/dist/index.js new file mode 100644 index 0000000..970ad69 --- /dev/null +++ b/.github/actions/msvc-dev-cmd/dist/index.js @@ -0,0 +1,2368 @@ +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __esm = (fn, res) => function __init() { + return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; +}; +var __commonJS = (cb, mod) => function __require() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); + +// node_modules/@actions/core/lib/utils.js +var require_utils = __commonJS({ + "node_modules/@actions/core/lib/utils.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.toCommandProperties = exports2.toCommandValue = void 0; + function toCommandValue(input) { + if (input === null || input === void 0) { + return ""; + } else if (typeof input === "string" || input instanceof String) { + return input; + } + return JSON.stringify(input); + } + exports2.toCommandValue = toCommandValue; + function toCommandProperties(annotationProperties) { + if (!Object.keys(annotationProperties).length) { + return {}; + } + return { + title: annotationProperties.title, + file: annotationProperties.file, + line: annotationProperties.startLine, + endLine: annotationProperties.endLine, + col: annotationProperties.startColumn, + endColumn: annotationProperties.endColumn + }; + } + exports2.toCommandProperties = toCommandProperties; + } +}); + +// node_modules/@actions/core/lib/command.js +var require_command = __commonJS({ + "node_modules/@actions/core/lib/command.js"(exports2) { + "use strict"; + var __createBinding = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { + return m[k]; + } }); + }) : (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + o[k2] = m[k]; + })); + var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + }) : function(o, v) { + o["default"] = v; + }); + var __importStar = exports2 && exports2.__importStar || function(mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) { + for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + } + __setModuleDefault(result, mod); + return result; + }; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.issue = exports2.issueCommand = void 0; + var os = __importStar(require("os")); + var utils_1 = require_utils(); + function issueCommand(command, properties, message) { + const cmd = new Command(command, properties, message); + process.stdout.write(cmd.toString() + os.EOL); + } + exports2.issueCommand = issueCommand; + function issue(name, message = "") { + issueCommand(name, {}, message); + } + exports2.issue = issue; + var CMD_STRING = "::"; + var Command = class { + constructor(command, properties, message) { + if (!command) { + command = "missing.command"; + } + this.command = command; + this.properties = properties; + this.message = message; + } + toString() { + let cmdStr = CMD_STRING + this.command; + if (this.properties && Object.keys(this.properties).length > 0) { + cmdStr += " "; + let first = true; + for (const key in this.properties) { + if (this.properties.hasOwnProperty(key)) { + const val = this.properties[key]; + if (val) { + if (first) { + first = false; + } else { + cmdStr += ","; + } + cmdStr += `${key}=${escapeProperty(val)}`; + } + } + } + } + cmdStr += `${CMD_STRING}${escapeData(this.message)}`; + return cmdStr; + } + }; + function escapeData(s) { + return utils_1.toCommandValue(s).replace(/%/g, "%25").replace(/\r/g, "%0D").replace(/\n/g, "%0A"); + } + function escapeProperty(s) { + return utils_1.toCommandValue(s).replace(/%/g, "%25").replace(/\r/g, "%0D").replace(/\n/g, "%0A").replace(/:/g, "%3A").replace(/,/g, "%2C"); + } + } +}); + +// node_modules/uuid/dist/esm-node/rng.js +function rng() { + if (poolPtr > rnds8Pool.length - 16) { + import_crypto.default.randomFillSync(rnds8Pool); + poolPtr = 0; + } + return rnds8Pool.slice(poolPtr, poolPtr += 16); +} +var import_crypto, rnds8Pool, poolPtr; +var init_rng = __esm({ + "node_modules/uuid/dist/esm-node/rng.js"() { + import_crypto = __toESM(require("crypto")); + rnds8Pool = new Uint8Array(256); + poolPtr = rnds8Pool.length; + } +}); + +// node_modules/uuid/dist/esm-node/regex.js +var regex_default; +var init_regex = __esm({ + "node_modules/uuid/dist/esm-node/regex.js"() { + regex_default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i; + } +}); + +// node_modules/uuid/dist/esm-node/validate.js +function validate(uuid) { + return typeof uuid === "string" && regex_default.test(uuid); +} +var validate_default; +var init_validate = __esm({ + "node_modules/uuid/dist/esm-node/validate.js"() { + init_regex(); + validate_default = validate; + } +}); + +// node_modules/uuid/dist/esm-node/stringify.js +function stringify(arr, offset = 0) { + const uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + "-" + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + "-" + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + "-" + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + "-" + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); + if (!validate_default(uuid)) { + throw TypeError("Stringified UUID is invalid"); + } + return uuid; +} +var byteToHex, stringify_default; +var init_stringify = __esm({ + "node_modules/uuid/dist/esm-node/stringify.js"() { + init_validate(); + byteToHex = []; + for (let i = 0; i < 256; ++i) { + byteToHex.push((i + 256).toString(16).substr(1)); + } + stringify_default = stringify; + } +}); + +// node_modules/uuid/dist/esm-node/v1.js +function v1(options, buf, offset) { + let i = buf && offset || 0; + const b = buf || new Array(16); + options = options || {}; + let node = options.node || _nodeId; + let clockseq = options.clockseq !== void 0 ? options.clockseq : _clockseq; + if (node == null || clockseq == null) { + const seedBytes = options.random || (options.rng || rng)(); + if (node == null) { + node = _nodeId = [seedBytes[0] | 1, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]]; + } + if (clockseq == null) { + clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 16383; + } + } + let msecs = options.msecs !== void 0 ? options.msecs : Date.now(); + let nsecs = options.nsecs !== void 0 ? options.nsecs : _lastNSecs + 1; + const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 1e4; + if (dt < 0 && options.clockseq === void 0) { + clockseq = clockseq + 1 & 16383; + } + if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === void 0) { + nsecs = 0; + } + if (nsecs >= 1e4) { + throw new Error("uuid.v1(): Can't create more than 10M uuids/sec"); + } + _lastMSecs = msecs; + _lastNSecs = nsecs; + _clockseq = clockseq; + msecs += 122192928e5; + const tl = ((msecs & 268435455) * 1e4 + nsecs) % 4294967296; + b[i++] = tl >>> 24 & 255; + b[i++] = tl >>> 16 & 255; + b[i++] = tl >>> 8 & 255; + b[i++] = tl & 255; + const tmh = msecs / 4294967296 * 1e4 & 268435455; + b[i++] = tmh >>> 8 & 255; + b[i++] = tmh & 255; + b[i++] = tmh >>> 24 & 15 | 16; + b[i++] = tmh >>> 16 & 255; + b[i++] = clockseq >>> 8 | 128; + b[i++] = clockseq & 255; + for (let n = 0; n < 6; ++n) { + b[i + n] = node[n]; + } + return buf || stringify_default(b); +} +var _nodeId, _clockseq, _lastMSecs, _lastNSecs, v1_default; +var init_v1 = __esm({ + "node_modules/uuid/dist/esm-node/v1.js"() { + init_rng(); + init_stringify(); + _lastMSecs = 0; + _lastNSecs = 0; + v1_default = v1; + } +}); + +// node_modules/uuid/dist/esm-node/parse.js +function parse(uuid) { + if (!validate_default(uuid)) { + throw TypeError("Invalid UUID"); + } + let v; + const arr = new Uint8Array(16); + arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24; + arr[1] = v >>> 16 & 255; + arr[2] = v >>> 8 & 255; + arr[3] = v & 255; + arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8; + arr[5] = v & 255; + arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8; + arr[7] = v & 255; + arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8; + arr[9] = v & 255; + arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 1099511627776 & 255; + arr[11] = v / 4294967296 & 255; + arr[12] = v >>> 24 & 255; + arr[13] = v >>> 16 & 255; + arr[14] = v >>> 8 & 255; + arr[15] = v & 255; + return arr; +} +var parse_default; +var init_parse = __esm({ + "node_modules/uuid/dist/esm-node/parse.js"() { + init_validate(); + parse_default = parse; + } +}); + +// node_modules/uuid/dist/esm-node/v35.js +function stringToBytes(str) { + str = unescape(encodeURIComponent(str)); + const bytes = []; + for (let i = 0; i < str.length; ++i) { + bytes.push(str.charCodeAt(i)); + } + return bytes; +} +function v35_default(name, version2, hashfunc) { + function generateUUID(value, namespace, buf, offset) { + if (typeof value === "string") { + value = stringToBytes(value); + } + if (typeof namespace === "string") { + namespace = parse_default(namespace); + } + if (namespace.length !== 16) { + throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)"); + } + let bytes = new Uint8Array(16 + value.length); + bytes.set(namespace); + bytes.set(value, namespace.length); + bytes = hashfunc(bytes); + bytes[6] = bytes[6] & 15 | version2; + bytes[8] = bytes[8] & 63 | 128; + if (buf) { + offset = offset || 0; + for (let i = 0; i < 16; ++i) { + buf[offset + i] = bytes[i]; + } + return buf; + } + return stringify_default(bytes); + } + try { + generateUUID.name = name; + } catch (err) { + } + generateUUID.DNS = DNS; + generateUUID.URL = URL2; + return generateUUID; +} +var DNS, URL2; +var init_v35 = __esm({ + "node_modules/uuid/dist/esm-node/v35.js"() { + init_stringify(); + init_parse(); + DNS = "6ba7b810-9dad-11d1-80b4-00c04fd430c8"; + URL2 = "6ba7b811-9dad-11d1-80b4-00c04fd430c8"; + } +}); + +// node_modules/uuid/dist/esm-node/md5.js +function md5(bytes) { + if (Array.isArray(bytes)) { + bytes = Buffer.from(bytes); + } else if (typeof bytes === "string") { + bytes = Buffer.from(bytes, "utf8"); + } + return import_crypto2.default.createHash("md5").update(bytes).digest(); +} +var import_crypto2, md5_default; +var init_md5 = __esm({ + "node_modules/uuid/dist/esm-node/md5.js"() { + import_crypto2 = __toESM(require("crypto")); + md5_default = md5; + } +}); + +// node_modules/uuid/dist/esm-node/v3.js +var v3, v3_default; +var init_v3 = __esm({ + "node_modules/uuid/dist/esm-node/v3.js"() { + init_v35(); + init_md5(); + v3 = v35_default("v3", 48, md5_default); + v3_default = v3; + } +}); + +// node_modules/uuid/dist/esm-node/v4.js +function v4(options, buf, offset) { + options = options || {}; + const rnds = options.random || (options.rng || rng)(); + rnds[6] = rnds[6] & 15 | 64; + rnds[8] = rnds[8] & 63 | 128; + if (buf) { + offset = offset || 0; + for (let i = 0; i < 16; ++i) { + buf[offset + i] = rnds[i]; + } + return buf; + } + return stringify_default(rnds); +} +var v4_default; +var init_v4 = __esm({ + "node_modules/uuid/dist/esm-node/v4.js"() { + init_rng(); + init_stringify(); + v4_default = v4; + } +}); + +// node_modules/uuid/dist/esm-node/sha1.js +function sha1(bytes) { + if (Array.isArray(bytes)) { + bytes = Buffer.from(bytes); + } else if (typeof bytes === "string") { + bytes = Buffer.from(bytes, "utf8"); + } + return import_crypto3.default.createHash("sha1").update(bytes).digest(); +} +var import_crypto3, sha1_default; +var init_sha1 = __esm({ + "node_modules/uuid/dist/esm-node/sha1.js"() { + import_crypto3 = __toESM(require("crypto")); + sha1_default = sha1; + } +}); + +// node_modules/uuid/dist/esm-node/v5.js +var v5, v5_default; +var init_v5 = __esm({ + "node_modules/uuid/dist/esm-node/v5.js"() { + init_v35(); + init_sha1(); + v5 = v35_default("v5", 80, sha1_default); + v5_default = v5; + } +}); + +// node_modules/uuid/dist/esm-node/nil.js +var nil_default; +var init_nil = __esm({ + "node_modules/uuid/dist/esm-node/nil.js"() { + nil_default = "00000000-0000-0000-0000-000000000000"; + } +}); + +// node_modules/uuid/dist/esm-node/version.js +function version(uuid) { + if (!validate_default(uuid)) { + throw TypeError("Invalid UUID"); + } + return parseInt(uuid.substr(14, 1), 16); +} +var version_default; +var init_version = __esm({ + "node_modules/uuid/dist/esm-node/version.js"() { + init_validate(); + version_default = version; + } +}); + +// node_modules/uuid/dist/esm-node/index.js +var esm_node_exports = {}; +__export(esm_node_exports, { + NIL: () => nil_default, + parse: () => parse_default, + stringify: () => stringify_default, + v1: () => v1_default, + v3: () => v3_default, + v4: () => v4_default, + v5: () => v5_default, + validate: () => validate_default, + version: () => version_default +}); +var init_esm_node = __esm({ + "node_modules/uuid/dist/esm-node/index.js"() { + init_v1(); + init_v3(); + init_v4(); + init_v5(); + init_nil(); + init_version(); + init_validate(); + init_stringify(); + init_parse(); + } +}); + +// node_modules/@actions/core/lib/file-command.js +var require_file_command = __commonJS({ + "node_modules/@actions/core/lib/file-command.js"(exports2) { + "use strict"; + var __createBinding = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { + return m[k]; + } }); + }) : (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + o[k2] = m[k]; + })); + var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + }) : function(o, v) { + o["default"] = v; + }); + var __importStar = exports2 && exports2.__importStar || function(mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) { + for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + } + __setModuleDefault(result, mod); + return result; + }; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.prepareKeyValueMessage = exports2.issueFileCommand = void 0; + var fs = __importStar(require("fs")); + var os = __importStar(require("os")); + var uuid_1 = (init_esm_node(), __toCommonJS(esm_node_exports)); + var utils_1 = require_utils(); + function issueFileCommand(command, message) { + const filePath = process.env[`GITHUB_${command}`]; + if (!filePath) { + throw new Error(`Unable to find environment variable for file command ${command}`); + } + if (!fs.existsSync(filePath)) { + throw new Error(`Missing file at path: ${filePath}`); + } + fs.appendFileSync(filePath, `${utils_1.toCommandValue(message)}${os.EOL}`, { + encoding: "utf8" + }); + } + exports2.issueFileCommand = issueFileCommand; + function prepareKeyValueMessage(key, value) { + const delimiter = `ghadelimiter_${uuid_1.v4()}`; + const convertedValue = utils_1.toCommandValue(value); + if (key.includes(delimiter)) { + throw new Error(`Unexpected input: name should not contain the delimiter "${delimiter}"`); + } + if (convertedValue.includes(delimiter)) { + throw new Error(`Unexpected input: value should not contain the delimiter "${delimiter}"`); + } + return `${key}<<${delimiter}${os.EOL}${convertedValue}${os.EOL}${delimiter}`; + } + exports2.prepareKeyValueMessage = prepareKeyValueMessage; + } +}); + +// node_modules/@actions/http-client/lib/proxy.js +var require_proxy = __commonJS({ + "node_modules/@actions/http-client/lib/proxy.js"(exports2) { + "use strict"; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.checkBypass = exports2.getProxyUrl = void 0; + function getProxyUrl(reqUrl) { + const usingSsl = reqUrl.protocol === "https:"; + if (checkBypass(reqUrl)) { + return void 0; + } + const proxyVar = (() => { + if (usingSsl) { + return process.env["https_proxy"] || process.env["HTTPS_PROXY"]; + } else { + return process.env["http_proxy"] || process.env["HTTP_PROXY"]; + } + })(); + if (proxyVar) { + return new URL(proxyVar); + } else { + return void 0; + } + } + exports2.getProxyUrl = getProxyUrl; + function checkBypass(reqUrl) { + if (!reqUrl.hostname) { + return false; + } + const noProxy = process.env["no_proxy"] || process.env["NO_PROXY"] || ""; + if (!noProxy) { + return false; + } + let reqPort; + if (reqUrl.port) { + reqPort = Number(reqUrl.port); + } else if (reqUrl.protocol === "http:") { + reqPort = 80; + } else if (reqUrl.protocol === "https:") { + reqPort = 443; + } + const upperReqHosts = [reqUrl.hostname.toUpperCase()]; + if (typeof reqPort === "number") { + upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`); + } + for (const upperNoProxyItem of noProxy.split(",").map((x) => x.trim().toUpperCase()).filter((x) => x)) { + if (upperReqHosts.some((x) => x === upperNoProxyItem)) { + return true; + } + } + return false; + } + exports2.checkBypass = checkBypass; + } +}); + +// node_modules/tunnel/lib/tunnel.js +var require_tunnel = __commonJS({ + "node_modules/tunnel/lib/tunnel.js"(exports2) { + "use strict"; + var net = require("net"); + var tls = require("tls"); + var http = require("http"); + var https = require("https"); + var events = require("events"); + var assert = require("assert"); + var util = require("util"); + exports2.httpOverHttp = httpOverHttp; + exports2.httpsOverHttp = httpsOverHttp; + exports2.httpOverHttps = httpOverHttps; + exports2.httpsOverHttps = httpsOverHttps; + function httpOverHttp(options) { + var agent = new TunnelingAgent(options); + agent.request = http.request; + return agent; + } + function httpsOverHttp(options) { + var agent = new TunnelingAgent(options); + agent.request = http.request; + agent.createSocket = createSecureSocket; + agent.defaultPort = 443; + return agent; + } + function httpOverHttps(options) { + var agent = new TunnelingAgent(options); + agent.request = https.request; + return agent; + } + function httpsOverHttps(options) { + var agent = new TunnelingAgent(options); + agent.request = https.request; + agent.createSocket = createSecureSocket; + agent.defaultPort = 443; + return agent; + } + function TunnelingAgent(options) { + var self = this; + self.options = options || {}; + self.proxyOptions = self.options.proxy || {}; + self.maxSockets = self.options.maxSockets || http.Agent.defaultMaxSockets; + self.requests = []; + self.sockets = []; + self.on("free", function onFree(socket, host, port, localAddress) { + var options2 = toOptions(host, port, localAddress); + for (var i = 0, len = self.requests.length; i < len; ++i) { + var pending = self.requests[i]; + if (pending.host === options2.host && pending.port === options2.port) { + self.requests.splice(i, 1); + pending.request.onSocket(socket); + return; + } + } + socket.destroy(); + self.removeSocket(socket); + }); + } + util.inherits(TunnelingAgent, events.EventEmitter); + TunnelingAgent.prototype.addRequest = function addRequest(req, host, port, localAddress) { + var self = this; + var options = mergeOptions({ request: req }, self.options, toOptions(host, port, localAddress)); + if (self.sockets.length >= this.maxSockets) { + self.requests.push(options); + return; + } + self.createSocket(options, function(socket) { + socket.on("free", onFree); + socket.on("close", onCloseOrRemove); + socket.on("agentRemove", onCloseOrRemove); + req.onSocket(socket); + function onFree() { + self.emit("free", socket, options); + } + function onCloseOrRemove(err) { + self.removeSocket(socket); + socket.removeListener("free", onFree); + socket.removeListener("close", onCloseOrRemove); + socket.removeListener("agentRemove", onCloseOrRemove); + } + }); + }; + TunnelingAgent.prototype.createSocket = function createSocket(options, cb) { + var self = this; + var placeholder = {}; + self.sockets.push(placeholder); + var connectOptions = mergeOptions({}, self.proxyOptions, { + method: "CONNECT", + path: options.host + ":" + options.port, + agent: false, + headers: { + host: options.host + ":" + options.port + } + }); + if (options.localAddress) { + connectOptions.localAddress = options.localAddress; + } + if (connectOptions.proxyAuth) { + connectOptions.headers = connectOptions.headers || {}; + connectOptions.headers["Proxy-Authorization"] = "Basic " + new Buffer(connectOptions.proxyAuth).toString("base64"); + } + debug("making CONNECT request"); + var connectReq = self.request(connectOptions); + connectReq.useChunkedEncodingByDefault = false; + connectReq.once("response", onResponse); + connectReq.once("upgrade", onUpgrade); + connectReq.once("connect", onConnect); + connectReq.once("error", onError); + connectReq.end(); + function onResponse(res) { + res.upgrade = true; + } + function onUpgrade(res, socket, head) { + process.nextTick(function() { + onConnect(res, socket, head); + }); + } + function onConnect(res, socket, head) { + connectReq.removeAllListeners(); + socket.removeAllListeners(); + if (res.statusCode !== 200) { + debug( + "tunneling socket could not be established, statusCode=%d", + res.statusCode + ); + socket.destroy(); + var error = new Error("tunneling socket could not be established, statusCode=" + res.statusCode); + error.code = "ECONNRESET"; + options.request.emit("error", error); + self.removeSocket(placeholder); + return; + } + if (head.length > 0) { + debug("got illegal response body from proxy"); + socket.destroy(); + var error = new Error("got illegal response body from proxy"); + error.code = "ECONNRESET"; + options.request.emit("error", error); + self.removeSocket(placeholder); + return; + } + debug("tunneling connection has established"); + self.sockets[self.sockets.indexOf(placeholder)] = socket; + return cb(socket); + } + function onError(cause) { + connectReq.removeAllListeners(); + debug( + "tunneling socket could not be established, cause=%s\n", + cause.message, + cause.stack + ); + var error = new Error("tunneling socket could not be established, cause=" + cause.message); + error.code = "ECONNRESET"; + options.request.emit("error", error); + self.removeSocket(placeholder); + } + }; + TunnelingAgent.prototype.removeSocket = function removeSocket(socket) { + var pos = this.sockets.indexOf(socket); + if (pos === -1) { + return; + } + this.sockets.splice(pos, 1); + var pending = this.requests.shift(); + if (pending) { + this.createSocket(pending, function(socket2) { + pending.request.onSocket(socket2); + }); + } + }; + function createSecureSocket(options, cb) { + var self = this; + TunnelingAgent.prototype.createSocket.call(self, options, function(socket) { + var hostHeader = options.request.getHeader("host"); + var tlsOptions = mergeOptions({}, self.options, { + socket, + servername: hostHeader ? hostHeader.replace(/:.*$/, "") : options.host + }); + var secureSocket = tls.connect(0, tlsOptions); + self.sockets[self.sockets.indexOf(socket)] = secureSocket; + cb(secureSocket); + }); + } + function toOptions(host, port, localAddress) { + if (typeof host === "string") { + return { + host, + port, + localAddress + }; + } + return host; + } + function mergeOptions(target) { + for (var i = 1, len = arguments.length; i < len; ++i) { + var overrides = arguments[i]; + if (typeof overrides === "object") { + var keys = Object.keys(overrides); + for (var j = 0, keyLen = keys.length; j < keyLen; ++j) { + var k = keys[j]; + if (overrides[k] !== void 0) { + target[k] = overrides[k]; + } + } + } + } + return target; + } + var debug; + if (process.env.NODE_DEBUG && /\btunnel\b/.test(process.env.NODE_DEBUG)) { + debug = function() { + var args = Array.prototype.slice.call(arguments); + if (typeof args[0] === "string") { + args[0] = "TUNNEL: " + args[0]; + } else { + args.unshift("TUNNEL:"); + } + console.error.apply(console, args); + }; + } else { + debug = function() { + }; + } + exports2.debug = debug; + } +}); + +// node_modules/tunnel/index.js +var require_tunnel2 = __commonJS({ + "node_modules/tunnel/index.js"(exports2, module2) { + module2.exports = require_tunnel(); + } +}); + +// node_modules/@actions/http-client/lib/index.js +var require_lib = __commonJS({ + "node_modules/@actions/http-client/lib/index.js"(exports2) { + "use strict"; + var __createBinding = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { + return m[k]; + } }); + }) : (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + o[k2] = m[k]; + })); + var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + }) : function(o, v) { + o["default"] = v; + }); + var __importStar = exports2 && exports2.__importStar || function(mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) { + for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + } + __setModuleDefault(result, mod); + return result; + }; + var __awaiter = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve) { + resolve(value); + }); + } + return new (P || (P = Promise))(function(resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.HttpClient = exports2.isHttps = exports2.HttpClientResponse = exports2.HttpClientError = exports2.getProxyUrl = exports2.MediaTypes = exports2.Headers = exports2.HttpCodes = void 0; + var http = __importStar(require("http")); + var https = __importStar(require("https")); + var pm = __importStar(require_proxy()); + var tunnel = __importStar(require_tunnel2()); + var HttpCodes; + (function(HttpCodes2) { + HttpCodes2[HttpCodes2["OK"] = 200] = "OK"; + HttpCodes2[HttpCodes2["MultipleChoices"] = 300] = "MultipleChoices"; + HttpCodes2[HttpCodes2["MovedPermanently"] = 301] = "MovedPermanently"; + HttpCodes2[HttpCodes2["ResourceMoved"] = 302] = "ResourceMoved"; + HttpCodes2[HttpCodes2["SeeOther"] = 303] = "SeeOther"; + HttpCodes2[HttpCodes2["NotModified"] = 304] = "NotModified"; + HttpCodes2[HttpCodes2["UseProxy"] = 305] = "UseProxy"; + HttpCodes2[HttpCodes2["SwitchProxy"] = 306] = "SwitchProxy"; + HttpCodes2[HttpCodes2["TemporaryRedirect"] = 307] = "TemporaryRedirect"; + HttpCodes2[HttpCodes2["PermanentRedirect"] = 308] = "PermanentRedirect"; + HttpCodes2[HttpCodes2["BadRequest"] = 400] = "BadRequest"; + HttpCodes2[HttpCodes2["Unauthorized"] = 401] = "Unauthorized"; + HttpCodes2[HttpCodes2["PaymentRequired"] = 402] = "PaymentRequired"; + HttpCodes2[HttpCodes2["Forbidden"] = 403] = "Forbidden"; + HttpCodes2[HttpCodes2["NotFound"] = 404] = "NotFound"; + HttpCodes2[HttpCodes2["MethodNotAllowed"] = 405] = "MethodNotAllowed"; + HttpCodes2[HttpCodes2["NotAcceptable"] = 406] = "NotAcceptable"; + HttpCodes2[HttpCodes2["ProxyAuthenticationRequired"] = 407] = "ProxyAuthenticationRequired"; + HttpCodes2[HttpCodes2["RequestTimeout"] = 408] = "RequestTimeout"; + HttpCodes2[HttpCodes2["Conflict"] = 409] = "Conflict"; + HttpCodes2[HttpCodes2["Gone"] = 410] = "Gone"; + HttpCodes2[HttpCodes2["TooManyRequests"] = 429] = "TooManyRequests"; + HttpCodes2[HttpCodes2["InternalServerError"] = 500] = "InternalServerError"; + HttpCodes2[HttpCodes2["NotImplemented"] = 501] = "NotImplemented"; + HttpCodes2[HttpCodes2["BadGateway"] = 502] = "BadGateway"; + HttpCodes2[HttpCodes2["ServiceUnavailable"] = 503] = "ServiceUnavailable"; + HttpCodes2[HttpCodes2["GatewayTimeout"] = 504] = "GatewayTimeout"; + })(HttpCodes = exports2.HttpCodes || (exports2.HttpCodes = {})); + var Headers; + (function(Headers2) { + Headers2["Accept"] = "accept"; + Headers2["ContentType"] = "content-type"; + })(Headers = exports2.Headers || (exports2.Headers = {})); + var MediaTypes; + (function(MediaTypes2) { + MediaTypes2["ApplicationJson"] = "application/json"; + })(MediaTypes = exports2.MediaTypes || (exports2.MediaTypes = {})); + function getProxyUrl(serverUrl) { + const proxyUrl = pm.getProxyUrl(new URL(serverUrl)); + return proxyUrl ? proxyUrl.href : ""; + } + exports2.getProxyUrl = getProxyUrl; + var HttpRedirectCodes = [ + HttpCodes.MovedPermanently, + HttpCodes.ResourceMoved, + HttpCodes.SeeOther, + HttpCodes.TemporaryRedirect, + HttpCodes.PermanentRedirect + ]; + var HttpResponseRetryCodes = [ + HttpCodes.BadGateway, + HttpCodes.ServiceUnavailable, + HttpCodes.GatewayTimeout + ]; + var RetryableHttpVerbs = ["OPTIONS", "GET", "DELETE", "HEAD"]; + var ExponentialBackoffCeiling = 10; + var ExponentialBackoffTimeSlice = 5; + var HttpClientError = class _HttpClientError extends Error { + constructor(message, statusCode) { + super(message); + this.name = "HttpClientError"; + this.statusCode = statusCode; + Object.setPrototypeOf(this, _HttpClientError.prototype); + } + }; + exports2.HttpClientError = HttpClientError; + var HttpClientResponse = class { + constructor(message) { + this.message = message; + } + readBody() { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () { + let output = Buffer.alloc(0); + this.message.on("data", (chunk) => { + output = Buffer.concat([output, chunk]); + }); + this.message.on("end", () => { + resolve(output.toString()); + }); + })); + }); + } + }; + exports2.HttpClientResponse = HttpClientResponse; + function isHttps(requestUrl) { + const parsedUrl = new URL(requestUrl); + return parsedUrl.protocol === "https:"; + } + exports2.isHttps = isHttps; + var HttpClient = class { + constructor(userAgent, handlers, requestOptions) { + this._ignoreSslError = false; + this._allowRedirects = true; + this._allowRedirectDowngrade = false; + this._maxRedirects = 50; + this._allowRetries = false; + this._maxRetries = 1; + this._keepAlive = false; + this._disposed = false; + this.userAgent = userAgent; + this.handlers = handlers || []; + this.requestOptions = requestOptions; + if (requestOptions) { + if (requestOptions.ignoreSslError != null) { + this._ignoreSslError = requestOptions.ignoreSslError; + } + this._socketTimeout = requestOptions.socketTimeout; + if (requestOptions.allowRedirects != null) { + this._allowRedirects = requestOptions.allowRedirects; + } + if (requestOptions.allowRedirectDowngrade != null) { + this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade; + } + if (requestOptions.maxRedirects != null) { + this._maxRedirects = Math.max(requestOptions.maxRedirects, 0); + } + if (requestOptions.keepAlive != null) { + this._keepAlive = requestOptions.keepAlive; + } + if (requestOptions.allowRetries != null) { + this._allowRetries = requestOptions.allowRetries; + } + if (requestOptions.maxRetries != null) { + this._maxRetries = requestOptions.maxRetries; + } + } + } + options(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request("OPTIONS", requestUrl, null, additionalHeaders || {}); + }); + } + get(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request("GET", requestUrl, null, additionalHeaders || {}); + }); + } + del(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request("DELETE", requestUrl, null, additionalHeaders || {}); + }); + } + post(requestUrl, data, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request("POST", requestUrl, data, additionalHeaders || {}); + }); + } + patch(requestUrl, data, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request("PATCH", requestUrl, data, additionalHeaders || {}); + }); + } + put(requestUrl, data, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request("PUT", requestUrl, data, additionalHeaders || {}); + }); + } + head(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request("HEAD", requestUrl, null, additionalHeaders || {}); + }); + } + sendStream(verb, requestUrl, stream, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request(verb, requestUrl, stream, additionalHeaders); + }); + } + /** + * Gets a typed object from an endpoint + * Be aware that not found returns a null. Other errors (4xx, 5xx) reject the promise + */ + getJson(requestUrl, additionalHeaders = {}) { + return __awaiter(this, void 0, void 0, function* () { + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + const res = yield this.get(requestUrl, additionalHeaders); + return this._processResponse(res, this.requestOptions); + }); + } + postJson(requestUrl, obj, additionalHeaders = {}) { + return __awaiter(this, void 0, void 0, function* () { + const data = JSON.stringify(obj, null, 2); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); + const res = yield this.post(requestUrl, data, additionalHeaders); + return this._processResponse(res, this.requestOptions); + }); + } + putJson(requestUrl, obj, additionalHeaders = {}) { + return __awaiter(this, void 0, void 0, function* () { + const data = JSON.stringify(obj, null, 2); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); + const res = yield this.put(requestUrl, data, additionalHeaders); + return this._processResponse(res, this.requestOptions); + }); + } + patchJson(requestUrl, obj, additionalHeaders = {}) { + return __awaiter(this, void 0, void 0, function* () { + const data = JSON.stringify(obj, null, 2); + additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); + additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); + const res = yield this.patch(requestUrl, data, additionalHeaders); + return this._processResponse(res, this.requestOptions); + }); + } + /** + * Makes a raw http request. + * All other methods such as get, post, patch, and request ultimately call this. + * Prefer get, del, post and patch + */ + request(verb, requestUrl, data, headers) { + return __awaiter(this, void 0, void 0, function* () { + if (this._disposed) { + throw new Error("Client has already been disposed."); + } + const parsedUrl = new URL(requestUrl); + let info = this._prepareRequest(verb, parsedUrl, headers); + const maxTries = this._allowRetries && RetryableHttpVerbs.includes(verb) ? this._maxRetries + 1 : 1; + let numTries = 0; + let response; + do { + response = yield this.requestRaw(info, data); + if (response && response.message && response.message.statusCode === HttpCodes.Unauthorized) { + let authenticationHandler; + for (const handler of this.handlers) { + if (handler.canHandleAuthentication(response)) { + authenticationHandler = handler; + break; + } + } + if (authenticationHandler) { + return authenticationHandler.handleAuthentication(this, info, data); + } else { + return response; + } + } + let redirectsRemaining = this._maxRedirects; + while (response.message.statusCode && HttpRedirectCodes.includes(response.message.statusCode) && this._allowRedirects && redirectsRemaining > 0) { + const redirectUrl = response.message.headers["location"]; + if (!redirectUrl) { + break; + } + const parsedRedirectUrl = new URL(redirectUrl); + if (parsedUrl.protocol === "https:" && parsedUrl.protocol !== parsedRedirectUrl.protocol && !this._allowRedirectDowngrade) { + throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true."); + } + yield response.readBody(); + if (parsedRedirectUrl.hostname !== parsedUrl.hostname) { + for (const header in headers) { + if (header.toLowerCase() === "authorization") { + delete headers[header]; + } + } + } + info = this._prepareRequest(verb, parsedRedirectUrl, headers); + response = yield this.requestRaw(info, data); + redirectsRemaining--; + } + if (!response.message.statusCode || !HttpResponseRetryCodes.includes(response.message.statusCode)) { + return response; + } + numTries += 1; + if (numTries < maxTries) { + yield response.readBody(); + yield this._performExponentialBackoff(numTries); + } + } while (numTries < maxTries); + return response; + }); + } + /** + * Needs to be called if keepAlive is set to true in request options. + */ + dispose() { + if (this._agent) { + this._agent.destroy(); + } + this._disposed = true; + } + /** + * Raw request. + * @param info + * @param data + */ + requestRaw(info, data) { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve, reject) => { + function callbackForResult(err, res) { + if (err) { + reject(err); + } else if (!res) { + reject(new Error("Unknown error")); + } else { + resolve(res); + } + } + this.requestRawWithCallback(info, data, callbackForResult); + }); + }); + } + /** + * Raw request with callback. + * @param info + * @param data + * @param onResult + */ + requestRawWithCallback(info, data, onResult) { + if (typeof data === "string") { + if (!info.options.headers) { + info.options.headers = {}; + } + info.options.headers["Content-Length"] = Buffer.byteLength(data, "utf8"); + } + let callbackCalled = false; + function handleResult(err, res) { + if (!callbackCalled) { + callbackCalled = true; + onResult(err, res); + } + } + const req = info.httpModule.request(info.options, (msg) => { + const res = new HttpClientResponse(msg); + handleResult(void 0, res); + }); + let socket; + req.on("socket", (sock) => { + socket = sock; + }); + req.setTimeout(this._socketTimeout || 3 * 6e4, () => { + if (socket) { + socket.end(); + } + handleResult(new Error(`Request timeout: ${info.options.path}`)); + }); + req.on("error", function(err) { + handleResult(err); + }); + if (data && typeof data === "string") { + req.write(data, "utf8"); + } + if (data && typeof data !== "string") { + data.on("close", function() { + req.end(); + }); + data.pipe(req); + } else { + req.end(); + } + } + /** + * Gets an http agent. This function is useful when you need an http agent that handles + * routing through a proxy server - depending upon the url and proxy environment variables. + * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com + */ + getAgent(serverUrl) { + const parsedUrl = new URL(serverUrl); + return this._getAgent(parsedUrl); + } + _prepareRequest(method, requestUrl, headers) { + const info = {}; + info.parsedUrl = requestUrl; + const usingSsl = info.parsedUrl.protocol === "https:"; + info.httpModule = usingSsl ? https : http; + const defaultPort = usingSsl ? 443 : 80; + info.options = {}; + info.options.host = info.parsedUrl.hostname; + info.options.port = info.parsedUrl.port ? parseInt(info.parsedUrl.port) : defaultPort; + info.options.path = (info.parsedUrl.pathname || "") + (info.parsedUrl.search || ""); + info.options.method = method; + info.options.headers = this._mergeHeaders(headers); + if (this.userAgent != null) { + info.options.headers["user-agent"] = this.userAgent; + } + info.options.agent = this._getAgent(info.parsedUrl); + if (this.handlers) { + for (const handler of this.handlers) { + handler.prepareRequest(info.options); + } + } + return info; + } + _mergeHeaders(headers) { + if (this.requestOptions && this.requestOptions.headers) { + return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers || {})); + } + return lowercaseKeys(headers || {}); + } + _getExistingOrDefaultHeader(additionalHeaders, header, _default) { + let clientHeader; + if (this.requestOptions && this.requestOptions.headers) { + clientHeader = lowercaseKeys(this.requestOptions.headers)[header]; + } + return additionalHeaders[header] || clientHeader || _default; + } + _getAgent(parsedUrl) { + let agent; + const proxyUrl = pm.getProxyUrl(parsedUrl); + const useProxy = proxyUrl && proxyUrl.hostname; + if (this._keepAlive && useProxy) { + agent = this._proxyAgent; + } + if (this._keepAlive && !useProxy) { + agent = this._agent; + } + if (agent) { + return agent; + } + const usingSsl = parsedUrl.protocol === "https:"; + let maxSockets = 100; + if (this.requestOptions) { + maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets; + } + if (proxyUrl && proxyUrl.hostname) { + const agentOptions = { + maxSockets, + keepAlive: this._keepAlive, + proxy: Object.assign(Object.assign({}, (proxyUrl.username || proxyUrl.password) && { + proxyAuth: `${proxyUrl.username}:${proxyUrl.password}` + }), { host: proxyUrl.hostname, port: proxyUrl.port }) + }; + let tunnelAgent; + const overHttps = proxyUrl.protocol === "https:"; + if (usingSsl) { + tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp; + } else { + tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp; + } + agent = tunnelAgent(agentOptions); + this._proxyAgent = agent; + } + if (this._keepAlive && !agent) { + const options = { keepAlive: this._keepAlive, maxSockets }; + agent = usingSsl ? new https.Agent(options) : new http.Agent(options); + this._agent = agent; + } + if (!agent) { + agent = usingSsl ? https.globalAgent : http.globalAgent; + } + if (usingSsl && this._ignoreSslError) { + agent.options = Object.assign(agent.options || {}, { + rejectUnauthorized: false + }); + } + return agent; + } + _performExponentialBackoff(retryNumber) { + return __awaiter(this, void 0, void 0, function* () { + retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber); + const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber); + return new Promise((resolve) => setTimeout(() => resolve(), ms)); + }); + } + _processResponse(res, options) { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () { + const statusCode = res.message.statusCode || 0; + const response = { + statusCode, + result: null, + headers: {} + }; + if (statusCode === HttpCodes.NotFound) { + resolve(response); + } + function dateTimeDeserializer(key, value) { + if (typeof value === "string") { + const a = new Date(value); + if (!isNaN(a.valueOf())) { + return a; + } + } + return value; + } + let obj; + let contents; + try { + contents = yield res.readBody(); + if (contents && contents.length > 0) { + if (options && options.deserializeDates) { + obj = JSON.parse(contents, dateTimeDeserializer); + } else { + obj = JSON.parse(contents); + } + response.result = obj; + } + response.headers = res.message.headers; + } catch (err) { + } + if (statusCode > 299) { + let msg; + if (obj && obj.message) { + msg = obj.message; + } else if (contents && contents.length > 0) { + msg = contents; + } else { + msg = `Failed request: (${statusCode})`; + } + const err = new HttpClientError(msg, statusCode); + err.result = response.result; + reject(err); + } else { + resolve(response); + } + })); + }); + } + }; + exports2.HttpClient = HttpClient; + var lowercaseKeys = (obj) => Object.keys(obj).reduce((c, k) => (c[k.toLowerCase()] = obj[k], c), {}); + } +}); + +// node_modules/@actions/http-client/lib/auth.js +var require_auth = __commonJS({ + "node_modules/@actions/http-client/lib/auth.js"(exports2) { + "use strict"; + var __awaiter = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve) { + resolve(value); + }); + } + return new (P || (P = Promise))(function(resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.PersonalAccessTokenCredentialHandler = exports2.BearerCredentialHandler = exports2.BasicCredentialHandler = void 0; + var BasicCredentialHandler = class { + constructor(username, password) { + this.username = username; + this.password = password; + } + prepareRequest(options) { + if (!options.headers) { + throw Error("The request has no headers"); + } + options.headers["Authorization"] = `Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`; + } + // This handler cannot handle 401 + canHandleAuthentication() { + return false; + } + handleAuthentication() { + return __awaiter(this, void 0, void 0, function* () { + throw new Error("not implemented"); + }); + } + }; + exports2.BasicCredentialHandler = BasicCredentialHandler; + var BearerCredentialHandler = class { + constructor(token) { + this.token = token; + } + // currently implements pre-authorization + // TODO: support preAuth = false where it hooks on 401 + prepareRequest(options) { + if (!options.headers) { + throw Error("The request has no headers"); + } + options.headers["Authorization"] = `Bearer ${this.token}`; + } + // This handler cannot handle 401 + canHandleAuthentication() { + return false; + } + handleAuthentication() { + return __awaiter(this, void 0, void 0, function* () { + throw new Error("not implemented"); + }); + } + }; + exports2.BearerCredentialHandler = BearerCredentialHandler; + var PersonalAccessTokenCredentialHandler = class { + constructor(token) { + this.token = token; + } + // currently implements pre-authorization + // TODO: support preAuth = false where it hooks on 401 + prepareRequest(options) { + if (!options.headers) { + throw Error("The request has no headers"); + } + options.headers["Authorization"] = `Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`; + } + // This handler cannot handle 401 + canHandleAuthentication() { + return false; + } + handleAuthentication() { + return __awaiter(this, void 0, void 0, function* () { + throw new Error("not implemented"); + }); + } + }; + exports2.PersonalAccessTokenCredentialHandler = PersonalAccessTokenCredentialHandler; + } +}); + +// node_modules/@actions/core/lib/oidc-utils.js +var require_oidc_utils = __commonJS({ + "node_modules/@actions/core/lib/oidc-utils.js"(exports2) { + "use strict"; + var __awaiter = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve) { + resolve(value); + }); + } + return new (P || (P = Promise))(function(resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.OidcClient = void 0; + var http_client_1 = require_lib(); + var auth_1 = require_auth(); + var core_1 = require_core(); + var OidcClient = class _OidcClient { + static createHttpClient(allowRetry = true, maxRetry = 10) { + const requestOptions = { + allowRetries: allowRetry, + maxRetries: maxRetry + }; + return new http_client_1.HttpClient("actions/oidc-client", [new auth_1.BearerCredentialHandler(_OidcClient.getRequestToken())], requestOptions); + } + static getRequestToken() { + const token = process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"]; + if (!token) { + throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable"); + } + return token; + } + static getIDTokenUrl() { + const runtimeUrl = process.env["ACTIONS_ID_TOKEN_REQUEST_URL"]; + if (!runtimeUrl) { + throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable"); + } + return runtimeUrl; + } + static getCall(id_token_url) { + var _a; + return __awaiter(this, void 0, void 0, function* () { + const httpclient = _OidcClient.createHttpClient(); + const res = yield httpclient.getJson(id_token_url).catch((error) => { + throw new Error(`Failed to get ID Token. + + Error Code : ${error.statusCode} + + Error Message: ${error.result.message}`); + }); + const id_token = (_a = res.result) === null || _a === void 0 ? void 0 : _a.value; + if (!id_token) { + throw new Error("Response json body do not have ID Token field"); + } + return id_token; + }); + } + static getIDToken(audience) { + return __awaiter(this, void 0, void 0, function* () { + try { + let id_token_url = _OidcClient.getIDTokenUrl(); + if (audience) { + const encodedAudience = encodeURIComponent(audience); + id_token_url = `${id_token_url}&audience=${encodedAudience}`; + } + core_1.debug(`ID token url is ${id_token_url}`); + const id_token = yield _OidcClient.getCall(id_token_url); + core_1.setSecret(id_token); + return id_token; + } catch (error) { + throw new Error(`Error message: ${error.message}`); + } + }); + } + }; + exports2.OidcClient = OidcClient; + } +}); + +// node_modules/@actions/core/lib/summary.js +var require_summary = __commonJS({ + "node_modules/@actions/core/lib/summary.js"(exports2) { + "use strict"; + var __awaiter = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve) { + resolve(value); + }); + } + return new (P || (P = Promise))(function(resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.summary = exports2.markdownSummary = exports2.SUMMARY_DOCS_URL = exports2.SUMMARY_ENV_VAR = void 0; + var os_1 = require("os"); + var fs_1 = require("fs"); + var { access, appendFile, writeFile } = fs_1.promises; + exports2.SUMMARY_ENV_VAR = "GITHUB_STEP_SUMMARY"; + exports2.SUMMARY_DOCS_URL = "https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary"; + var Summary = class { + constructor() { + this._buffer = ""; + } + /** + * Finds the summary file path from the environment, rejects if env var is not found or file does not exist + * Also checks r/w permissions. + * + * @returns step summary file path + */ + filePath() { + return __awaiter(this, void 0, void 0, function* () { + if (this._filePath) { + return this._filePath; + } + const pathFromEnv = process.env[exports2.SUMMARY_ENV_VAR]; + if (!pathFromEnv) { + throw new Error(`Unable to find environment variable for $${exports2.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`); + } + try { + yield access(pathFromEnv, fs_1.constants.R_OK | fs_1.constants.W_OK); + } catch (_a) { + throw new Error(`Unable to access summary file: '${pathFromEnv}'. Check if the file has correct read/write permissions.`); + } + this._filePath = pathFromEnv; + return this._filePath; + }); + } + /** + * Wraps content in an HTML tag, adding any HTML attributes + * + * @param {string} tag HTML tag to wrap + * @param {string | null} content content within the tag + * @param {[attribute: string]: string} attrs key-value list of HTML attributes to add + * + * @returns {string} content wrapped in HTML element + */ + wrap(tag, content, attrs = {}) { + const htmlAttrs = Object.entries(attrs).map(([key, value]) => ` ${key}="${value}"`).join(""); + if (!content) { + return `<${tag}${htmlAttrs}>`; + } + return `<${tag}${htmlAttrs}>${content}`; + } + /** + * Writes text in the buffer to the summary buffer file and empties buffer. Will append by default. + * + * @param {SummaryWriteOptions} [options] (optional) options for write operation + * + * @returns {Promise

} summary instance + */ + write(options) { + return __awaiter(this, void 0, void 0, function* () { + const overwrite = !!(options === null || options === void 0 ? void 0 : options.overwrite); + const filePath = yield this.filePath(); + const writeFunc = overwrite ? writeFile : appendFile; + yield writeFunc(filePath, this._buffer, { encoding: "utf8" }); + return this.emptyBuffer(); + }); + } + /** + * Clears the summary buffer and wipes the summary file + * + * @returns {Summary} summary instance + */ + clear() { + return __awaiter(this, void 0, void 0, function* () { + return this.emptyBuffer().write({ overwrite: true }); + }); + } + /** + * Returns the current summary buffer as a string + * + * @returns {string} string of summary buffer + */ + stringify() { + return this._buffer; + } + /** + * If the summary buffer is empty + * + * @returns {boolen} true if the buffer is empty + */ + isEmptyBuffer() { + return this._buffer.length === 0; + } + /** + * Resets the summary buffer without writing to summary file + * + * @returns {Summary} summary instance + */ + emptyBuffer() { + this._buffer = ""; + return this; + } + /** + * Adds raw text to the summary buffer + * + * @param {string} text content to add + * @param {boolean} [addEOL=false] (optional) append an EOL to the raw text (default: false) + * + * @returns {Summary} summary instance + */ + addRaw(text, addEOL = false) { + this._buffer += text; + return addEOL ? this.addEOL() : this; + } + /** + * Adds the operating system-specific end-of-line marker to the buffer + * + * @returns {Summary} summary instance + */ + addEOL() { + return this.addRaw(os_1.EOL); + } + /** + * Adds an HTML codeblock to the summary buffer + * + * @param {string} code content to render within fenced code block + * @param {string} lang (optional) language to syntax highlight code + * + * @returns {Summary} summary instance + */ + addCodeBlock(code, lang) { + const attrs = Object.assign({}, lang && { lang }); + const element = this.wrap("pre", this.wrap("code", code), attrs); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML list to the summary buffer + * + * @param {string[]} items list of items to render + * @param {boolean} [ordered=false] (optional) if the rendered list should be ordered or not (default: false) + * + * @returns {Summary} summary instance + */ + addList(items, ordered = false) { + const tag = ordered ? "ol" : "ul"; + const listItems = items.map((item) => this.wrap("li", item)).join(""); + const element = this.wrap(tag, listItems); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML table to the summary buffer + * + * @param {SummaryTableCell[]} rows table rows + * + * @returns {Summary} summary instance + */ + addTable(rows) { + const tableBody = rows.map((row) => { + const cells = row.map((cell) => { + if (typeof cell === "string") { + return this.wrap("td", cell); + } + const { header, data, colspan, rowspan } = cell; + const tag = header ? "th" : "td"; + const attrs = Object.assign(Object.assign({}, colspan && { colspan }), rowspan && { rowspan }); + return this.wrap(tag, data, attrs); + }).join(""); + return this.wrap("tr", cells); + }).join(""); + const element = this.wrap("table", tableBody); + return this.addRaw(element).addEOL(); + } + /** + * Adds a collapsable HTML details element to the summary buffer + * + * @param {string} label text for the closed state + * @param {string} content collapsable content + * + * @returns {Summary} summary instance + */ + addDetails(label, content) { + const element = this.wrap("details", this.wrap("summary", label) + content); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML image tag to the summary buffer + * + * @param {string} src path to the image you to embed + * @param {string} alt text description of the image + * @param {SummaryImageOptions} options (optional) addition image attributes + * + * @returns {Summary} summary instance + */ + addImage(src, alt, options) { + const { width, height } = options || {}; + const attrs = Object.assign(Object.assign({}, width && { width }), height && { height }); + const element = this.wrap("img", null, Object.assign({ src, alt }, attrs)); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML section heading element + * + * @param {string} text heading text + * @param {number | string} [level=1] (optional) the heading level, default: 1 + * + * @returns {Summary} summary instance + */ + addHeading(text, level) { + const tag = `h${level}`; + const allowedTag = ["h1", "h2", "h3", "h4", "h5", "h6"].includes(tag) ? tag : "h1"; + const element = this.wrap(allowedTag, text); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML thematic break (
) to the summary buffer + * + * @returns {Summary} summary instance + */ + addSeparator() { + const element = this.wrap("hr", null); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML line break (
) to the summary buffer + * + * @returns {Summary} summary instance + */ + addBreak() { + const element = this.wrap("br", null); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML blockquote to the summary buffer + * + * @param {string} text quote text + * @param {string} cite (optional) citation url + * + * @returns {Summary} summary instance + */ + addQuote(text, cite) { + const attrs = Object.assign({}, cite && { cite }); + const element = this.wrap("blockquote", text, attrs); + return this.addRaw(element).addEOL(); + } + /** + * Adds an HTML anchor tag to the summary buffer + * + * @param {string} text link text/content + * @param {string} href hyperlink + * + * @returns {Summary} summary instance + */ + addLink(text, href) { + const element = this.wrap("a", text, { href }); + return this.addRaw(element).addEOL(); + } + }; + var _summary = new Summary(); + exports2.markdownSummary = _summary; + exports2.summary = _summary; + } +}); + +// node_modules/@actions/core/lib/path-utils.js +var require_path_utils = __commonJS({ + "node_modules/@actions/core/lib/path-utils.js"(exports2) { + "use strict"; + var __createBinding = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { + return m[k]; + } }); + }) : (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + o[k2] = m[k]; + })); + var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + }) : function(o, v) { + o["default"] = v; + }); + var __importStar = exports2 && exports2.__importStar || function(mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) { + for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + } + __setModuleDefault(result, mod); + return result; + }; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.toPlatformPath = exports2.toWin32Path = exports2.toPosixPath = void 0; + var path = __importStar(require("path")); + function toPosixPath(pth) { + return pth.replace(/[\\]/g, "/"); + } + exports2.toPosixPath = toPosixPath; + function toWin32Path(pth) { + return pth.replace(/[/]/g, "\\"); + } + exports2.toWin32Path = toWin32Path; + function toPlatformPath(pth) { + return pth.replace(/[/\\]/g, path.sep); + } + exports2.toPlatformPath = toPlatformPath; + } +}); + +// node_modules/@actions/core/lib/core.js +var require_core = __commonJS({ + "node_modules/@actions/core/lib/core.js"(exports2) { + "use strict"; + var __createBinding = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { + return m[k]; + } }); + }) : (function(o, m, k, k2) { + if (k2 === void 0) k2 = k; + o[k2] = m[k]; + })); + var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); + }) : function(o, v) { + o["default"] = v; + }); + var __importStar = exports2 && exports2.__importStar || function(mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) { + for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + } + __setModuleDefault(result, mod); + return result; + }; + var __awaiter = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve) { + resolve(value); + }); + } + return new (P || (P = Promise))(function(resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.getIDToken = exports2.getState = exports2.saveState = exports2.group = exports2.endGroup = exports2.startGroup = exports2.info = exports2.notice = exports2.warning = exports2.error = exports2.debug = exports2.isDebug = exports2.setFailed = exports2.setCommandEcho = exports2.setOutput = exports2.getBooleanInput = exports2.getMultilineInput = exports2.getInput = exports2.addPath = exports2.setSecret = exports2.exportVariable = exports2.ExitCode = void 0; + var command_1 = require_command(); + var file_command_1 = require_file_command(); + var utils_1 = require_utils(); + var os = __importStar(require("os")); + var path = __importStar(require("path")); + var oidc_utils_1 = require_oidc_utils(); + var ExitCode; + (function(ExitCode2) { + ExitCode2[ExitCode2["Success"] = 0] = "Success"; + ExitCode2[ExitCode2["Failure"] = 1] = "Failure"; + })(ExitCode = exports2.ExitCode || (exports2.ExitCode = {})); + function exportVariable(name, val) { + const convertedVal = utils_1.toCommandValue(val); + process.env[name] = convertedVal; + const filePath = process.env["GITHUB_ENV"] || ""; + if (filePath) { + return file_command_1.issueFileCommand("ENV", file_command_1.prepareKeyValueMessage(name, val)); + } + command_1.issueCommand("set-env", { name }, convertedVal); + } + exports2.exportVariable = exportVariable; + function setSecret(secret) { + command_1.issueCommand("add-mask", {}, secret); + } + exports2.setSecret = setSecret; + function addPath(inputPath) { + const filePath = process.env["GITHUB_PATH"] || ""; + if (filePath) { + file_command_1.issueFileCommand("PATH", inputPath); + } else { + command_1.issueCommand("add-path", {}, inputPath); + } + process.env["PATH"] = `${inputPath}${path.delimiter}${process.env["PATH"]}`; + } + exports2.addPath = addPath; + function getInput(name, options) { + const val = process.env[`INPUT_${name.replace(/ /g, "_").toUpperCase()}`] || ""; + if (options && options.required && !val) { + throw new Error(`Input required and not supplied: ${name}`); + } + if (options && options.trimWhitespace === false) { + return val; + } + return val.trim(); + } + exports2.getInput = getInput; + function getMultilineInput(name, options) { + const inputs = getInput(name, options).split("\n").filter((x) => x !== ""); + if (options && options.trimWhitespace === false) { + return inputs; + } + return inputs.map((input) => input.trim()); + } + exports2.getMultilineInput = getMultilineInput; + function getBooleanInput(name, options) { + const trueValue = ["true", "True", "TRUE"]; + const falseValue = ["false", "False", "FALSE"]; + const val = getInput(name, options); + if (trueValue.includes(val)) + return true; + if (falseValue.includes(val)) + return false; + throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${name} +Support boolean input list: \`true | True | TRUE | false | False | FALSE\``); + } + exports2.getBooleanInput = getBooleanInput; + function setOutput(name, value) { + const filePath = process.env["GITHUB_OUTPUT"] || ""; + if (filePath) { + return file_command_1.issueFileCommand("OUTPUT", file_command_1.prepareKeyValueMessage(name, value)); + } + process.stdout.write(os.EOL); + command_1.issueCommand("set-output", { name }, utils_1.toCommandValue(value)); + } + exports2.setOutput = setOutput; + function setCommandEcho(enabled) { + command_1.issue("echo", enabled ? "on" : "off"); + } + exports2.setCommandEcho = setCommandEcho; + function setFailed(message) { + process.exitCode = ExitCode.Failure; + error(message); + } + exports2.setFailed = setFailed; + function isDebug() { + return process.env["RUNNER_DEBUG"] === "1"; + } + exports2.isDebug = isDebug; + function debug(message) { + command_1.issueCommand("debug", {}, message); + } + exports2.debug = debug; + function error(message, properties = {}) { + command_1.issueCommand("error", utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message); + } + exports2.error = error; + function warning(message, properties = {}) { + command_1.issueCommand("warning", utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message); + } + exports2.warning = warning; + function notice(message, properties = {}) { + command_1.issueCommand("notice", utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message); + } + exports2.notice = notice; + function info(message) { + process.stdout.write(message + os.EOL); + } + exports2.info = info; + function startGroup(name) { + command_1.issue("group", name); + } + exports2.startGroup = startGroup; + function endGroup() { + command_1.issue("endgroup"); + } + exports2.endGroup = endGroup; + function group(name, fn) { + return __awaiter(this, void 0, void 0, function* () { + startGroup(name); + let result; + try { + result = yield fn(); + } finally { + endGroup(); + } + return result; + }); + } + exports2.group = group; + function saveState(name, value) { + const filePath = process.env["GITHUB_STATE"] || ""; + if (filePath) { + return file_command_1.issueFileCommand("STATE", file_command_1.prepareKeyValueMessage(name, value)); + } + command_1.issueCommand("save-state", { name }, utils_1.toCommandValue(value)); + } + exports2.saveState = saveState; + function getState(name) { + return process.env[`STATE_${name}`] || ""; + } + exports2.getState = getState; + function getIDToken(aud) { + return __awaiter(this, void 0, void 0, function* () { + return yield oidc_utils_1.OidcClient.getIDToken(aud); + }); + } + exports2.getIDToken = getIDToken; + var summary_1 = require_summary(); + Object.defineProperty(exports2, "summary", { enumerable: true, get: function() { + return summary_1.summary; + } }); + var summary_2 = require_summary(); + Object.defineProperty(exports2, "markdownSummary", { enumerable: true, get: function() { + return summary_2.markdownSummary; + } }); + var path_utils_1 = require_path_utils(); + Object.defineProperty(exports2, "toPosixPath", { enumerable: true, get: function() { + return path_utils_1.toPosixPath; + } }); + Object.defineProperty(exports2, "toWin32Path", { enumerable: true, get: function() { + return path_utils_1.toWin32Path; + } }); + Object.defineProperty(exports2, "toPlatformPath", { enumerable: true, get: function() { + return path_utils_1.toPlatformPath; + } }); + } +}); + +// lib.js +var require_lib2 = __commonJS({ + "lib.js"(exports2) { + var core2 = require_core(); + var child_process = require("child_process"); + var fs = require("fs"); + var path = require("path"); + var process2 = require("process"); + var PROGRAM_FILES_X86 = process2.env["ProgramFiles(x86)"]; + var PROGRAM_FILES = [process2.env["ProgramFiles(x86)"], process2.env["ProgramFiles"]]; + var EDITIONS = ["Enterprise", "Professional", "Community", "BuildTools"]; + var YEARS = ["2022", "2019", "2017"]; + var VsYearVersion = { + "2022": "17.0", + "2019": "16.0", + "2017": "15.0", + "2015": "14.0", + "2013": "12.0" + }; + function vsversion_to_versionnumber(vsversion) { + if (Object.values(VsYearVersion).includes(vsversion)) { + return vsversion; + } else { + if (vsversion in VsYearVersion) { + return VsYearVersion[vsversion]; + } + } + return vsversion; + } + exports2.vsversion_to_versionnumber = vsversion_to_versionnumber; + function vsversion_to_year(vsversion) { + if (Object.keys(VsYearVersion).includes(vsversion)) { + return vsversion; + } else { + for (const [year, ver] of Object.entries(VsYearVersion)) { + if (ver === vsversion) { + return year; + } + } + } + return vsversion; + } + exports2.vsversion_to_year = vsversion_to_year; + var VSWHERE_PATH = `${PROGRAM_FILES_X86}\\Microsoft Visual Studio\\Installer`; + function findWithVswhere(pattern, version_pattern) { + try { + let installationPath = child_process.execSync(`vswhere -products * ${version_pattern} -prerelease -property installationPath`).toString().trim(); + return installationPath + "\\" + pattern; + } catch (e) { + core2.warning(`vswhere failed: ${e}`); + } + return null; + } + exports2.findWithVswhere = findWithVswhere; + function findVcvarsall(vsversion) { + const vsversion_number = vsversion_to_versionnumber(vsversion); + let version_pattern; + if (vsversion_number) { + const upper_bound = vsversion_number.split(".")[0] + ".9"; + version_pattern = `-version "${vsversion_number},${upper_bound}"`; + } else { + version_pattern = "-latest"; + } + let path2 = findWithVswhere("VC\\Auxiliary\\Build\\vcvarsall.bat", version_pattern); + if (path2 && fs.existsSync(path2)) { + core2.info(`Found with vswhere: ${path2}`); + return path2; + } + core2.info("Not found with vswhere"); + const years = vsversion ? [vsversion_to_year(vsversion)] : YEARS; + for (const prog_files of PROGRAM_FILES) { + for (const ver of years) { + for (const ed of EDITIONS) { + path2 = `${prog_files}\\Microsoft Visual Studio\\${ver}\\${ed}\\VC\\Auxiliary\\Build\\vcvarsall.bat`; + core2.info(`Trying standard location: ${path2}`); + if (fs.existsSync(path2)) { + core2.info(`Found standard location: ${path2}`); + return path2; + } + } + } + } + core2.info("Not found in standard locations"); + path2 = `${PROGRAM_FILES_X86}\\Microsoft Visual C++ Build Tools\\vcbuildtools.bat`; + if (fs.existsSync(path2)) { + core2.info(`Found VS 2015: ${path2}`); + return path2; + } + core2.info(`Not found in VS 2015 location: ${path2}`); + throw new Error("Microsoft Visual Studio not found"); + } + exports2.findVcvarsall = findVcvarsall; + function isPathVariable(name) { + const pathLikeVariables = ["PATH", "INCLUDE", "LIB", "LIBPATH"]; + return pathLikeVariables.indexOf(name.toUpperCase()) != -1; + } + function filterPathValue(path2) { + let paths = path2.split(";"); + function unique(value, index, self) { + return self.indexOf(value) === index; + } + return paths.filter(unique).join(";"); + } + function setupMSVCDevCmd2(arch, sdk, toolset, uwp, spectre, vsversion) { + if (process2.platform != "win32") { + core2.info("This is not a Windows virtual environment, bye!"); + return; + } + process2.env.PATH += path.delimiter + VSWHERE_PATH; + let arch_aliases = { + "win32": "x86", + "win64": "x64", + "x86_64": "x64", + "x86-64": "x64" + }; + if (arch.toLowerCase() in arch_aliases) { + arch = arch_aliases[arch.toLowerCase()]; + } + var args = [arch]; + if (uwp == "true") { + args.push("uwp"); + } + if (sdk) { + args.push(sdk); + } + if (toolset) { + args.push(`-vcvars_ver=${toolset}`); + } + if (spectre == "true") { + args.push("-vcvars_spectre_libs=spectre"); + } + const vcvars = `"${findVcvarsall(vsversion)}" ${args.join(" ")}`; + core2.debug(`vcvars command-line: ${vcvars}`); + const cmd_output_string = child_process.execSync(`set && cls && ${vcvars} && cls && set`, { shell: "cmd" }).toString(); + const cmd_output_parts = cmd_output_string.split("\f"); + const old_environment = cmd_output_parts[0].split("\r\n"); + const vcvars_output = cmd_output_parts[1].split("\r\n"); + const new_environment = cmd_output_parts[2].split("\r\n"); + const error_messages = vcvars_output.filter((line) => { + if (line.match(/^\[ERROR.*\]/)) { + if (!line.match(/Error in script usage. The correct usage is:$/)) { + return true; + } + } + return false; + }); + if (error_messages.length > 0) { + throw new Error("invalid parameters\r\n" + error_messages.join("\r\n")); + } + let old_env_vars = {}; + for (let string of old_environment) { + const [name, value] = string.split("="); + old_env_vars[name] = value; + } + core2.startGroup("Environment variables"); + for (let string of new_environment) { + if (!string.includes("=")) { + continue; + } + let [name, new_value] = string.split("="); + let old_value = old_env_vars[name]; + if (new_value !== old_value) { + core2.info(`Setting ${name}`); + if (isPathVariable(name)) { + new_value = filterPathValue(new_value); + } + core2.exportVariable(name, new_value); + } + } + core2.endGroup(); + core2.info(`Configured Developer Command Prompt`); + } + exports2.setupMSVCDevCmd = setupMSVCDevCmd2; + } +}); + +// index.js +var { setupMSVCDevCmd } = require_lib2(); +var core = require_core(); +function main() { + var arch = core.getInput("arch"); + const sdk = core.getInput("sdk"); + const toolset = core.getInput("toolset"); + const uwp = core.getInput("uwp"); + const spectre = core.getInput("spectre"); + const vsversion = core.getInput("vsversion"); + setupMSVCDevCmd(arch, sdk, toolset, uwp, spectre, vsversion); +} +try { + main(); +} catch (e) { + core.setFailed("Could not setup Developer Command Prompt: " + e.message); +} diff --git a/.github/actions/msvc-dev-cmd/index.js b/.github/actions/msvc-dev-cmd/index.js new file mode 100644 index 0000000..1cc8ed6 --- /dev/null +++ b/.github/actions/msvc-dev-cmd/index.js @@ -0,0 +1,20 @@ +const { setupMSVCDevCmd } = require('./lib') +const core = require('@actions/core') + +function main() { + var arch = core.getInput('arch') + const sdk = core.getInput('sdk') + const toolset = core.getInput('toolset') + const uwp = core.getInput('uwp') + const spectre = core.getInput('spectre') + const vsversion = core.getInput('vsversion') + + setupMSVCDevCmd(arch, sdk, toolset, uwp, spectre, vsversion) +} + +try { + main() +} +catch (e) { + core.setFailed('Could not setup Developer Command Prompt: ' + e.message) +} diff --git a/.github/actions/msvc-dev-cmd/lib.js b/.github/actions/msvc-dev-cmd/lib.js new file mode 100644 index 0000000..e1774d8 --- /dev/null +++ b/.github/actions/msvc-dev-cmd/lib.js @@ -0,0 +1,225 @@ +const core = require('@actions/core') +const child_process = require('child_process') +const fs = require('fs') +const path = require('path') +const process = require('process') + +const PROGRAM_FILES_X86 = process.env['ProgramFiles(x86)'] +const PROGRAM_FILES = [process.env['ProgramFiles(x86)'], process.env['ProgramFiles']] + + +const EDITIONS = ['Enterprise', 'Professional', 'Community', 'BuildTools'] +const YEARS = ['2022', '2019', '2017'] + +const VsYearVersion = { + '2022': '17.0', + '2019': '16.0', + '2017': '15.0', + '2015': '14.0', + '2013': '12.0', +} + +function vsversion_to_versionnumber(vsversion) { + if (Object.values(VsYearVersion).includes(vsversion)) { + return vsversion + } else { + if (vsversion in VsYearVersion) { + return VsYearVersion[vsversion] + } + } + return vsversion +} +exports.vsversion_to_versionnumber = vsversion_to_versionnumber + +function vsversion_to_year(vsversion) { + if (Object.keys(VsYearVersion).includes(vsversion)) { + return vsversion + } else { + for (const [year, ver] of Object.entries(VsYearVersion)) { + if (ver === vsversion) { + return year + } + } + } + return vsversion +} +exports.vsversion_to_year = vsversion_to_year + +const VSWHERE_PATH = `${PROGRAM_FILES_X86}\\Microsoft Visual Studio\\Installer` + +function findWithVswhere(pattern, version_pattern) { + try { + let installationPath = child_process.execSync(`vswhere -products * ${version_pattern} -prerelease -property installationPath`).toString().trim() + return installationPath + '\\' + pattern + } catch (e) { + core.warning(`vswhere failed: ${e}`) + } + return null +} +exports.findWithVswhere = findWithVswhere + +function findVcvarsall(vsversion) { + const vsversion_number = vsversion_to_versionnumber(vsversion) + let version_pattern + if (vsversion_number) { + const upper_bound = vsversion_number.split('.')[0] + '.9' + version_pattern = `-version "${vsversion_number},${upper_bound}"` + } else { + version_pattern = "-latest" + } + + // If vswhere is available, ask it about the location of the latest Visual Studio. + let path = findWithVswhere('VC\\Auxiliary\\Build\\vcvarsall.bat', version_pattern) + if (path && fs.existsSync(path)) { + core.info(`Found with vswhere: ${path}`) + return path + } + core.info("Not found with vswhere") + + // If that does not work, try the standard installation locations, + // starting with the latest and moving to the oldest. + const years = vsversion ? [vsversion_to_year(vsversion)] : YEARS + for (const prog_files of PROGRAM_FILES) { + for (const ver of years) { + for (const ed of EDITIONS) { + path = `${prog_files}\\Microsoft Visual Studio\\${ver}\\${ed}\\VC\\Auxiliary\\Build\\vcvarsall.bat` + core.info(`Trying standard location: ${path}`) + if (fs.existsSync(path)) { + core.info(`Found standard location: ${path}`) + return path + } + } + } + } + core.info("Not found in standard locations") + + // Special case for Visual Studio 2015 (and maybe earlier), try it out too. + path = `${PROGRAM_FILES_X86}\\Microsoft Visual C++ Build Tools\\vcbuildtools.bat` + if (fs.existsSync(path)) { + core.info(`Found VS 2015: ${path}`) + return path + } + core.info(`Not found in VS 2015 location: ${path}`) + + throw new Error('Microsoft Visual Studio not found') +} +exports.findVcvarsall = findVcvarsall + +function isPathVariable(name) { + const pathLikeVariables = ['PATH', 'INCLUDE', 'LIB', 'LIBPATH'] + return pathLikeVariables.indexOf(name.toUpperCase()) != -1 +} + +function filterPathValue(path) { + let paths = path.split(';') + // Remove duplicates by keeping the first occurance and preserving order. + // This keeps path shadowing working as intended. + function unique(value, index, self) { + return self.indexOf(value) === index + } + return paths.filter(unique).join(';') +} + +/** See https://github.com/ilammy/msvc-dev-cmd#inputs */ +function setupMSVCDevCmd(arch, sdk, toolset, uwp, spectre, vsversion) { + if (process.platform != 'win32') { + core.info('This is not a Windows virtual environment, bye!') + return + } + + // Add standard location of "vswhere" to PATH, in case it's not there. + process.env.PATH += path.delimiter + VSWHERE_PATH + + // There are all sorts of way the architectures are called. In addition to + // values supported by Microsoft Visual C++, recognize some common aliases. + let arch_aliases = { + "win32": "x86", + "win64": "x64", + "x86_64": "x64", + "x86-64": "x64", + } + // Ignore case when matching as that's what humans expect. + if (arch.toLowerCase() in arch_aliases) { + arch = arch_aliases[arch.toLowerCase()] + } + + // Due to the way Microsoft Visual C++ is configured, we have to resort to the following hack: + // Call the configuration batch file and then output *all* the environment variables. + + var args = [arch] + if (uwp == 'true') { + args.push('uwp') + } + if (sdk) { + args.push(sdk) + } + if (toolset) { + args.push(`-vcvars_ver=${toolset}`) + } + if (spectre == 'true') { + args.push('-vcvars_spectre_libs=spectre') + } + + const vcvars = `"${findVcvarsall(vsversion)}" ${args.join(' ')}` + core.debug(`vcvars command-line: ${vcvars}`) + + const cmd_output_string = child_process.execSync(`set && cls && ${vcvars} && cls && set`, {shell: "cmd"}).toString() + const cmd_output_parts = cmd_output_string.split('\f') + + const old_environment = cmd_output_parts[0].split('\r\n') + const vcvars_output = cmd_output_parts[1].split('\r\n') + const new_environment = cmd_output_parts[2].split('\r\n') + + // If vsvars.bat is given an incorrect command line, it will print out + // an error and *still* exit successfully. Parse out errors from output + // which don't look like environment variables, and fail if appropriate. + const error_messages = vcvars_output.filter((line) => { + if (line.match(/^\[ERROR.*\]/)) { + // Don't print this particular line which will be confusing in output. + if (!line.match(/Error in script usage. The correct usage is:$/)) { + return true + } + } + return false + }) + if (error_messages.length > 0) { + throw new Error('invalid parameters' + '\r\n' + error_messages.join('\r\n')) + } + + // Convert old environment lines into a dictionary for easier lookup. + let old_env_vars = {} + for (let string of old_environment) { + const [name, value] = string.split('=') + old_env_vars[name] = value + } + + // Now look at the new environment and export everything that changed. + // These are the variables set by vsvars.bat. Also export everything + // that was not there during the first sweep: those are new variables. + core.startGroup('Environment variables') + for (let string of new_environment) { + // vsvars.bat likes to print some fluff at the beginning. + // Skip lines that don't look like environment variables. + if (!string.includes('=')) { + continue; + } + let [name, new_value] = string.split('=') + let old_value = old_env_vars[name] + // For new variables "old_value === undefined". + if (new_value !== old_value) { + core.info(`Setting ${name}`) + // Special case for a bunch of PATH-like variables: vcvarsall.bat + // just prepends its stuff without checking if its already there. + // This makes repeated invocations of this action fail after some + // point, when the environment variable overflows. Avoid that. + if (isPathVariable(name)) { + new_value = filterPathValue(new_value) + } + core.exportVariable(name, new_value) + } + } + core.endGroup() + + core.info(`Configured Developer Command Prompt`) +} +exports.setupMSVCDevCmd = setupMSVCDevCmd diff --git a/.github/actions/msvc-dev-cmd/package-lock.json b/.github/actions/msvc-dev-cmd/package-lock.json new file mode 100644 index 0000000..fb09271 --- /dev/null +++ b/.github/actions/msvc-dev-cmd/package-lock.json @@ -0,0 +1,2957 @@ +{ + "name": "msvc-dev-cmd", + "version": "1.13.0-dev", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "msvc-dev-cmd", + "version": "1.13.0-dev", + "license": "MIT", + "dependencies": { + "@actions/core": "^1.10.0" + }, + "devDependencies": { + "esbuild": "^0.25.11", + "eslint": "^7" + } + }, + "node_modules/@actions/core": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.0.tgz", + "integrity": "sha512-2aZDDa3zrrZbP5ZYg159sNoLRb61nQ7awl5pSvIq5Qpj81vwDzdMRKzkWJGJuwVvWpvZKx7vspJALyvaaIQyug==", + "dependencies": { + "@actions/http-client": "^2.0.1", + "uuid": "^8.3.2" + } + }, + "node_modules/@actions/http-client": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.0.1.tgz", + "integrity": "sha512-PIXiMVtz6VvyaRsGY268qvj57hXQEpsYogYOu2nrQhlf+XCGmZstmuZBbAybUl1nQGnvS1k1eEsQ69ZoD7xlSw==", + "dependencies": { + "tunnel": "^0.0.6" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.10.4" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", + "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", + "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.14.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.11.tgz", + "integrity": "sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.11.tgz", + "integrity": "sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.11.tgz", + "integrity": "sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.11.tgz", + "integrity": "sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.11.tgz", + "integrity": "sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.11.tgz", + "integrity": "sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.11.tgz", + "integrity": "sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.11.tgz", + "integrity": "sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.11.tgz", + "integrity": "sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.11.tgz", + "integrity": "sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.11.tgz", + "integrity": "sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.11.tgz", + "integrity": "sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.11.tgz", + "integrity": "sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.11.tgz", + "integrity": "sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.11.tgz", + "integrity": "sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.11.tgz", + "integrity": "sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.11.tgz", + "integrity": "sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.11.tgz", + "integrity": "sha512-hr9Oxj1Fa4r04dNpWr3P8QKVVsjQhqrMSUzZzf+LZcYjZNqhA3IAfPQdEh1FLVUJSiu6sgAwp3OmwBfbFgG2Xg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.11.tgz", + "integrity": "sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.11.tgz", + "integrity": "sha512-Qq6YHhayieor3DxFOoYM1q0q1uMFYb7cSpLD2qzDSvK1NAvqFi8Xgivv0cFC6J+hWVw2teCYltyy9/m/14ryHg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.11.tgz", + "integrity": "sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.11.tgz", + "integrity": "sha512-rOREuNIQgaiR+9QuNkbkxubbp8MSO9rONmwP5nKncnWJ9v5jQ4JxFnLu4zDSRPf3x4u+2VN4pM4RdyIzDty/wQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.11.tgz", + "integrity": "sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.11.tgz", + "integrity": "sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.11.tgz", + "integrity": "sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.11.tgz", + "integrity": "sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", + "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^13.9.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", + "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.0", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz", + "integrity": "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==", + "dev": true + }, + "node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "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==", + "dev": true + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "dependencies": { + "ansi-colors": "^4.1.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/esbuild": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.11.tgz", + "integrity": "sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.11", + "@esbuild/android-arm": "0.25.11", + "@esbuild/android-arm64": "0.25.11", + "@esbuild/android-x64": "0.25.11", + "@esbuild/darwin-arm64": "0.25.11", + "@esbuild/darwin-x64": "0.25.11", + "@esbuild/freebsd-arm64": "0.25.11", + "@esbuild/freebsd-x64": "0.25.11", + "@esbuild/linux-arm": "0.25.11", + "@esbuild/linux-arm64": "0.25.11", + "@esbuild/linux-ia32": "0.25.11", + "@esbuild/linux-loong64": "0.25.11", + "@esbuild/linux-mips64el": "0.25.11", + "@esbuild/linux-ppc64": "0.25.11", + "@esbuild/linux-riscv64": "0.25.11", + "@esbuild/linux-s390x": "0.25.11", + "@esbuild/linux-x64": "0.25.11", + "@esbuild/netbsd-arm64": "0.25.11", + "@esbuild/netbsd-x64": "0.25.11", + "@esbuild/openbsd-arm64": "0.25.11", + "@esbuild/openbsd-x64": "0.25.11", + "@esbuild/openharmony-arm64": "0.25.11", + "@esbuild/sunos-x64": "0.25.11", + "@esbuild/win32-arm64": "0.25.11", + "@esbuild/win32-ia32": "0.25.11", + "@esbuild/win32-x64": "0.25.11" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "7.32.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", + "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.3", + "@humanwhocodes/config-array": "^0.5.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.1.2", + "globals": "^13.6.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.9", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "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==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-visitor-keys": { + "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==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/espree": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "dev": true, + "dependencies": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/espree/node_modules/eslint-visitor-keys": { + "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==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.2.tgz", + "integrity": "sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==", + "dev": true + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "node_modules/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globals": { + "version": "13.11.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz", + "integrity": "sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", + "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", + "dev": true + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/parent-module": { + "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==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/table": { + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/table/-/table-6.7.2.tgz", + "integrity": "sha512-UFZK67uvyNivLeQbVtkiUs8Uuuxv24aSL4/Vil2PJVtMgU8Lx0CYkP12uCGa3kjyQzOSgV1+z9Wkb82fCGsO0g==", + "dev": true, + "dependencies": { + "ajv": "^8.0.1", + "lodash.clonedeep": "^4.5.0", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/table/node_modules/ajv": { + "version": "8.6.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.3.tgz", + "integrity": "sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/table/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "node_modules/tunnel": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", + "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", + "engines": { + "node": ">=0.6.11 <=0.7.0 || >=0.7.3" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "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==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/v8-compile-cache": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz", + "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==", + "dev": true + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + }, + "dependencies": { + "@actions/core": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.0.tgz", + "integrity": "sha512-2aZDDa3zrrZbP5ZYg159sNoLRb61nQ7awl5pSvIq5Qpj81vwDzdMRKzkWJGJuwVvWpvZKx7vspJALyvaaIQyug==", + "requires": { + "@actions/http-client": "^2.0.1", + "uuid": "^8.3.2" + } + }, + "@actions/http-client": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.0.1.tgz", + "integrity": "sha512-PIXiMVtz6VvyaRsGY268qvj57hXQEpsYogYOu2nrQhlf+XCGmZstmuZBbAybUl1nQGnvS1k1eEsQ69ZoD7xlSw==", + "requires": { + "tunnel": "^0.0.6" + } + }, + "@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", + "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", + "dev": true + }, + "@babel/highlight": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", + "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@esbuild/aix-ppc64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.11.tgz", + "integrity": "sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg==", + "dev": true, + "optional": true + }, + "@esbuild/android-arm": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.11.tgz", + "integrity": "sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg==", + "dev": true, + "optional": true + }, + "@esbuild/android-arm64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.11.tgz", + "integrity": "sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ==", + "dev": true, + "optional": true + }, + "@esbuild/android-x64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.11.tgz", + "integrity": "sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-arm64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.11.tgz", + "integrity": "sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-x64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.11.tgz", + "integrity": "sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-arm64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.11.tgz", + "integrity": "sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-x64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.11.tgz", + "integrity": "sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.11.tgz", + "integrity": "sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.11.tgz", + "integrity": "sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ia32": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.11.tgz", + "integrity": "sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw==", + "dev": true, + "optional": true + }, + "@esbuild/linux-loong64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.11.tgz", + "integrity": "sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw==", + "dev": true, + "optional": true + }, + "@esbuild/linux-mips64el": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.11.tgz", + "integrity": "sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ppc64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.11.tgz", + "integrity": "sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw==", + "dev": true, + "optional": true + }, + "@esbuild/linux-riscv64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.11.tgz", + "integrity": "sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww==", + "dev": true, + "optional": true + }, + "@esbuild/linux-s390x": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.11.tgz", + "integrity": "sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw==", + "dev": true, + "optional": true + }, + "@esbuild/linux-x64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.11.tgz", + "integrity": "sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ==", + "dev": true, + "optional": true + }, + "@esbuild/netbsd-arm64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.11.tgz", + "integrity": "sha512-hr9Oxj1Fa4r04dNpWr3P8QKVVsjQhqrMSUzZzf+LZcYjZNqhA3IAfPQdEh1FLVUJSiu6sgAwp3OmwBfbFgG2Xg==", + "dev": true, + "optional": true + }, + "@esbuild/netbsd-x64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.11.tgz", + "integrity": "sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A==", + "dev": true, + "optional": true + }, + "@esbuild/openbsd-arm64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.11.tgz", + "integrity": "sha512-Qq6YHhayieor3DxFOoYM1q0q1uMFYb7cSpLD2qzDSvK1NAvqFi8Xgivv0cFC6J+hWVw2teCYltyy9/m/14ryHg==", + "dev": true, + "optional": true + }, + "@esbuild/openbsd-x64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.11.tgz", + "integrity": "sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw==", + "dev": true, + "optional": true + }, + "@esbuild/openharmony-arm64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.11.tgz", + "integrity": "sha512-rOREuNIQgaiR+9QuNkbkxubbp8MSO9rONmwP5nKncnWJ9v5jQ4JxFnLu4zDSRPf3x4u+2VN4pM4RdyIzDty/wQ==", + "dev": true, + "optional": true + }, + "@esbuild/sunos-x64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.11.tgz", + "integrity": "sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA==", + "dev": true, + "optional": true + }, + "@esbuild/win32-arm64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.11.tgz", + "integrity": "sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q==", + "dev": true, + "optional": true + }, + "@esbuild/win32-ia32": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.11.tgz", + "integrity": "sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA==", + "dev": true, + "optional": true + }, + "@esbuild/win32-x64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.11.tgz", + "integrity": "sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA==", + "dev": true, + "optional": true + }, + "@eslint/eslintrc": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", + "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^13.9.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + } + }, + "@humanwhocodes/config-array": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", + "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.0", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + } + }, + "@humanwhocodes/object-schema": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz", + "integrity": "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==", + "dev": true + }, + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "deep-is": { + "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==", + "dev": true + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "requires": { + "ansi-colors": "^4.1.1" + } + }, + "esbuild": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.11.tgz", + "integrity": "sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q==", + "dev": true, + "requires": { + "@esbuild/aix-ppc64": "0.25.11", + "@esbuild/android-arm": "0.25.11", + "@esbuild/android-arm64": "0.25.11", + "@esbuild/android-x64": "0.25.11", + "@esbuild/darwin-arm64": "0.25.11", + "@esbuild/darwin-x64": "0.25.11", + "@esbuild/freebsd-arm64": "0.25.11", + "@esbuild/freebsd-x64": "0.25.11", + "@esbuild/linux-arm": "0.25.11", + "@esbuild/linux-arm64": "0.25.11", + "@esbuild/linux-ia32": "0.25.11", + "@esbuild/linux-loong64": "0.25.11", + "@esbuild/linux-mips64el": "0.25.11", + "@esbuild/linux-ppc64": "0.25.11", + "@esbuild/linux-riscv64": "0.25.11", + "@esbuild/linux-s390x": "0.25.11", + "@esbuild/linux-x64": "0.25.11", + "@esbuild/netbsd-arm64": "0.25.11", + "@esbuild/netbsd-x64": "0.25.11", + "@esbuild/openbsd-arm64": "0.25.11", + "@esbuild/openbsd-x64": "0.25.11", + "@esbuild/openharmony-arm64": "0.25.11", + "@esbuild/sunos-x64": "0.25.11", + "@esbuild/win32-arm64": "0.25.11", + "@esbuild/win32-ia32": "0.25.11", + "@esbuild/win32-x64": "0.25.11" + } + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, + "eslint": { + "version": "7.32.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", + "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", + "dev": true, + "requires": { + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.3", + "@humanwhocodes/config-array": "^0.5.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.1.2", + "globals": "^13.6.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.9", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + } + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "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==", + "dev": true + } + } + }, + "eslint-visitor-keys": { + "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==", + "dev": true + }, + "espree": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "dev": true, + "requires": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "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==", + "dev": true + } + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.2.tgz", + "integrity": "sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "globals": { + "version": "13.11.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz", + "integrity": "sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "import-fresh": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", + "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "parent-module": { + "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==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "table": { + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/table/-/table-6.7.2.tgz", + "integrity": "sha512-UFZK67uvyNivLeQbVtkiUs8Uuuxv24aSL4/Vil2PJVtMgU8Lx0CYkP12uCGa3kjyQzOSgV1+z9Wkb82fCGsO0g==", + "dev": true, + "requires": { + "ajv": "^8.0.1", + "lodash.clonedeep": "^4.5.0", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "ajv": { + "version": "8.6.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.3.tgz", + "integrity": "sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + } + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "tunnel": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", + "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==" + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "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==", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + }, + "v8-compile-cache": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz", + "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } +} diff --git a/.github/actions/msvc-dev-cmd/package.json b/.github/actions/msvc-dev-cmd/package.json new file mode 100644 index 0000000..cb79541 --- /dev/null +++ b/.github/actions/msvc-dev-cmd/package.json @@ -0,0 +1,37 @@ +{ + "name": "msvc-dev-cmd", + "version": "1.13.0-dev", + "description": "GitHub Action to setup Developer Command Prompt for Microsoft Visual C++", + "main": "index.js", + "scripts": { + "build": "esbuild index.js --bundle --platform=node --outfile=dist/index.js", + "lint": "eslint index.js" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/ilammy/msvc-dev-cmd.git" + }, + "keywords": [ + "GitHub", + "Actions", + "Developer Command Prompt", + "Microsoft Visual Studio", + "Microsoft Visual C++", + "Visual Studio", + "Visual C++", + "vcvarsall.bat" + ], + "author": "ilammy ", + "license": "MIT", + "bugs": { + "url": "https://github.com/ilammy/msvc-dev-cmd/issues" + }, + "homepage": "https://github.com/ilammy/msvc-dev-cmd#readme", + "dependencies": { + "@actions/core": "^1.10.0" + }, + "devDependencies": { + "esbuild": "^0.25.11", + "eslint": "^7" + } +} diff --git a/.github/workflows/build-and-publish.yml b/.github/workflows/build-and-publish.yml index 8774d86..19122d1 100644 --- a/.github/workflows/build-and-publish.yml +++ b/.github/workflows/build-and-publish.yml @@ -18,13 +18,7 @@ jobs: steps: - uses: actions/checkout@v5 - - uses: actions/setup-node@v6 - with: - node-version: "24" - # TODO: migrate to the upstream / bundle - # NOTE: https://github.com/ilammy/msvc-dev-cmd/pull/94 - # NOTE: https://github.com/ilammy/msvc-dev-cmd/pull/95 - - uses: knopki/msvc-dev-cmd@221ec3af3b87c0c8189236347c1c0788d2022272 + - uses: ./.github/actions/msvc-dev-cmd - name: Build wheels uses: pypa/cibuildwheel@v3.3.0 diff --git a/.gitignore b/.gitignore index f51c4d6..4b486f6 100644 --- a/.gitignore +++ b/.gitignore @@ -6,7 +6,7 @@ build/** .vscode .coverage -dist/ +/dist/ build/ wheelhouse/ From d44f3075d7586e7df64c158478d36579eee4bbd7 Mon Sep 17 00:00:00 2001 From: Sergei Korolev Date: Sat, 13 Dec 2025 21:53:04 +0300 Subject: [PATCH 22/26] ci: fix wheel build --- .github/workflows/build-and-publish.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/build-and-publish.yml b/.github/workflows/build-and-publish.yml index 19122d1..549c755 100644 --- a/.github/workflows/build-and-publish.yml +++ b/.github/workflows/build-and-publish.yml @@ -20,6 +20,9 @@ jobs: - uses: ./.github/actions/msvc-dev-cmd + - name: Install uv + uses: astral-sh/setup-uv@v7 + - name: Build wheels uses: pypa/cibuildwheel@v3.3.0 From 8cec17eefb66e290f56e932d752cd35a8c54aad5 Mon Sep 17 00:00:00 2001 From: Sergei Korolev Date: Sat, 13 Dec 2025 22:40:09 +0300 Subject: [PATCH 23/26] ci: drop win32 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index f594180..dec8b0c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -102,7 +102,7 @@ sdist.exclude = [ [tool.cibuildwheel] test-extras = ["test"] test-command = "pytest {project}/FaCT++.Python/tests" -skip = "cp38-*" +skip = "cp38-* *-win32" build-frontend = "build[uv]" build-verbosity = 1 repair-wheel-command = "uvx repairwheel -o {dest_dir} {wheel}" From b940f08bc484d70350034b75d56ca20a317cb58a Mon Sep 17 00:00:00 2001 From: Sergei Korolev Date: Sat, 13 Dec 2025 22:51:34 +0300 Subject: [PATCH 24/26] ci: drop musllinux --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index dec8b0c..7df467c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -102,7 +102,7 @@ sdist.exclude = [ [tool.cibuildwheel] test-extras = ["test"] test-command = "pytest {project}/FaCT++.Python/tests" -skip = "cp38-* *-win32" +skip = "cp38-* *-musllinux* *-win32" build-frontend = "build[uv]" build-verbosity = 1 repair-wheel-command = "uvx repairwheel -o {dest_dir} {wheel}" From 95a06efa67ae0c1baf6e2d39f0b527aecbf54304 Mon Sep 17 00:00:00 2001 From: Sergei Korolev Date: Sat, 13 Dec 2025 23:07:27 +0300 Subject: [PATCH 25/26] ci: fix cibuildwheel skip --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 7df467c..e151ad6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -102,7 +102,7 @@ sdist.exclude = [ [tool.cibuildwheel] test-extras = ["test"] test-command = "pytest {project}/FaCT++.Python/tests" -skip = "cp38-* *-musllinux* *-win32" +skip = ["cp38-*", "*-musllinux*", "*-win32"] build-frontend = "build[uv]" build-verbosity = 1 repair-wheel-command = "uvx repairwheel -o {dest_dir} {wheel}" From c837f24ae335d24d0f94d9a358262a690918e8c0 Mon Sep 17 00:00:00 2001 From: Sergei Korolev Date: Sat, 13 Dec 2025 23:53:01 +0300 Subject: [PATCH 26/26] ci: fix eslint 'vulnerability' --- .../actions/msvc-dev-cmd/package-lock.json | 1973 +++++++---------- .github/actions/msvc-dev-cmd/package.json | 2 +- 2 files changed, 771 insertions(+), 1204 deletions(-) diff --git a/.github/actions/msvc-dev-cmd/package-lock.json b/.github/actions/msvc-dev-cmd/package-lock.json index fb09271..1d7f396 100644 --- a/.github/actions/msvc-dev-cmd/package-lock.json +++ b/.github/actions/msvc-dev-cmd/package-lock.json @@ -13,7 +13,7 @@ }, "devDependencies": { "esbuild": "^0.25.11", - "eslint": "^7" + "eslint": "^9.39.2" } }, "node_modules/@actions/core": { @@ -33,109 +33,6 @@ "tunnel": "^0.0.6" } }, - "node_modules/@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.10.4" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", - "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", - "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.14.5", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "node_modules/@babel/highlight/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/@esbuild/aix-ppc64": { "version": "0.25.11", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.11.tgz", @@ -578,51 +475,222 @@ "node": ">=18" } }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz", + "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", + "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz", + "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.7", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/config-helpers": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", + "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", + "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, "node_modules/@eslint/eslintrc": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", - "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.3.tgz", + "integrity": "sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==", "dev": true, + "license": "MIT", "dependencies": { "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^13.9.0", - "ignore": "^4.0.6", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", + "js-yaml": "^4.1.1", + "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/js": { + "version": "9.39.2", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.2.tgz", + "integrity": "sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", + "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", - "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "node_modules/@eslint/plugin-kit": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", + "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@humanwhocodes/object-schema": "^1.2.0", - "debug": "^4.1.1", - "minimatch": "^3.0.4" + "@eslint/core": "^0.17.0", + "levn": "^0.4.1" }, "engines": { - "node": ">=10.10.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz", - "integrity": "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==", - "dev": true + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.7", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", + "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.4.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" }, "node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -635,6 +703,7 @@ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, + "license": "MIT", "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } @@ -644,6 +713,7 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -655,24 +725,6 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -689,34 +741,25 @@ } }, "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true, - "engines": { - "node": ">=8" - } + "license": "Python-2.0" }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -727,6 +770,7 @@ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -768,14 +812,16 @@ "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" }, "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, + "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -786,12 +832,13 @@ } }, "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", "dev": true, + "license": "MIT", "dependencies": { - "ms": "2.1.2" + "ms": "^2.1.3" }, "engines": { "node": ">=6.0" @@ -806,37 +853,8 @@ "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==", - "dev": true - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", "dev": true, - "dependencies": { - "ansi-colors": "^4.1.1" - }, - "engines": { - "node": ">=8.6" - } + "license": "MIT" }, "node_modules/esbuild": { "version": "0.25.11", @@ -893,149 +911,119 @@ } }, "node_modules/eslint": { - "version": "7.32.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", - "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", + "version": "9.39.2", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.2.tgz", + "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.3", - "@humanwhocodes/config-array": "^0.5.0", - "ajv": "^6.10.0", + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.21.1", + "@eslint/config-helpers": "^0.4.2", + "@eslint/core": "^0.17.0", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "9.39.2", + "@eslint/plugin-kit": "^0.4.1", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "ajv": "^6.12.4", "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "enquirer": "^2.3.5", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", - "esquery": "^1.4.0", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.1.2", - "globals": "^13.6.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", + "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^6.0.9", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" + "optionator": "^0.9.3" }, "bin": { "eslint": "bin/eslint.js" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } } }, "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" + "estraverse": "^5.2.0" }, "engines": { - "node": ">=6" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "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==", - "dev": true, - "engines": { - "node": ">=4" + "url": "https://opencollective.com/eslint" } }, "node_modules/eslint-visitor-keys": { - "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==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", "dev": true, + "license": "Apache-2.0", "engines": { - "node": ">=10" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" + "acorn": "^8.15.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.1" }, "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/espree/node_modules/eslint-visitor-keys": { - "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==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, - "engines": { - "node": ">=4" + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "estraverse": "^5.1.0" }, @@ -1043,20 +1031,12 @@ "node": ">=0.10" } }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, "node_modules/esrecurse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "estraverse": "^5.2.0" }, @@ -1064,20 +1044,12 @@ "node": ">=4.0" } }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } @@ -1087,6 +1059,7 @@ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=0.10.0" } @@ -1095,105 +1068,95 @@ "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==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" }, "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", "dev": true, + "license": "MIT", "dependencies": { - "flat-cache": "^3.0.4" + "flat-cache": "^4.0.0" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=16.0.0" } }, - "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, + "license": "MIT", "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.2.tgz", - "integrity": "sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==", - "dev": true - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", "dev": true, + "license": "MIT", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "flatted": "^3.2.9", + "keyv": "^4.5.4" }, "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=16" } }, + "node_modules/flatted": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "dev": true, + "license": "ISC" + }, "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, + "license": "ISC", "dependencies": { - "is-glob": "^4.0.1" + "is-glob": "^4.0.3" }, "engines": { - "node": ">= 6" + "node": ">=10.13.0" } }, "node_modules/globals": { - "version": "13.11.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz", - "integrity": "sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==", + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -1209,25 +1172,30 @@ } }, "node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4" } }, "node_modules/import-fresh": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", - "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", "dev": true, + "license": "MIT", "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" }, "engines": { "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/imurmurhash": { @@ -1239,45 +1207,22 @@ "node": ">=0.8.19" } }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, + "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" }, @@ -1288,33 +1233,36 @@ "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" }, "node_modules/js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", "dev": true, + "license": "MIT", "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", @@ -1322,11 +1270,22 @@ "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", "dev": true }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, + "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" @@ -1335,41 +1294,34 @@ "node": ">= 0.8.0" } }, - "node_modules/lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", - "dev": true - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "node_modules/lodash.truncate": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", - "dev": true - }, - "node_modules/lru-cache": { + "node_modules/locate-path": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, + "license": "MIT", "dependencies": { - "yallist": "^4.0.0" + "p-locate": "^5.0.0" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -1378,10 +1330,11 @@ } }, "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" }, "node_modules/natural-compare": { "version": "1.4.0", @@ -1389,37 +1342,62 @@ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, "node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, + "license": "MIT", "dependencies": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", "type-check": "^0.4.0", - "word-wrap": "^1.2.3" + "word-wrap": "^1.2.5" }, "engines": { "node": ">= 0.8.0" } }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/parent-module": { "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==", "dev": true, + "license": "MIT", "dependencies": { "callsites": "^3.0.0" }, @@ -1427,13 +1405,14 @@ "node": ">=6" } }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, "node_modules/path-key": { @@ -1441,6 +1420,7 @@ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -1450,93 +1430,37 @@ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8.0" } }, - "node_modules/progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, - "node_modules/regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, + "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -1549,55 +1473,7 @@ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, + "license": "MIT", "engines": { "node": ">=8" } @@ -1607,6 +1483,7 @@ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" }, @@ -1626,51 +1503,6 @@ "node": ">=8" } }, - "node_modules/table": { - "version": "6.7.2", - "resolved": "https://registry.npmjs.org/table/-/table-6.7.2.tgz", - "integrity": "sha512-UFZK67uvyNivLeQbVtkiUs8Uuuxv24aSL4/Vil2PJVtMgU8Lx0CYkP12uCGa3kjyQzOSgV1+z9Wkb82fCGsO0g==", - "dev": true, - "dependencies": { - "ajv": "^8.0.1", - "lodash.clonedeep": "^4.5.0", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/table/node_modules/ajv": { - "version": "8.6.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.3.tgz", - "integrity": "sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/table/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, "node_modules/tunnel": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", @@ -1684,6 +1516,7 @@ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, + "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1" }, @@ -1691,23 +1524,12 @@ "node": ">= 0.8.0" } }, - "node_modules/type-fest": { - "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==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "punycode": "^2.1.0" } @@ -1720,17 +1542,12 @@ "uuid": "dist/bin/uuid" } }, - "node_modules/v8-compile-cache": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz", - "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==", - "dev": true - }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -1746,21 +1563,23 @@ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } } }, "dependencies": { @@ -1781,90 +1600,6 @@ "tunnel": "^0.0.6" } }, - "@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", - "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", - "dev": true - }, - "@babel/highlight": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", - "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.5", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, "@esbuild/aix-ppc64": { "version": "0.25.11", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.11.tgz", @@ -2047,44 +1782,141 @@ "dev": true, "optional": true }, + "@eslint-community/eslint-utils": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz", + "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.4.3" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true + } + } + }, + "@eslint-community/regexpp": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", + "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", + "dev": true + }, + "@eslint/config-array": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz", + "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==", + "dev": true, + "requires": { + "@eslint/object-schema": "^2.1.7", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + } + }, + "@eslint/config-helpers": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", + "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", + "dev": true, + "requires": { + "@eslint/core": "^0.17.0" + } + }, + "@eslint/core": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", + "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.15" + } + }, "@eslint/eslintrc": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", - "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.3.tgz", + "integrity": "sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==", "dev": true, "requires": { "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^13.9.0", - "ignore": "^4.0.6", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", + "js-yaml": "^4.1.1", + "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" } }, - "@humanwhocodes/config-array": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", - "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "@eslint/js": { + "version": "9.39.2", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.2.tgz", + "integrity": "sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==", + "dev": true + }, + "@eslint/object-schema": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", + "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", + "dev": true + }, + "@eslint/plugin-kit": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", + "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", + "dev": true, + "requires": { + "@eslint/core": "^0.17.0", + "levn": "^0.4.1" + } + }, + "@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "dev": true + }, + "@humanfs/node": { + "version": "0.16.7", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", + "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", "dev": true, "requires": { - "@humanwhocodes/object-schema": "^1.2.0", - "debug": "^4.1.1", - "minimatch": "^3.0.4" + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.4.0" } }, - "@humanwhocodes/object-schema": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz", - "integrity": "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==", + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true + }, + "@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", + "dev": true + }, + "@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true + }, + "@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", "dev": true }, "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true }, "acorn-jsx": { @@ -2106,18 +1938,6 @@ "uri-js": "^4.2.2" } }, - "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -2128,18 +1948,9 @@ } }, "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, "balanced-match": { @@ -2149,9 +1960,9 @@ "dev": true }, "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "requires": { "balanced-match": "^1.0.0", @@ -2192,13 +2003,13 @@ "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "requires": { "path-key": "^3.1.0", @@ -2207,12 +2018,12 @@ } }, "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", "dev": true, "requires": { - "ms": "2.1.2" + "ms": "^2.1.3" } }, "deep-is": { @@ -2221,30 +2032,6 @@ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "dev": true, - "requires": { - "ansi-colors": "^4.1.1" - } - }, "esbuild": { "version": "0.25.11", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.11.tgz", @@ -2286,126 +2073,81 @@ "dev": true }, "eslint": { - "version": "7.32.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", - "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", + "version": "9.39.2", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.2.tgz", + "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==", "dev": true, "requires": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.3", - "@humanwhocodes/config-array": "^0.5.0", - "ajv": "^6.10.0", + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.21.1", + "@eslint/config-helpers": "^0.4.2", + "@eslint/core": "^0.17.0", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "9.39.2", + "@eslint/plugin-kit": "^0.4.1", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "ajv": "^6.12.4", "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "enquirer": "^2.3.5", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", - "esquery": "^1.4.0", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.1.2", - "globals": "^13.6.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", + "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^6.0.9", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" + "optionator": "^0.9.3" } }, "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", "dev": true, "requires": { "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^1.1.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "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==", - "dev": true - } + "estraverse": "^5.2.0" } }, "eslint-visitor-keys": { - "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==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", "dev": true }, "espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", "dev": true, "requires": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "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==", - "dev": true - } + "acorn": "^8.15.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.1" } }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, "esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", "dev": true, "requires": { "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true - } } }, "esrecurse": { @@ -2415,20 +2157,12 @@ "dev": true, "requires": { "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true - } } }, "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true }, "esutils": { @@ -2452,77 +2186,58 @@ "fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", "dev": true, "requires": { - "flat-cache": "^3.0.4" + "flat-cache": "^4.0.0" } }, - "flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" } }, - "flatted": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.2.tgz", - "integrity": "sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==", - "dev": true - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, - "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", "dev": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "flatted": "^3.2.9", + "keyv": "^4.5.4" } }, + "flatted": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "dev": true + }, "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, "requires": { - "is-glob": "^4.0.1" + "is-glob": "^4.0.3" } }, "globals": { - "version": "13.11.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz", - "integrity": "sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true }, "has-flag": { "version": "4.0.0", @@ -2531,15 +2246,15 @@ "dev": true }, "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "dev": true }, "import-fresh": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", - "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", "dev": true, "requires": { "parent-module": "^1.0.0", @@ -2552,38 +2267,16 @@ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true }, "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, "requires": { "is-extglob": "^2.1.1" @@ -2592,25 +2285,24 @@ "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", "dev": true, "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "argparse": "^2.0.1" } }, + "json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -2623,6 +2315,15 @@ "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", "dev": true }, + "keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "requires": { + "json-buffer": "3.0.1" + } + }, "levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -2633,11 +2334,14 @@ "type-check": "~0.4.0" } }, - "lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", - "dev": true + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } }, "lodash.merge": { "version": "4.6.2", @@ -2645,21 +2349,6 @@ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, - "lodash.truncate": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", - "dev": true - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, "minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -2670,9 +2359,9 @@ } }, "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true }, "natural-compare": { @@ -2681,19 +2370,10 @@ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { - "wrappy": "1" - } - }, "optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, "requires": { "deep-is": "^0.1.3", @@ -2701,7 +2381,25 @@ "levn": "^0.4.1", "prelude-ls": "^1.2.1", "type-check": "^0.4.0", - "word-wrap": "^1.2.3" + "word-wrap": "^1.2.5" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" } }, "parent-module": { @@ -2713,10 +2411,10 @@ "callsites": "^3.0.0" } }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true }, "path-key": { @@ -2731,28 +2429,10 @@ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true - }, "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - }, - "regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true - }, - "require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true }, "resolve-from": { @@ -2761,24 +2441,6 @@ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, "shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -2794,43 +2456,6 @@ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, - "slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, "strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -2846,46 +2471,6 @@ "has-flag": "^4.0.0" } }, - "table": { - "version": "6.7.2", - "resolved": "https://registry.npmjs.org/table/-/table-6.7.2.tgz", - "integrity": "sha512-UFZK67uvyNivLeQbVtkiUs8Uuuxv24aSL4/Vil2PJVtMgU8Lx0CYkP12uCGa3kjyQzOSgV1+z9Wkb82fCGsO0g==", - "dev": true, - "requires": { - "ajv": "^8.0.1", - "lodash.clonedeep": "^4.5.0", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1" - }, - "dependencies": { - "ajv": { - "version": "8.6.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.3.tgz", - "integrity": "sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - } - } - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, "tunnel": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", @@ -2900,12 +2485,6 @@ "prelude-ls": "^1.2.1" } }, - "type-fest": { - "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==", - "dev": true - }, "uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -2920,12 +2499,6 @@ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" }, - "v8-compile-cache": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz", - "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==", - "dev": true - }, "which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -2941,16 +2514,10 @@ "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "dev": true }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true } } diff --git a/.github/actions/msvc-dev-cmd/package.json b/.github/actions/msvc-dev-cmd/package.json index cb79541..bc15561 100644 --- a/.github/actions/msvc-dev-cmd/package.json +++ b/.github/actions/msvc-dev-cmd/package.json @@ -32,6 +32,6 @@ }, "devDependencies": { "esbuild": "^0.25.11", - "eslint": "^7" + "eslint": "^9.39.2" } }

WA&VvDR0kRTo!P0;i=CKdk4}^M%=6``W5T zA$fK)-}j2F#4q5~g#pLDiB1^rZYVmWBtJRne-2Zpw+#%?J^5Aq#OA?v*KUlT%oK{) zlPUJ3+jO5Q4R5{*TzS7wT~!*MLPDz|+Tcv4z6_J}kYXzNhgBs_1H zdcjIkOs2$iFTWeM_u@$YF*(sBu>6fu+ja&;kPl)N3oM(Vu86Y~4^#27idB(#iY>N% zL|^>E1V6fvwu>KSHznFdgTp*A_}A`wLVQif*C)9aKlvN?a(57+_*(qtLH+mz|CHqS z0Z+faU2Xn=Nia@ghs;OourCSrmo@UF$vxRePYMGbB<=uJ+s#)0Q;RP`V?-AV1A?v9 z_v*nL*Y}K`6b4*YQ(tr=)lvPa#kst$tdMg4fyYsK?*)F7%|C%?ZEyy9<_8Cv(c}}w zg}gLY?qO%qB~kysqi+Y>s$(pJ;IG8h=9$$b8(HNzLE#)i0I|8&L{rB@s=$ z*HVy9V)9V9mRwPf!Q{8v?r@P7P=sHT%cP@wZFW>#7r8*>ySXZw?&=zpZe5+cQr}OS z)X0r`efb%~g7rA>j!FeQB$MDD2I~Lu7r+DY`eaUlhrl3U{=1|<|qsL_#$CY(QJn2 zMzZ@RBYF4->ZU>CdCZ2z*F>u=AlCjl5)7@(`7~wP_#k$w#AVj8nolwwjIl)Oe?Faf zDRV&;2bB8O=1RRm)27Y2pD)1q(n{SLI-$%Gq?Dda4&-_v?d4wp z?9$nfDI9+rGAD5?U?0OOkFrqTpgbM1ePiq6OFWginDl+fp{4RVDiUyDe;VlrN6#cG zdJfk)Tzk0oa9zT63D@OZQPcdVxS~V(E4i-Z8gY%dGOnZ7g#P;A==I*8{rAoej(*RZ z?SC-!=no`^-JFKyL8p78OAi2D>Rw9+M;ucacAL%}AbN0px^9)ApAK*t*vbq*I6tuy zeOV_X6da^9M(l2qfTuU9m=)up5(nqV)}FWKt8o2 zKv}sj!DuIu0mh}DfQ81nC&E3XQvCfP$RX_k8)lWlnM0N~5(crT$QR#nnVRf>#Pq7yU@qVF5t$CS%0D+f@58p~G-4v8pS(aOs$e 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 z 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
EV51ieC%TdbcUxqgl~P1IufsI`7hBQaEq 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%0DMZ8OK|H=gP$M7v5x!i;C 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
bYj9xqC3qcHi>w6>0Vn0#59yF8&Yt!=Kv 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