From 81a084dc7ab1357524b79ebe3d4288435bde116c Mon Sep 17 00:00:00 2001 From: Prabhu Subramanian Date: Mon, 2 Oct 2023 10:43:52 +0100 Subject: [PATCH 1/5] Capture the java namespaces in deep mode under properties Signed-off-by: Prabhu Subramanian --- ci/Dockerfile | 15 +++-- ci/Dockerfile-deno | 15 +++-- ci/Dockerfile-ppc64 | 15 +++-- index.js | 26 +++----- package-lock.json | 116 +++++++++++++++++----------------- package.json | 12 ++-- test/data/conda.yml | 149 ++++++++++++++++++++++++++++++++++++++++++++ utils.js | 66 ++++++++++++++++++-- utils.test.js | 8 +-- 9 files changed, 309 insertions(+), 113 deletions(-) create mode 100644 test/data/conda.yml diff --git a/ci/Dockerfile b/ci/Dockerfile index 9b08ea5eeb..f9cdd2584c 100644 --- a/ci/Dockerfile +++ b/ci/Dockerfile @@ -17,11 +17,10 @@ ARG SWIFT_BRANCH=swift-5.8-release ARG SWIFT_VERSION=swift-5.8-RELEASE ARG SWIFT_WEBROOT=https://download.swift.org ARG JAVA_VERSION=20.0.2-graalce -ARG SBT_VERSION=1.9.3 -ARG MAVEN_VERSION=3.9.3 -ARG GRADLE_VERSION=8.2.1 -ARG GO_VERSION=1.20.6 -ARG CLJ_VERSION=1.11.1.1347 +ARG SBT_VERSION=1.9.6 +ARG MAVEN_VERSION=3.9.4 +ARG GRADLE_VERSION=8.3 +ARG GO_VERSION=1.21.1 ENV GOPATH=/opt/app-root/go \ JAVA_VERSION=$JAVA_VERSION \ @@ -111,9 +110,9 @@ RUN set -e; \ && chmod +x lein \ && mv lein /usr/local/bin/ \ && /usr/local/bin/lein \ - && curl -O https://download.clojure.org/install/linux-install-$CLJ_VERSION.sh \ - && chmod +x linux-install-$CLJ_VERSION.sh \ - && sudo ./linux-install-$CLJ_VERSION.sh \ + && curl -L -O https://github.com/clojure/brew-install/releases/latest/download/linux-install.sh \ + && chmod +x linux-install.sh \ + && sudo ./linux-install.sh \ && useradd -ms /bin/bash cyclonedx \ && npm install --unsafe-perm -g @microsoft/rush --omit=dev \ && pecl channel-update pecl.php.net \ diff --git a/ci/Dockerfile-deno b/ci/Dockerfile-deno index 3c11ef7c1b..53477b8f5c 100644 --- a/ci/Dockerfile-deno +++ b/ci/Dockerfile-deno @@ -17,11 +17,10 @@ ARG SWIFT_BRANCH=swift-5.8-release ARG SWIFT_VERSION=swift-5.8-RELEASE ARG SWIFT_WEBROOT=https://download.swift.org ARG JAVA_VERSION=20.0.2-graalce -ARG SBT_VERSION=1.9.3 -ARG MAVEN_VERSION=3.9.3 -ARG GRADLE_VERSION=8.2.1 -ARG GO_VERSION=1.20.6 -ARG CLJ_VERSION=1.11.1.1347 +ARG SBT_VERSION=1.9.6 +ARG MAVEN_VERSION=3.9.4 +ARG GRADLE_VERSION=8.3 +ARG GO_VERSION=1.21.1 ENV GOPATH=/opt/app-root/go \ JAVA_VERSION=$JAVA_VERSION \ @@ -114,9 +113,9 @@ RUN set -e; \ && chmod +x lein \ && mv lein /usr/local/bin/ \ && /usr/local/bin/lein \ - && curl -O https://download.clojure.org/install/linux-install-$CLJ_VERSION.sh \ - && chmod +x linux-install-$CLJ_VERSION.sh \ - && sudo ./linux-install-$CLJ_VERSION.sh \ + && curl -L -O https://github.com/clojure/brew-install/releases/latest/download/linux-install.sh \ + && chmod +x linux-install.sh \ + && sudo ./linux-install.sh \ && useradd -ms /bin/bash cyclonedx \ && pecl channel-update pecl.php.net \ && pecl install timezonedb \ diff --git a/ci/Dockerfile-ppc64 b/ci/Dockerfile-ppc64 index 049b3de893..93f2f10ccd 100644 --- a/ci/Dockerfile-ppc64 +++ b/ci/Dockerfile-ppc64 @@ -11,11 +11,10 @@ LABEL maintainer="cyclonedx" \ org.opencontainers.image.description="Container image for cyclonedx cdxgen SBoM generator" \ org.opencontainers.docker.cmd="docker run --rm -v /tmp:/tmp -p 9090:9090 -v $(pwd):/app:rw -t ghcr.io/cyclonedx/cdxgen-ppc64 -r /app --server" -ARG SBT_VERSION=1.9.3 -ARG MAVEN_VERSION=3.9.3 -ARG GRADLE_VERSION=8.2.1 -ARG GO_VERSION=1.20.6 -ARG CLJ_VERSION=1.11.1.1347 +ARG SBT_VERSION=1.9.6 +ARG MAVEN_VERSION=3.9.4 +ARG GRADLE_VERSION=8.3 +ARG GO_VERSION=1.21.1 ENV GOPATH=/opt/app-root/go \ SBT_VERSION=$SBT_VERSION \ @@ -90,9 +89,9 @@ RUN set -e; \ && chmod +x lein \ && mv lein /usr/local/bin/ \ && /usr/local/bin/lein \ - && curl -O https://download.clojure.org/install/linux-install-$CLJ_VERSION.sh \ - && chmod +x linux-install-$CLJ_VERSION.sh \ - && sudo ./linux-install-$CLJ_VERSION.sh \ + && curl -L -O https://github.com/clojure/brew-install/releases/latest/download/linux-install.sh \ + && chmod +x linux-install.sh \ + && sudo ./linux-install.sh \ && useradd -ms /bin/bash cyclonedx \ && npm install --unsafe-perm -g @microsoft/rush --omit=dev \ && pecl channel-update pecl.php.net \ diff --git a/index.js b/index.js index f5b77af99d..a3fbc5da9c 100644 --- a/index.js +++ b/index.js @@ -1127,17 +1127,11 @@ export const createJavaBom = async (path, options) => { console.log(`Retrieving packages from ${path}`); } const tempDir = mkdtempSync(join(tmpdir(), "war-deps-")); - pkgList = extractJarArchive(path, tempDir); + jarNSMapping = collectJarNS(tempDir); + pkgList = extractJarArchive(path, tempDir, jarNSMapping); if (pkgList.length) { pkgList = await getMvnMetadata(pkgList); } - // Should we attempt to resolve class names - if (options.resolveClass) { - console.log( - "Creating class names list based on available jars. This might take a few mins ..." - ); - jarNSMapping = collectJarNS(tempDir); - } // Clean up if (tempDir && tempDir.startsWith(tmpdir()) && rmSync) { console.log(`Cleaning up ${tempDir}`); @@ -1192,7 +1186,7 @@ export const createJavaBom = async (path, options) => { } const mavenCmd = getMavenCommand(basePath, path); // Should we attempt to resolve class names - if (options.resolveClass) { + if (options.resolveClass || options.deep) { console.log( "Creating class names list based on available jars. This might take a few mins ..." ); @@ -1351,7 +1345,7 @@ export const createJavaBom = async (path, options) => { } if (pkgList) { pkgList = trimComponents(pkgList, "json"); - pkgList = await getMvnMetadata(pkgList); + pkgList = await getMvnMetadata(pkgList, jarNSMapping); return buildBomNSData(options, pkgList, "maven", { src: path, filename: pomFiles.join(", "), @@ -1551,15 +1545,14 @@ export const createJavaBom = async (path, options) => { ); options.failOnError && process.exit(1); } - - pkgList = await getMvnMetadata(pkgList); // Should we attempt to resolve class names - if (options.resolveClass) { + if (options.resolveClass || options.deep) { console.log( "Creating class names list based on available jars. This might take a few mins ..." ); jarNSMapping = collectJarNS(GRADLE_CACHE_DIR); } + pkgList = await getMvnMetadata(pkgList, jarNSMapping); return buildBomNSData(options, pkgList, "maven", { src: path, filename: gradleFiles.join(", "), @@ -1654,7 +1647,8 @@ export const createJavaBom = async (path, options) => { console.log("Bazel unexpectedly didn't produce any output"); options.failOnError && process.exit(1); } - pkgList = await getMvnMetadata(pkgList); + // FIXME: How do we retrieve jarNSMapping for bazel projects? + pkgList = await getMvnMetadata(pkgList, jarNSMapping); return buildBomNSData(options, pkgList, "maven", { src: path, filename: "BUILD", @@ -1835,14 +1829,14 @@ export const createJavaBom = async (path, options) => { if (DEBUG_MODE) { console.log(`Found ${pkgList.length} packages`); } - pkgList = await getMvnMetadata(pkgList); // Should we attempt to resolve class names - if (options.resolveClass) { + if (options.resolveClass || options.deep) { console.log( "Creating class names list based on available jars. This might take a few mins ..." ); jarNSMapping = collectJarNS(SBT_CACHE_DIR); } + pkgList = await getMvnMetadata(pkgList, jarNSMapping); return buildBomNSData(options, pkgList, "maven", { src: path, filename: sbtProjects.join(", "), diff --git a/package-lock.json b/package-lock.json index 2602d34b6f..5a337226f0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,21 +9,21 @@ "version": "9.8.5", "license": "Apache-2.0", "dependencies": { - "@babel/parser": "^7.22.16", - "@babel/traverse": "^7.22.19", + "@babel/parser": "^7.23.0", + "@babel/traverse": "^7.23.0", "@npmcli/arborist": "^7.1.0", "ajv": "^8.12.0", "ajv-formats": "^2.1.1", "cheerio": "^1.0.0-rc.12", "edn-data": "^1.0.0", - "glob": "^10.3.4", + "glob": "^10.3.10", "global-agent": "^3.0.0", "got": "^13.0.0", "iconv-lite": "^0.6.3", "js-yaml": "^4.1.0", "jws": "^4.0.0", "node-stream-zip": "^1.15.0", - "packageurl-js": "^1.0.2", + "packageurl-js": "^1.1.1", "prettify-xml": "^1.2.0", "properties-reader": "^2.3.0", "semver": "^7.5.3", @@ -45,7 +45,7 @@ "devDependencies": { "caxa": "^3.0.1", "docsify-cli": "^4.4.4", - "eslint": "^8.49.0", + "eslint": "^8.50.0", "jest": "^29.7.0", "prettier": "3.0.3" }, @@ -53,7 +53,7 @@ "node": ">=16" }, "optionalDependencies": { - "@appthreat/atom": "^1.2.1", + "@appthreat/atom": "^1.2.3", "@cyclonedx/cdxgen-plugins-bin": "^1.4.0", "@cyclonedx/cdxgen-plugins-bin-arm64": "^1.4.0", "@cyclonedx/cdxgen-plugins-bin-ppc64": "^1.4.0", @@ -88,12 +88,12 @@ } }, "node_modules/@appthreat/atom": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@appthreat/atom/-/atom-1.2.1.tgz", - "integrity": "sha512-WPA1+mxgzAMWMdAnKKC/6D4oWYHxNs3vxoX05v1eByDG+avE/nY/CvtgdxL18AuNkLWcLQNOZB0YCOD/afzMdQ==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@appthreat/atom/-/atom-1.2.3.tgz", + "integrity": "sha512-ezlc+fLm97477FZqKeRmzM77mDSCbEJkfPDz7NwIezrEuStSjz5VlXvaQYqxuXdjyLggIxaN4sbL3EU29+Ppbg==", "optional": true, "dependencies": { - "@babel/parser": "^7.22.16", + "@babel/parser": "^7.23.0", "typescript": "^5.2.2", "yargs": "^17.7.2" }, @@ -172,11 +172,11 @@ } }, "node_modules/@babel/generator": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.15.tgz", - "integrity": "sha512-Zu9oWARBqeVOW0dZOjXc3JObrzuqothQ3y/n1kUtrjCoCPLkXUwMvOo/F/TCfoHMbWIFlWwpZtkZVb9ga4U2pA==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", + "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", "dependencies": { - "@babel/types": "^7.22.15", + "@babel/types": "^7.23.0", "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" @@ -211,20 +211,20 @@ } }, "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", - "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-function-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", - "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", "dependencies": { - "@babel/template": "^7.22.5", - "@babel/types": "^7.22.5" + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" }, "engines": { "node": ">=6.9.0" @@ -313,9 +313,9 @@ } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.19", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.19.tgz", - "integrity": "sha512-Tinq7ybnEPFFXhlYOYFiSjespWQk0dq2dRNAiMdRTOYQzEGqnnNyrTxPYHP5r6wGjlF1rFgABdDV0g8EwD6Qbg==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", "engines": { "node": ">=6.9.0" } @@ -357,9 +357,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.22.16", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.16.tgz", - "integrity": "sha512-+gPfKv8UWeKKeJTUxe59+OobVcrYHETCsORl61EmSkmgymguYk/X5bp7GuUIXaFsc6y++v8ZxPsLSSuujqDphA==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", + "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", "bin": { "parser": "bin/babel-parser.js" }, @@ -558,18 +558,18 @@ } }, "node_modules/@babel/traverse": { - "version": "7.22.19", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.19.tgz", - "integrity": "sha512-ZCcpVPK64krfdScRbpxF6xA5fz7IOsfMwx1tcACvCzt6JY+0aHkBk7eIU8FRDSZRU5Zei6Z4JfgAxN1bqXGECg==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.0.tgz", + "integrity": "sha512-t/QaEvyIoIkwzpiZ7aoSKK8kObQYeF7T2v+dazAYCb8SXtp58zEVkWW7zAnju8FNKNdr4ScAOEDmMItbyOmEYw==", "dependencies": { "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.22.15", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", + "@babel/generator": "^7.23.0", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", "@babel/helper-hoist-variables": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.22.16", - "@babel/types": "^7.22.19", + "@babel/parser": "^7.23.0", + "@babel/types": "^7.23.0", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -578,12 +578,12 @@ } }, "node_modules/@babel/types": { - "version": "7.22.19", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.19.tgz", - "integrity": "sha512-P7LAw/LbojPzkgp5oznjE6tQEIWbp4PkkfrZDINTro9zgBRtI324/EYsiSI7lhPbpIQ+DCeR2NNmMWANGGfZsg==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", + "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", "dependencies": { "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.19", + "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" }, "engines": { @@ -723,9 +723,9 @@ } }, "node_modules/@eslint/js": { - "version": "8.49.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.49.0.tgz", - "integrity": "sha512-1S8uAY/MTJqVx0SC4epBq+N2yhuwtNwLbJYNZyhL2pO1ZVKn5HFXav5T41Ryzy9K9V7ZId2JB2oy/W4aCd9/2w==", + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.50.0.tgz", + "integrity": "sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -5666,15 +5666,15 @@ } }, "node_modules/eslint": { - "version": "8.49.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.49.0.tgz", - "integrity": "sha512-jw03ENfm6VJI0jA9U+8H5zfl5b+FvuU3YYvZRdZHOlU2ggJkxrlkJH4HcDrZpj6YwD8kuYqvQM8LyesoazrSOQ==", + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.50.0.tgz", + "integrity": "sha512-FOnOGSuFuFLv/Sa+FDVRZl4GGVAAFFi8LecRsI5a1tMO5HIE8nCm4ivAlzt4dT3ol/PaaGC0rJEEXQmHJBGoOg==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.49.0", + "@eslint/js": "8.50.0", "@humanwhocodes/config-array": "^0.11.11", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", @@ -6425,18 +6425,18 @@ } }, "node_modules/glob": { - "version": "10.3.4", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.4.tgz", - "integrity": "sha512-6LFElP3A+i/Q8XQKEvZjkEWEOTgAIALR9AO2rwT8bgPhDd1anmqDJDZ6lLddI4ehxxxR1S5RIqKe1uapMQfYaQ==", + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", "dependencies": { "foreground-child": "^3.1.0", - "jackspeak": "^2.0.3", + "jackspeak": "^2.3.5", "minimatch": "^9.0.1", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", "path-scurry": "^1.10.1" }, "bin": { - "glob": "dist/cjs/src/bin.js" + "glob": "dist/esm/bin.mjs" }, "engines": { "node": ">=16 || 14 >=14.17" @@ -7247,9 +7247,9 @@ } }, "node_modules/jackspeak": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.0.tgz", - "integrity": "sha512-uKmsITSsF4rUWQHzqaRUuyAir3fZfW3f202Ee34lz/gZCi970CPZwyQXLGNgWJvvZbvFyzeyGq0+4fcG/mBKZg==", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", "dependencies": { "@isaacs/cliui": "^8.0.2" }, @@ -10710,9 +10710,9 @@ } }, "node_modules/packageurl-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/packageurl-js/-/packageurl-js-1.0.2.tgz", - "integrity": "sha512-fWC4ZPxo80qlh3xN5FxfIoQD3phVY4+EyzTIqyksjhKNDmaicdpxSvkWwIrYTtv9C1/RcUN6pxaTwGmj2NzS6A==" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/packageurl-js/-/packageurl-js-1.1.1.tgz", + "integrity": "sha512-juW4p0J23BvvMj0I9/ORe/Y7TFsNNrEjoZ/h3ToPfU0dvnGXUm6vHtcAINf2Scgv5EqQW7ngTZnkTfgFBPeXNw==" }, "node_modules/pacote": { "version": "17.0.4", diff --git a/package.json b/package.json index 600671f66e..fe0083ace1 100644 --- a/package.json +++ b/package.json @@ -55,21 +55,21 @@ "url": "https://github.com/cyclonedx/cdxgen/issues" }, "dependencies": { - "@babel/parser": "^7.22.16", - "@babel/traverse": "^7.22.19", + "@babel/parser": "^7.23.0", + "@babel/traverse": "^7.23.0", "@npmcli/arborist": "^7.1.0", "ajv": "^8.12.0", "ajv-formats": "^2.1.1", "cheerio": "^1.0.0-rc.12", "edn-data": "^1.0.0", - "glob": "^10.3.4", + "glob": "^10.3.10", "global-agent": "^3.0.0", "got": "^13.0.0", "iconv-lite": "^0.6.3", "js-yaml": "^4.1.0", "jws": "^4.0.0", "node-stream-zip": "^1.15.0", - "packageurl-js": "^1.0.2", + "packageurl-js": "^1.1.1", "prettify-xml": "^1.2.0", "properties-reader": "^2.3.0", "semver": "^7.5.3", @@ -82,7 +82,7 @@ "yargs": "^17.7.2" }, "optionalDependencies": { - "@appthreat/atom": "^1.2.1", + "@appthreat/atom": "^1.2.3", "@cyclonedx/cdxgen-plugins-bin": "^1.4.0", "@cyclonedx/cdxgen-plugins-bin-arm64": "^1.4.0", "@cyclonedx/cdxgen-plugins-bin-ppc64": "^1.4.0", @@ -101,7 +101,7 @@ "devDependencies": { "caxa": "^3.0.1", "docsify-cli": "^4.4.4", - "eslint": "^8.49.0", + "eslint": "^8.50.0", "jest": "^29.7.0", "prettier": "3.0.3" } diff --git a/test/data/conda.yml b/test/data/conda.yml new file mode 100644 index 0000000000..410b413633 --- /dev/null +++ b/test/data/conda.yml @@ -0,0 +1,149 @@ +name: chen-science +channels: + - pytorch + - conda-forge + - defaults +dependencies: + - _libgcc_mutex=0.1=main + - _openmp_mutex=5.1=1_gnu + - anyio=3.5.0=py311h06a4308_0 + - appdirs=1.4.4=pyhd3eb1b0_0 + - atk-1.0=2.36.0=ha1a6a79_0 + - attrs=23.1.0=pyh71513ae_1 + - blas=1.0=mkl + - boost-cpp=1.82.0=hdb19cb5_1 + - brotli-python=1.0.9=py311h6a678d5_7 + - bzip2=1.0.8=h7b6447c_0 + - c-ares=1.19.1=h5eee18b_0 + - ca-certificates=2023.7.22=hbcca054_0 + - cairo=1.16.0=hb05425b_5 + - certifi=2023.7.22=pyhd8ed1ab_0 + - charset-normalizer=3.2.0=pyhd8ed1ab_0 + - cpuonly=2.0=0 + - expat=2.5.0=h6a678d5_0 + - filelock=3.9.0=py311h06a4308_0 + - font-ttf-dejavu-sans-mono=2.37=hd3eb1b0_0 + - font-ttf-inconsolata=2.001=hcb22688_0 + - font-ttf-source-code-pro=2.030=hd3eb1b0_0 + - font-ttf-ubuntu=0.83=h8b1ccd4_0 + - fontconfig=2.14.1=h4c34cd2_2 + - fonts-anaconda=1=h8fa9717_0 + - fonts-conda-ecosystem=1=hd3eb1b0_0 + - freetype=2.12.1=h4a9f257_0 + - fribidi=1.0.10=h7b6447c_0 + - gdk-pixbuf=2.42.10=h5eee18b_0 + - gensim=4.3.0=py311hba01205_1 + - giflib=5.2.1=h5eee18b_3 + - glib=2.69.1=he621ea3_2 + - gmp=6.2.1=h295c915_3 + - gmpy2=2.1.2=py311hc9b5ff0_0 + - gobject-introspection=1.72.0=py311hbb6d50b_2 + - graphite2=1.3.14=h295c915_1 + - graphviz=2.50.0=h1b29801_1 + - gtk2=2.24.33=h73c1081_2 + - gts=0.7.6=hb67d8dd_3 + - h11=0.12.0=pyhd3eb1b0_0 + - h2=4.0.0=py311h06a4308_3 + - harfbuzz=4.3.0=hf52aaf7_2 + - hpack=4.0.0=py_0 + - httpcore=0.15.0=py311h06a4308_0 + - httpx=0.23.0=py311h06a4308_0 + - hyperframe=6.0.1=pyhd3eb1b0_0 + - icu=73.1=h6a678d5_0 + - idna=3.4=py311h06a4308_0 + - importlib-metadata=6.8.0=pyha770c72_0 + - importlib_resources=6.1.0=pyhd8ed1ab_0 + - intel-openmp=2023.1.0=hdb19cb5_46305 + - jinja2=3.1.2=py311h06a4308_0 + - jpeg=9e=h5eee18b_1 + - jsonschema=4.17.3=pyhd8ed1ab_0 + - krb5=1.20.1=h143b758_1 + - lcms2=2.12=h3be6417_0 + - ld_impl_linux-64=2.38=h1181459_1 + - lerc=3.0=h295c915_0 + - libboost=1.82.0=ha8e66a6_1 + - libcurl=8.2.1=h251f7ec_0 + - libdeflate=1.17=h5eee18b_0 + - libedit=3.1.20221030=h5eee18b_0 + - libev=4.33=h7f8727e_1 + - libffi=3.4.4=h6a678d5_0 + - libgcc-ng=11.2.0=h1234567_1 + - libgd=2.3.3=h695aa2c_1 + - libgfortran-ng=11.2.0=h00389a5_1 + - libgfortran5=11.2.0=h1234567_1 + - libgomp=11.2.0=h1234567_1 + - libiconv=1.16=h7f8727e_2 + - libnghttp2=1.52.0=h2d74bed_1 + - libpng=1.6.39=h5eee18b_0 + - librsvg=2.54.4=h36cc946_3 + - libssh2=1.10.0=hdbd6064_2 + - libstdcxx-ng=11.2.0=h1234567_1 + - libtiff=4.5.1=h6a678d5_0 + - libtool=2.4.6=h6a678d5_1009 + - libuuid=1.41.5=h5eee18b_0 + - libwebp=1.3.2=h11a3e52_0 + - libwebp-base=1.3.2=h5eee18b_0 + - libxcb=1.15=h7f8727e_0 + - libxml2=2.10.4=hf1b16e4_1 + - lz4-c=1.9.4=h6a678d5_0 + - markdown-it-py=2.2.0=py311h06a4308_1 + - markupsafe=2.1.1=py311h5eee18b_0 + - mdurl=0.1.0=py311h06a4308_0 + - mkl=2023.1.0=h213fc3f_46343 + - mkl-service=2.4.0=py311h5eee18b_1 + - mkl_fft=1.3.8=py311h5eee18b_0 + - mkl_random=1.2.4=py311hdb19cb5_0 + - mpc=1.1.0=h10f8cd9_1 + - mpfr=4.0.2=hb69a4c5_1 + - mpmath=1.3.0=py311h06a4308_0 + - ncurses=6.4=h6a678d5_0 + - networkx=3.1=pyhd8ed1ab_0 + - ninja=1.10.2=h06a4308_5 + - ninja-base=1.10.2=hd09550d_5 + - nspr=4.35=h6a678d5_0 + - nss=3.89.1=h6a678d5_0 + - numpy=1.25.2=py311h08b1b3b_0 + - numpy-base=1.25.2=py311hf175353_0 + - openjpeg=2.4.0=h3ad879b_0 + - openssl=3.0.11=h7f8727e_2 + - oras-py=0.1.24=pyhd8ed1ab_0 + - orjson=3.8.8=py311h52d8a92_0 + - pango=1.50.7=h05da053_0 + - pcre=8.45=h295c915_0 + - pip=23.2.1=py311h06a4308_0 + - pixman=0.40.0=h7f8727e_1 + - pkgutil-resolve-name=1.3.10=pyhd8ed1ab_1 + - poppler=22.12.0=h9614445_2 + - poppler-data=0.4.11=h06a4308_1 + - psutil=5.9.0=py311h5eee18b_0 + - pydotplus=2.0.2=py_3 + - pygments=2.15.1=py311h06a4308_1 + - pygraphviz=1.9=py311h5eee18b_1 + - pyparsing=3.0.9=py311h06a4308_0 + - pyrsistent=0.18.0=py311h5eee18b_0 + - pysocks=1.7.1=pyha2e5f31_6 + - python=3.11.5=h955ad1f_0 + - pytorch=2.0.1=py3.11_cpu_0 + - pytorch-mutex=1.0=cpu + - readline=8.2=h5eee18b_0 + - requests=2.31.0=pyhd8ed1ab_0 + - rfc3986=1.4.0=pyhd3eb1b0_0 + - rich=13.3.5=py311h06a4308_0 + - scipy=1.11.1=py311h08b1b3b_0 + - setuptools=68.0.0=py311h06a4308_0 + - smart_open=5.2.1=py311h06a4308_0 + - sniffio=1.2.0=py311h06a4308_1 + - sqlite=3.41.2=h5eee18b_0 + - sympy=1.11.1=py311h06a4308_0 + - tbb=2021.8.0=hdb19cb5_0 + - tk=8.6.12=h1ccaba5_0 + - typing_extensions=4.7.1=py311h06a4308_0 + - tzdata=2023c=h04d1e81_0 + - urllib3=2.0.5=pyhd8ed1ab_0 + - websockets=10.4=py311h5eee18b_1 + - wheel=0.41.2=py311h06a4308_0 + - xz=5.4.2=h5eee18b_0 + - zipp=3.17.0=pyhd8ed1ab_0 + - zlib=1.2.13=h5eee18b_0 + - zstd=1.5.5=hc292b87_0 +prefix: /opt/miniconda3/envs/chen-science diff --git a/utils.js b/utils.js index 2997650e5d..f59d702c67 100644 --- a/utils.js +++ b/utils.js @@ -2104,8 +2104,9 @@ export const guessLicenseId = function (content) { * Method to retrieve metadata for maven packages by querying maven central * * @param {Array} pkgList Package list + * @param {Object} jarNSMapping Jar Namespace mapping object */ -export const getMvnMetadata = async function (pkgList) { +export const getMvnMetadata = async function (pkgList, jarNSMapping = {}) { const MAVEN_CENTRAL_URL = process.env.MAVEN_CENTRAL_URL || "https://repo1.maven.org/maven2/"; const ANDROID_MAVEN = "https://maven.google.com/"; @@ -2117,6 +2118,36 @@ export const getMvnMetadata = async function (pkgList) { console.log(`About to query maven for ${pkgList.length} packages`); } for (const p of pkgList) { + // Reuse any namespace data from jarNSMapping + if (jarNSMapping && p.purl && jarNSMapping[p.purl]) { + if (jarNSMapping[p.purl].jarFile) { + p.evidence = { + identity: { + field: "purl", + confidence: 0.8, + methods: [ + { + technique: "binary-analysis", + confidence: 0.8, + value: jarNSMapping[p.purl].jarFile + } + ] + } + }; + } + if ( + jarNSMapping[p.purl].namespaces && + jarNSMapping[p.purl].namespaces.length + ) { + if (!p.properties) { + p.properties = []; + } + p.properties.push({ + name: "Namespaces", + value: jarNSMapping[p.purl].namespaces.join("\n") + }); + } + } let group = p.group || ""; // If the package already has key metadata skip querying maven if (group && p.name && p.version && !FETCH_LICENSE) { @@ -5710,10 +5741,15 @@ export const encodeForPurl = (s) => { * * @param {string} jarFile Path to jar file * @param {string} tempDir Temporary directory to use for extraction + * @param {object} jarNSMapping Jar class names mapping object * * @return pkgList Package list */ -export const extractJarArchive = function (jarFile, tempDir) { +export const extractJarArchive = function ( + jarFile, + tempDir, + jarNSMapping = {} +) { const pkgList = []; let jarFiles = []; const fname = basename(jarFile); @@ -5873,10 +5909,19 @@ export const extractJarArchive = function (jarFile, tempDir) { if (group == name) { group = ""; } - pkgList.push({ - group: group === "." ? "" : encodeForPurl(group || "") || "", + group = group === "." ? "" : encodeForPurl(group || "") || ""; + let apkg = { + group, name: name ? encodeForPurl(name) : "", version, + purl: new PackageURL( + "maven", + group, + name, + version, + { type: "jar" }, + null + ).toString(), evidence: { identity: { field: "purl", @@ -5896,7 +5941,18 @@ export const extractJarArchive = function (jarFile, tempDir) { value: jarname } ] - }); + }; + if ( + jarNSMapping && + jarNSMapping[apkg.purl] && + jarNSMapping[apkg.purl].namespaces + ) { + apkg.properties.push({ + name: "Namespaces", + value: jarNSMapping[apkg.purl].namespaces.join("\n") + }); + } + pkgList.push(apkg); } else { if (DEBUG_MODE) { console.log(`Ignored jar ${jarname}`, jarMetadata, name, version); diff --git a/utils.test.js b/utils.test.js index d490b0cee7..95bf154e1c 100644 --- a/utils.test.js +++ b/utils.test.js @@ -1270,7 +1270,7 @@ test("get nget metadata", async () => { "pkg:nuget/NUnit.Console@3.11.1", "pkg:nuget/NUnit3TestAdapter@3.16.1", "pkg:nuget/NUnitLite@3.13.3", - "pkg:nuget/Serilog@0.0.0", + "pkg:nuget/Serilog@3.0.1", "pkg:nuget/Serilog.Sinks.TextWriter@2.0.0", "pkg:nuget/System.Security.Permissions@4.7.0", "pkg:nuget/log4net@2.0.13", @@ -1295,7 +1295,7 @@ test("get nget metadata", async () => { "pkg:nuget/System.Text.RegularExpressions@4.1.0", "pkg:nuget/System.Threading@4.0.11" ], - ref: "pkg:nuget/Serilog@0.0.0" + ref: "pkg:nuget/Serilog@3.0.1" } ]; let pkg_list = [ @@ -1308,8 +1308,8 @@ test("get nget metadata", async () => { { group: "", name: "Serilog", - version: "0.0.0", - "bom-ref": "pkg:nuget/Serilog@0.0.0" + version: "3.0.1", + "bom-ref": "pkg:nuget/Serilog@3.0.1" } ]; const { pkgList, dependencies } = await getNugetMetadata(pkg_list, dep_list); From be7a7e18d0c281c05f0abdaa7c8198ca68c68f2e Mon Sep 17 00:00:00 2001 From: Prabhu Subramanian Date: Mon, 2 Oct 2023 11:20:44 +0100 Subject: [PATCH 2/5] Improved requirements txt parsing Signed-off-by: Prabhu Subramanian --- utils.js | 211 +++++++++++++++++++++++++++----------------------- utils.test.js | 19 +++++ 2 files changed, 135 insertions(+), 95 deletions(-) diff --git a/utils.js b/utils.js index f59d702c67..cb50090690 100644 --- a/utils.js +++ b/utils.js @@ -2608,89 +2608,66 @@ export const parsePoetrylockData = async function (lockData, lockFile) { export async function parseReqFile(reqData, fetchDepsInfo) { const pkgList = []; let compScope = undefined; - reqData.split("\n").forEach((l) => { - l = l.replace("\r", ""); - l = l.trim(); - if (l.startsWith("Skipping line") || l.startsWith("(add")) { - return; - } - if (l.includes("# Basic requirements")) { - compScope = "required"; - } else if (l.includes("added by pip freeze")) { - compScope = undefined; - } - if (!l.startsWith("#") && !l.startsWith("-")) { - if (l.includes(" ")) { - l = l.split(" ")[0]; - } - if (l.indexOf("=") > -1) { - let tmpA = l.split(/(==|<=|~=|>=)/); - if (tmpA.includes("#")) { - tmpA = tmpA.split("#")[0]; - } - let versionStr = tmpA[tmpA.length - 1].trim().replace("*", "0"); - if (versionStr.indexOf(" ") > -1) { - versionStr = versionStr.split(" ")[0]; + reqData + .replace(/ [\\]\n/g, "") + .replace(/ {4}/g, " ") + .split("\n") + .forEach((l) => { + l = l.replace("\r", ""); + l = l.trim(); + let markers = undefined; + if (l.includes(" ; ")) { + const tmpA = l.split(" ; "); + if (tmpA && tmpA.length === 2) { + l = tmpA[0]; + markers = tmpA[1]; } - if (versionStr === "0") { - versionStr = null; + } + if (l.startsWith("Skipping line") || l.startsWith("(add")) { + return; + } + if (l.includes("# Basic requirements")) { + compScope = "required"; + } else if (l.includes("added by pip freeze")) { + compScope = undefined; + } + if (!l.startsWith("#") && !l.startsWith("-")) { + if (l.includes(" ")) { + l = l.split(" ")[0]; } - if (!tmpA[0].includes("=") && !tmpA[0].trim().includes(" ")) { - const name = tmpA[0].trim().replace(";", ""); - if (!PYTHON_STD_MODULES.includes(name)) { - pkgList.push({ - name, - version: versionStr, - scope: compScope - }); + if (l.indexOf("=") > -1) { + let tmpA = l.split(/(==|<=|~=|>=)/); + if (tmpA.includes("#")) { + tmpA = tmpA.split("#")[0]; } - } - } else if (l.includes("<") && l.includes(">")) { - const tmpA = l.split(">"); - const name = tmpA[0].trim().replace(";", ""); - const versionSpecifiers = l.replace(name, ""); - if (!PYTHON_STD_MODULES.includes(name)) { - pkgList.push({ - name, - version: undefined, - scope: compScope, - properties: [ - { - name: "cdx:pypi:versionSpecifiers", - value: versionSpecifiers + let versionStr = tmpA[tmpA.length - 1].trim().replace("*", "0"); + if (versionStr.indexOf(" ") > -1) { + versionStr = versionStr.split(" ")[0]; + } + if (versionStr === "0") { + versionStr = null; + } + if (!tmpA[0].includes("=") && !tmpA[0].trim().includes(" ")) { + const name = tmpA[0].trim().replace(";", ""); + if (!PYTHON_STD_MODULES.includes(name)) { + const apkg = { + name, + version: versionStr, + scope: compScope + }; + if (markers) { + apkg.properties = [ + { + name: "cdx:pip:markers", + value: markers + } + ]; } - ] - }); - } - } else if (/[>|[|@]/.test(l)) { - let tmpA = l.split(/(>|\[|@)/); - if (tmpA.includes("#")) { - tmpA = tmpA.split("#")[0]; - } - if (!tmpA[0].trim().includes(" ")) { - const name = tmpA[0].trim().replace(";", ""); - const versionSpecifiers = l.replace(name, ""); - if (!PYTHON_STD_MODULES.includes(name)) { - pkgList.push({ - name, - version: undefined, - scope: compScope, - properties: [ - { - name: "cdx:pypi:versionSpecifiers", - value: versionSpecifiers - } - ] - }); + pkgList.push(apkg); + } } - } - } else if (l) { - if (l.includes("#")) { - l = l.split("#")[0]; - } - l = l.trim(); - const tmpA = l.split(/(<|>)/); - if (tmpA && tmpA.length === 3) { + } else if (l.includes("<") && l.includes(">")) { + const tmpA = l.split(">"); const name = tmpA[0].trim().replace(";", ""); const versionSpecifiers = l.replace(name, ""); if (!PYTHON_STD_MODULES.includes(name)) { @@ -2706,26 +2683,70 @@ export async function parseReqFile(reqData, fetchDepsInfo) { ] }); } - } else if (!l.includes(" ")) { - const name = l.replace(";", ""); - const versionSpecifiers = l.replace(name, ""); - if (!PYTHON_STD_MODULES.includes(name)) { - pkgList.push({ - name, - version: null, - scope: compScope, - properties: [ - { - name: "cdx:pypi:versionSpecifiers", - value: versionSpecifiers - } - ] - }); + } else if (/[>|[|@]/.test(l)) { + let tmpA = l.split(/(>|\[|@)/); + if (tmpA.includes("#")) { + tmpA = tmpA.split("#")[0]; + } + if (!tmpA[0].trim().includes(" ")) { + const name = tmpA[0].trim().replace(";", ""); + const versionSpecifiers = l.replace(name, ""); + if (!PYTHON_STD_MODULES.includes(name)) { + pkgList.push({ + name, + version: undefined, + scope: compScope, + properties: [ + { + name: "cdx:pypi:versionSpecifiers", + value: versionSpecifiers + } + ] + }); + } + } + } else if (l) { + if (l.includes("#")) { + l = l.split("#")[0]; + } + l = l.trim(); + const tmpA = l.split(/(<|>)/); + if (tmpA && tmpA.length === 3) { + const name = tmpA[0].trim().replace(";", ""); + const versionSpecifiers = l.replace(name, ""); + if (!PYTHON_STD_MODULES.includes(name)) { + pkgList.push({ + name, + version: undefined, + scope: compScope, + properties: [ + { + name: "cdx:pypi:versionSpecifiers", + value: versionSpecifiers + } + ] + }); + } + } else if (!l.includes(" ")) { + const name = l.replace(";", ""); + const versionSpecifiers = l.replace(name, ""); + if (!PYTHON_STD_MODULES.includes(name)) { + pkgList.push({ + name, + version: null, + scope: compScope, + properties: [ + { + name: "cdx:pypi:versionSpecifiers", + value: versionSpecifiers + } + ] + }); + } } } } - } - }); + }); return await getPyMetadata(pkgList, fetchDepsInfo); } diff --git a/utils.test.js b/utils.test.js index 95bf154e1c..968fc6a24c 100644 --- a/utils.test.js +++ b/utils.test.js @@ -2261,6 +2261,25 @@ test("parse requirements.txt", async () => { version: "8.6.2", scope: "required" }); + deps = await parseReqFile( + readFileSync("./test/data/chen-science-requirements.txt", { + encoding: "utf-8" + }), + false + ); + expect(deps.length).toEqual(87); + expect(deps[0]).toEqual({ + name: "aiofiles", + version: "23.2.1", + scope: undefined, + properties: [ + { + name: "cdx:pip:markers", + value: + 'python_full_version >= "3.8.1" and python_version < "3.12" --hash=sha256:19297512c647d4b27a2cf7c34caa7e405c0d60b5560618a29a9fe027b18b0107 --hash=sha256:84ec2218d8419404abcb9f0c02df3f34c6e0a68ed41072acfb1cef5cbc29051a' + } + ] + }); }); test("parse pyproject.toml", async () => { From af785106cf3f96b16385c0bd65f95af9521200e3 Mon Sep 17 00:00:00 2001 From: Prabhu Subramanian Date: Mon, 2 Oct 2023 11:35:23 +0100 Subject: [PATCH 3/5] stay with packageurl 1.0.2 for now. workaround for #603 Signed-off-by: Prabhu Subramanian --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5a337226f0..548acd388c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -23,7 +23,7 @@ "js-yaml": "^4.1.0", "jws": "^4.0.0", "node-stream-zip": "^1.15.0", - "packageurl-js": "^1.1.1", + "packageurl-js": "1.0.2", "prettify-xml": "^1.2.0", "properties-reader": "^2.3.0", "semver": "^7.5.3", @@ -10710,9 +10710,9 @@ } }, "node_modules/packageurl-js": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/packageurl-js/-/packageurl-js-1.1.1.tgz", - "integrity": "sha512-juW4p0J23BvvMj0I9/ORe/Y7TFsNNrEjoZ/h3ToPfU0dvnGXUm6vHtcAINf2Scgv5EqQW7ngTZnkTfgFBPeXNw==" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/packageurl-js/-/packageurl-js-1.0.2.tgz", + "integrity": "sha512-fWC4ZPxo80qlh3xN5FxfIoQD3phVY4+EyzTIqyksjhKNDmaicdpxSvkWwIrYTtv9C1/RcUN6pxaTwGmj2NzS6A==" }, "node_modules/pacote": { "version": "17.0.4", diff --git a/package.json b/package.json index fe0083ace1..20e2270545 100644 --- a/package.json +++ b/package.json @@ -69,7 +69,7 @@ "js-yaml": "^4.1.0", "jws": "^4.0.0", "node-stream-zip": "^1.15.0", - "packageurl-js": "^1.1.1", + "packageurl-js": "1.0.2", "prettify-xml": "^1.2.0", "properties-reader": "^2.3.0", "semver": "^7.5.3", From 6cf0a46c527d3c9c80fac3f788b4dadfc531dbd0 Mon Sep 17 00:00:00 2001 From: Prabhu Subramanian Date: Mon, 2 Oct 2023 11:37:50 +0100 Subject: [PATCH 4/5] Added missing test da Signed-off-by: Prabhu Subramanian --- test/data/chen-science-requirements.txt | 1159 +++++++++++++++++++++++ 1 file changed, 1159 insertions(+) create mode 100644 test/data/chen-science-requirements.txt diff --git a/test/data/chen-science-requirements.txt b/test/data/chen-science-requirements.txt new file mode 100644 index 0000000000..94d4433659 --- /dev/null +++ b/test/data/chen-science-requirements.txt @@ -0,0 +1,1159 @@ +--extra-index-url https://data.pyg.org/whl/torch-2.0.0+cpu.html +--extra-index-url https://download.pytorch.org/whl/cpu + +aiofiles==23.2.1 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:19297512c647d4b27a2cf7c34caa7e405c0d60b5560618a29a9fe027b18b0107 \ + --hash=sha256:84ec2218d8419404abcb9f0c02df3f34c6e0a68ed41072acfb1cef5cbc29051a +anyio==4.0.0 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:cfdb2b588b9fc25ede96d8db56ed50848b0b649dca3dd1df0b11f683bb9e0b5f \ + --hash=sha256:f7ed51751b2c2add651e5747c891b47e26d2a21be5d32d9311dfe9692f3e5d7a +appdirs==1.4.4 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41 \ + --hash=sha256:a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128 +attrs==23.1.0 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:1f28b4522cdc2fb4256ac1a020c78acf9cba2c6b461ccd2c126f3aa8e8335d04 \ + --hash=sha256:6279836d581513a26f1bf235f9acd333bc9115683f14f7e8fae46c98fc50e015 +blinker==1.5 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:1eb563df6fdbc39eeddc177d953203f99f097e9bf0e2b8f9f3cf18b6ca425e36 \ + --hash=sha256:923e5e2f69c155f2cc42dafbbd70e16e3fde24d2d4aa2ab72fbe386238892462 +certifi==2023.7.22 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082 \ + --hash=sha256:92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9 +charset-normalizer==3.3.0 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:02673e456dc5ab13659f85196c534dc596d4ef260e4d86e856c3b2773ce09843 \ + --hash=sha256:02af06682e3590ab952599fbadac535ede5d60d78848e555aa58d0c0abbde786 \ + --hash=sha256:03680bb39035fbcffe828eae9c3f8afc0428c91d38e7d61aa992ef7a59fb120e \ + --hash=sha256:0570d21da019941634a531444364f2482e8db0b3425fcd5ac0c36565a64142c8 \ + --hash=sha256:09c77f964f351a7369cc343911e0df63e762e42bac24cd7d18525961c81754f4 \ + --hash=sha256:0d3d5b7db9ed8a2b11a774db2bbea7ba1884430a205dbd54a32d61d7c2a190fa \ + --hash=sha256:1063da2c85b95f2d1a430f1c33b55c9c17ffaf5e612e10aeaad641c55a9e2b9d \ + --hash=sha256:12ebea541c44fdc88ccb794a13fe861cc5e35d64ed689513a5c03d05b53b7c82 \ + --hash=sha256:153e7b6e724761741e0974fc4dcd406d35ba70b92bfe3fedcb497226c93b9da7 \ + --hash=sha256:15b26ddf78d57f1d143bdf32e820fd8935d36abe8a25eb9ec0b5a71c82eb3895 \ + --hash=sha256:1872d01ac8c618a8da634e232f24793883d6e456a66593135aeafe3784b0848d \ + --hash=sha256:187d18082694a29005ba2944c882344b6748d5be69e3a89bf3cc9d878e548d5a \ + --hash=sha256:1b2919306936ac6efb3aed1fbf81039f7087ddadb3160882a57ee2ff74fd2382 \ + --hash=sha256:232ac332403e37e4a03d209a3f92ed9071f7d3dbda70e2a5e9cff1c4ba9f0678 \ + --hash=sha256:23e8565ab7ff33218530bc817922fae827420f143479b753104ab801145b1d5b \ + --hash=sha256:24817cb02cbef7cd499f7c9a2735286b4782bd47a5b3516a0e84c50eab44b98e \ + --hash=sha256:249c6470a2b60935bafd1d1d13cd613f8cd8388d53461c67397ee6a0f5dce741 \ + --hash=sha256:24a91a981f185721542a0b7c92e9054b7ab4fea0508a795846bc5b0abf8118d4 \ + --hash=sha256:2502dd2a736c879c0f0d3e2161e74d9907231e25d35794584b1ca5284e43f596 \ + --hash=sha256:250c9eb0f4600361dd80d46112213dff2286231d92d3e52af1e5a6083d10cad9 \ + --hash=sha256:278c296c6f96fa686d74eb449ea1697f3c03dc28b75f873b65b5201806346a69 \ + --hash=sha256:2935ffc78db9645cb2086c2f8f4cfd23d9b73cc0dc80334bc30aac6f03f68f8c \ + --hash=sha256:2f4a0033ce9a76e391542c182f0d48d084855b5fcba5010f707c8e8c34663d77 \ + --hash=sha256:30a85aed0b864ac88309b7d94be09f6046c834ef60762a8833b660139cfbad13 \ + --hash=sha256:380c4bde80bce25c6e4f77b19386f5ec9db230df9f2f2ac1e5ad7af2caa70459 \ + --hash=sha256:3ae38d325b512f63f8da31f826e6cb6c367336f95e418137286ba362925c877e \ + --hash=sha256:3b447982ad46348c02cb90d230b75ac34e9886273df3a93eec0539308a6296d7 \ + --hash=sha256:3debd1150027933210c2fc321527c2299118aa929c2f5a0a80ab6953e3bd1908 \ + --hash=sha256:4162918ef3098851fcd8a628bf9b6a98d10c380725df9e04caf5ca6dd48c847a \ + --hash=sha256:468d2a840567b13a590e67dd276c570f8de00ed767ecc611994c301d0f8c014f \ + --hash=sha256:4cc152c5dd831641e995764f9f0b6589519f6f5123258ccaca8c6d34572fefa8 \ + --hash=sha256:542da1178c1c6af8873e143910e2269add130a299c9106eef2594e15dae5e482 \ + --hash=sha256:557b21a44ceac6c6b9773bc65aa1b4cc3e248a5ad2f5b914b91579a32e22204d \ + --hash=sha256:5707a746c6083a3a74b46b3a631d78d129edab06195a92a8ece755aac25a3f3d \ + --hash=sha256:588245972aca710b5b68802c8cad9edaa98589b1b42ad2b53accd6910dad3545 \ + --hash=sha256:5adf257bd58c1b8632046bbe43ee38c04e1038e9d37de9c57a94d6bd6ce5da34 \ + --hash=sha256:619d1c96099be5823db34fe89e2582b336b5b074a7f47f819d6b3a57ff7bdb86 \ + --hash=sha256:63563193aec44bce707e0c5ca64ff69fa72ed7cf34ce6e11d5127555756fd2f6 \ + --hash=sha256:67b8cc9574bb518ec76dc8e705d4c39ae78bb96237cb533edac149352c1f39fe \ + --hash=sha256:6a685067d05e46641d5d1623d7c7fdf15a357546cbb2f71b0ebde91b175ffc3e \ + --hash=sha256:70f1d09c0d7748b73290b29219e854b3207aea922f839437870d8cc2168e31cc \ + --hash=sha256:750b446b2ffce1739e8578576092179160f6d26bd5e23eb1789c4d64d5af7dc7 \ + --hash=sha256:7966951325782121e67c81299a031f4c115615e68046f79b85856b86ebffc4cd \ + --hash=sha256:7b8b8bf1189b3ba9b8de5c8db4d541b406611a71a955bbbd7385bbc45fcb786c \ + --hash=sha256:7f5d10bae5d78e4551b7be7a9b29643a95aded9d0f602aa2ba584f0388e7a557 \ + --hash=sha256:805dfea4ca10411a5296bcc75638017215a93ffb584c9e344731eef0dcfb026a \ + --hash=sha256:81bf654678e575403736b85ba3a7867e31c2c30a69bc57fe88e3ace52fb17b89 \ + --hash=sha256:82eb849f085624f6a607538ee7b83a6d8126df6d2f7d3b319cb837b289123078 \ + --hash=sha256:85a32721ddde63c9df9ebb0d2045b9691d9750cb139c161c80e500d210f5e26e \ + --hash=sha256:86d1f65ac145e2c9ed71d8ffb1905e9bba3a91ae29ba55b4c46ae6fc31d7c0d4 \ + --hash=sha256:86f63face3a527284f7bb8a9d4f78988e3c06823f7bea2bd6f0e0e9298ca0403 \ + --hash=sha256:8eaf82f0eccd1505cf39a45a6bd0a8cf1c70dcfc30dba338207a969d91b965c0 \ + --hash=sha256:93aa7eef6ee71c629b51ef873991d6911b906d7312c6e8e99790c0f33c576f89 \ + --hash=sha256:96c2b49eb6a72c0e4991d62406e365d87067ca14c1a729a870d22354e6f68115 \ + --hash=sha256:9cf3126b85822c4e53aa28c7ec9869b924d6fcfb76e77a45c44b83d91afd74f9 \ + --hash=sha256:9fe359b2e3a7729010060fbca442ca225280c16e923b37db0e955ac2a2b72a05 \ + --hash=sha256:a0ac5e7015a5920cfce654c06618ec40c33e12801711da6b4258af59a8eff00a \ + --hash=sha256:a3f93dab657839dfa61025056606600a11d0b696d79386f974e459a3fbc568ec \ + --hash=sha256:a4b71f4d1765639372a3b32d2638197f5cd5221b19531f9245fcc9ee62d38f56 \ + --hash=sha256:aae32c93e0f64469f74ccc730a7cb21c7610af3a775157e50bbd38f816536b38 \ + --hash=sha256:aaf7b34c5bc56b38c931a54f7952f1ff0ae77a2e82496583b247f7c969eb1479 \ + --hash=sha256:abecce40dfebbfa6abf8e324e1860092eeca6f7375c8c4e655a8afb61af58f2c \ + --hash=sha256:abf0d9f45ea5fb95051c8bfe43cb40cda383772f7e5023a83cc481ca2604d74e \ + --hash=sha256:ac71b2977fb90c35d41c9453116e283fac47bb9096ad917b8819ca8b943abecd \ + --hash=sha256:ada214c6fa40f8d800e575de6b91a40d0548139e5dc457d2ebb61470abf50186 \ + --hash=sha256:b09719a17a2301178fac4470d54b1680b18a5048b481cb8890e1ef820cb80455 \ + --hash=sha256:b1121de0e9d6e6ca08289583d7491e7fcb18a439305b34a30b20d8215922d43c \ + --hash=sha256:b3b2316b25644b23b54a6f6401074cebcecd1244c0b8e80111c9a3f1c8e83d65 \ + --hash=sha256:b3d9b48ee6e3967b7901c052b670c7dda6deb812c309439adaffdec55c6d7b78 \ + --hash=sha256:b5bcf60a228acae568e9911f410f9d9e0d43197d030ae5799e20dca8df588287 \ + --hash=sha256:b8f3307af845803fb0b060ab76cf6dd3a13adc15b6b451f54281d25911eb92df \ + --hash=sha256:c2af80fb58f0f24b3f3adcb9148e6203fa67dd3f61c4af146ecad033024dde43 \ + --hash=sha256:c350354efb159b8767a6244c166f66e67506e06c8924ed74669b2c70bc8735b1 \ + --hash=sha256:c5a74c359b2d47d26cdbbc7845e9662d6b08a1e915eb015d044729e92e7050b7 \ + --hash=sha256:c71f16da1ed8949774ef79f4a0260d28b83b3a50c6576f8f4f0288d109777989 \ + --hash=sha256:d47ecf253780c90ee181d4d871cd655a789da937454045b17b5798da9393901a \ + --hash=sha256:d7eff0f27edc5afa9e405f7165f85a6d782d308f3b6b9d96016c010597958e63 \ + --hash=sha256:d97d85fa63f315a8bdaba2af9a6a686e0eceab77b3089af45133252618e70884 \ + --hash=sha256:db756e48f9c5c607b5e33dd36b1d5872d0422e960145b08ab0ec7fd420e9d649 \ + --hash=sha256:dc45229747b67ffc441b3de2f3ae5e62877a282ea828a5bdb67883c4ee4a8810 \ + --hash=sha256:e0fc42822278451bc13a2e8626cf2218ba570f27856b536e00cfa53099724828 \ + --hash=sha256:e39c7eb31e3f5b1f88caff88bcff1b7f8334975b46f6ac6e9fc725d829bc35d4 \ + --hash=sha256:e46cd37076971c1040fc8c41273a8b3e2c624ce4f2be3f5dfcb7a430c1d3acc2 \ + --hash=sha256:e5c1502d4ace69a179305abb3f0bb6141cbe4714bc9b31d427329a95acfc8bdd \ + --hash=sha256:edfe077ab09442d4ef3c52cb1f9dab89bff02f4524afc0acf2d46be17dc479f5 \ + --hash=sha256:effe5406c9bd748a871dbcaf3ac69167c38d72db8c9baf3ff954c344f31c4cbe \ + --hash=sha256:f0d1e3732768fecb052d90d62b220af62ead5748ac51ef61e7b32c266cac9293 \ + --hash=sha256:f5969baeaea61c97efa706b9b107dcba02784b1601c74ac84f2a532ea079403e \ + --hash=sha256:f8888e31e3a85943743f8fc15e71536bda1c81d5aa36d014a3c0c44481d7db6e \ + --hash=sha256:fc52b79d83a3fe3a360902d3f5d79073a993597d48114c29485e9431092905d8 +click==8.1.7 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28 \ + --hash=sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de +colorama==0.4.6 ; python_full_version >= "3.8.1" and python_version < "3.12" and platform_system == "Windows" \ + --hash=sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44 \ + --hash=sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6 +contourpy==1.1.1 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:059c3d2a94b930f4dafe8105bcdc1b21de99b30b51b5bce74c753686de858cb6 \ + --hash=sha256:0683e1ae20dc038075d92e0e0148f09ffcefab120e57f6b4c9c0f477ec171f33 \ + --hash=sha256:07d6f11dfaf80a84c97f1a5ba50d129d9303c5b4206f776e94037332e298dda8 \ + --hash=sha256:081f3c0880712e40effc5f4c3b08feca6d064cb8cfbb372ca548105b86fd6c3d \ + --hash=sha256:0e48694d6a9c5a26ee85b10130c77a011a4fedf50a7279fa0bdaf44bafb4299d \ + --hash=sha256:11b836b7dbfb74e049c302bbf74b4b8f6cb9d0b6ca1bf86cfa8ba144aedadd9c \ + --hash=sha256:19557fa407e70f20bfaba7d55b4d97b14f9480856c4fb65812e8a05fe1c6f9bf \ + --hash=sha256:229a25f68046c5cf8067d6d6351c8b99e40da11b04d8416bf8d2b1d75922521e \ + --hash=sha256:24216552104ae8f3b34120ef84825400b16eb6133af2e27a190fdc13529f023e \ + --hash=sha256:3b53d5769aa1f2d4ea407c65f2d1d08002952fac1d9e9d307aa2e1023554a163 \ + --hash=sha256:3de23ca4f381c3770dee6d10ead6fff524d540c0f662e763ad1530bde5112532 \ + --hash=sha256:407d864db716a067cc696d61fa1ef6637fedf03606e8417fe2aeed20a061e6b2 \ + --hash=sha256:41339b24471c58dc1499e56783fedc1afa4bb018bcd035cfb0ee2ad2a7501ef8 \ + --hash=sha256:462c59914dc6d81e0b11f37e560b8a7c2dbab6aca4f38be31519d442d6cde1a1 \ + --hash=sha256:46e24f5412c948d81736509377e255f6040e94216bf1a9b5ea1eaa9d29f6ec1b \ + --hash=sha256:498e53573e8b94b1caeb9e62d7c2d053c263ebb6aa259c81050766beb50ff8d9 \ + --hash=sha256:4ebf42695f75ee1a952f98ce9775c873e4971732a87334b099dde90b6af6a916 \ + --hash=sha256:4f9147051cb8fdb29a51dc2482d792b3b23e50f8f57e3720ca2e3d438b7adf23 \ + --hash=sha256:549174b0713d49871c6dee90a4b499d3f12f5e5f69641cd23c50a4542e2ca1eb \ + --hash=sha256:560f1d68a33e89c62da5da4077ba98137a5e4d3a271b29f2f195d0fba2adcb6a \ + --hash=sha256:566f0e41df06dfef2431defcfaa155f0acfa1ca4acbf8fd80895b1e7e2ada40e \ + --hash=sha256:56de98a2fb23025882a18b60c7f0ea2d2d70bbbcfcf878f9067234b1c4818442 \ + --hash=sha256:66544f853bfa85c0d07a68f6c648b2ec81dafd30f272565c37ab47a33b220684 \ + --hash=sha256:6c06e4c6e234fcc65435223c7b2a90f286b7f1b2733058bdf1345d218cc59e34 \ + --hash=sha256:6d0a8efc258659edc5299f9ef32d8d81de8b53b45d67bf4bfa3067f31366764d \ + --hash=sha256:70e5a10f8093d228bb2b552beeb318b8928b8a94763ef03b858ef3612b29395d \ + --hash=sha256:8394e652925a18ef0091115e3cc191fef350ab6dc3cc417f06da66bf98071ae9 \ + --hash=sha256:8636cd2fc5da0fb102a2504fa2c4bea3cbc149533b345d72cdf0e7a924decc45 \ + --hash=sha256:93df44ab351119d14cd1e6b52a5063d3336f0754b72736cc63db59307dabb718 \ + --hash=sha256:96ba37c2e24b7212a77da85004c38e7c4d155d3e72a45eeaf22c1f03f607e8ab \ + --hash=sha256:a10dab5ea1bd4401c9483450b5b0ba5416be799bbd50fc7a6cc5e2a15e03e8a3 \ + --hash=sha256:a66045af6cf00e19d02191ab578a50cb93b2028c3eefed999793698e9ea768ae \ + --hash=sha256:a75cc163a5f4531a256f2c523bd80db509a49fc23721b36dd1ef2f60ff41c3cb \ + --hash=sha256:b04c2f0adaf255bf756cf08ebef1be132d3c7a06fe6f9877d55640c5e60c72c5 \ + --hash=sha256:ba42e3810999a0ddd0439e6e5dbf6d034055cdc72b7c5c839f37a7c274cb4eba \ + --hash=sha256:bfc8a5e9238232a45ebc5cb3bfee71f1167064c8d382cadd6076f0d51cff1da0 \ + --hash=sha256:c5bd5680f844c3ff0008523a71949a3ff5e4953eb7701b28760805bc9bcff217 \ + --hash=sha256:c84fdf3da00c2827d634de4fcf17e3e067490c4aea82833625c4c8e6cdea0887 \ + --hash=sha256:ca6fab080484e419528e98624fb5c4282148b847e3602dc8dbe0cb0669469887 \ + --hash=sha256:d0c188ae66b772d9d61d43c6030500344c13e3f73a00d1dc241da896f379bb62 \ + --hash=sha256:d6ab42f223e58b7dac1bb0af32194a7b9311065583cc75ff59dcf301afd8a431 \ + --hash=sha256:dfe80c017973e6a4c367e037cb31601044dd55e6bfacd57370674867d15a899b \ + --hash=sha256:e0c02b75acfea5cab07585d25069207e478d12309557f90a61b5a3b4f77f46ce \ + --hash=sha256:e30aaf2b8a2bac57eb7e1650df1b3a4130e8d0c66fc2f861039d507a11760e1b \ + --hash=sha256:eafbef886566dc1047d7b3d4b14db0d5b7deb99638d8e1be4e23a7c7ac59ff0f \ + --hash=sha256:efe0fab26d598e1ec07d72cf03eaeeba8e42b4ecf6b9ccb5a356fde60ff08b85 \ + --hash=sha256:f08e469821a5e4751c97fcd34bcb586bc243c39c2e39321822060ba902eac49e \ + --hash=sha256:f1eaac5257a8f8a047248d60e8f9315c6cff58f7803971170d952555ef6344a7 \ + --hash=sha256:f29fb0b3f1217dfe9362ec55440d0743fe868497359f2cf93293f4b2701b8251 \ + --hash=sha256:f44d78b61740e4e8c71db1cf1fd56d9050a4747681c59ec1094750a658ceb970 \ + --hash=sha256:f6aec19457617ef468ff091669cca01fa7ea557b12b59a7908b9474bb9674cf0 \ + --hash=sha256:f9dc7f933975367251c1b34da882c4f0e0b2e24bb35dc906d2f598a40b72bfc7 +cycler==0.12.0 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:7896994252d006771357777d0251f3e34d266f4fa5f2c572247a80ab01440947 \ + --hash=sha256:8cc3a7b4861f91b1095157f9916f748549a617046e67eb7619abed9b34d2c94a +exceptiongroup==1.1.3 ; python_full_version >= "3.8.1" and python_version < "3.11" \ + --hash=sha256:097acd85d473d75af5bb98e41b61ff7fe35efe6675e4f9370ec6ec5126d160e9 \ + --hash=sha256:343280667a4585d195ca1cf9cef84a4e178c4b6cf2274caef9859782b567d5e3 +filelock==3.12.4 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:08c21d87ded6e2b9da6728c3dff51baf1dcecf973b768ef35bcbc3447edb9ad4 \ + --hash=sha256:2e6f249f1f3654291606e046b09f1fd5eac39b360664c27f5aad072012f8bcbd +fonttools==4.43.0 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:030355fbb0cea59cf75d076d04d3852900583d1258574ff2d7d719abf4513836 \ + --hash=sha256:05056a8c9af048381fdb17e89b17d45f6c8394176d01e8c6fef5ac96ea950d38 \ + --hash=sha256:206808f9717c9b19117f461246372a2c160fa12b9b8dbdfb904ab50ca235ba0a \ + --hash=sha256:20fc43783c432862071fa76da6fa714902ae587bc68441e12ff4099b94b1fcef \ + --hash=sha256:25620b738d4533cfc21fd2a4f4b667e481f7cb60e86b609799f7d98af657854e \ + --hash=sha256:33c40a657fb87ff83185828c0323032d63a4df1279d5c1c38e21f3ec56327803 \ + --hash=sha256:3d7adfa342e6b3a2b36960981f23f480969f833d565a4eba259c2e6f59d2674f \ + --hash=sha256:48078357984214ccd22d7fe0340cd6ff7286b2f74f173603a1a9a40b5dc25afe \ + --hash=sha256:5056f69a18f3f28ab5283202d1efcfe011585d31de09d8560f91c6c88f041e92 \ + --hash=sha256:52e77f23a9c059f8be01a07300ba4c4d23dc271d33eed502aea5a01ab5d2f4c1 \ + --hash=sha256:57c22e5f9f53630d458830f710424dce4f43c5f0d95cb3368c0f5178541e4db7 \ + --hash=sha256:5aa67d1e720fdd902fde4a59d0880854ae9f19fc958f3e1538bceb36f7f4dc92 \ + --hash=sha256:5f9660e70a2430780e23830476332bc3391c3c8694769e2c0032a5038702a662 \ + --hash=sha256:635658464dccff6fa5c3b43fe8f818ae2c386ee6a9e1abc27359d1e255528186 \ + --hash=sha256:6a530fa28c155538d32214eafa0964989098a662bd63e91e790e6a7a4e9c02da \ + --hash=sha256:70f021a6b9eb10dfe7a411b78e63a503a06955dd6d2a4e130906d8760474f77c \ + --hash=sha256:77e5113233a2df07af9dbf493468ce526784c3b179c0e8b9c7838ced37c98b69 \ + --hash=sha256:7c76f32051159f8284f1a5f5b605152b5a530736fb8b55b09957db38dcae5348 \ + --hash=sha256:812142a0e53cc853964d487e6b40963df62f522b1b571e19d1ff8467d7880ceb \ + --hash=sha256:82d8e687a42799df5325e7ee12977b74738f34bf7fde1c296f8140efd699a213 \ + --hash=sha256:8dfd8edfce34ad135bd69de20c77449c06e2c92b38f2a8358d0987737f82b49e \ + --hash=sha256:93c5b6d77baf28f306bc13fa987b0b13edca6a39dc2324eaca299a74ccc6316f \ + --hash=sha256:9d654d3e780e0ceabb1f4eff5a3c042c67d4428d0fe1ea3afd238a721cf171b3 \ + --hash=sha256:a682fb5cbf8837d1822b80acc0be5ff2ea0c49ca836e468a21ffd388ef280fd3 \ + --hash=sha256:a68b71adc3b3a90346e4ac92f0a69ab9caeba391f3b04ab6f1e98f2c8ebe88e3 \ + --hash=sha256:a6a2e99bb9ea51e0974bbe71768df42c6dd189308c22f3f00560c3341b345646 \ + --hash=sha256:ab80e7d6bb01316d5fc8161a2660ca2e9e597d0880db4927bc866c76474472ef \ + --hash=sha256:ace0fd5afb79849f599f76af5c6aa5e865bd042c811e4e047bbaa7752cc26126 \ + --hash=sha256:ace51902ab67ef5fe225e8b361039e996db153e467e24a28d35f74849b37b7ce \ + --hash=sha256:af38f5145258e9866da5881580507e6d17ff7756beef175d13213a43a84244e9 \ + --hash=sha256:b3813f57f85bbc0e4011a0e1e9211f9ee52f87f402e41dc05bc5135f03fa51c1 \ + --hash=sha256:b5e760198f0b87e42478bb35a6eae385c636208f6f0d413e100b9c9c5efafb6a \ + --hash=sha256:b62a53a4ca83c32c6b78cac64464f88d02929779373c716f738af6968c8c821e \ + --hash=sha256:d08a694b280d615460563a6b4e2afb0b1b9df708c799ec212bf966652b94fc84 \ + --hash=sha256:d27d960e10cf7617d70cf3104c32a69b008dde56f2d55a9bed4ba6e3df611544 \ + --hash=sha256:da78f39b601ed0b4262929403186d65cf7a016f91ff349ab18fdc5a7080af465 \ + --hash=sha256:dcc01cea0a121fb0c009993497bad93cae25e77db7dee5345fec9cce1aaa09cd \ + --hash=sha256:e3f8acc6ef4a627394021246e099faee4b343afd3ffe2e517d8195b4ebf20289 \ + --hash=sha256:e4bc589d8da09267c7c4ceaaaa4fc01a7908ac5b43b286ac9279afe76407c384 \ + --hash=sha256:e5d53eddaf436fa131042f44a76ea1ead0a17c354ab9de0d80e818f0cb1629f1 \ + --hash=sha256:ee728d5af70f117581712966a21e2e07031e92c687ef1fdc457ac8d281016f64 \ + --hash=sha256:f19c2b1c65d57cbea25cabb80941fea3fbf2625ff0cdcae8900b5fb1c145704f +gitdb==4.0.10 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:6eb990b69df4e15bad899ea868dc46572c3f75339735663b81de79b06f17eb9a \ + --hash=sha256:c286cf298426064079ed96a9e4a9d39e7f3e9bf15ba60701e95f5492f28415c7 +gitpython==3.1.37 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:5f4c4187de49616d710a77e98ddf17b4782060a1788df441846bddefbb89ab33 \ + --hash=sha256:f9b9ddc0761c125d5780eab2d64be4873fc6817c2899cbcb34b02344bdc7bc54 +h11==0.14.0 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d \ + --hash=sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761 +h2==4.1.0 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:03a46bcf682256c95b5fd9e9a99c1323584c3eec6440d379b9903d709476bc6d \ + --hash=sha256:a83aca08fbe7aacb79fec788c9c0bac936343560ed9ec18b82a13a12c28d2abb +hpack==4.0.0 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:84a076fad3dc9a9f8063ccb8041ef100867b1878b25ef0ee63847a5d53818a6c \ + --hash=sha256:fc41de0c63e687ebffde81187a948221294896f6bdc0ae2312708df339430095 +httpcore==0.17.3 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:a6f30213335e34c1ade7be6ec7c47f19f50c56db36abef1a9dfa3815b1cb3888 \ + --hash=sha256:c2789b767ddddfa2a5782e3199b2b7f6894540b17b16ec26b2c4d8e103510b87 +httpx==0.24.1 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:06781eb9ac53cde990577af654bd990a4949de37a28bdb4a230d434f3a30b9bd \ + --hash=sha256:5853a43053df830c20f8110c5e69fe44d035d850b2dfe795e196f00fdb774bdd +hypercorn==0.14.4 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:3fa504efc46a271640023c9b88c3184fd64993f47a282e8ae1a13ccb285c2f67 \ + --hash=sha256:f956200dbf8677684e6e976219ffa6691d6cf795281184b41dbb0b135ab37b8d +hyperframe==6.0.1 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:0ec6bafd80d8ad2195c4f03aacba3a8265e57bc4cff261e802bf39970ed02a15 \ + --hash=sha256:ae510046231dc8e9ecb1a6586f63d2347bf4c8905914aa84ba585ae85f28a914 +idna==3.4 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4 \ + --hash=sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2 +importlib-metadata==6.8.0 ; python_full_version >= "3.8.1" and python_version < "3.10" \ + --hash=sha256:3ebb78df84a805d7698245025b975d9d67053cd94c79245ba4b3eb694abe68bb \ + --hash=sha256:dbace7892d8c0c4ac1ad096662232f831d4e64f4c4545bd53016a3e9d4654743 +importlib-resources==6.1.0 ; python_full_version >= "3.8.1" and python_version < "3.10" \ + --hash=sha256:9d48dcccc213325e810fd723e7fbb45ccb39f6cf5c31f00cf2b965f5f10f3cb9 \ + --hash=sha256:aa50258bbfa56d4e33fbd8aa3ef48ded10d1735f11532b8df95388cc6bdb7e83 +itsdangerous==2.1.2 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:2c2349112351b88699d8d4b6b075022c0808887cb7ad10069318a8b0bc88db44 \ + --hash=sha256:5dbbc68b317e5e42f327f9021763545dc3fc3bfe22e6deb96aaf1fc38874156a +jinja2==3.1.2 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852 \ + --hash=sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61 +joblib==1.3.2 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:92f865e621e17784e7955080b6d042489e3b8e294949cc44c6eac304f59772b1 \ + --hash=sha256:ef4331c65f239985f3f2220ecc87db222f08fd22097a3dd5698f693875f8cbb9 +jsonschema-specifications==2023.7.1 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:05adf340b659828a004220a9613be00fa3f223f2b82002e273dee62fd50524b1 \ + --hash=sha256:c91a50404e88a1f6ba40636778e2ee08f6e24c5613fe4c53ac24578a5a7f72bb +jsonschema==4.19.1 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:cd5f1f9ed9444e554b38ba003af06c0a8c2868131e56bfbef0550fb450c0330e \ + --hash=sha256:ec84cc37cfa703ef7cd4928db24f9cb31428a5d0fa77747b8b51a847458e0bbf +kiwisolver==1.4.5 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:00bd361b903dc4bbf4eb165f24d1acbee754fce22ded24c3d56eec268658a5cf \ + --hash=sha256:040c1aebeda72197ef477a906782b5ab0d387642e93bda547336b8957c61022e \ + --hash=sha256:05703cf211d585109fcd72207a31bb170a0f22144d68298dc5e61b3c946518af \ + --hash=sha256:06f54715b7737c2fecdbf140d1afb11a33d59508a47bf11bb38ecf21dc9ab79f \ + --hash=sha256:0dc9db8e79f0036e8173c466d21ef18e1befc02de8bf8aa8dc0813a6dc8a7046 \ + --hash=sha256:0f114aa76dc1b8f636d077979c0ac22e7cd8f3493abbab152f20eb8d3cda71f3 \ + --hash=sha256:11863aa14a51fd6ec28688d76f1735f8f69ab1fabf388851a595d0721af042f5 \ + --hash=sha256:11c7de8f692fc99816e8ac50d1d1aef4f75126eefc33ac79aac02c099fd3db71 \ + --hash=sha256:11d011a7574eb3b82bcc9c1a1d35c1d7075677fdd15de527d91b46bd35e935ee \ + --hash=sha256:146d14bebb7f1dc4d5fbf74f8a6cb15ac42baadee8912eb84ac0b3b2a3dc6ac3 \ + --hash=sha256:15568384086b6df3c65353820a4473575dbad192e35010f622c6ce3eebd57af9 \ + --hash=sha256:19df6e621f6d8b4b9c4d45f40a66839294ff2bb235e64d2178f7522d9170ac5b \ + --hash=sha256:1b04139c4236a0f3aff534479b58f6f849a8b351e1314826c2d230849ed48985 \ + --hash=sha256:210ef2c3a1f03272649aff1ef992df2e724748918c4bc2d5a90352849eb40bea \ + --hash=sha256:2270953c0d8cdab5d422bee7d2007f043473f9d2999631c86a223c9db56cbd16 \ + --hash=sha256:2400873bccc260b6ae184b2b8a4fec0e4082d30648eadb7c3d9a13405d861e89 \ + --hash=sha256:2a40773c71d7ccdd3798f6489aaac9eee213d566850a9533f8d26332d626b82c \ + --hash=sha256:2c5674c4e74d939b9d91dda0fae10597ac7521768fec9e399c70a1f27e2ea2d9 \ + --hash=sha256:3195782b26fc03aa9c6913d5bad5aeb864bdc372924c093b0f1cebad603dd712 \ + --hash=sha256:31a82d498054cac9f6d0b53d02bb85811185bcb477d4b60144f915f3b3126342 \ + --hash=sha256:32d5cf40c4f7c7b3ca500f8985eb3fb3a7dfc023215e876f207956b5ea26632a \ + --hash=sha256:346f5343b9e3f00b8db8ba359350eb124b98c99efd0b408728ac6ebf38173958 \ + --hash=sha256:378a214a1e3bbf5ac4a8708304318b4f890da88c9e6a07699c4ae7174c09a68d \ + --hash=sha256:39b42c68602539407884cf70d6a480a469b93b81b7701378ba5e2328660c847a \ + --hash=sha256:3a2b053a0ab7a3960c98725cfb0bf5b48ba82f64ec95fe06f1d06c99b552e130 \ + --hash=sha256:3aba7311af82e335dd1e36ffff68aaca609ca6290c2cb6d821a39aa075d8e3ff \ + --hash=sha256:3cd32d6c13807e5c66a7cbb79f90b553642f296ae4518a60d8d76243b0ad2898 \ + --hash=sha256:3edd2fa14e68c9be82c5b16689e8d63d89fe927e56debd6e1dbce7a26a17f81b \ + --hash=sha256:4c380469bd3f970ef677bf2bcba2b6b0b4d5c75e7a020fb863ef75084efad66f \ + --hash=sha256:4e66e81a5779b65ac21764c295087de82235597a2293d18d943f8e9e32746265 \ + --hash=sha256:53abb58632235cd154176ced1ae8f0d29a6657aa1aa9decf50b899b755bc2b93 \ + --hash=sha256:5794cf59533bc3f1b1c821f7206a3617999db9fbefc345360aafe2e067514929 \ + --hash=sha256:59415f46a37f7f2efeec758353dd2eae1b07640d8ca0f0c42548ec4125492635 \ + --hash=sha256:59ec7b7c7e1a61061850d53aaf8e93db63dce0c936db1fda2658b70e4a1be709 \ + --hash=sha256:59edc41b24031bc25108e210c0def6f6c2191210492a972d585a06ff246bb79b \ + --hash=sha256:5a580c91d686376f0f7c295357595c5a026e6cbc3d77b7c36e290201e7c11ecb \ + --hash=sha256:5b94529f9b2591b7af5f3e0e730a4e0a41ea174af35a4fd067775f9bdfeee01a \ + --hash=sha256:5c7b3b3a728dc6faf3fc372ef24f21d1e3cee2ac3e9596691d746e5a536de920 \ + --hash=sha256:5c90ae8c8d32e472be041e76f9d2f2dbff4d0b0be8bd4041770eddb18cf49a4e \ + --hash=sha256:5e7139af55d1688f8b960ee9ad5adafc4ac17c1c473fe07133ac092310d76544 \ + --hash=sha256:5ff5cf3571589b6d13bfbfd6bcd7a3f659e42f96b5fd1c4830c4cf21d4f5ef45 \ + --hash=sha256:620ced262a86244e2be10a676b646f29c34537d0d9cc8eb26c08f53d98013390 \ + --hash=sha256:6512cb89e334e4700febbffaaa52761b65b4f5a3cf33f960213d5656cea36a77 \ + --hash=sha256:6c08e1312a9cf1074d17b17728d3dfce2a5125b2d791527f33ffbe805200a355 \ + --hash=sha256:6c3bd3cde54cafb87d74d8db50b909705c62b17c2099b8f2e25b461882e544ff \ + --hash=sha256:6ef7afcd2d281494c0a9101d5c571970708ad911d028137cd558f02b851c08b4 \ + --hash=sha256:7269d9e5f1084a653d575c7ec012ff57f0c042258bf5db0954bf551c158466e7 \ + --hash=sha256:72d40b33e834371fd330fb1472ca19d9b8327acb79a5821d4008391db8e29f20 \ + --hash=sha256:74d1b44c6cfc897df648cc9fdaa09bc3e7679926e6f96df05775d4fb3946571c \ + --hash=sha256:74db36e14a7d1ce0986fa104f7d5637aea5c82ca6326ed0ec5694280942d1162 \ + --hash=sha256:763773d53f07244148ccac5b084da5adb90bfaee39c197554f01b286cf869228 \ + --hash=sha256:76c6a5964640638cdeaa0c359382e5703e9293030fe730018ca06bc2010c4437 \ + --hash=sha256:76d9289ed3f7501012e05abb8358bbb129149dbd173f1f57a1bf1c22d19ab7cc \ + --hash=sha256:7931d8f1f67c4be9ba1dd9c451fb0eeca1a25b89e4d3f89e828fe12a519b782a \ + --hash=sha256:7b8b454bac16428b22560d0a1cf0a09875339cab69df61d7805bf48919415901 \ + --hash=sha256:7e5bab140c309cb3a6ce373a9e71eb7e4873c70c2dda01df6820474f9889d6d4 \ + --hash=sha256:83d78376d0d4fd884e2c114d0621624b73d2aba4e2788182d286309ebdeed770 \ + --hash=sha256:852542f9481f4a62dbb5dd99e8ab7aedfeb8fb6342349a181d4036877410f525 \ + --hash=sha256:85267bd1aa8880a9c88a8cb71e18d3d64d2751a790e6ca6c27b8ccc724bcd5ad \ + --hash=sha256:88a2df29d4724b9237fc0c6eaf2a1adae0cdc0b3e9f4d8e7dc54b16812d2d81a \ + --hash=sha256:88b9f257ca61b838b6f8094a62418421f87ac2a1069f7e896c36a7d86b5d4c29 \ + --hash=sha256:8ab3919a9997ab7ef2fbbed0cc99bb28d3c13e6d4b1ad36e97e482558a91be90 \ + --hash=sha256:92dea1ffe3714fa8eb6a314d2b3c773208d865a0e0d35e713ec54eea08a66250 \ + --hash=sha256:9407b6a5f0d675e8a827ad8742e1d6b49d9c1a1da5d952a67d50ef5f4170b18d \ + --hash=sha256:9408acf3270c4b6baad483865191e3e582b638b1654a007c62e3efe96f09a9a3 \ + --hash=sha256:955e8513d07a283056b1396e9a57ceddbd272d9252c14f154d450d227606eb54 \ + --hash=sha256:9db8ea4c388fdb0f780fe91346fd438657ea602d58348753d9fb265ce1bca67f \ + --hash=sha256:9eaa8b117dc8337728e834b9c6e2611f10c79e38f65157c4c38e9400286f5cb1 \ + --hash=sha256:a51a263952b1429e429ff236d2f5a21c5125437861baeed77f5e1cc2d2c7c6da \ + --hash=sha256:a6aa6315319a052b4ee378aa171959c898a6183f15c1e541821c5c59beaa0238 \ + --hash=sha256:aa12042de0171fad672b6c59df69106d20d5596e4f87b5e8f76df757a7c399aa \ + --hash=sha256:aaf7be1207676ac608a50cd08f102f6742dbfc70e8d60c4db1c6897f62f71523 \ + --hash=sha256:b0157420efcb803e71d1b28e2c287518b8808b7cf1ab8af36718fd0a2c453eb0 \ + --hash=sha256:b3f7e75f3015df442238cca659f8baa5f42ce2a8582727981cbfa15fee0ee205 \ + --hash=sha256:b9098e0049e88c6a24ff64545cdfc50807818ba6c1b739cae221bbbcbc58aad3 \ + --hash=sha256:ba55dce0a9b8ff59495ddd050a0225d58bd0983d09f87cfe2b6aec4f2c1234e4 \ + --hash=sha256:bb86433b1cfe686da83ce32a9d3a8dd308e85c76b60896d58f082136f10bffac \ + --hash=sha256:bbea0db94288e29afcc4c28afbf3a7ccaf2d7e027489c449cf7e8f83c6346eb9 \ + --hash=sha256:bbf1d63eef84b2e8c89011b7f2235b1e0bf7dacc11cac9431fc6468e99ac77fb \ + --hash=sha256:c7940c1dc63eb37a67721b10d703247552416f719c4188c54e04334321351ced \ + --hash=sha256:c9bf3325c47b11b2e51bca0824ea217c7cd84491d8ac4eefd1e409705ef092bd \ + --hash=sha256:cdc8a402aaee9a798b50d8b827d7ecf75edc5fb35ea0f91f213ff927c15f4ff0 \ + --hash=sha256:ceec1a6bc6cab1d6ff5d06592a91a692f90ec7505d6463a88a52cc0eb58545da \ + --hash=sha256:cfe6ab8da05c01ba6fbea630377b5da2cd9bcbc6338510116b01c1bc939a2c18 \ + --hash=sha256:d099e745a512f7e3bbe7249ca835f4d357c586d78d79ae8f1dcd4d8adeb9bda9 \ + --hash=sha256:d0ef46024e6a3d79c01ff13801cb19d0cad7fd859b15037aec74315540acc276 \ + --hash=sha256:d2e5a98f0ec99beb3c10e13b387f8db39106d53993f498b295f0c914328b1333 \ + --hash=sha256:da4cfb373035def307905d05041c1d06d8936452fe89d464743ae7fb8371078b \ + --hash=sha256:da802a19d6e15dffe4b0c24b38b3af68e6c1a68e6e1d8f30148c83864f3881db \ + --hash=sha256:dced8146011d2bc2e883f9bd68618b8247387f4bbec46d7392b3c3b032640126 \ + --hash=sha256:dfdd7c0b105af050eb3d64997809dc21da247cf44e63dc73ff0fd20b96be55a9 \ + --hash=sha256:e368f200bbc2e4f905b8e71eb38b3c04333bddaa6a2464a6355487b02bb7fb09 \ + --hash=sha256:e391b1f0a8a5a10ab3b9bb6afcfd74f2175f24f8975fb87ecae700d1503cdee0 \ + --hash=sha256:e57e563a57fb22a142da34f38acc2fc1a5c864bc29ca1517a88abc963e60d6ec \ + --hash=sha256:e5d706eba36b4c4d5bc6c6377bb6568098765e990cfc21ee16d13963fab7b3e7 \ + --hash=sha256:ec20916e7b4cbfb1f12380e46486ec4bcbaa91a9c448b97023fde0d5bbf9e4ff \ + --hash=sha256:f1d072c2eb0ad60d4c183f3fb44ac6f73fb7a8f16a2694a91f988275cbf352f9 \ + --hash=sha256:f846c260f483d1fd217fe5ed7c173fb109efa6b1fc8381c8b7552c5781756192 \ + --hash=sha256:f91de7223d4c7b793867797bacd1ee53bfe7359bd70d27b7b58a04efbb9436c8 \ + --hash=sha256:faae4860798c31530dd184046a900e652c95513796ef51a12bc086710c2eec4d \ + --hash=sha256:fc579bf0f502e54926519451b920e875f433aceb4624a3646b3252b5caa9e0b6 \ + --hash=sha256:fcc700eadbbccbf6bc1bcb9dbe0786b4b1cb91ca0dcda336eef5c2beed37b797 \ + --hash=sha256:fd32ea360bcbb92d28933fc05ed09bffcb1704ba3fc7942e81db0fd4f81a7892 \ + --hash=sha256:fdb7adb641a0d13bdcd4ef48e062363d8a9ad4a182ac7647ec88f695e719ae9f +lxml==4.9.3 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:05186a0f1346ae12553d66df1cfce6f251589fea3ad3da4f3ef4e34b2d58c6a3 \ + --hash=sha256:075b731ddd9e7f68ad24c635374211376aa05a281673ede86cbe1d1b3455279d \ + --hash=sha256:081d32421db5df44c41b7f08a334a090a545c54ba977e47fd7cc2deece78809a \ + --hash=sha256:0a3d3487f07c1d7f150894c238299934a2a074ef590b583103a45002035be120 \ + --hash=sha256:0bfd0767c5c1de2551a120673b72e5d4b628737cb05414f03c3277bf9bed3305 \ + --hash=sha256:0c0850c8b02c298d3c7006b23e98249515ac57430e16a166873fc47a5d549287 \ + --hash=sha256:0e2cb47860da1f7e9a5256254b74ae331687b9672dfa780eed355c4c9c3dbd23 \ + --hash=sha256:120fa9349a24c7043854c53cae8cec227e1f79195a7493e09e0c12e29f918e52 \ + --hash=sha256:1247694b26342a7bf47c02e513d32225ededd18045264d40758abeb3c838a51f \ + --hash=sha256:141f1d1a9b663c679dc524af3ea1773e618907e96075262726c7612c02b149a4 \ + --hash=sha256:14e019fd83b831b2e61baed40cab76222139926b1fb5ed0e79225bc0cae14584 \ + --hash=sha256:1509dd12b773c02acd154582088820893109f6ca27ef7291b003d0e81666109f \ + --hash=sha256:17a753023436a18e27dd7769e798ce302963c236bc4114ceee5b25c18c52c693 \ + --hash=sha256:1e224d5755dba2f4a9498e150c43792392ac9b5380aa1b845f98a1618c94eeef \ + --hash=sha256:1f447ea5429b54f9582d4b955f5f1985f278ce5cf169f72eea8afd9502973dd5 \ + --hash=sha256:23eed6d7b1a3336ad92d8e39d4bfe09073c31bfe502f20ca5116b2a334f8ec02 \ + --hash=sha256:25f32acefac14ef7bd53e4218fe93b804ef6f6b92ffdb4322bb6d49d94cad2bc \ + --hash=sha256:2c74524e179f2ad6d2a4f7caf70e2d96639c0954c943ad601a9e146c76408ed7 \ + --hash=sha256:303bf1edce6ced16bf67a18a1cf8339d0db79577eec5d9a6d4a80f0fb10aa2da \ + --hash=sha256:3331bece23c9ee066e0fb3f96c61322b9e0f54d775fccefff4c38ca488de283a \ + --hash=sha256:3e9bdd30efde2b9ccfa9cb5768ba04fe71b018a25ea093379c857c9dad262c40 \ + --hash=sha256:411007c0d88188d9f621b11d252cce90c4a2d1a49db6c068e3c16422f306eab8 \ + --hash=sha256:42871176e7896d5d45138f6d28751053c711ed4d48d8e30b498da155af39aebd \ + --hash=sha256:46f409a2d60f634fe550f7133ed30ad5321ae2e6630f13657fb9479506b00601 \ + --hash=sha256:48628bd53a426c9eb9bc066a923acaa0878d1e86129fd5359aee99285f4eed9c \ + --hash=sha256:48d6ed886b343d11493129e019da91d4039826794a3e3027321c56d9e71505be \ + --hash=sha256:4930be26af26ac545c3dffb662521d4e6268352866956672231887d18f0eaab2 \ + --hash=sha256:4aec80cde9197340bc353d2768e2a75f5f60bacda2bab72ab1dc499589b3878c \ + --hash=sha256:4c28a9144688aef80d6ea666c809b4b0e50010a2aca784c97f5e6bf143d9f129 \ + --hash=sha256:4d2d1edbca80b510443f51afd8496be95529db04a509bc8faee49c7b0fb6d2cc \ + --hash=sha256:4dd9a263e845a72eacb60d12401e37c616438ea2e5442885f65082c276dfb2b2 \ + --hash=sha256:4f1026bc732b6a7f96369f7bfe1a4f2290fb34dce00d8644bc3036fb351a4ca1 \ + --hash=sha256:4fb960a632a49f2f089d522f70496640fdf1218f1243889da3822e0a9f5f3ba7 \ + --hash=sha256:50670615eaf97227d5dc60de2dc99fb134a7130d310d783314e7724bf163f75d \ + --hash=sha256:50baa9c1c47efcaef189f31e3d00d697c6d4afda5c3cde0302d063492ff9b477 \ + --hash=sha256:53ace1c1fd5a74ef662f844a0413446c0629d151055340e9893da958a374f70d \ + --hash=sha256:5515edd2a6d1a5a70bfcdee23b42ec33425e405c5b351478ab7dc9347228f96e \ + --hash=sha256:56dc1f1ebccc656d1b3ed288f11e27172a01503fc016bcabdcbc0978b19352b7 \ + --hash=sha256:578695735c5a3f51569810dfebd05dd6f888147a34f0f98d4bb27e92b76e05c2 \ + --hash=sha256:57aba1bbdf450b726d58b2aea5fe47c7875f5afb2c4a23784ed78f19a0462574 \ + --hash=sha256:57d6ba0ca2b0c462f339640d22882acc711de224d769edf29962b09f77129cbf \ + --hash=sha256:5c245b783db29c4e4fbbbfc9c5a78be496c9fea25517f90606aa1f6b2b3d5f7b \ + --hash=sha256:5c31c7462abdf8f2ac0577d9f05279727e698f97ecbb02f17939ea99ae8daa98 \ + --hash=sha256:64f479d719dc9f4c813ad9bb6b28f8390360660b73b2e4beb4cb0ae7104f1c12 \ + --hash=sha256:65299ea57d82fb91c7f019300d24050c4ddeb7c5a190e076b5f48a2b43d19c42 \ + --hash=sha256:6689a3d7fd13dc687e9102a27e98ef33730ac4fe37795d5036d18b4d527abd35 \ + --hash=sha256:690dafd0b187ed38583a648076865d8c229661ed20e48f2335d68e2cf7dc829d \ + --hash=sha256:6fc3c450eaa0b56f815c7b62f2b7fba7266c4779adcf1cece9e6deb1de7305ce \ + --hash=sha256:704f61ba8c1283c71b16135caf697557f5ecf3e74d9e453233e4771d68a1f42d \ + --hash=sha256:71c52db65e4b56b8ddc5bb89fb2e66c558ed9d1a74a45ceb7dcb20c191c3df2f \ + --hash=sha256:71d66ee82e7417828af6ecd7db817913cb0cf9d4e61aa0ac1fde0583d84358db \ + --hash=sha256:7d298a1bd60c067ea75d9f684f5f3992c9d6766fadbc0bcedd39750bf344c2f4 \ + --hash=sha256:8b77946fd508cbf0fccd8e400a7f71d4ac0e1595812e66025bac475a8e811694 \ + --hash=sha256:8d7e43bd40f65f7d97ad8ef5c9b1778943d02f04febef12def25f7583d19baac \ + --hash=sha256:8df133a2ea5e74eef5e8fc6f19b9e085f758768a16e9877a60aec455ed2609b2 \ + --hash=sha256:8ed74706b26ad100433da4b9d807eae371efaa266ffc3e9191ea436087a9d6a7 \ + --hash=sha256:92af161ecbdb2883c4593d5ed4815ea71b31fafd7fd05789b23100d081ecac96 \ + --hash=sha256:97047f0d25cd4bcae81f9ec9dc290ca3e15927c192df17331b53bebe0e3ff96d \ + --hash=sha256:9719fe17307a9e814580af1f5c6e05ca593b12fb7e44fe62450a5384dbf61b4b \ + --hash=sha256:9767e79108424fb6c3edf8f81e6730666a50feb01a328f4a016464a5893f835a \ + --hash=sha256:9a92d3faef50658dd2c5470af249985782bf754c4e18e15afb67d3ab06233f13 \ + --hash=sha256:9bb6ad405121241e99a86efff22d3ef469024ce22875a7ae045896ad23ba2340 \ + --hash=sha256:9e28c51fa0ce5674be9f560c6761c1b441631901993f76700b1b30ca6c8378d6 \ + --hash=sha256:aca086dc5f9ef98c512bac8efea4483eb84abbf926eaeedf7b91479feb092458 \ + --hash=sha256:ae8b9c6deb1e634ba4f1930eb67ef6e6bf6a44b6eb5ad605642b2d6d5ed9ce3c \ + --hash=sha256:b0a545b46b526d418eb91754565ba5b63b1c0b12f9bd2f808c852d9b4b2f9b5c \ + --hash=sha256:b4e4bc18382088514ebde9328da057775055940a1f2e18f6ad2d78aa0f3ec5b9 \ + --hash=sha256:b6420a005548ad52154c8ceab4a1290ff78d757f9e5cbc68f8c77089acd3c432 \ + --hash=sha256:b86164d2cff4d3aaa1f04a14685cbc072efd0b4f99ca5708b2ad1b9b5988a991 \ + --hash=sha256:bb3bb49c7a6ad9d981d734ef7c7193bc349ac338776a0360cc671eaee89bcf69 \ + --hash=sha256:bef4e656f7d98aaa3486d2627e7d2df1157d7e88e7efd43a65aa5dd4714916cf \ + --hash=sha256:c0781a98ff5e6586926293e59480b64ddd46282953203c76ae15dbbbf302e8bb \ + --hash=sha256:c2006f5c8d28dee289f7020f721354362fa304acbaaf9745751ac4006650254b \ + --hash=sha256:c41bfca0bd3532d53d16fd34d20806d5c2b1ace22a2f2e4c0008570bf2c58833 \ + --hash=sha256:cd47b4a0d41d2afa3e58e5bf1f62069255aa2fd6ff5ee41604418ca925911d76 \ + --hash=sha256:cdb650fc86227eba20de1a29d4b2c1bfe139dc75a0669270033cb2ea3d391b85 \ + --hash=sha256:cef2502e7e8a96fe5ad686d60b49e1ab03e438bd9123987994528febd569868e \ + --hash=sha256:d27be7405547d1f958b60837dc4c1007da90b8b23f54ba1f8b728c78fdb19d50 \ + --hash=sha256:d37017287a7adb6ab77e1c5bee9bcf9660f90ff445042b790402a654d2ad81d8 \ + --hash=sha256:d3ff32724f98fbbbfa9f49d82852b159e9784d6094983d9a8b7f2ddaebb063d4 \ + --hash=sha256:d73d8ecf8ecf10a3bd007f2192725a34bd62898e8da27eb9d32a58084f93962b \ + --hash=sha256:dd708cf4ee4408cf46a48b108fb9427bfa00b9b85812a9262b5c668af2533ea5 \ + --hash=sha256:e3cd95e10c2610c360154afdc2f1480aea394f4a4f1ea0a5eacce49640c9b190 \ + --hash=sha256:e4da8ca0c0c0aea88fd46be8e44bd49716772358d648cce45fe387f7b92374a7 \ + --hash=sha256:eadfbbbfb41b44034a4c757fd5d70baccd43296fb894dba0295606a7cf3124aa \ + --hash=sha256:ed667f49b11360951e201453fc3967344d0d0263aa415e1619e85ae7fd17b4e0 \ + --hash=sha256:f3df3db1d336b9356dd3112eae5f5c2b8b377f3bc826848567f10bfddfee77e9 \ + --hash=sha256:f6bdac493b949141b733c5345b6ba8f87a226029cbabc7e9e121a413e49441e0 \ + --hash=sha256:fbf521479bcac1e25a663df882c46a641a9bff6b56dc8b0fafaebd2f66fb231b \ + --hash=sha256:fc9b106a1bf918db68619fdcd6d5ad4f972fdd19c01d19bdb6bf63f3589a9ec5 \ + --hash=sha256:fcdd00edfd0a3001e0181eab3e63bd5c74ad3e67152c84f93f13769a40e073a7 \ + --hash=sha256:fe4bda6bd4340caa6e5cf95e73f8fea5c4bfc55763dd42f1b50a94c1b4a2fbd4 +markdown-it-py==3.0.0 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1 \ + --hash=sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb +markupsafe==2.1.3 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:05fb21170423db021895e1ea1e1f3ab3adb85d1c2333cbc2310f2a26bc77272e \ + --hash=sha256:0a4e4a1aff6c7ac4cd55792abf96c915634c2b97e3cc1c7129578aa68ebd754e \ + --hash=sha256:10bbfe99883db80bdbaff2dcf681dfc6533a614f700da1287707e8a5d78a8431 \ + --hash=sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686 \ + --hash=sha256:14ff806850827afd6b07a5f32bd917fb7f45b046ba40c57abdb636674a8b559c \ + --hash=sha256:1577735524cdad32f9f694208aa75e422adba74f1baee7551620e43a3141f559 \ + --hash=sha256:1b40069d487e7edb2676d3fbdb2b0829ffa2cd63a2ec26c4938b2d34391b4ecc \ + --hash=sha256:1b8dd8c3fd14349433c79fa8abeb573a55fc0fdd769133baac1f5e07abf54aeb \ + --hash=sha256:1f67c7038d560d92149c060157d623c542173016c4babc0c1913cca0564b9939 \ + --hash=sha256:282c2cb35b5b673bbcadb33a585408104df04f14b2d9b01d4c345a3b92861c2c \ + --hash=sha256:2c1b19b3aaacc6e57b7e25710ff571c24d6c3613a45e905b1fde04d691b98ee0 \ + --hash=sha256:2ef12179d3a291be237280175b542c07a36e7f60718296278d8593d21ca937d4 \ + --hash=sha256:338ae27d6b8745585f87218a3f23f1512dbf52c26c28e322dbe54bcede54ccb9 \ + --hash=sha256:3c0fae6c3be832a0a0473ac912810b2877c8cb9d76ca48de1ed31e1c68386575 \ + --hash=sha256:3fd4abcb888d15a94f32b75d8fd18ee162ca0c064f35b11134be77050296d6ba \ + --hash=sha256:42de32b22b6b804f42c5d98be4f7e5e977ecdd9ee9b660fda1a3edf03b11792d \ + --hash=sha256:47d4f1c5f80fc62fdd7777d0d40a2e9dda0a05883ab11374334f6c4de38adffd \ + --hash=sha256:504b320cd4b7eff6f968eddf81127112db685e81f7e36e75f9f84f0df46041c3 \ + --hash=sha256:525808b8019e36eb524b8c68acdd63a37e75714eac50e988180b169d64480a00 \ + --hash=sha256:56d9f2ecac662ca1611d183feb03a3fa4406469dafe241673d521dd5ae92a155 \ + --hash=sha256:5bbe06f8eeafd38e5d0a4894ffec89378b6c6a625ff57e3028921f8ff59318ac \ + --hash=sha256:65c1a9bcdadc6c28eecee2c119465aebff8f7a584dd719facdd9e825ec61ab52 \ + --hash=sha256:68e78619a61ecf91e76aa3e6e8e33fc4894a2bebe93410754bd28fce0a8a4f9f \ + --hash=sha256:69c0f17e9f5a7afdf2cc9fb2d1ce6aabdb3bafb7f38017c0b77862bcec2bbad8 \ + --hash=sha256:6b2b56950d93e41f33b4223ead100ea0fe11f8e6ee5f641eb753ce4b77a7042b \ + --hash=sha256:715d3562f79d540f251b99ebd6d8baa547118974341db04f5ad06d5ea3eb8007 \ + --hash=sha256:787003c0ddb00500e49a10f2844fac87aa6ce977b90b0feaaf9de23c22508b24 \ + --hash=sha256:7ef3cb2ebbf91e330e3bb937efada0edd9003683db6b57bb108c4001f37a02ea \ + --hash=sha256:8023faf4e01efadfa183e863fefde0046de576c6f14659e8782065bcece22198 \ + --hash=sha256:8758846a7e80910096950b67071243da3e5a20ed2546e6392603c096778d48e0 \ + --hash=sha256:8afafd99945ead6e075b973fefa56379c5b5c53fd8937dad92c662da5d8fd5ee \ + --hash=sha256:8c41976a29d078bb235fea9b2ecd3da465df42a562910f9022f1a03107bd02be \ + --hash=sha256:8e254ae696c88d98da6555f5ace2279cf7cd5b3f52be2b5cf97feafe883b58d2 \ + --hash=sha256:8f9293864fe09b8149f0cc42ce56e3f0e54de883a9de90cd427f191c346eb2e1 \ + --hash=sha256:9402b03f1a1b4dc4c19845e5c749e3ab82d5078d16a2a4c2cd2df62d57bb0707 \ + --hash=sha256:962f82a3086483f5e5f64dbad880d31038b698494799b097bc59c2edf392fce6 \ + --hash=sha256:9aad3c1755095ce347e26488214ef77e0485a3c34a50c5a5e2471dff60b9dd9c \ + --hash=sha256:9dcdfd0eaf283af041973bff14a2e143b8bd64e069f4c383416ecd79a81aab58 \ + --hash=sha256:aa57bd9cf8ae831a362185ee444e15a93ecb2e344c8e52e4d721ea3ab6ef1823 \ + --hash=sha256:aa7bd130efab1c280bed0f45501b7c8795f9fdbeb02e965371bbef3523627779 \ + --hash=sha256:ab4a0df41e7c16a1392727727e7998a467472d0ad65f3ad5e6e765015df08636 \ + --hash=sha256:ad9e82fb8f09ade1c3e1b996a6337afac2b8b9e365f926f5a61aacc71adc5b3c \ + --hash=sha256:af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad \ + --hash=sha256:b076b6226fb84157e3f7c971a47ff3a679d837cf338547532ab866c57930dbee \ + --hash=sha256:b7ff0f54cb4ff66dd38bebd335a38e2c22c41a8ee45aa608efc890ac3e3931bc \ + --hash=sha256:bfce63a9e7834b12b87c64d6b155fdd9b3b96191b6bd334bf37db7ff1fe457f2 \ + --hash=sha256:c011a4149cfbcf9f03994ec2edffcb8b1dc2d2aede7ca243746df97a5d41ce48 \ + --hash=sha256:c9c804664ebe8f83a211cace637506669e7890fec1b4195b505c214e50dd4eb7 \ + --hash=sha256:ca379055a47383d02a5400cb0d110cef0a776fc644cda797db0c5696cfd7e18e \ + --hash=sha256:cb0932dc158471523c9637e807d9bfb93e06a95cbf010f1a38b98623b929ef2b \ + --hash=sha256:cd0f502fe016460680cd20aaa5a76d241d6f35a1c3350c474bac1273803893fa \ + --hash=sha256:ceb01949af7121f9fc39f7d27f91be8546f3fb112c608bc4029aef0bab86a2a5 \ + --hash=sha256:d080e0a5eb2529460b30190fcfcc4199bd7f827663f858a226a81bc27beaa97e \ + --hash=sha256:dd15ff04ffd7e05ffcb7fe79f1b98041b8ea30ae9234aed2a9168b5797c3effb \ + --hash=sha256:df0be2b576a7abbf737b1575f048c23fb1d769f267ec4358296f31c2479db8f9 \ + --hash=sha256:e09031c87a1e51556fdcb46e5bd4f59dfb743061cf93c4d6831bf894f125eb57 \ + --hash=sha256:e4dd52d80b8c83fdce44e12478ad2e85c64ea965e75d66dbeafb0a3e77308fcc \ + --hash=sha256:f698de3fd0c4e6972b92290a45bd9b1536bffe8c6759c62471efaa8acb4c37bc \ + --hash=sha256:fec21693218efe39aa7f8599346e90c705afa52c5b31ae019b2e57e8f6542bb2 \ + --hash=sha256:ffcc3f7c66b5f5b7931a5aa68fc9cecc51e685ef90282f4a82f0f5e9b704ad11 +matplotlib==3.7.3 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:085c33b27561d9c04386789d5aa5eb4a932ddef43cfcdd0e01735f9a6e85ce0c \ + --hash=sha256:0a97af9d22e8ebedc9f00b043d9bbd29a375e9e10b656982012dded44c10fd77 \ + --hash=sha256:122dcbf9be0086e2a95d9e5e0632dbf3bd5b65eaa68c369363310a6c87753059 \ + --hash=sha256:12b4f6795efea037ce2d41e7c417ad8bd02d5719c6ad4a8450a0708f4a1cfb89 \ + --hash=sha256:12f4c0dd8aa280d796c8772ea8265a14f11a04319baa3a16daa5556065e8baea \ + --hash=sha256:165c8082bf8fc0360c24aa4724a22eaadbfd8c28bf1ccf7e94d685cad48261e4 \ + --hash=sha256:1990955b11e7918d256cf3b956b10997f405b7917a3f1c7d8e69c1d15c7b1930 \ + --hash=sha256:1a6094c6f8e8d18db631754df4fe9a34dec3caf074f6869a7db09f18f9b1d6b2 \ + --hash=sha256:1f9c6c16597af660433ab330b59ee2934b832ee1fabcaf5cbde7b2add840f31e \ + --hash=sha256:22d65d18b4ee8070a5fea5761d59293f1f9e2fac37ec9ce090463b0e629432fd \ + --hash=sha256:236024f582e40dac39bca592258888b38ae47a9fed7b8de652d68d3d02d47d2b \ + --hash=sha256:259999c05285cb993d7f2a419cea547863fa215379eda81f7254c9e932963729 \ + --hash=sha256:272dba2f1b107790ed78ebf5385b8d14b27ad9e90419de340364b49fe549a993 \ + --hash=sha256:336e88900c11441e458da01c8414fc57e04e17f9d3bb94958a76faa2652bcf6b \ + --hash=sha256:39018a2b17592448fbfdf4b8352955e6c3905359939791d4ff429296494d1a0c \ + --hash=sha256:3bf3a178c6504694cee8b88b353df0051583f2f6f8faa146f67115c27c856881 \ + --hash=sha256:3f4e7fd5a6157e1d018ce2166ec8e531a481dd4a36f035b5c23edfe05a25419a \ + --hash=sha256:40e3b9b450c6534f07278310c4e34caff41c2a42377e4b9d47b0f8d3ac1083a2 \ + --hash=sha256:498a08267dc69dd8f24c4b5d7423fa584d7ce0027ba71f7881df05fc09b89bb7 \ + --hash=sha256:4aab27d9e33293389e3c1d7c881d414a72bdfda0fedc3a6bf46c6fa88d9b8015 \ + --hash=sha256:55de4cf7cd0071b8ebf203981b53ab64f988a0a1f897a2dff300a1124e8bcd8b \ + --hash=sha256:591c123bed1cb4b9996fb60b41a6d89c2ec4943244540776c5f1283fb6960a53 \ + --hash=sha256:67a410a9c9e07cbc83581eeea144bbe298870bf0ac0ee2f2e10a015ab7efee19 \ + --hash=sha256:6eaa1cf0e94c936a26b78f6d756c5fbc12e0a58c8a68b7248a2a31456ce4e234 \ + --hash=sha256:7153453669c9672b52095119fd21dd032d19225d48413a2871519b17db4b0fde \ + --hash=sha256:747c6191d2e88ae854809e69aa358dbf852ff1a5738401b85c1cc9012309897a \ + --hash=sha256:74bf57f505efea376097e948b7cdd87191a7ce8180616390aef496639edf601f \ + --hash=sha256:755bafc10a46918ce9a39980009b54b02dd249594e5adf52f9c56acfddb5d0b7 \ + --hash=sha256:78b2136cc6c5415b78977e0e8c608647d597204b05b1d9089ccf513c7d913733 \ + --hash=sha256:7baf98c5ad59c5c4743ea884bb025cbffa52dacdfdac0da3e6021a285a90377e \ + --hash=sha256:91e36a85ea639a1ba9f91427041eac064b04829945fe331a92617b6cb21d27e5 \ + --hash=sha256:9c40cde976c36693cc0767e27cf5f443f91c23520060bd9496678364adfafe9c \ + --hash=sha256:a7240259b4b9cbc62381f6378cff4d57af539162a18e832c1e48042fabc40b6b \ + --hash=sha256:ac03377fd908aaee2312d0b11735753e907adb6f4d1d102de5e2425249693f6c \ + --hash=sha256:c568e80e1c17f68a727f30f591926751b97b98314d8e59804f54f86ae6fa6a22 \ + --hash=sha256:caf5eaaf7c68f8d7df269dfbcaf46f48a70ff482bfcebdcc97519671023f2a7d \ + --hash=sha256:d48999c4b19b5a0c058c9cd828ff6fc7748390679f6cf9a2ad653a3e802c87d3 \ + --hash=sha256:d5adc743de91e8e0b13df60deb1b1c285b8effea3d66223afceb14b63c9b05de \ + --hash=sha256:dfc118642903a23e309b1da32886bb39a4314147d013e820c86b5fb4cb2e36d0 \ + --hash=sha256:e594ee43c59ea39ca5c6244667cac9d017a3527febc31f5532ad9135cf7469ec \ + --hash=sha256:e78707b751260b42b721507ad7aa60fe4026d7f51c74cca6b9cd8b123ebb633a \ + --hash=sha256:ebd8470cc2a3594746ff0513aecbfa2c55ff6f58e6cef2efb1a54eb87c88ffa2 \ + --hash=sha256:ec726b08a5275d827aa91bb951e68234a4423adb91cf65bc0fcdc0f2777663f7 \ + --hash=sha256:edf54cac8ee3603f3093616b40a931e8c063969756a4d78a86e82c2fea9659f7 \ + --hash=sha256:ee152a88a0da527840a426535514b6ed8ac4240eb856b1da92cf48124320e346 \ + --hash=sha256:f09b3dd6bdeb588de91f853bbb2d6f0ff8ab693485b0c49035eaa510cb4f142e \ + --hash=sha256:faa3d12d8811d08d14080a8b7b9caea9a457dc495350166b56df0db4b9909ef5 +mdurl==0.1.2 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8 \ + --hash=sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba +mpmath==1.3.0 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:7a28eb2a9774d00c7bc92411c19a89209d5da7c4c9a9e227be8330a23a25b91f \ + --hash=sha256:a0b2b9fe80bbcd81a6647ff13108738cfb482d481d826cc0e02f5b35e5c88d2c +networkx==3.1 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:4f33f68cb2afcf86f28a45f43efc27a9386b535d567d2127f8f61d51dec58d36 \ + --hash=sha256:de346335408f84de0eada6ff9fafafff9bcda11f0a0dfaa931133debb146ab61 +networkx[default,extra]==3.1 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:4f33f68cb2afcf86f28a45f43efc27a9386b535d567d2127f8f61d51dec58d36 \ + --hash=sha256:de346335408f84de0eada6ff9fafafff9bcda11f0a0dfaa931133debb146ab61 +numpy==1.24.4 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:04640dab83f7c6c85abf9cd729c5b65f1ebd0ccf9de90b270cd61935eef0197f \ + --hash=sha256:1452241c290f3e2a312c137a9999cdbf63f78864d63c79039bda65ee86943f61 \ + --hash=sha256:222e40d0e2548690405b0b3c7b21d1169117391c2e82c378467ef9ab4c8f0da7 \ + --hash=sha256:2541312fbf09977f3b3ad449c4e5f4bb55d0dbf79226d7724211acc905049400 \ + --hash=sha256:31f13e25b4e304632a4619d0e0777662c2ffea99fcae2029556b17d8ff958aef \ + --hash=sha256:4602244f345453db537be5314d3983dbf5834a9701b7723ec28923e2889e0bb2 \ + --hash=sha256:4979217d7de511a8d57f4b4b5b2b965f707768440c17cb70fbf254c4b225238d \ + --hash=sha256:4c21decb6ea94057331e111a5bed9a79d335658c27ce2adb580fb4d54f2ad9bc \ + --hash=sha256:6620c0acd41dbcb368610bb2f4d83145674040025e5536954782467100aa8835 \ + --hash=sha256:692f2e0f55794943c5bfff12b3f56f99af76f902fc47487bdfe97856de51a706 \ + --hash=sha256:7215847ce88a85ce39baf9e89070cb860c98fdddacbaa6c0da3ffb31b3350bd5 \ + --hash=sha256:79fc682a374c4a8ed08b331bef9c5f582585d1048fa6d80bc6c35bc384eee9b4 \ + --hash=sha256:7ffe43c74893dbf38c2b0a1f5428760a1a9c98285553c89e12d70a96a7f3a4d6 \ + --hash=sha256:80f5e3a4e498641401868df4208b74581206afbee7cf7b8329daae82676d9463 \ + --hash=sha256:95f7ac6540e95bc440ad77f56e520da5bf877f87dca58bd095288dce8940532a \ + --hash=sha256:9667575fb6d13c95f1b36aca12c5ee3356bf001b714fc354eb5465ce1609e62f \ + --hash=sha256:a5425b114831d1e77e4b5d812b69d11d962e104095a5b9c3b641a218abcc050e \ + --hash=sha256:b4bea75e47d9586d31e892a7401f76e909712a0fd510f58f5337bea9572c571e \ + --hash=sha256:b7b1fc9864d7d39e28f41d089bfd6353cb5f27ecd9905348c24187a768c79694 \ + --hash=sha256:befe2bf740fd8373cf56149a5c23a0f601e82869598d41f8e188a0e9869926f8 \ + --hash=sha256:c0bfb52d2169d58c1cdb8cc1f16989101639b34c7d3ce60ed70b19c63eba0b64 \ + --hash=sha256:d11efb4dbecbdf22508d55e48d9c8384db795e1b7b51ea735289ff96613ff74d \ + --hash=sha256:dd80e219fd4c71fc3699fc1dadac5dcf4fd882bfc6f7ec53d30fa197b8ee22dc \ + --hash=sha256:e2926dac25b313635e4d6cf4dc4e51c8c0ebfed60b801c799ffc4c32bf3d1254 \ + --hash=sha256:e98f220aa76ca2a977fe435f5b04d7b3470c0a2e6312907b37ba6068f26787f2 \ + --hash=sha256:ed094d4f0c177b1b8e7aa9cba7d6ceed51c0e569a5318ac0ca9a090680a6a1b1 \ + --hash=sha256:f136bab9c2cfd8da131132c2cf6cc27331dd6fae65f95f69dcd4ae3c3639c810 \ + --hash=sha256:f3a86ed21e4f87050382c7bc96571755193c4c1392490744ac73d660e8f564a9 +oras==0.1.25 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:19c5554d1c23e6431b521ea7586a295673269b33b4a86c553639a1709fa19d4e \ + --hash=sha256:836d9a7ba9d6ab1856c389a3ee9f35af2d3c4b8c0c23ef7e83bfa789f7f9d469 +orjson==3.9.7 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:01d647b2a9c45a23a84c3e70e19d120011cba5f56131d185c1b78685457320bb \ + --hash=sha256:0eb850a87e900a9c484150c414e21af53a6125a13f6e378cf4cc11ae86c8f9c5 \ + --hash=sha256:11c10f31f2c2056585f89d8229a56013bc2fe5de51e095ebc71868d070a8dd81 \ + --hash=sha256:14d3fb6cd1040a4a4a530b28e8085131ed94ebc90d72793c59a713de34b60838 \ + --hash=sha256:154fd67216c2ca38a2edb4089584504fbb6c0694b518b9020ad35ecc97252bb9 \ + --hash=sha256:1c3cee5c23979deb8d1b82dc4cc49be59cccc0547999dbe9adb434bb7af11cf7 \ + --hash=sha256:1eb0b0b2476f357eb2975ff040ef23978137aa674cd86204cfd15d2d17318588 \ + --hash=sha256:1f8b47650f90e298b78ecf4df003f66f54acdba6a0f763cc4df1eab048fe3738 \ + --hash=sha256:21a3344163be3b2c7e22cef14fa5abe957a892b2ea0525ee86ad8186921b6cf0 \ + --hash=sha256:23be6b22aab83f440b62a6f5975bcabeecb672bc627face6a83bc7aeb495dc7e \ + --hash=sha256:26ffb398de58247ff7bde895fe30817a036f967b0ad0e1cf2b54bda5f8dcfdd9 \ + --hash=sha256:2f8fcf696bbbc584c0c7ed4adb92fd2ad7d153a50258842787bc1524e50d7081 \ + --hash=sha256:355efdbbf0cecc3bd9b12589b8f8e9f03c813a115efa53f8dc2a523bfdb01334 \ + --hash=sha256:36b1df2e4095368ee388190687cb1b8557c67bc38400a942a1a77713580b50ae \ + --hash=sha256:38e34c3a21ed41a7dbd5349e24c3725be5416641fdeedf8f56fcbab6d981c900 \ + --hash=sha256:3aab72d2cef7f1dd6104c89b0b4d6b416b0db5ca87cc2fac5f79c5601f549cc2 \ + --hash=sha256:410aa9d34ad1089898f3db461b7b744d0efcf9252a9415bbdf23540d4f67589f \ + --hash=sha256:45a47f41b6c3beeb31ac5cf0ff7524987cfcce0a10c43156eb3ee8d92d92bf22 \ + --hash=sha256:4891d4c934f88b6c29b56395dfc7014ebf7e10b9e22ffd9877784e16c6b2064f \ + --hash=sha256:4c616b796358a70b1f675a24628e4823b67d9e376df2703e893da58247458956 \ + --hash=sha256:5198633137780d78b86bb54dafaaa9baea698b4f059456cd4554ab7009619221 \ + --hash=sha256:5a2937f528c84e64be20cb80e70cea76a6dfb74b628a04dab130679d4454395c \ + --hash=sha256:5da9032dac184b2ae2da4bce423edff7db34bfd936ebd7d4207ea45840f03905 \ + --hash=sha256:5e736815b30f7e3c9044ec06a98ee59e217a833227e10eb157f44071faddd7c5 \ + --hash=sha256:63ef3d371ea0b7239ace284cab9cd00d9c92b73119a7c274b437adb09bda35e6 \ + --hash=sha256:70b9a20a03576c6b7022926f614ac5a6b0914486825eac89196adf3267c6489d \ + --hash=sha256:76a0fc023910d8a8ab64daed8d31d608446d2d77c6474b616b34537aa7b79c7f \ + --hash=sha256:7951af8f2998045c656ba8062e8edf5e83fd82b912534ab1de1345de08a41d2b \ + --hash=sha256:7a34a199d89d82d1897fd4a47820eb50947eec9cda5fd73f4578ff692a912f89 \ + --hash=sha256:7bab596678d29ad969a524823c4e828929a90c09e91cc438e0ad79b37ce41166 \ + --hash=sha256:7ea3e63e61b4b0beeb08508458bdff2daca7a321468d3c4b320a758a2f554d31 \ + --hash=sha256:80acafe396ab689a326ab0d80f8cc61dec0dd2c5dca5b4b3825e7b1e0132c101 \ + --hash=sha256:82720ab0cf5bb436bbd97a319ac529aee06077ff7e61cab57cee04a596c4f9b4 \ + --hash=sha256:83cc275cf6dcb1a248e1876cdefd3f9b5f01063854acdfd687ec360cd3c9712a \ + --hash=sha256:85e39198f78e2f7e054d296395f6c96f5e02892337746ef5b6a1bf3ed5910142 \ + --hash=sha256:8769806ea0b45d7bf75cad253fba9ac6700b7050ebb19337ff6b4e9060f963fa \ + --hash=sha256:8bdb6c911dae5fbf110fe4f5cba578437526334df381b3554b6ab7f626e5eeca \ + --hash=sha256:8f4b0042d8388ac85b8330b65406c84c3229420a05068445c13ca28cc222f1f7 \ + --hash=sha256:90fe73a1f0321265126cbba13677dcceb367d926c7a65807bd80916af4c17047 \ + --hash=sha256:915e22c93e7b7b636240c5a79da5f6e4e84988d699656c8e27f2ac4c95b8dcc0 \ + --hash=sha256:9274ba499e7dfb8a651ee876d80386b481336d3868cba29af839370514e4dce0 \ + --hash=sha256:9d62c583b5110e6a5cf5169ab616aa4ec71f2c0c30f833306f9e378cf51b6c86 \ + --hash=sha256:9ef82157bbcecd75d6296d5d8b2d792242afcd064eb1ac573f8847b52e58f677 \ + --hash=sha256:a19e4074bc98793458b4b3ba35a9a1d132179345e60e152a1bb48c538ab863c4 \ + --hash=sha256:a347d7b43cb609e780ff8d7b3107d4bcb5b6fd09c2702aa7bdf52f15ed09fa09 \ + --hash=sha256:b4fb306c96e04c5863d52ba8d65137917a3d999059c11e659eba7b75a69167bd \ + --hash=sha256:b6df858e37c321cefbf27fe7ece30a950bcc3a75618a804a0dcef7ed9dd9c92d \ + --hash=sha256:b8e59650292aa3a8ea78073fc84184538783966528e442a1b9ed653aa282edcf \ + --hash=sha256:bcb9a60ed2101af2af450318cd89c6b8313e9f8df4e8fb12b657b2e97227cf08 \ + --hash=sha256:c3ba725cf5cf87d2d2d988d39c6a2a8b6fc983d78ff71bc728b0be54c869c884 \ + --hash=sha256:ca1706e8b8b565e934c142db6a9592e6401dc430e4b067a97781a997070c5378 \ + --hash=sha256:cd3e7aae977c723cc1dbb82f97babdb5e5fbce109630fbabb2ea5053523c89d3 \ + --hash=sha256:cf334ce1d2fadd1bf3e5e9bf15e58e0c42b26eb6590875ce65bd877d917a58aa \ + --hash=sha256:d8692948cada6ee21f33db5e23460f71c8010d6dfcfe293c9b96737600a7df78 \ + --hash=sha256:e5205ec0dfab1887dd383597012199f5175035e782cdb013c542187d280ca443 \ + --hash=sha256:e7e7f44e091b93eb39db88bb0cb765db09b7a7f64aea2f35e7d86cbf47046c65 \ + --hash=sha256:e94b7b31aa0d65f5b7c72dd8f8227dbd3e30354b99e7a9af096d967a77f2a580 \ + --hash=sha256:f26fb3e8e3e2ee405c947ff44a3e384e8fa1843bc35830fe6f3d9a95a1147b6e \ + --hash=sha256:f738fee63eb263530efd4d2e9c76316c1f47b3bbf38c1bf45ae9625feed0395e \ + --hash=sha256:f9e01239abea2f52a429fe9d95c96df95f078f0172489d691b4a848ace54a476 +packageurl-python==0.11.2 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:01fbf74a41ef85cf413f1ede529a1411f658bda66ed22d45d27280ad9ceba471 \ + --hash=sha256:799acfe8d9e6e3534bbc19660be97d5b66754bc033e62c39f1e2f16323fcfa84 +packaging==23.2 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5 \ + --hash=sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7 +pandas==2.0.3 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:04dbdbaf2e4d46ca8da896e1805bc04eb85caa9a82e259e8eed00254d5e0c682 \ + --hash=sha256:1168574b036cd8b93abc746171c9b4f1b83467438a5e45909fed645cf8692dbc \ + --hash=sha256:1994c789bf12a7c5098277fb43836ce090f1073858c10f9220998ac74f37c69b \ + --hash=sha256:258d3624b3ae734490e4d63c430256e716f488c4fcb7c8e9bde2d3aa46c29089 \ + --hash=sha256:32fca2ee1b0d93dd71d979726b12b61faa06aeb93cf77468776287f41ff8fdc5 \ + --hash=sha256:37673e3bdf1551b95bf5d4ce372b37770f9529743d2498032439371fc7b7eb26 \ + --hash=sha256:3ef285093b4fe5058eefd756100a367f27029913760773c8bf1d2d8bebe5d210 \ + --hash=sha256:5247fb1ba347c1261cbbf0fcfba4a3121fbb4029d95d9ef4dc45406620b25c8b \ + --hash=sha256:5ec591c48e29226bcbb316e0c1e9423622bc7a4eaf1ef7c3c9fa1a3981f89641 \ + --hash=sha256:694888a81198786f0e164ee3a581df7d505024fbb1f15202fc7db88a71d84ebd \ + --hash=sha256:69d7f3884c95da3a31ef82b7618af5710dba95bb885ffab339aad925c3e8ce78 \ + --hash=sha256:6a21ab5c89dcbd57f78d0ae16630b090eec626360085a4148693def5452d8a6b \ + --hash=sha256:81af086f4543c9d8bb128328b5d32e9986e0c84d3ee673a2ac6fb57fd14f755e \ + --hash=sha256:9e4da0d45e7f34c069fe4d522359df7d23badf83abc1d1cef398895822d11061 \ + --hash=sha256:9eae3dc34fa1aa7772dd3fc60270d13ced7346fcbcfee017d3132ec625e23bb0 \ + --hash=sha256:9ee1a69328d5c36c98d8e74db06f4ad518a1840e8ccb94a4ba86920986bb617e \ + --hash=sha256:b084b91d8d66ab19f5bb3256cbd5ea661848338301940e17f4492b2ce0801fe8 \ + --hash=sha256:b9cb1e14fdb546396b7e1b923ffaeeac24e4cedd14266c3497216dd4448e4f2d \ + --hash=sha256:ba619e410a21d8c387a1ea6e8a0e49bb42216474436245718d7f2e88a2f8d7c0 \ + --hash=sha256:c02f372a88e0d17f36d3093a644c73cfc1788e876a7c4bcb4020a77512e2043c \ + --hash=sha256:ce0c6f76a0f1ba361551f3e6dceaff06bde7514a374aa43e33b588ec10420183 \ + --hash=sha256:d9cd88488cceb7635aebb84809d087468eb33551097d600c6dad13602029c2df \ + --hash=sha256:e4c7c9f27a4185304c7caf96dc7d91bc60bc162221152de697c98eb0b2648dd8 \ + --hash=sha256:f167beed68918d62bffb6ec64f2e1d8a7d297a038f86d4aed056b9493fca407f \ + --hash=sha256:f3421a7afb1a43f7e38e82e844e2bca9a6d793d66c1a7f9f0ff39a795bbc5e02 +pillow==10.0.1 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:0462b1496505a3462d0f35dc1c4d7b54069747d65d00ef48e736acda2c8cbdff \ + --hash=sha256:186f7e04248103482ea6354af6d5bcedb62941ee08f7f788a1c7707bc720c66f \ + --hash=sha256:19e9adb3f22d4c416e7cd79b01375b17159d6990003633ff1d8377e21b7f1b21 \ + --hash=sha256:28444cb6ad49726127d6b340217f0627abc8732f1194fd5352dec5e6a0105635 \ + --hash=sha256:2872f2d7846cf39b3dbff64bc1104cc48c76145854256451d33c5faa55c04d1a \ + --hash=sha256:2cc6b86ece42a11f16f55fe8903595eff2b25e0358dec635d0a701ac9586588f \ + --hash=sha256:2d7e91b4379f7a76b31c2dda84ab9e20c6220488e50f7822e59dac36b0cd92b1 \ + --hash=sha256:2fa6dd2661838c66f1a5473f3b49ab610c98a128fc08afbe81b91a1f0bf8c51d \ + --hash=sha256:32bec7423cdf25c9038fef614a853c9d25c07590e1a870ed471f47fb80b244db \ + --hash=sha256:3855447d98cced8670aaa63683808df905e956f00348732448b5a6df67ee5849 \ + --hash=sha256:3a04359f308ebee571a3127fdb1bd01f88ba6f6fb6d087f8dd2e0d9bff43f2a7 \ + --hash=sha256:3a0d3e54ab1df9df51b914b2233cf779a5a10dfd1ce339d0421748232cea9876 \ + --hash=sha256:44e7e4587392953e5e251190a964675f61e4dae88d1e6edbe9f36d6243547ff3 \ + --hash=sha256:459307cacdd4138edee3875bbe22a2492519e060660eaf378ba3b405d1c66317 \ + --hash=sha256:4ce90f8a24e1c15465048959f1e94309dfef93af272633e8f37361b824532e91 \ + --hash=sha256:50bd5f1ebafe9362ad622072a1d2f5850ecfa44303531ff14353a4059113b12d \ + --hash=sha256:522ff4ac3aaf839242c6f4e5b406634bfea002469656ae8358644fc6c4856a3b \ + --hash=sha256:552912dbca585b74d75279a7570dd29fa43b6d93594abb494ebb31ac19ace6bd \ + --hash=sha256:5d6c9049c6274c1bb565021367431ad04481ebb54872edecfcd6088d27edd6ed \ + --hash=sha256:697a06bdcedd473b35e50a7e7506b1d8ceb832dc238a336bd6f4f5aa91a4b500 \ + --hash=sha256:71671503e3015da1b50bd18951e2f9daf5b6ffe36d16f1eb2c45711a301521a7 \ + --hash=sha256:723bd25051454cea9990203405fa6b74e043ea76d4968166dfd2569b0210886a \ + --hash=sha256:764d2c0daf9c4d40ad12fbc0abd5da3af7f8aa11daf87e4fa1b834000f4b6b0a \ + --hash=sha256:787bb0169d2385a798888e1122c980c6eff26bf941a8ea79747d35d8f9210ca0 \ + --hash=sha256:7f771e7219ff04b79e231d099c0a28ed83aa82af91fd5fa9fdb28f5b8d5addaf \ + --hash=sha256:847e8d1017c741c735d3cd1883fa7b03ded4f825a6e5fcb9378fd813edee995f \ + --hash=sha256:84efb46e8d881bb06b35d1d541aa87f574b58e87f781cbba8d200daa835b42e1 \ + --hash=sha256:898f1d306298ff40dc1b9ca24824f0488f6f039bc0e25cfb549d3195ffa17088 \ + --hash=sha256:8b451d6ead6e3500b6ce5c7916a43d8d8d25ad74b9102a629baccc0808c54971 \ + --hash=sha256:8f06be50669087250f319b706decf69ca71fdecd829091a37cc89398ca4dc17a \ + --hash=sha256:92a23b0431941a33242b1f0ce6c88a952e09feeea9af4e8be48236a68ffe2205 \ + --hash=sha256:93139acd8109edcdeffd85e3af8ae7d88b258b3a1e13a038f542b79b6d255c54 \ + --hash=sha256:98533fd7fa764e5f85eebe56c8e4094db912ccbe6fbf3a58778d543cadd0db08 \ + --hash=sha256:9f665d1e6474af9f9da5e86c2a3a2d2d6204e04d5af9c06b9d42afa6ebde3f21 \ + --hash=sha256:b059ac2c4c7a97daafa7dc850b43b2d3667def858a4f112d1aa082e5c3d6cf7d \ + --hash=sha256:b1be1c872b9b5fcc229adeadbeb51422a9633abd847c0ff87dc4ef9bb184ae08 \ + --hash=sha256:b7cf63d2c6928b51d35dfdbda6f2c1fddbe51a6bc4a9d4ee6ea0e11670dd981e \ + --hash=sha256:bc2e3069569ea9dbe88d6b8ea38f439a6aad8f6e7a6283a38edf61ddefb3a9bf \ + --hash=sha256:bcf1207e2f2385a576832af02702de104be71301c2696d0012b1b93fe34aaa5b \ + --hash=sha256:ca26ba5767888c84bf5a0c1a32f069e8204ce8c21d00a49c90dabeba00ce0145 \ + --hash=sha256:cbe68deb8580462ca0d9eb56a81912f59eb4542e1ef8f987405e35a0179f4ea2 \ + --hash=sha256:d6caf3cd38449ec3cd8a68b375e0c6fe4b6fd04edb6c9766b55ef84a6e8ddf2d \ + --hash=sha256:d72967b06be9300fed5cfbc8b5bafceec48bf7cdc7dab66b1d2549035287191d \ + --hash=sha256:d889b53ae2f030f756e61a7bff13684dcd77e9af8b10c6048fb2c559d6ed6eaf \ + --hash=sha256:de596695a75496deb3b499c8c4f8e60376e0516e1a774e7bc046f0f48cd620ad \ + --hash=sha256:e6a90167bcca1216606223a05e2cf991bb25b14695c518bc65639463d7db722d \ + --hash=sha256:ed2d9c0704f2dc4fa980b99d565c0c9a543fe5101c25b3d60488b8ba80f0cce1 \ + --hash=sha256:ee7810cf7c83fa227ba9125de6084e5e8b08c59038a7b2c9045ef4dde61663b4 \ + --hash=sha256:f0b4b06da13275bc02adfeb82643c4a6385bd08d26f03068c2796f60d125f6f2 \ + --hash=sha256:f11c9102c56ffb9ca87134bd025a43d2aba3f1155f508eff88f694b33a9c6d19 \ + --hash=sha256:f5bb289bb835f9fe1a1e9300d011eef4d69661bb9b34d5e196e5e82c4cb09b37 \ + --hash=sha256:f6d3d4c905e26354e8f9d82548475c46d8e0889538cb0657aa9c6f0872a37aa4 \ + --hash=sha256:fcb59711009b0168d6ee0bd8fb5eb259c4ab1717b2f538bbf36bacf207ef7a68 \ + --hash=sha256:fd2a5403a75b54661182b75ec6132437a181209b901446ee5724b589af8edef1 +pkgutil-resolve-name==1.3.10 ; python_full_version >= "3.8.1" and python_version < "3.9" \ + --hash=sha256:357d6c9e6a755653cfd78893817c0853af365dd51ec97f3d358a819373bbd174 \ + --hash=sha256:ca27cc078d25c5ad71a9de0a7a330146c4e014c2462d9af19c6b828280649c5e +priority==2.0.0 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:6f8eefce5f3ad59baf2c080a664037bb4725cd0a790d53d59ab4059288faf6aa \ + --hash=sha256:c965d54f1b8d0d0b19479db3924c7c36cf672dbf2aec92d43fbdaf4492ba18c0 +psutil==5.9.5 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:104a5cc0e31baa2bcf67900be36acde157756b9c44017b86b2c049f11957887d \ + --hash=sha256:3c6f686f4225553615612f6d9bc21f1c0e305f75d7d8454f9b46e901778e7217 \ + --hash=sha256:4aef137f3345082a3d3232187aeb4ac4ef959ba3d7c10c33dd73763fbc063da4 \ + --hash=sha256:5410638e4df39c54d957fc51ce03048acd8e6d60abc0f5107af51e5fb566eb3c \ + --hash=sha256:5b9b8cb93f507e8dbaf22af6a2fd0ccbe8244bf30b1baad6b3954e935157ae3f \ + --hash=sha256:7a7dd9997128a0d928ed4fb2c2d57e5102bb6089027939f3b722f3a210f9a8da \ + --hash=sha256:89518112647f1276b03ca97b65cc7f64ca587b1eb0278383017c2a0dcc26cbe4 \ + --hash=sha256:8c5f7c5a052d1d567db4ddd231a9d27a74e8e4a9c3f44b1032762bd7b9fdcd42 \ + --hash=sha256:ab8ed1a1d77c95453db1ae00a3f9c50227ebd955437bcf2a574ba8adbf6a74d5 \ + --hash=sha256:acf2aef9391710afded549ff602b5887d7a2349831ae4c26be7c807c0a39fac4 \ + --hash=sha256:b258c0c1c9d145a1d5ceffab1134441c4c5113b2417fafff7315a917a026c3c9 \ + --hash=sha256:be8929ce4313f9f8146caad4272f6abb8bf99fc6cf59344a3167ecd74f4f203f \ + --hash=sha256:c607bb3b57dc779d55e1554846352b4e358c10fff3abf3514a7a6601beebdb30 \ + --hash=sha256:ea8518d152174e1249c4f2a1c89e3e6065941df2fa13a1ab45327716a23c2b48 +pydot==1.4.2 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:248081a39bcb56784deb018977e428605c1c758f10897a339fce1dd728ff007d \ + --hash=sha256:66c98190c65b8d2e2382a441b4c0edfdb4f4c025ef9cb9874de478fb0793a451 +pyg-lib==0.2.0+pt20cpu ; python_full_version >= "3.8.1" and python_version < "3.12" and (sys_platform == "linux" or sys_platform == "darwin") \ + --hash=sha256:314b82c5d4d3b09b19286cf213f99fba6ae205885aac027b0bb193439d313d26 \ + --hash=sha256:9f46a7c853ac3ca2424f2360d23b10f8899d1b491b1e01d41796d7b5de846f78 \ + --hash=sha256:d9041256d2602f51afd280c77fe6c8bdd2e49301bc051a6664f156d6caa12b3a \ + --hash=sha256:ef85e46a007b23b8a217389c808659762694d8f45dc1768f2ec4c92dfe6a52ed +pygments==2.16.1 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:13fc09fa63bc8d8671a6d247e1eb303c4b343eaee81d861f3404db2935653692 \ + --hash=sha256:1daff0494820c69bc8941e407aa20f577374ee88364ee10a98fdbe0aece96e29 +pygraphviz==1.11 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:a97eb5ced266f45053ebb1f2c6c6d29091690503e3a5c14be7f908b37b06f2d4 +pyparsing==3.1.1 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:32c7c0b711493c72ff18a981d24f28aaf9c1fb7ed5e9667c9e84e3db623bdbfb \ + --hash=sha256:ede28a1a32462f5a9705e07aea48001a08f7cf81a021585011deba701581a0db +python-dateutil==2.8.2 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86 \ + --hash=sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9 +pytz==2023.3.post1 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:7b4fddbeb94a1eba4b557da24f19fdf9db575192544270a9101d8509f9f43d7b \ + --hash=sha256:ce42d816b81b68506614c11e8937d3aa9e41007ceb50bfdcb0749b921bf646c7 +quart==0.18.4 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:578a466bcd8c58b947b384ca3517c2a2f3bfeec8f58f4ff5038d4506ffee6be7 \ + --hash=sha256:c1766f269cdb85daf9da67ba54170abf7839aca97304dcb4cd0778eabfb442c6 +referencing==0.30.2 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:449b6669b6121a9e96a7f9e410b245d471e8d48964c67113ce9afe50c8dd7bdf \ + --hash=sha256:794ad8003c65938edcdbc027f1933215e0d0ccc0291e3ce20a4d87432b59efc0 +requests==2.31.0 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f \ + --hash=sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1 +rich==13.6.0 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:2b38e2fe9ca72c9a00170a1a2d20c63c790d0e10ef1fe35eba76e1e7b1d7d245 \ + --hash=sha256:5c14d22737e6d5084ef4771b62d5d4363165b403455a30a1c8ca39dc7b644bef +rpds-py==0.10.3 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:015de2ce2af1586ff5dc873e804434185199a15f7d96920ce67e50604592cae9 \ + --hash=sha256:061c3ff1f51ecec256e916cf71cc01f9975af8fb3af9b94d3c0cc8702cfea637 \ + --hash=sha256:08a80cf4884920863623a9ee9a285ee04cef57ebedc1cc87b3e3e0f24c8acfe5 \ + --hash=sha256:09362f86ec201288d5687d1dc476b07bf39c08478cde837cb710b302864e7ec9 \ + --hash=sha256:0bb4f48bd0dd18eebe826395e6a48b7331291078a879295bae4e5d053be50d4c \ + --hash=sha256:106af1653007cc569d5fbb5f08c6648a49fe4de74c2df814e234e282ebc06957 \ + --hash=sha256:11fdd1192240dda8d6c5d18a06146e9045cb7e3ba7c06de6973000ff035df7c6 \ + --hash=sha256:16a472300bc6c83fe4c2072cc22b3972f90d718d56f241adabc7ae509f53f154 \ + --hash=sha256:176287bb998fd1e9846a9b666e240e58f8d3373e3bf87e7642f15af5405187b8 \ + --hash=sha256:177914f81f66c86c012311f8c7f46887ec375cfcfd2a2f28233a3053ac93a569 \ + --hash=sha256:177c9dd834cdf4dc39c27436ade6fdf9fe81484758885f2d616d5d03c0a83bd2 \ + --hash=sha256:187700668c018a7e76e89424b7c1042f317c8df9161f00c0c903c82b0a8cac5c \ + --hash=sha256:1d9b5ee46dcb498fa3e46d4dfabcb531e1f2e76b477e0d99ef114f17bbd38453 \ + --hash=sha256:22da15b902f9f8e267020d1c8bcfc4831ca646fecb60254f7bc71763569f56b1 \ + --hash=sha256:24cd91a03543a0f8d09cb18d1cb27df80a84b5553d2bd94cba5979ef6af5c6e7 \ + --hash=sha256:255f1a10ae39b52122cce26ce0781f7a616f502feecce9e616976f6a87992d6b \ + --hash=sha256:271c360fdc464fe6a75f13ea0c08ddf71a321f4c55fc20a3fe62ea3ef09df7d9 \ + --hash=sha256:2ed83d53a8c5902ec48b90b2ac045e28e1698c0bea9441af9409fc844dc79496 \ + --hash=sha256:2f3e1867dd574014253b4b8f01ba443b9c914e61d45f3674e452a915d6e929a3 \ + --hash=sha256:35fbd23c1c8732cde7a94abe7fb071ec173c2f58c0bd0d7e5b669fdfc80a2c7b \ + --hash=sha256:37d0c59548ae56fae01c14998918d04ee0d5d3277363c10208eef8c4e2b68ed6 \ + --hash=sha256:39d05e65f23a0fe897b6ac395f2a8d48c56ac0f583f5d663e0afec1da89b95da \ + --hash=sha256:3ad59efe24a4d54c2742929001f2d02803aafc15d6d781c21379e3f7f66ec842 \ + --hash=sha256:3aed39db2f0ace76faa94f465d4234aac72e2f32b009f15da6492a561b3bbebd \ + --hash=sha256:3bbac1953c17252f9cc675bb19372444aadf0179b5df575ac4b56faaec9f6294 \ + --hash=sha256:40bc802a696887b14c002edd43c18082cb7b6f9ee8b838239b03b56574d97f71 \ + --hash=sha256:42f712b4668831c0cd85e0a5b5a308700fe068e37dcd24c0062904c4e372b093 \ + --hash=sha256:448a66b8266de0b581246ca7cd6a73b8d98d15100fb7165974535fa3b577340e \ + --hash=sha256:485301ee56ce87a51ccb182a4b180d852c5cb2b3cb3a82f7d4714b4141119d8c \ + --hash=sha256:485747ee62da83366a44fbba963c5fe017860ad408ccd6cd99aa66ea80d32b2e \ + --hash=sha256:4cf0855a842c5b5c391dd32ca273b09e86abf8367572073bd1edfc52bc44446b \ + --hash=sha256:4eca20917a06d2fca7628ef3c8b94a8c358f6b43f1a621c9815243462dcccf97 \ + --hash=sha256:4ed172d0c79f156c1b954e99c03bc2e3033c17efce8dd1a7c781bc4d5793dfac \ + --hash=sha256:5267cfda873ad62591b9332fd9472d2409f7cf02a34a9c9cb367e2c0255994bf \ + --hash=sha256:52b5cbc0469328e58180021138207e6ec91d7ca2e037d3549cc9e34e2187330a \ + --hash=sha256:53d7a3cd46cdc1689296348cb05ffd4f4280035770aee0c8ead3bbd4d6529acc \ + --hash=sha256:563646d74a4b4456d0cf3b714ca522e725243c603e8254ad85c3b59b7c0c4bf0 \ + --hash=sha256:570cc326e78ff23dec7f41487aa9c3dffd02e5ee9ab43a8f6ccc3df8f9327623 \ + --hash=sha256:5aca759ada6b1967fcfd4336dcf460d02a8a23e6abe06e90ea7881e5c22c4de6 \ + --hash=sha256:5de11c041486681ce854c814844f4ce3282b6ea1656faae19208ebe09d31c5b8 \ + --hash=sha256:5e271dd97c7bb8eefda5cca38cd0b0373a1fea50f71e8071376b46968582af9b \ + --hash=sha256:642ed0a209ced4be3a46f8cb094f2d76f1f479e2a1ceca6de6346a096cd3409d \ + --hash=sha256:6446002739ca29249f0beaaf067fcbc2b5aab4bc7ee8fb941bd194947ce19aff \ + --hash=sha256:691d50c99a937709ac4c4cd570d959a006bd6a6d970a484c84cc99543d4a5bbb \ + --hash=sha256:69b857a7d8bd4f5d6e0db4086da8c46309a26e8cefdfc778c0c5cc17d4b11e08 \ + --hash=sha256:6ac3fefb0d168c7c6cab24fdfc80ec62cd2b4dfd9e65b84bdceb1cb01d385c33 \ + --hash=sha256:6c9141af27a4e5819d74d67d227d5047a20fa3c7d4d9df43037a955b4c748ec5 \ + --hash=sha256:7170cbde4070dc3c77dec82abf86f3b210633d4f89550fa0ad2d4b549a05572a \ + --hash=sha256:763ad59e105fca09705d9f9b29ecffb95ecdc3b0363be3bb56081b2c6de7977a \ + --hash=sha256:77076bdc8776a2b029e1e6ffbe6d7056e35f56f5e80d9dc0bad26ad4a024a762 \ + --hash=sha256:7cd020b1fb41e3ab7716d4d2c3972d4588fdfbab9bfbbb64acc7078eccef8860 \ + --hash=sha256:821392559d37759caa67d622d0d2994c7a3f2fb29274948ac799d496d92bca73 \ + --hash=sha256:829e91f3a8574888b73e7a3feb3b1af698e717513597e23136ff4eba0bc8387a \ + --hash=sha256:850c272e0e0d1a5c5d73b1b7871b0a7c2446b304cec55ccdb3eaac0d792bb065 \ + --hash=sha256:87d9b206b1bd7a0523375dc2020a6ce88bca5330682ae2fe25e86fd5d45cea9c \ + --hash=sha256:8bd01ff4032abaed03f2db702fa9a61078bee37add0bd884a6190b05e63b028c \ + --hash=sha256:8d54bbdf5d56e2c8cf81a1857250f3ea132de77af543d0ba5dce667183b61fec \ + --hash=sha256:8efaeb08ede95066da3a3e3c420fcc0a21693fcd0c4396d0585b019613d28515 \ + --hash=sha256:8f94fdd756ba1f79f988855d948ae0bad9ddf44df296770d9a58c774cfbcca72 \ + --hash=sha256:95cde244e7195b2c07ec9b73fa4c5026d4a27233451485caa1cd0c1b55f26dbd \ + --hash=sha256:975382d9aa90dc59253d6a83a5ca72e07f4ada3ae3d6c0575ced513db322b8ec \ + --hash=sha256:9dd9d9d9e898b9d30683bdd2b6c1849449158647d1049a125879cb397ee9cd12 \ + --hash=sha256:a019a344312d0b1f429c00d49c3be62fa273d4a1094e1b224f403716b6d03be1 \ + --hash=sha256:a4d9bfda3f84fc563868fe25ca160c8ff0e69bc4443c5647f960d59400ce6557 \ + --hash=sha256:a657250807b6efd19b28f5922520ae002a54cb43c2401e6f3d0230c352564d25 \ + --hash=sha256:a771417c9c06c56c9d53d11a5b084d1de75de82978e23c544270ab25e7c066ff \ + --hash=sha256:aad6ed9e70ddfb34d849b761fb243be58c735be6a9265b9060d6ddb77751e3e8 \ + --hash=sha256:ae87137951bb3dc08c7d8bfb8988d8c119f3230731b08a71146e84aaa919a7a9 \ + --hash=sha256:af247fd4f12cca4129c1b82090244ea5a9d5bb089e9a82feb5a2f7c6a9fe181d \ + --hash=sha256:b5d4bdd697195f3876d134101c40c7d06d46c6ab25159ed5cbd44105c715278a \ + --hash=sha256:b9255e7165083de7c1d605e818025e8860636348f34a79d84ec533546064f07e \ + --hash=sha256:c22211c165166de6683de8136229721f3d5c8606cc2c3d1562da9a3a5058049c \ + --hash=sha256:c55f9821f88e8bee4b7a72c82cfb5ecd22b6aad04033334f33c329b29bfa4da0 \ + --hash=sha256:c7aed97f2e676561416c927b063802c8a6285e9b55e1b83213dfd99a8f4f9e48 \ + --hash=sha256:cd2163f42868865597d89399a01aa33b7594ce8e2c4a28503127c81a2f17784e \ + --hash=sha256:ce5e7504db95b76fc89055c7f41e367eaadef5b1d059e27e1d6eabf2b55ca314 \ + --hash=sha256:cff7351c251c7546407827b6a37bcef6416304fc54d12d44dbfecbb717064717 \ + --hash=sha256:d27aa6bbc1f33be920bb7adbb95581452cdf23005d5611b29a12bb6a3468cc95 \ + --hash=sha256:d3b52a67ac66a3a64a7e710ba629f62d1e26ca0504c29ee8cbd99b97df7079a8 \ + --hash=sha256:de61e424062173b4f70eec07e12469edde7e17fa180019a2a0d75c13a5c5dc57 \ + --hash=sha256:e10e6a1ed2b8661201e79dff5531f8ad4cdd83548a0f81c95cf79b3184b20c33 \ + --hash=sha256:e1a0ffc39f51aa5f5c22114a8f1906b3c17eba68c5babb86c5f77d8b1bba14d1 \ + --hash=sha256:e22491d25f97199fc3581ad8dd8ce198d8c8fdb8dae80dea3512e1ce6d5fa99f \ + --hash=sha256:e626b864725680cd3904414d72e7b0bd81c0e5b2b53a5b30b4273034253bb41f \ + --hash=sha256:e8c71ea77536149e36c4c784f6d420ffd20bea041e3ba21ed021cb40ce58e2c9 \ + --hash=sha256:e8d0f0eca087630d58b8c662085529781fd5dc80f0a54eda42d5c9029f812599 \ + --hash=sha256:ea65b59882d5fa8c74a23f8960db579e5e341534934f43f3b18ec1839b893e41 \ + --hash=sha256:ea93163472db26ac6043e8f7f93a05d9b59e0505c760da2a3cd22c7dd7111391 \ + --hash=sha256:eab75a8569a095f2ad470b342f2751d9902f7944704f0571c8af46bede438475 \ + --hash=sha256:ed8313809571a5463fd7db43aaca68ecb43ca7a58f5b23b6e6c6c5d02bdc7882 \ + --hash=sha256:ef5fddfb264e89c435be4adb3953cef5d2936fdeb4463b4161a6ba2f22e7b740 \ + --hash=sha256:ef750a20de1b65657a1425f77c525b0183eac63fe7b8f5ac0dd16f3668d3e64f \ + --hash=sha256:efb9ece97e696bb56e31166a9dd7919f8f0c6b31967b454718c6509f29ef6fee \ + --hash=sha256:f4c179a7aeae10ddf44c6bac87938134c1379c49c884529f090f9bf05566c836 \ + --hash=sha256:f602881d80ee4228a2355c68da6b296a296cd22bbb91e5418d54577bbf17fa7c \ + --hash=sha256:fc2200e79d75b5238c8d69f6a30f8284290c777039d331e7340b6c17cad24a5a \ + --hash=sha256:fcc1ebb7561a3e24a6588f7c6ded15d80aec22c66a070c757559b57b17ffd1cb +scikit-learn==1.3.1 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:0ce9233cdf0cdcf0858a5849d306490bf6de71fa7603a3835124e386e62f2311 \ + --hash=sha256:14e8775eba072ab10866a7e0596bc9906873e22c4c370a651223372eb62de180 \ + --hash=sha256:1a231cced3ee3fa04756b4a7ab532dc9417acd581a330adff5f2c01ac2831fcf \ + --hash=sha256:1ec668ce003a5b3d12d020d2cde0abd64b262ac5f098b5c84cf9657deb9996a8 \ + --hash=sha256:3153612ff8d36fa4e35ef8b897167119213698ea78f3fd130b4068e6f8d2da5a \ + --hash=sha256:4d379f2b34096105a96bd857b88601dffe7389bd55750f6f29aaa37bc6272eb5 \ + --hash=sha256:52b77cc08bd555969ec5150788ed50276f5ef83abb72e6f469c5b91a0009bbca \ + --hash=sha256:58b0c2490eff8355dc26e884487bf8edaccf2ba48d09b194fb2f3a026dd64f9d \ + --hash=sha256:66f7bb1fec37d65f4ef85953e1df5d3c98a0f0141d394dcdaead5a6de9170347 \ + --hash=sha256:6bb9490fdb8e7e00f1354621689187bef3cab289c9b869688f805bf724434755 \ + --hash=sha256:7d8dee8c1f40eeba49a85fe378bdf70a07bb64aba1a08fda1e0f48d27edfc3e6 \ + --hash=sha256:8454d57a22d856f1fbf3091bd86f9ebd4bff89088819886dc0c72f47a6c30652 \ + --hash=sha256:845f81c7ceb4ea6bac64ab1c9f2ce8bef0a84d0f21f3bece2126adcc213dfecd \ + --hash=sha256:8d993fb70a1d78c9798b8f2f28705bfbfcd546b661f9e2e67aa85f81052b9c53 \ + --hash=sha256:a15d964d9eb181c79c190d3dbc2fff7338786bf017e9039571418a1d53dab236 \ + --hash=sha256:a683394bc3f80b7c312c27f9b14ebea7766b1f0a34faf1a2e9158d80e860ec26 \ + --hash=sha256:a7135a03af71138669f19bc96e7d0cc8081aed4b3565cc3b131135d65fc642ba \ + --hash=sha256:c413c2c850241998168bbb3bd1bb59ff03b1195a53864f0b80ab092071af6028 \ + --hash=sha256:c6448c37741145b241eeac617028ba6ec2119e1339b1385c9720dae31367f2be \ + --hash=sha256:ccbbedae99325628c1d1cbe3916b7ef58a1ce949672d8d39c8b190e10219fd32 \ + --hash=sha256:f66eddfda9d45dd6cadcd706b65669ce1df84b8549875691b1f403730bdef217 +scipy==1.10.1 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:049a8bbf0ad95277ffba9b3b7d23e5369cc39e66406d60422c8cfef40ccc8415 \ + --hash=sha256:07c3457ce0b3ad5124f98a86533106b643dd811dd61b548e78cf4c8786652f6f \ + --hash=sha256:0f1564ea217e82c1bbe75ddf7285ba0709ecd503f048cb1236ae9995f64217bd \ + --hash=sha256:1553b5dcddd64ba9a0d95355e63fe6c3fc303a8fd77c7bc91e77d61363f7433f \ + --hash=sha256:15a35c4242ec5f292c3dd364a7c71a61be87a3d4ddcc693372813c0b73c9af1d \ + --hash=sha256:1b4735d6c28aad3cdcf52117e0e91d6b39acd4272f3f5cd9907c24ee931ad601 \ + --hash=sha256:2cf9dfb80a7b4589ba4c40ce7588986d6d5cebc5457cad2c2880f6bc2d42f3a5 \ + --hash=sha256:39becb03541f9e58243f4197584286e339029e8908c46f7221abeea4b749fa88 \ + --hash=sha256:43b8e0bcb877faf0abfb613d51026cd5cc78918e9530e375727bf0625c82788f \ + --hash=sha256:4b3f429188c66603a1a5c549fb414e4d3bdc2a24792e061ffbd607d3d75fd84e \ + --hash=sha256:4c0ff64b06b10e35215abce517252b375e580a6125fd5fdf6421b98efbefb2d2 \ + --hash=sha256:51af417a000d2dbe1ec6c372dfe688e041a7084da4fdd350aeb139bd3fb55353 \ + --hash=sha256:5678f88c68ea866ed9ebe3a989091088553ba12c6090244fdae3e467b1139c35 \ + --hash=sha256:79c8e5a6c6ffaf3a2262ef1be1e108a035cf4f05c14df56057b64acc5bebffb6 \ + --hash=sha256:7ff7f37b1bf4417baca958d254e8e2875d0cc23aaadbe65b3d5b3077b0eb23ea \ + --hash=sha256:aaea0a6be54462ec027de54fca511540980d1e9eea68b2d5c1dbfe084797be35 \ + --hash=sha256:bce5869c8d68cf383ce240e44c1d9ae7c06078a9396df68ce88a1230f93a30c1 \ + --hash=sha256:cd9f1027ff30d90618914a64ca9b1a77a431159df0e2a195d8a9e8a04c78abf9 \ + --hash=sha256:d925fa1c81b772882aa55bcc10bf88324dadb66ff85d548c71515f6689c6dac5 \ + --hash=sha256:e7354fd7527a4b0377ce55f286805b34e8c54b91be865bac273f527e1b839019 \ + --hash=sha256:fae8a7b898c42dffe3f7361c40d5952b6bf32d10c4569098d276b4c547905ee1 +setuptools-scm==8.0.3 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:0169fd70197efda2f8c4d0b2a7a3d614431b488116f37b79d031e9e7ec884d8c \ + --hash=sha256:813822234453438a13c78d05c8af29918fbc06f88efb33d38f065340bbb48c39 +setuptools==68.2.2 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:4ac1475276d2f1c48684874089fefcd83bd7162ddaafb81fac866ba0db282a87 \ + --hash=sha256:b454a35605876da60632df1a60f736524eb73cc47bbc9f3f1ef1b644de74fd2a +six==1.16.0 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926 \ + --hash=sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254 +smmap==5.0.1 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:dceeb6c0028fdb6734471eb07c0cd2aae706ccaecab45965ee83f11c8d3b1f62 \ + --hash=sha256:e6d8668fa5f93e706934a62d7b4db19c8d9eb8cf2adbb75ef1b675aa332b69da +sniffio==1.3.0 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101 \ + --hash=sha256:eecefdce1e5bbfb7ad2eeaabf7c1eeb404d7757c379bd1f7e5cce9d8bf425384 +sympy==1.12 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:c3588cd4295d0c0f603d0f2ae780587e64e2efeedb3521e46b9bb1d08d184fa5 \ + --hash=sha256:ebf595c8dac3e0fdc4152c51878b498396ec7f30e7a914d6071e674d49420fb8 +threadpoolctl==3.2.0 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:2b7818516e423bdaebb97c723f86a7c6b0a83d3f3b0970328d66f4d9104dc032 \ + --hash=sha256:c96a0ba3bdddeaca37dc4cc7344aafad41cdb8c313f74fdfe387a867bba93355 +tomli==2.0.1 ; python_full_version >= "3.8.1" and python_version < "3.11" \ + --hash=sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc \ + --hash=sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f +torch-cluster==1.6.1+pt20cpu ; python_full_version >= "3.8.1" and python_version < "3.12" and (sys_platform == "linux" or sys_platform == "darwin") \ + --hash=sha256:6d1986792d2f2134ad5a95d514bba49828b249eed5c0033fcce9e2dc1bb9186a \ + --hash=sha256:82d3260f66eda76e2aee9b458440b2308bf4b403353c844ae45438df89f5d91b \ + --hash=sha256:88ae100e5d2293e38e31aad4f9ab4d88e6ae8d75f5b3a0fc950c83d65dd722b3 \ + --hash=sha256:972f0ef23675e7cab0dd49f98df5c501ac5e163572de29cf3892609613055792 \ + --hash=sha256:b775998e2bedf73066e596d919bda4cddc75226d4feaeffc54869a8f3fc672e7 \ + --hash=sha256:cbd906f2f8918f7f269ee7015ddd819bbf3cd3893da5a8db8c15fe78656791e1 \ + --hash=sha256:f666e7b2dbdffaf9be44aa0dd4cbbec14ca9595a3ad0b15c7234339ee2b9717a \ + --hash=sha256:fad2b6a167c41f9f70a04f9c87e70382f115f5699d372ac35f7237a7f2b833f5 +torch-geometric==2.3.1 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:454fd0bbc128a17a4b9d15010ba9f66d48ec8cd7277991b888a7770263fa125d +torch-scatter==2.1.1+pt20cpu ; python_full_version >= "3.8.1" and python_version < "3.12" and (sys_platform == "linux" or sys_platform == "darwin") \ + --hash=sha256:2f725dd2aa4074b41fbbe750e9a04b15e1348907f1294a60256f1bc42ea0c01a \ + --hash=sha256:6d85d654a8a26d521c3bea66a1ed1d115106be2e4475016aaa97a3e448c1e0c9 \ + --hash=sha256:c7d913cb9675a3f16d852aced4c2ee9a99e7da81b7bdf5e5e301c071fd9897c1 \ + --hash=sha256:cdb401a563bd1db7d23e0e947eca3311999e971b083358e1b8fde8d17e7f2990 \ + --hash=sha256:d2511cfb8f0d9c9fb8207c58d1ac73dc0bc815f063f12dde714408ec066c8ee2 \ + --hash=sha256:d6f6541fe27d9d02003e2ce8488acc32c89bb0054939cd763ef88e4dd6dbf18d \ + --hash=sha256:ed889e3145f8e463e7c61b435d0a6b053329e1d51e65100a529d1a8b98fa45ba \ + --hash=sha256:f04f52029f251f8315e400c1b808fe6300f544aba52f59e4c8fb6c43514b785e +torch-sparse==0.6.17+pt20cpu ; python_full_version >= "3.8.1" and python_version < "3.12" and (sys_platform == "linux" or sys_platform == "darwin") \ + --hash=sha256:0d26c58a530482b9b527be32d640d227d854334b2058cbed9e20b02465483f99 \ + --hash=sha256:418c98cdbc652805f50472c28e1a0498c79d872c921dc71811c333f2d8f0e49e \ + --hash=sha256:8143cfdaa683e910133ce1656daf214882394f27b4f02a1f7dfc7a69439c3355 \ + --hash=sha256:a05358d565c724a8209bec1839d9d6c7cd896d9ea1253c75b03bf0c5ebed2390 \ + --hash=sha256:aa3f9ccd9dfdc0c249daddcd97bbe40c6e915ef20c1c724e4b99b4fc7ca07e18 \ + --hash=sha256:b3ba774cdaf89894677e01cf0de546dc19df30d8a8a9a105ed0484e391ae216c \ + --hash=sha256:e4b4604d035b91f50daddd5db17e8293aa5502af8c0e698d52b7c0479fb3615a \ + --hash=sha256:fb6e34e22d34a073aaf40edafc7ee4cbf9b837b9390558956f9e04c6adcc28db +torch-spline-conv==1.2.2+pt20cpu ; python_full_version >= "3.8.1" and python_version < "3.12" and (sys_platform == "linux" or sys_platform == "darwin") \ + --hash=sha256:03814ce3251f2dd177d28c2ae0a3b406e4bafce7cd7957818325cc0e0710a7be \ + --hash=sha256:5e38e034ab7c8f2432e50fb6a090c5e3bbdca7ca7985c8bf52d0b1d8ebe3aee4 \ + --hash=sha256:78b9ae2dbc882861a9f6c405d0059d2e14f789d03b455e54f9adbcc1158cb8b7 \ + --hash=sha256:8be0abe79f15a310ffb91c6c53d0dd7cd5bf80f4d89f38331db8eae3a3cf5bf7 \ + --hash=sha256:9b7161d3cbc1f49e5b4676d37f46d4a61fe922e9477c79b853eaf0d33e1c53c8 \ + --hash=sha256:b2143efff50097a01baf647c0df37e77bdfab186d6841de44112c48dad50d872 \ + --hash=sha256:c9a8e1c04a04ae602d1575517ce726ad6fcc6ad3b234f04fa09a492916716bb7 \ + --hash=sha256:d78c53e96ed583eae5046d4a79918e095f52161ba67fb43f0ec3d49e100c1fce +torch==2.0.1+cpu ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:274d4acf486ef50ce1066ffe9d500beabb32bde69db93e3b71d0892dd148956c \ + --hash=sha256:2ac4382ff090035f9045b18afe5763e2865dd35f2d661c02e51f658d95c8065a \ + --hash=sha256:73482a223d577407c45685fde9d2a74ba42f0d8d9f6e1e95c08071dc55c47d7b \ + --hash=sha256:8046f49deae5a3d219b9f6059a1f478ae321f232e660249355a8bf6dcaa810c1 \ + --hash=sha256:ca88b499973c4c027e32c4960bf20911d7e984bd0c55cda181dc643559f3d93f \ + --hash=sha256:e2603310bdff4b099c4c41ae132192fc0d6b00932ae2621d52d87218291864be \ + --hash=sha256:f263f8e908288427ae81441fef540377f61e339a27632b1bbe33cf78292fdaea \ + --hash=sha256:fec257249ba014c68629a1994b0c6e7356e20e1afc77a87b9941a40e5095285d +torchdata==0.6.1 ; python_full_version >= "3.8.1" and python_version < "3.12" and (sys_platform == "linux" or sys_platform == "darwin") \ + --hash=sha256:05db07d2793d181867578be99c211b3c71f83f3fda0bf33a70e5c93794513692 \ + --hash=sha256:080c1c54128b4eb8e83cf4de74fa38e892cd6bf3114a557a853969543285f2d9 \ + --hash=sha256:08b745c14adea7e4a36de4241485f9ea058e3ad3959c3e6dd1526c2f278006e7 \ + --hash=sha256:129d5b2d35717862b194b31a27b61b5faa9efd4ffc36c1a07d85b320dea8b4c6 \ + --hash=sha256:24d7fb2fcb0af43660fc44d8583cb8f7d25762bb759e8fde003db29c5036d940 \ + --hash=sha256:2752fd8452d42aeaf480985f5d3d82506ab1ce51ca42cdb61c981145cd2890a8 \ + --hash=sha256:3501325411063b0da6d85c93222234973780ca3df7d110ee1795723f9b2e3405 \ + --hash=sha256:42961c40bf9c3fb66aaf4189f9154cb4f2eb3862359e64267708e3d273452d68 \ + --hash=sha256:6474ed86ed7e060698888fa8ece9155dc94bdb9dfcc1874fa6d7707823551adc \ + --hash=sha256:6a6d51cfbb63efe65788ad71e84c2be23a0c6520869e075774e7fc2ee535b9ed \ + --hash=sha256:6a9d4c7d86b0aab2f70cdf0eae50f6eea997051889b0c04ae2f843df048ba9ea \ + --hash=sha256:7e11108140adaba55491b6124f07b61cce161f53f8604e70961da025ccd014bd \ + --hash=sha256:87d012adf90cd15d7164a886512b6746788477172394fe56971799d276f8809e \ + --hash=sha256:b97f60619764d5f2f62ebcf18bff8a7cfc5c84d30d04d30724b753ec95864a70 \ + --hash=sha256:cae1b4a516124c00ef47db12bab0cc6898bd2d7e749ffb14b6ebf1fe610a6b46 \ + --hash=sha256:f2a8b0a388753502d49bd5bd186cd8d41dc2d91121246617804578371591b5e6 \ + --hash=sha256:ff46aa549c0da9aa2bcba95767034a81c950dc7ccc0e24f38cf6f7878ca1826d +torchtext==0.15.2+cpu ; python_full_version >= "3.8.1" and python_version < "3.12" and (sys_platform == "linux" or sys_platform == "darwin") \ + --hash=sha256:08faa135ec6eaf57ab252708b9fed7005088bd57aafd67f7974fda45d28df0fa \ + --hash=sha256:483e5822a1d187043ee7c9ab7e61d42eb00621396b4053590105c3b5fff1edef \ + --hash=sha256:48fe6e6178bc3345798e2e61d27218bd55df9a2a312aff42e74fa92046542072 \ + --hash=sha256:78088ad4bb5fb1001bb1b07471344e4c134090da29a40d43f7230f697cc1dfe9 +tqdm==4.66.1 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:d302b3c5b53d47bce91fea46679d9c3c6508cf6332229aa1e7d8653723793386 \ + --hash=sha256:d88e651f9db8d8551a62556d3cff9e3034274ca5d66e93197cf2490e2dcb69c7 +typing-extensions==4.8.0 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:8f92fc8806f9a6b641eaa5318da32b44d401efaac0f6678c9bc448ba3605faa0 \ + --hash=sha256:df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef +tzdata==2023.3 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:11ef1e08e54acb0d4f95bdb1be05da659673de4acbd21bf9c69e94cc5e907a3a \ + --hash=sha256:7e65763eef3120314099b6939b5546db7adce1e7d6f2e179e3df563c70511eda +urllib3==2.0.5 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:13abf37382ea2ce6fb744d4dad67838eec857c9f4f57009891805e0b5e123594 \ + --hash=sha256:ef16afa8ba34a1f989db38e1dbbe0c302e4289a47856990d0682e374563ce35e +websockets==11.0.3 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:01f5567d9cf6f502d655151645d4e8b72b453413d3819d2b6f1185abc23e82dd \ + --hash=sha256:03aae4edc0b1c68498f41a6772d80ac7c1e33c06c6ffa2ac1c27a07653e79d6f \ + --hash=sha256:0ac56b661e60edd453585f4bd68eb6a29ae25b5184fd5ba51e97652580458998 \ + --hash=sha256:0ee68fe502f9031f19d495dae2c268830df2760c0524cbac5d759921ba8c8e82 \ + --hash=sha256:1553cb82942b2a74dd9b15a018dce645d4e68674de2ca31ff13ebc2d9f283788 \ + --hash=sha256:1a073fc9ab1c8aff37c99f11f1641e16da517770e31a37265d2755282a5d28aa \ + --hash=sha256:1d2256283fa4b7f4c7d7d3e84dc2ece74d341bce57d5b9bf385df109c2a1a82f \ + --hash=sha256:1d5023a4b6a5b183dc838808087033ec5df77580485fc533e7dab2567851b0a4 \ + --hash=sha256:1fdf26fa8a6a592f8f9235285b8affa72748dc12e964a5518c6c5e8f916716f7 \ + --hash=sha256:2529338a6ff0eb0b50c7be33dc3d0e456381157a31eefc561771ee431134a97f \ + --hash=sha256:279e5de4671e79a9ac877427f4ac4ce93751b8823f276b681d04b2156713b9dd \ + --hash=sha256:2d903ad4419f5b472de90cd2d40384573b25da71e33519a67797de17ef849b69 \ + --hash=sha256:332d126167ddddec94597c2365537baf9ff62dfcc9db4266f263d455f2f031cb \ + --hash=sha256:34fd59a4ac42dff6d4681d8843217137f6bc85ed29722f2f7222bd619d15e95b \ + --hash=sha256:3580dd9c1ad0701169e4d6fc41e878ffe05e6bdcaf3c412f9d559389d0c9e016 \ + --hash=sha256:3ccc8a0c387629aec40f2fc9fdcb4b9d5431954f934da3eaf16cdc94f67dbfac \ + --hash=sha256:41f696ba95cd92dc047e46b41b26dd24518384749ed0d99bea0a941ca87404c4 \ + --hash=sha256:42cc5452a54a8e46a032521d7365da775823e21bfba2895fb7b77633cce031bb \ + --hash=sha256:4841ed00f1026dfbced6fca7d963c4e7043aa832648671b5138008dc5a8f6d99 \ + --hash=sha256:4b253869ea05a5a073ebfdcb5cb3b0266a57c3764cf6fe114e4cd90f4bfa5f5e \ + --hash=sha256:54c6e5b3d3a8936a4ab6870d46bdd6ec500ad62bde9e44462c32d18f1e9a8e54 \ + --hash=sha256:619d9f06372b3a42bc29d0cd0354c9bb9fb39c2cbc1a9c5025b4538738dbffaf \ + --hash=sha256:6505c1b31274723ccaf5f515c1824a4ad2f0d191cec942666b3d0f3aa4cb4007 \ + --hash=sha256:660e2d9068d2bedc0912af508f30bbeb505bbbf9774d98def45f68278cea20d3 \ + --hash=sha256:6681ba9e7f8f3b19440921e99efbb40fc89f26cd71bf539e45d8c8a25c976dc6 \ + --hash=sha256:68b977f21ce443d6d378dbd5ca38621755f2063d6fdb3335bda981d552cfff86 \ + --hash=sha256:69269f3a0b472e91125b503d3c0b3566bda26da0a3261c49f0027eb6075086d1 \ + --hash=sha256:6f1a3f10f836fab6ca6efa97bb952300b20ae56b409414ca85bff2ad241d2a61 \ + --hash=sha256:7622a89d696fc87af8e8d280d9b421db5133ef5b29d3f7a1ce9f1a7bf7fcfa11 \ + --hash=sha256:777354ee16f02f643a4c7f2b3eff8027a33c9861edc691a2003531f5da4f6bc8 \ + --hash=sha256:84d27a4832cc1a0ee07cdcf2b0629a8a72db73f4cf6de6f0904f6661227f256f \ + --hash=sha256:8531fdcad636d82c517b26a448dcfe62f720e1922b33c81ce695d0edb91eb931 \ + --hash=sha256:86d2a77fd490ae3ff6fae1c6ceaecad063d3cc2320b44377efdde79880e11526 \ + --hash=sha256:88fc51d9a26b10fc331be344f1781224a375b78488fc343620184e95a4b27016 \ + --hash=sha256:8a34e13a62a59c871064dfd8ffb150867e54291e46d4a7cf11d02c94a5275bae \ + --hash=sha256:8c82f11964f010053e13daafdc7154ce7385ecc538989a354ccc7067fd7028fd \ + --hash=sha256:92b2065d642bf8c0a82d59e59053dd2fdde64d4ed44efe4870fa816c1232647b \ + --hash=sha256:97b52894d948d2f6ea480171a27122d77af14ced35f62e5c892ca2fae9344311 \ + --hash=sha256:9d9acd80072abcc98bd2c86c3c9cd4ac2347b5a5a0cae7ed5c0ee5675f86d9af \ + --hash=sha256:9f59a3c656fef341a99e3d63189852be7084c0e54b75734cde571182c087b152 \ + --hash=sha256:aa5003845cdd21ac0dc6c9bf661c5beddd01116f6eb9eb3c8e272353d45b3288 \ + --hash=sha256:b16fff62b45eccb9c7abb18e60e7e446998093cdcb50fed33134b9b6878836de \ + --hash=sha256:b30c6590146e53149f04e85a6e4fcae068df4289e31e4aee1fdf56a0dead8f97 \ + --hash=sha256:b58cbf0697721120866820b89f93659abc31c1e876bf20d0b3d03cef14faf84d \ + --hash=sha256:b67c6f5e5a401fc56394f191f00f9b3811fe843ee93f4a70df3c389d1adf857d \ + --hash=sha256:bceab846bac555aff6427d060f2fcfff71042dba6f5fca7dc4f75cac815e57ca \ + --hash=sha256:bee9fcb41db2a23bed96c6b6ead6489702c12334ea20a297aa095ce6d31370d0 \ + --hash=sha256:c114e8da9b475739dde229fd3bc6b05a6537a88a578358bc8eb29b4030fac9c9 \ + --hash=sha256:c1f0524f203e3bd35149f12157438f406eff2e4fb30f71221c8a5eceb3617b6b \ + --hash=sha256:c792ea4eabc0159535608fc5658a74d1a81020eb35195dd63214dcf07556f67e \ + --hash=sha256:c7f3cb904cce8e1be667c7e6fef4516b98d1a6a0635a58a57528d577ac18a128 \ + --hash=sha256:d67ac60a307f760c6e65dad586f556dde58e683fab03323221a4e530ead6f74d \ + --hash=sha256:dcacf2c7a6c3a84e720d1bb2b543c675bf6c40e460300b628bab1b1efc7c034c \ + --hash=sha256:de36fe9c02995c7e6ae6efe2e205816f5f00c22fd1fbf343d4d18c3d5ceac2f5 \ + --hash=sha256:def07915168ac8f7853812cc593c71185a16216e9e4fa886358a17ed0fd9fcf6 \ + --hash=sha256:df41b9bc27c2c25b486bae7cf42fccdc52ff181c8c387bfd026624a491c2671b \ + --hash=sha256:e052b8467dd07d4943936009f46ae5ce7b908ddcac3fda581656b1b19c083d9b \ + --hash=sha256:e063b1865974611313a3849d43f2c3f5368093691349cf3c7c8f8f75ad7cb280 \ + --hash=sha256:e1459677e5d12be8bbc7584c35b992eea142911a6236a3278b9b5ce3326f282c \ + --hash=sha256:e1a99a7a71631f0efe727c10edfba09ea6bee4166a6f9c19aafb6c0b5917d09c \ + --hash=sha256:e590228200fcfc7e9109509e4d9125eace2042fd52b595dd22bbc34bb282307f \ + --hash=sha256:e6316827e3e79b7b8e7d8e3b08f4e331af91a48e794d5d8b099928b6f0b85f20 \ + --hash=sha256:e7837cb169eca3b3ae94cc5787c4fed99eef74c0ab9506756eea335e0d6f3ed8 \ + --hash=sha256:e848f46a58b9fcf3d06061d17be388caf70ea5b8cc3466251963c8345e13f7eb \ + --hash=sha256:ed058398f55163a79bb9f06a90ef9ccc063b204bb346c4de78efc5d15abfe602 \ + --hash=sha256:f2e58f2c36cc52d41f2659e4c0cbf7353e28c8c9e63e30d8c6d3494dc9fdedcf \ + --hash=sha256:f467ba0050b7de85016b43f5a22b46383ef004c4f672148a8abf32bc999a87f0 \ + --hash=sha256:f61bdb1df43dc9c131791fbc2355535f9024b9a04398d3bd0684fc16ab07df74 \ + --hash=sha256:fb06eea71a00a7af0ae6aefbb932fb8a7df3cb390cc217d51a9ad7343de1b8d0 \ + --hash=sha256:ffd7dcaf744f25f82190856bc26ed81721508fc5cbf2a330751e135ff1283564 +werkzeug==3.0.0 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:3ffff4dcc32db52ef3cc94dff3000a3c2846890f3a5a51800a27b909c5e770f0 \ + --hash=sha256:cbb2600f7eabe51dbc0502f58be0b3e1b96b893b05695ea2b35b43d4de2d9962 +wsproto==1.2.0 ; python_full_version >= "3.8.1" and python_version < "3.12" \ + --hash=sha256:ad565f26ecb92588a3e43bc3d96164de84cd9902482b130d0ddbaa9664a85065 \ + --hash=sha256:b9acddd652b585d75b20477888c56642fdade28bdfd3579aa24a4d2c037dd736 +zipp==3.17.0 ; python_full_version >= "3.8.1" and python_version < "3.10" \ + --hash=sha256:0e923e726174922dce09c53c59ad483ff7bbb8e572e00c7f7c46b88556409f31 \ + --hash=sha256:84e64a1c28cf7e91ed2078bb8cc8c259cb19b76942096c8d7b84947690cabaf0 From b668960fba77200e52e0ee530bd49166baeab8b0 Mon Sep 17 00:00:00 2001 From: Prabhu Subramanian Date: Mon, 2 Oct 2023 11:57:47 +0100 Subject: [PATCH 5/5] Windows bug fix Signed-off-by: Prabhu Subramanian --- utils.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utils.js b/utils.js index cb50090690..c8bd3d469d 100644 --- a/utils.js +++ b/utils.js @@ -2609,11 +2609,11 @@ export async function parseReqFile(reqData, fetchDepsInfo) { const pkgList = []; let compScope = undefined; reqData + .replace(/\r/g, "") .replace(/ [\\]\n/g, "") .replace(/ {4}/g, " ") .split("\n") .forEach((l) => { - l = l.replace("\r", ""); l = l.trim(); let markers = undefined; if (l.includes(" ; ")) {