diff --git a/.github/.wordlist.txt b/.github/.wordlist.txt
index 8d8e278a..50cdc089 100644
--- a/.github/.wordlist.txt
+++ b/.github/.wordlist.txt
@@ -1,4 +1,8 @@
adoc
+adoptium
+Adoptium
+Apache
+apache
aiservices
amazonaws
Anbalagan
@@ -26,6 +30,7 @@ CarImage
cd
centric
cephfs
+cgi
Chase
ChatGPT
ChatOps
@@ -72,6 +77,8 @@ Erwan
eslint
Eventing
EXAMPLEs
+executables
+executable
FastAPI
ffdrf
fi
@@ -91,6 +98,7 @@ gitops
GitOps
Globex
GPUs
+GraalVM
Grafana
Granafa
Granger
@@ -114,6 +122,8 @@ Immage
InfluxDB
Inlining
insecureEdgeTerminationPolicy
+InstructLab
+instructlab
io
ipynb
jpg
@@ -160,6 +170,8 @@ ods
ojsonpath
ok
onnx
+openai
+OpenAI
opencv
OpenCV
openshift
@@ -194,6 +206,8 @@ py
pytorch
Pytorch
quantized
+Quarkus
+quarkus
rbac
README
readonly
@@ -214,6 +228,7 @@ roboflow
Roboflow
RoboFlow
rollout
+runnable
runtime
RWX
selfHeal
@@ -243,6 +258,7 @@ TODO
txt
TypeScript
UAT
+über
UI
un
unopinionated
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
new file mode 100644
index 00000000..cb616581
--- /dev/null
+++ b/.github/dependabot.yml
@@ -0,0 +1,13 @@
+version: 2
+updates:
+ - package-ecosystem: maven
+ directory: app
+ schedule:
+ interval: daily
+ target-branch: dev
+
+ - package-ecosystem: github-actions
+ directory: /
+ schedule:
+ interval: daily
+ target-branch: dev
\ No newline at end of file
diff --git a/.github/workflows/simple-build-test.yml b/.github/workflows/simple-build-test.yml
new file mode 100644
index 00000000..4bde0ed8
--- /dev/null
+++ b/.github/workflows/simple-build-test.yml
@@ -0,0 +1,55 @@
+name: Simple build and test
+
+on:
+ push:
+ branches:
+ - dev
+ paths-ignore:
+ - '**/*.md'
+ - '.github/dependabot.yml'
+ - '.github/workflows/dependabot-automerge.yml'
+ pull_request:
+ branches:
+ - dev
+ paths-ignore:
+ - '**/*.md'
+ - '.github/dependabot.yml'
+ - '.github/workflows/dependabot-automerge.yml'
+ workflow_dispatch:
+
+concurrency:
+ group: "workflow = ${{ github.workflow }}, ref = ${{ github.event.ref }}, pr = ${{ github.event.pull_request.id }}"
+ cancel-in-progress: ${{ github.event_name == 'pull_request' }}
+
+jobs:
+ jvm-build-test:
+ runs-on: ubuntu-latest
+ strategy:
+ fail-fast: false
+ matrix:
+ java:
+ - '17'
+ - '21'
+ services:
+ ollama:
+ image: ollama/ollama
+ ports:
+ - 11434:11434
+ name: "jvm-build-test-${{ matrix.java }}"
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: Setup Java ${{ matrix.java }}
+ uses: actions/setup-java@v4
+ with:
+ java-version: ${{ matrix.java }}
+ distribution: temurin
+ cache: maven
+
+ - name: "build-test-jvm-java${{ matrix.java }}"
+ working-directory: app
+ run: |
+ ./mvnw -B clean verify \
+ -Dquarkus.langchain4j.chat-model.provider=ollama \
+ -Dquarkus.http.host=0.0.0.0 \
+ -Dmaven.compiler.release=${{ matrix.java }}
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index 0d4985f9..8ede2416 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
+.quinoa
# editor
.idea/
.vscode/
@@ -50,3 +51,4 @@ package-lock.json
lab-materials/04/datasets/*
lab-materials/04/runs/*
+**/target/**
\ No newline at end of file
diff --git a/README.md b/README.md
index 50cdc5a7..c119a4c1 100644
--- a/README.md
+++ b/README.md
@@ -1,122 +1,37 @@
-# OpenShift AI Unleashed: Transforming Claims Processing for Maximum Efficiency!
+# Parasol Insurance
-## Introduction
+A [Quarkus](https://quarkus.io) + [React](https://react.dev/) AI app for managing fictitious insurance claims. Uses [Quarkus Quinoa](https://docs.quarkiverse.io/quarkus-quinoa/dev/index.html) under the covers.
-This repository contains the code, instructions, resources and materials associated with the Lab called **OpenShift AI Unleashed: Transforming Claims Processing for Maximum Efficiency!**.
+![App](app/frontend/src/app/assets/images/sample.png)
-To consult the static version of the instructions, please use [this URL](https://rh-aiservices-bu.github.io/parasol-insurance/)
+## Pre-requisites
-If you want to participate in the creation and update of this content, please consult the sections below.
+- Java 17 or later -- Get it https://adoptium.net/ or install using your favorite package manager.
+- Maven 3.9.6 or later -- Get it https://maven.apache.org/download.cgi or install using your favorite package manager.
+ - Or just use the embedded [Maven Wrapper](https://maven.apache.org/wrapper)
+- An OpenAI-capable LLM inference server. Get one here with [InstructLab](https://github.com/instructlab/instructlab)!
-
- Display Development-centric information
+## To Configure on InstructLab instance of Red Hat Demo Platform
-## General Development Information
-### Working with this repo
+You can execute [this](https://gist.githubusercontent.com/jameslabocki/748e191006d0e311dec21c72e95570d1/raw/3c40273c962c3ee598a13dd853b831ac9df884ff/gistfile1.txt) to install the parasol app on the InstructLab instance for Red Hat Demo Platform.
-- `main` branch is the one used for production. That's where the Prod and Test catalog items from [demo.redhat.com](https://demo.redhat.com) point to (instructions, materials used,...).
-- `dev` branch is for development. That's where the Dev catalog item points to.
-- Branches are made from `dev` (hot fixes could be made from `main` if really needed).
-- When ready, PRs should be made to `dev`. Once all features, bug fixes,... are checked in and tested for a new release, another PR will be made from `dev` to `main`.
-- Branches must be prefixed with `/feature` (example `feature/new-pipeline-instructions`), `bugfix`, or other meaningful info.
-- Add your name/handle in the branch name if needed to avoid confusion.
-- If your development relates to an Issue or a Feature Request, add its reference in the branch name.
-- Try to stash your changes before submitting a PR.
-## How to update the **Instructions**
-Useful link: [https://redhat-scholars.github.io/build-course/rhs-build-course/develop.html](https://redhat-scholars.github.io/build-course/rhs-build-course/develop.html)
+## Configuration
-### Requirements
+You can change the coordinates (host/port and other stuff) for the LLM and backend in `app/backend/src/main/resources/application.properties`.
-- Podman or Docker
+## Running
-### Development
-
-- Add/Modify/Delete content in [content/modules/ROOT](content/modules/ROOT).
-- Navigation is handled in `nav.adoc`.
-- Content pages are in the `pages` folder.
-- To build the site, from the root of the repo, run `./content/utilities/lab-build`.
-- To serve the site for previewing, from the root of the repo, run `./content/utilities/lab-serve`.
-- The site will be visible at [http://localhost:8443/](http://localhost:8443/)
-- When finished, you can stop serving the site by running from the root of the repo `./content/utilities/lab-stop`.
-
-## How to update the **Application**
-
-### Requirements
-
-- Python 3.11
-- Nodejs > 18
-- An existing instance of Hugging Face TGI with a loaded model available at `INFERENCE_SERVER_URL`. This application is based on Mistral-TB Prompt format. You will need to modify this format if you are using a different model.
-
-### Installation
-
-Run `npm install` from the main folder.
-
-If you want to install packages manually:
-
-- In the `frontend` folder, install the node modules with `npm install`.
-- In the `backend` folder, create a venv and install packages with the provided Pipfile/Pipfile.lock files.
-- In the `backend` folder, create the file `.env` base on the example `.env.example` and enter the configuration for the Inference server.
-
-### Development
-
-From the main folder, launch `npm run dev` or `./start-dev.sh`. This will launch both backend and frontend.
-
-- Frontend is accessible at `http://localhost:9000`
-- Backend is accessible at `http://localhost:5000`, with Swagger API doc at `http://localhost:5000/docs`
-
-```bash
-#!/bin/bash
-
-# Script to restart all showroom pods - You must be logged in as a cluster admin to run this script
-
-# Get all namespaces
-namespaces=$(oc get namespaces -o jsonpath='{.items[*].metadata.name}' \
- | tr ' ' '\n' \
- | grep '^showroom')
-
-# Stop all the pods
-for namespace in $namespaces; do
- # Check if the deployment "showroom" exists in the namespace
- if oc -n $namespace get deployment showroom &> /dev/null; then
- # If it exists, restart the rollout
- # oc -n $namespace rollout restart deployment/showroom
- oc -n $namespace scale deploy showroom --replicas=0
- fi
-done
-
-
-# wait for them all to fully stop
-# start all the pods
-for namespace in $namespaces; do
- # Check if the deployment "showroom" exists in the namespace
- if oc -n $namespace get deployment showroom &> /dev/null; then
- # If it exists, restart the rollout
- # oc -n $namespace rollout restart deployment/showroom
- oc -n $namespace scale deploy showroom --replicas=1
- fi
-done
+First, get your inference server up and running. For example, with [InstructLab](https://github.com/instructlab/instructlab), the default after running `ilab serve` is that the server is listening on `localhost:8000`. This is the default for this app as well.
+Then:
```
+cd app;
+./mvnw clean quarkus:dev
+```
+App will open on `http://0.0.0.0:8005`.
-## How to graduate code from dev to main
-
-- From `dev`, create a new branch, like `feature/prepare-for-main-merge`.
-- Modify the following files to make their relevant content point to `main`:
- - `bootstrap/applicationset/applicationset-bootstrap.yaml`
- - `content/antora.yml`
- - `content/modules/ROOT/pages/05-03-web-app-deploy-application.adoc`
-- Make a pull request from this branch to `main`, review and merge
-
-
-
-
- Links for Summit event environment assignment
-
-- URL for all labs: [https://one.demo.redhat.com/](https://one.demo.redhat.com/)
-- Search for `parasol`
-
-
+Open the app, click on a claim, click on the chat app, and start asking questions. The context of the claim is sent to the LLM along with your Query, and the response is shown in the chat (it may take time depending on your machine's performance).
diff --git a/app/.dockerignore b/app/.dockerignore
new file mode 100644
index 00000000..39775685
--- /dev/null
+++ b/app/.dockerignore
@@ -0,0 +1,4 @@
+!target/*-runner
+!target/*-runner.jar
+!target/lib/*
+!target/quarkus-app/*
diff --git a/app/.gitignore b/app/.gitignore
new file mode 100644
index 00000000..36d47ed0
--- /dev/null
+++ b/app/.gitignore
@@ -0,0 +1,44 @@
+#Maven
+target/
+pom.xml.tag
+pom.xml.releaseBackup
+pom.xml.versionsBackup
+release.properties
+.flattened-pom.xml
+
+# Eclipse
+.project
+.classpath
+.settings/
+bin/
+
+# IntelliJ
+.idea
+*.ipr
+*.iml
+*.iws
+
+# NetBeans
+nb-configuration.xml
+
+# Visual Studio Code
+.vscode
+.factorypath
+
+# OSX
+.DS_Store
+
+# Vim
+*.swp
+*.swo
+
+# patch
+*.orig
+*.rej
+
+# Local environment
+.env
+
+# Plugin directory
+/.quarkus/cli/plugins/
+node_modules/
\ No newline at end of file
diff --git a/app/.mvn/wrapper/maven-wrapper.properties b/app/.mvn/wrapper/maven-wrapper.properties
new file mode 100644
index 00000000..48a56c99
--- /dev/null
+++ b/app/.mvn/wrapper/maven-wrapper.properties
@@ -0,0 +1,19 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+wrapperVersion=3.3.2
+distributionType=only-script
+distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.6/apache-maven-3.9.6-bin.zip
diff --git a/app/Containerfile b/app/Containerfile
deleted file mode 100644
index ca4a7b0a..00000000
--- a/app/Containerfile
+++ /dev/null
@@ -1,21 +0,0 @@
-FROM registry.access.redhat.com/ubi9/nodejs-18 as stage
-
-USER root
-
-WORKDIR /tmp
-
-RUN git clone https://github.com/rh-aiservices-bu/parasol-insurance.git
-
-FROM registry.access.redhat.com/ubi9/nodejs-18
-
-USER root
-
-COPY --from=stage /tmp/parasol-insurance/app/ /tmp/src
-
-RUN chown -R 1001:0 /tmp/src
-
-USER 1001
-
-RUN /usr/libexec/s2i/assemble
-
-CMD /usr/libexec/s2i/run
diff --git a/app/Pipfile b/app/Pipfile
deleted file mode 100644
index 71e4f7cb..00000000
--- a/app/Pipfile
+++ /dev/null
@@ -1,11 +0,0 @@
-[[source]]
-url = "https://pypi.org/simple"
-verify_ssl = true
-name = "pypi"
-
-[packages]
-
-[dev-packages]
-
-[requires]
-python_version = "3.9"
diff --git a/app/Pipfile.lock b/app/Pipfile.lock
deleted file mode 100644
index 8aee7e8e..00000000
--- a/app/Pipfile.lock
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "_meta": {
- "hash": {
- "sha256": "a36a5392bb1e8bbc06bfaa0761e52593cf2d83b486696bf54667ba8da616c839"
- },
- "pipfile-spec": 6,
- "requires": {
- "python_version": "3.9"
- },
- "sources": [
- {
- "name": "pypi",
- "url": "https://pypi.org/simple",
- "verify_ssl": true
- }
- ]
- },
- "default": {},
- "develop": {}
-}
diff --git a/app/README.md b/app/README.md
index 24e312ce..33153ef3 100644
--- a/app/README.md
+++ b/app/README.md
@@ -1,7 +1,56 @@
-# Application image
+# Parasol Frontend
-## Building
+This project uses Quarkus, the Supersonic Subatomic Java Framework.
-The npm build happens during the image build. To do it successfully, you may have to augment the limits on open files in your system. Ex:
+If you want to learn more about Quarkus, please visit its website: https://quarkus.io/ .
-`podman build --no-cache --ulimit nofile=10000:10000 -t rhoai-lab-insurance-claim-app:2.1.0 .`
+## Running the application in dev mode
+
+You can run your application in dev mode that enables live coding using:
+```shell script
+./mvnw compile quarkus:dev
+```
+
+> **_NOTE:_** Quarkus now ships with a Dev UI, which is available in dev mode only at http://localhost:8080/q/dev/.
+
+## Packaging and running the application
+
+The application can be packaged using:
+```shell script
+./mvnw package
+```
+It produces the `quarkus-run.jar` file in the `target/quarkus-app/` directory.
+Be aware that it’s not an _über-jar_ as the dependencies are copied into the `target/quarkus-app/lib/` directory.
+
+The application is now runnable using `java -jar target/quarkus-app/quarkus-run.jar`.
+
+If you want to build an _über-jar_, execute the following command:
+```shell script
+./mvnw package -Dquarkus.package.type=uber-jar
+```
+
+The application, packaged as an _über-jar_, is now runnable using `java -jar target/*-runner.jar`.
+
+## Creating a native executable
+
+You can create a native executable using:
+```shell script
+./mvnw package -Dnative
+```
+
+Or, if you don't have GraalVM installed, you can run the native executable build in a container using:
+```shell script
+./mvnw package -Dnative -Dquarkus.native.container-build=true
+```
+
+You can then execute your native executable with: `./target/code-with-quarkus-1.0.0-SNAPSHOT-runner`
+
+If you want to learn more about building native executables, please consult https://quarkus.io/guides/maven-tooling.
+
+## Provided Code
+
+### REST
+
+Easily start your REST Web Services
+
+[Related guide section...](https://quarkus.io/guides/getting-started-reactive#reactive-jax-rs-resources)
diff --git a/app/backend/Pipfile b/app/backend/Pipfile
deleted file mode 100644
index 611d5ab0..00000000
--- a/app/backend/Pipfile
+++ /dev/null
@@ -1,32 +0,0 @@
-[[source]]
-url = "https://pypi.org/simple"
-verify_ssl = true
-name = "pypi"
-
-[[source]]
-url = "https://download.pytorch.org/whl/cpu"
-verify_ssl = false
-name = "pytorch"
-
-[packages]
-langchain = "==0.1.15"
-openai = "==1.17.0"
-pymilvus = "~=2.4.0"
-einops = "~=0.7.0"
-sentence_transformers = "~=2.6.1"
-boto3 = "~=1.34.81"
-fastapi = "~=0.110.1"
-httpx = "~=0.27.0"
-python-dotenv = "~=1.0.1"
-psycopg2-binary = "~=2.9.9"
-uvicorn = "~=0.29.0"
-websockets = "~=12.0"
-python-multipart = "0.0.9"
-torch = {version = "==2.2.2+cpu", index = "pytorch"}
-
-[dev-packages]
-"watchdog[watchmedo]" = "~=4.0.0"
-black = "*"
-
-[requires]
-python_version = "3.11"
diff --git a/app/backend/Pipfile.lock b/app/backend/Pipfile.lock
deleted file mode 100644
index ec8af4d6..00000000
--- a/app/backend/Pipfile.lock
+++ /dev/null
@@ -1,2609 +0,0 @@
-{
- "_meta": {
- "hash": {
- "sha256": "f23e264276445bec0886754843f51f38897aca3d812877e1a3f9610708b708b2"
- },
- "pipfile-spec": 6,
- "requires": {
- "python_version": "3.11"
- },
- "sources": [
- {
- "name": "pypi",
- "url": "https://pypi.org/simple",
- "verify_ssl": true
- },
- {
- "name": "pytorch",
- "url": "https://download.pytorch.org/whl/cpu",
- "verify_ssl": false
- }
- ]
- },
- "default": {
- "aiohttp": {
- "hashes": [
- "sha256:0593822dcdb9483d41f12041ff7c90d4d1033ec0e880bcfaf102919b715f47f1",
- "sha256:10afd99b8251022ddf81eaed1d90f5a988e349ee7d779eb429fb07b670751e8c",
- "sha256:17e7c051f53a0d2ebf33013a9cbf020bb4e098c4bc5bce6f7b0c962108d97eab",
- "sha256:221204dbda5ef350e8db6287937621cf75e85778b296c9c52260b522231940ed",
- "sha256:2506d9f7a9b91033201be9ffe7d89c6a54150b0578803cce5cb84a943d075bc3",
- "sha256:268ba22d917655d1259af2d5659072b7dc11b4e1dc2cb9662fdd867d75afc6a4",
- "sha256:2bd9d334412961125e9f68d5b73c1d0ab9ea3f74a58a475e6b119f5293eee7ba",
- "sha256:305edae1dea368ce09bcb858cf5a63a064f3bff4767dec6fa60a0cc0e805a1d3",
- "sha256:32dc814ddbb254f6170bca198fe307920f6c1308a5492f049f7f63554b88ef36",
- "sha256:35d78076736f4a668d57ade00c65d30a8ce28719d8a42471b2a06ccd1a2e3063",
- "sha256:3b2feaf1b7031ede1bc0880cec4b0776fd347259a723d625357bb4b82f62687b",
- "sha256:418bb0038dfafeac923823c2e63226179976c76f981a2aaad0ad5d51f2229bca",
- "sha256:419f009fa4cfde4d16a7fc070d64f36d70a8d35a90d71aa27670bba2be4fd039",
- "sha256:47f6eb74e1ecb5e19a78f4a4228aa24df7fbab3b62d4a625d3f41194a08bd54f",
- "sha256:4d79aad0ad4b980663316f26d9a492e8fab2af77c69c0f33780a56843ad2f89e",
- "sha256:4f7e69a7fd4b5ce419238388e55abd220336bd32212c673ceabc57ccf3d05b55",
- "sha256:52b8b4e06fc15519019e128abedaeb56412b106ab88b3c452188ca47a25c4093",
- "sha256:56181093c10dbc6ceb8a29dfeea1e815e1dfdc020169203d87fd8d37616f73f9",
- "sha256:63f41a909d182d2b78fe3abef557fcc14da50c7852f70ae3be60e83ff64edba5",
- "sha256:689eb4356649ec9535b3686200b231876fb4cab4aca54e3bece71d37f50c1d13",
- "sha256:69046cd9a2a17245c4ce3c1f1a4ff8c70c7701ef222fce3d1d8435f09042bba1",
- "sha256:69b97aa5792428f321f72aeb2f118e56893371f27e0b7d05750bcad06fc42ca1",
- "sha256:69ff36d3f8f5652994e08bd22f093e11cfd0444cea310f92e01b45a4e46b624e",
- "sha256:6f121900131d116e4a93b55ab0d12ad72573f967b100e49086e496a9b24523ea",
- "sha256:6ff71ede6d9a5a58cfb7b6fffc83ab5d4a63138276c771ac91ceaaddf5459644",
- "sha256:71a8f241456b6c2668374d5d28398f8e8cdae4cce568aaea54e0f39359cd928d",
- "sha256:74e4e48c8752d14ecfb36d2ebb3d76d614320570e14de0a3aa7a726ff150a03c",
- "sha256:7673a76772bda15d0d10d1aa881b7911d0580c980dbd16e59d7ba1422b2d83cd",
- "sha256:76d32588ef7e4a3f3adff1956a0ba96faabbdee58f2407c122dd45aa6e34f372",
- "sha256:7b39476ee69cfe64061fd77a73bf692c40021f8547cda617a3466530ef63f947",
- "sha256:7be99f4abb008cb38e144f85f515598f4c2c8932bf11b65add0ff59c9c876d99",
- "sha256:7bfdb41dc6e85d8535b00d73947548a748e9534e8e4fddd2638109ff3fb081df",
- "sha256:7d2334e387b2adcc944680bebcf412743f2caf4eeebd550f67249c1c3696be04",
- "sha256:7d29dd5319d20aa3b7749719ac9685fbd926f71ac8c77b2477272725f882072d",
- "sha256:7d4845f8501ab28ebfdbeab980a50a273b415cf69e96e4e674d43d86a464df9d",
- "sha256:824dff4f9f4d0f59d0fa3577932ee9a20e09edec8a2f813e1d6b9f89ced8293f",
- "sha256:84e90494db7df3be5e056f91412f9fa9e611fbe8ce4aaef70647297f5943b276",
- "sha256:8a78dfb198a328bfb38e4308ca8167028920fb747ddcf086ce706fbdd23b2926",
- "sha256:8b73a06bafc8dcc508420db43b4dd5850e41e69de99009d0351c4f3007960019",
- "sha256:916b0417aeddf2c8c61291238ce25286f391a6acb6f28005dd9ce282bd6311b6",
- "sha256:935c369bf8acc2dc26f6eeb5222768aa7c62917c3554f7215f2ead7386b33748",
- "sha256:939393e8c3f0a5bcd33ef7ace67680c318dc2ae406f15e381c0054dd658397de",
- "sha256:9860d455847cd98eb67897f5957b7cd69fbcb436dd3f06099230f16a66e66f79",
- "sha256:9b6787b6d0b3518b2ee4cbeadd24a507756ee703adbac1ab6dc7c4434b8c572a",
- "sha256:9c0b09d76e5a4caac3d27752027fbd43dc987b95f3748fad2b924a03fe8632ad",
- "sha256:a1885d2470955f70dfdd33a02e1749613c5a9c5ab855f6db38e0b9389453dce7",
- "sha256:a3666cf4182efdb44d73602379a66f5fdfd5da0db5e4520f0ac0dcca644a3497",
- "sha256:aba80e77c227f4234aa34a5ff2b6ff30c5d6a827a91d22ff6b999de9175d71bd",
- "sha256:b33f34c9c7decdb2ab99c74be6443942b730b56d9c5ee48fb7df2c86492f293c",
- "sha256:b65b0f8747b013570eea2f75726046fa54fa8e0c5db60f3b98dd5d161052004a",
- "sha256:b71e614c1ae35c3d62a293b19eface83d5e4d194e3eb2fabb10059d33e6e8cbf",
- "sha256:c111b3c69060d2bafc446917534150fd049e7aedd6cbf21ba526a5a97b4402a5",
- "sha256:c3770365675f6be220032f6609a8fbad994d6dcf3ef7dbcf295c7ee70884c9af",
- "sha256:c4870cb049f10d7680c239b55428916d84158798eb8f353e74fa2c98980dcc0b",
- "sha256:c5ff8ff44825736a4065d8544b43b43ee4c6dd1530f3a08e6c0578a813b0aa35",
- "sha256:c78700130ce2dcebb1a8103202ae795be2fa8c9351d0dd22338fe3dac74847d9",
- "sha256:c7a5b676d3c65e88b3aca41816bf72831898fcd73f0cbb2680e9d88e819d1e4d",
- "sha256:c8b04a3dbd54de6ccb7604242fe3ad67f2f3ca558f2d33fe19d4b08d90701a89",
- "sha256:d12a244627eba4e9dc52cbf924edef905ddd6cafc6513849b4876076a6f38b0e",
- "sha256:d1df528a85fb404899d4207a8d9934cfd6be626e30e5d3a5544a83dbae6d8a7e",
- "sha256:d58a54d6ff08d2547656356eea8572b224e6f9bbc0cf55fa9966bcaac4ddfb10",
- "sha256:d6577140cd7db19e430661e4b2653680194ea8c22c994bc65b7a19d8ec834403",
- "sha256:d6a67e26daa686a6fbdb600a9af8619c80a332556245fa8e86c747d226ab1a1e",
- "sha256:dcad56c8d8348e7e468899d2fb3b309b9bc59d94e6db08710555f7436156097f",
- "sha256:e0198ea897680e480845ec0ffc5a14e8b694e25b3f104f63676d55bf76a82f1a",
- "sha256:e27d3b5ed2c2013bce66ad67ee57cbf614288bda8cdf426c8d8fe548316f1b5f",
- "sha256:e40d2cd22914d67c84824045861a5bb0fb46586b15dfe4f046c7495bf08306b2",
- "sha256:e4370dda04dc8951012f30e1ce7956a0a226ac0714a7b6c389fb2f43f22a250e",
- "sha256:e571fdd9efd65e86c6af2f332e0e95dad259bfe6beb5d15b3c3eca3a6eb5d87b",
- "sha256:e78da6b55275987cbc89141a1d8e75f5070e577c482dd48bd9123a76a96f0bbb",
- "sha256:eae569fb1e7559d4f3919965617bb39f9e753967fae55ce13454bec2d1c54f09",
- "sha256:eb30c4510a691bb87081192a394fb661860e75ca3896c01c6d186febe7c88530",
- "sha256:efbdd51872cf170093998c87ccdf3cb5993add3559341a8e5708bcb311934c94",
- "sha256:f3460a92638dce7e47062cf088d6e7663adb135e936cb117be88d5e6c48c9d53",
- "sha256:f595db1bceabd71c82e92df212dd9525a8a2c6947d39e3c994c4f27d2fe15b11",
- "sha256:fb68dc73bc8ac322d2e392a59a9e396c4f35cb6fdbdd749e139d1d6c985f2527"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==3.9.4"
- },
- "aiosignal": {
- "hashes": [
- "sha256:54cd96e15e1649b75d6c87526a6ff0b6c1b0dd3459f43d9ca11d48c339b68cfc",
- "sha256:f8376fb07dd1e86a584e4fcdec80b36b7f81aac666ebc724e2c090300dd83b17"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==1.3.1"
- },
- "annotated-types": {
- "hashes": [
- "sha256:0641064de18ba7a25dee8f96403ebc39113d0cb953a01429249d5c7564666a43",
- "sha256:563339e807e53ffd9c267e99fc6d9ea23eb8443c08f112651963e24e22f84a5d"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==0.6.0"
- },
- "anyio": {
- "hashes": [
- "sha256:048e05d0f6caeed70d731f3db756d35dcc1f35747c8c403364a8332c630441b8",
- "sha256:f75253795a87df48568485fd18cdd2a3fa5c4f7c5be8e5e36637733fce06fed6"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==4.3.0"
- },
- "argon2-cffi": {
- "hashes": [
- "sha256:879c3e79a2729ce768ebb7d36d4609e3a78a4ca2ec3a9f12286ca057e3d0db08",
- "sha256:c670642b78ba29641818ab2e68bd4e6a78ba53b7eff7b4c3815ae16abf91c7ea"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==23.1.0"
- },
- "argon2-cffi-bindings": {
- "hashes": [
- "sha256:20ef543a89dee4db46a1a6e206cd015360e5a75822f76df533845c3cbaf72670",
- "sha256:2c3e3cc67fdb7d82c4718f19b4e7a87123caf8a93fde7e23cf66ac0337d3cb3f",
- "sha256:3b9ef65804859d335dc6b31582cad2c5166f0c3e7975f324d9ffaa34ee7e6583",
- "sha256:3e385d1c39c520c08b53d63300c3ecc28622f076f4c2b0e6d7e796e9f6502194",
- "sha256:58ed19212051f49a523abb1dbe954337dc82d947fb6e5a0da60f7c8471a8476c",
- "sha256:5e00316dabdaea0b2dd82d141cc66889ced0cdcbfa599e8b471cf22c620c329a",
- "sha256:603ca0aba86b1349b147cab91ae970c63118a0f30444d4bc80355937c950c082",
- "sha256:6a22ad9800121b71099d0fb0a65323810a15f2e292f2ba450810a7316e128ee5",
- "sha256:8cd69c07dd875537a824deec19f978e0f2078fdda07fd5c42ac29668dda5f40f",
- "sha256:93f9bf70084f97245ba10ee36575f0c3f1e7d7724d67d8e5b08e61787c320ed7",
- "sha256:9524464572e12979364b7d600abf96181d3541da11e23ddf565a32e70bd4dc0d",
- "sha256:b2ef1c30440dbbcba7a5dc3e319408b59676e2e039e2ae11a8775ecf482b192f",
- "sha256:b746dba803a79238e925d9046a63aa26bf86ab2a2fe74ce6b009a1c3f5c8f2ae",
- "sha256:bb89ceffa6c791807d1305ceb77dbfacc5aa499891d2c55661c6459651fc39e3",
- "sha256:bd46088725ef7f58b5a1ef7ca06647ebaf0eb4baff7d1d0d177c6cc8744abd86",
- "sha256:ccb949252cb2ab3a08c02024acb77cfb179492d5701c7cbdbfd776124d4d2367",
- "sha256:d4966ef5848d820776f5f562a7d45fdd70c2f330c961d0d745b784034bd9f48d",
- "sha256:e415e3f62c8d124ee16018e491a009937f8cf7ebf5eb430ffc5de21b900dad93",
- "sha256:ed2937d286e2ad0cc79a7087d3c272832865f779430e0cc2b4f3718d3159b0cb",
- "sha256:f1152ac548bd5b8bcecfb0b0371f082037e47128653df2e8ba6e914d384f3c3e",
- "sha256:f9f8b450ed0547e3d473fdc8612083fd08dd2120d6ac8f73828df9b7d45bb351"
- ],
- "markers": "python_version >= '3.6'",
- "version": "==21.2.0"
- },
- "attrs": {
- "hashes": [
- "sha256:935dc3b529c262f6cf76e50877d35a4bd3c1de194fd41f47a2b7ae8f19971f30",
- "sha256:99b87a485a5820b23b879f04c2305b44b951b502fd64be915879d77a7e8fc6f1"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==23.2.0"
- },
- "azure-core": {
- "hashes": [
- "sha256:26273a254131f84269e8ea4464f3560c731f29c0c1f69ac99010845f239c1a8f",
- "sha256:7c5ee397e48f281ec4dd773d67a0a47a0962ed6fa833036057f9ea067f688e74"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==1.30.1"
- },
- "azure-storage-blob": {
- "hashes": [
- "sha256:13e16ba42fc54ac2c7e8f976062173a5c82b9ec0594728e134aac372965a11b0",
- "sha256:c5530dc51c21c9564e4eb706cd499befca8819b10dd89716d3fc90d747556243"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==12.19.1"
- },
- "boto3": {
- "hashes": [
- "sha256:7a02f44af32095946587d748ebeb39c3fa15b9d7275307ff612a6760ead47e04",
- "sha256:91e6343474173e9b82f603076856e1d5b7b68f44247bdd556250857a3f16b37b"
- ],
- "index": "pypi",
- "markers": "python_version >= '3.8'",
- "version": "==1.34.84"
- },
- "botocore": {
- "hashes": [
- "sha256:a2b309bf5594f0eb6f63f355ade79ba575ce8bf672e52e91da1a7933caa245e6",
- "sha256:da1ae0a912e69e10daee2a34dafd6c6c106450d20b8623665feceb2d96c173eb"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==1.34.84"
- },
- "certifi": {
- "hashes": [
- "sha256:0569859f95fc761b18b45ef421b1290a0f65f147e92a1e5eb3e635f9a5e4e66f",
- "sha256:dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1"
- ],
- "markers": "python_version >= '3.6'",
- "version": "==2024.2.2"
- },
- "cffi": {
- "hashes": [
- "sha256:0c9ef6ff37e974b73c25eecc13952c55bceed9112be2d9d938ded8e856138bcc",
- "sha256:131fd094d1065b19540c3d72594260f118b231090295d8c34e19a7bbcf2e860a",
- "sha256:1b8ebc27c014c59692bb2664c7d13ce7a6e9a629be20e54e7271fa696ff2b417",
- "sha256:2c56b361916f390cd758a57f2e16233eb4f64bcbeee88a4881ea90fca14dc6ab",
- "sha256:2d92b25dbf6cae33f65005baf472d2c245c050b1ce709cc4588cdcdd5495b520",
- "sha256:31d13b0f99e0836b7ff893d37af07366ebc90b678b6664c955b54561fc36ef36",
- "sha256:32c68ef735dbe5857c810328cb2481e24722a59a2003018885514d4c09af9743",
- "sha256:3686dffb02459559c74dd3d81748269ffb0eb027c39a6fc99502de37d501faa8",
- "sha256:582215a0e9adbe0e379761260553ba11c58943e4bbe9c36430c4ca6ac74b15ed",
- "sha256:5b50bf3f55561dac5438f8e70bfcdfd74543fd60df5fa5f62d94e5867deca684",
- "sha256:5bf44d66cdf9e893637896c7faa22298baebcd18d1ddb6d2626a6e39793a1d56",
- "sha256:6602bc8dc6f3a9e02b6c22c4fc1e47aa50f8f8e6d3f78a5e16ac33ef5fefa324",
- "sha256:673739cb539f8cdaa07d92d02efa93c9ccf87e345b9a0b556e3ecc666718468d",
- "sha256:68678abf380b42ce21a5f2abde8efee05c114c2fdb2e9eef2efdb0257fba1235",
- "sha256:68e7c44931cc171c54ccb702482e9fc723192e88d25a0e133edd7aff8fcd1f6e",
- "sha256:6b3d6606d369fc1da4fd8c357d026317fbb9c9b75d36dc16e90e84c26854b088",
- "sha256:748dcd1e3d3d7cd5443ef03ce8685043294ad6bd7c02a38d1bd367cfd968e000",
- "sha256:7651c50c8c5ef7bdb41108b7b8c5a83013bfaa8a935590c5d74627c047a583c7",
- "sha256:7b78010e7b97fef4bee1e896df8a4bbb6712b7f05b7ef630f9d1da00f6444d2e",
- "sha256:7e61e3e4fa664a8588aa25c883eab612a188c725755afff6289454d6362b9673",
- "sha256:80876338e19c951fdfed6198e70bc88f1c9758b94578d5a7c4c91a87af3cf31c",
- "sha256:8895613bcc094d4a1b2dbe179d88d7fb4a15cee43c052e8885783fac397d91fe",
- "sha256:88e2b3c14bdb32e440be531ade29d3c50a1a59cd4e51b1dd8b0865c54ea5d2e2",
- "sha256:8f8e709127c6c77446a8c0a8c8bf3c8ee706a06cd44b1e827c3e6a2ee6b8c098",
- "sha256:9cb4a35b3642fc5c005a6755a5d17c6c8b6bcb6981baf81cea8bfbc8903e8ba8",
- "sha256:9f90389693731ff1f659e55c7d1640e2ec43ff725cc61b04b2f9c6d8d017df6a",
- "sha256:a09582f178759ee8128d9270cd1344154fd473bb77d94ce0aeb2a93ebf0feaf0",
- "sha256:a6a14b17d7e17fa0d207ac08642c8820f84f25ce17a442fd15e27ea18d67c59b",
- "sha256:a72e8961a86d19bdb45851d8f1f08b041ea37d2bd8d4fd19903bc3083d80c896",
- "sha256:abd808f9c129ba2beda4cfc53bde801e5bcf9d6e0f22f095e45327c038bfe68e",
- "sha256:ac0f5edd2360eea2f1daa9e26a41db02dd4b0451b48f7c318e217ee092a213e9",
- "sha256:b29ebffcf550f9da55bec9e02ad430c992a87e5f512cd63388abb76f1036d8d2",
- "sha256:b2ca4e77f9f47c55c194982e10f058db063937845bb2b7a86c84a6cfe0aefa8b",
- "sha256:b7be2d771cdba2942e13215c4e340bfd76398e9227ad10402a8767ab1865d2e6",
- "sha256:b84834d0cf97e7d27dd5b7f3aca7b6e9263c56308ab9dc8aae9784abb774d404",
- "sha256:b86851a328eedc692acf81fb05444bdf1891747c25af7529e39ddafaf68a4f3f",
- "sha256:bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0",
- "sha256:c0f31130ebc2d37cdd8e44605fb5fa7ad59049298b3f745c74fa74c62fbfcfc4",
- "sha256:c6a164aa47843fb1b01e941d385aab7215563bb8816d80ff3a363a9f8448a8dc",
- "sha256:d8a9d3ebe49f084ad71f9269834ceccbf398253c9fac910c4fd7053ff1386936",
- "sha256:db8e577c19c0fda0beb7e0d4e09e0ba74b1e4c092e0e40bfa12fe05b6f6d75ba",
- "sha256:dc9b18bf40cc75f66f40a7379f6a9513244fe33c0e8aa72e2d56b0196a7ef872",
- "sha256:e09f3ff613345df5e8c3667da1d918f9149bd623cd9070c983c013792a9a62eb",
- "sha256:e4108df7fe9b707191e55f33efbcb2d81928e10cea45527879a4749cbe472614",
- "sha256:e6024675e67af929088fda399b2094574609396b1decb609c55fa58b028a32a1",
- "sha256:e70f54f1796669ef691ca07d046cd81a29cb4deb1e5f942003f401c0c4a2695d",
- "sha256:e715596e683d2ce000574bae5d07bd522c781a822866c20495e52520564f0969",
- "sha256:e760191dd42581e023a68b758769e2da259b5d52e3103c6060ddc02c9edb8d7b",
- "sha256:ed86a35631f7bfbb28e108dd96773b9d5a6ce4811cf6ea468bb6a359b256b1e4",
- "sha256:ee07e47c12890ef248766a6e55bd38ebfb2bb8edd4142d56db91b21ea68b7627",
- "sha256:fa3a0128b152627161ce47201262d3140edb5a5c3da88d73a1b790a959126956",
- "sha256:fcc8eb6d5902bb1cf6dc4f187ee3ea80a1eba0a89aba40a5cb20a5087d961357"
- ],
- "markers": "platform_python_implementation != 'PyPy'",
- "version": "==1.16.0"
- },
- "charset-normalizer": {
- "hashes": [
- "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027",
- "sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087",
- "sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786",
- "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8",
- "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09",
- "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185",
- "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574",
- "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e",
- "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519",
- "sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898",
- "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269",
- "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3",
- "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f",
- "sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6",
- "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8",
- "sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a",
- "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73",
- "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc",
- "sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714",
- "sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2",
- "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc",
- "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce",
- "sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d",
- "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e",
- "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6",
- "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269",
- "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96",
- "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d",
- "sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a",
- "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4",
- "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77",
- "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d",
- "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0",
- "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed",
- "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068",
- "sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac",
- "sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25",
- "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8",
- "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab",
- "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26",
- "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2",
- "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db",
- "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f",
- "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5",
- "sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99",
- "sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c",
- "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d",
- "sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811",
- "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa",
- "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a",
- "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03",
- "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b",
- "sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04",
- "sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c",
- "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001",
- "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458",
- "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389",
- "sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99",
- "sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985",
- "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537",
- "sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238",
- "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f",
- "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d",
- "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796",
- "sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a",
- "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143",
- "sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8",
- "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c",
- "sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5",
- "sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5",
- "sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711",
- "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4",
- "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6",
- "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c",
- "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7",
- "sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4",
- "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b",
- "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae",
- "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12",
- "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c",
- "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae",
- "sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8",
- "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887",
- "sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b",
- "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4",
- "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f",
- "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5",
- "sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33",
- "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519",
- "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561"
- ],
- "markers": "python_full_version >= '3.7.0'",
- "version": "==3.3.2"
- },
- "click": {
- "hashes": [
- "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28",
- "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==8.1.7"
- },
- "cryptography": {
- "hashes": [
- "sha256:0270572b8bd2c833c3981724b8ee9747b3ec96f699a9665470018594301439ee",
- "sha256:111a0d8553afcf8eb02a4fea6ca4f59d48ddb34497aa8706a6cf536f1a5ec576",
- "sha256:16a48c23a62a2f4a285699dba2e4ff2d1cff3115b9df052cdd976a18856d8e3d",
- "sha256:1b95b98b0d2af784078fa69f637135e3c317091b615cd0905f8b8a087e86fa30",
- "sha256:1f71c10d1e88467126f0efd484bd44bca5e14c664ec2ede64c32f20875c0d413",
- "sha256:2424ff4c4ac7f6b8177b53c17ed5d8fa74ae5955656867f5a8affaca36a27abb",
- "sha256:2bce03af1ce5a5567ab89bd90d11e7bbdff56b8af3acbbec1faded8f44cb06da",
- "sha256:329906dcc7b20ff3cad13c069a78124ed8247adcac44b10bea1130e36caae0b4",
- "sha256:37dd623507659e08be98eec89323469e8c7b4c1407c85112634ae3dbdb926fdd",
- "sha256:3eaafe47ec0d0ffcc9349e1708be2aaea4c6dd4978d76bf6eb0cb2c13636c6fc",
- "sha256:5e6275c09d2badf57aea3afa80d975444f4be8d3bc58f7f80d2a484c6f9485c8",
- "sha256:6fe07eec95dfd477eb9530aef5bead34fec819b3aaf6c5bd6d20565da607bfe1",
- "sha256:7367d7b2eca6513681127ebad53b2582911d1736dc2ffc19f2c3ae49997496bc",
- "sha256:7cde5f38e614f55e28d831754e8a3bacf9ace5d1566235e39d91b35502d6936e",
- "sha256:9481ffe3cf013b71b2428b905c4f7a9a4f76ec03065b05ff499bb5682a8d9ad8",
- "sha256:98d8dc6d012b82287f2c3d26ce1d2dd130ec200c8679b6213b3c73c08b2b7940",
- "sha256:a011a644f6d7d03736214d38832e030d8268bcff4a41f728e6030325fea3e400",
- "sha256:a2913c5375154b6ef2e91c10b5720ea6e21007412f6437504ffea2109b5a33d7",
- "sha256:a30596bae9403a342c978fb47d9b0ee277699fa53bbafad14706af51fe543d16",
- "sha256:b03c2ae5d2f0fc05f9a2c0c997e1bc18c8229f392234e8a0194f202169ccd278",
- "sha256:b6cd2203306b63e41acdf39aa93b86fb566049aeb6dc489b70e34bcd07adca74",
- "sha256:b7ffe927ee6531c78f81aa17e684e2ff617daeba7f189f911065b2ea2d526dec",
- "sha256:b8cac287fafc4ad485b8a9b67d0ee80c66bf3574f655d3b97ef2e1082360faf1",
- "sha256:ba334e6e4b1d92442b75ddacc615c5476d4ad55cc29b15d590cc6b86efa487e2",
- "sha256:ba3e4a42397c25b7ff88cdec6e2a16c2be18720f317506ee25210f6d31925f9c",
- "sha256:c41fb5e6a5fe9ebcd58ca3abfeb51dffb5d83d6775405305bfa8715b76521922",
- "sha256:cd2030f6650c089aeb304cf093f3244d34745ce0cfcc39f20c6fbfe030102e2a",
- "sha256:cd65d75953847815962c84a4654a84850b2bb4aed3f26fadcc1c13892e1e29f6",
- "sha256:e4985a790f921508f36f81831817cbc03b102d643b5fcb81cd33df3fa291a1a1",
- "sha256:e807b3188f9eb0eaa7bbb579b462c5ace579f1cedb28107ce8b48a9f7ad3679e",
- "sha256:f12764b8fffc7a123f641d7d049d382b73f96a34117e0b637b80643169cec8ac",
- "sha256:f8837fe1d6ac4a8052a9a8ddab256bc006242696f03368a4009be7ee3075cdb7"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==42.0.5"
- },
- "dataclasses-json": {
- "hashes": [
- "sha256:73696ebf24936560cca79a2430cbc4f3dd23ac7bf46ed17f38e5e5e7657a6377",
- "sha256:f90578b8a3177f7552f4e1a6e535e84293cd5da421fcce0642d49c0d7bdf8df2"
- ],
- "markers": "python_version >= '3.7' and python_version < '4.0'",
- "version": "==0.6.4"
- },
- "distro": {
- "hashes": [
- "sha256:2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed",
- "sha256:7bffd925d65168f85027d8da9af6bddab658135b840670a223589bc0c8ef02b2"
- ],
- "markers": "python_version >= '3.6'",
- "version": "==1.9.0"
- },
- "einops": {
- "hashes": [
- "sha256:0f3096f26b914f465f6ff3c66f5478f9a5e380bb367ffc6493a68143fbbf1fd1",
- "sha256:b2b04ad6081a3b227080c9bf5e3ace7160357ff03043cd66cc5b2319eb7031d1"
- ],
- "index": "pypi",
- "markers": "python_version >= '3.8'",
- "version": "==0.7.0"
- },
- "environs": {
- "hashes": [
- "sha256:1e549569a3de49c05f856f40bce86979e7d5ffbbc4398e7f338574c220189124",
- "sha256:a76307b36fbe856bdca7ee9161e6c466fd7fcffc297109a118c59b54e27e30c9"
- ],
- "markers": "python_version >= '3.6'",
- "version": "==9.5.0"
- },
- "fastapi": {
- "hashes": [
- "sha256:5df913203c482f820d31f48e635e022f8cbfe7350e4830ef05a3163925b1addc",
- "sha256:6feac43ec359dfe4f45b2c18ec8c94edb8dc2dfc461d417d9e626590c071baad"
- ],
- "index": "pypi",
- "markers": "python_version >= '3.8'",
- "version": "==0.110.1"
- },
- "filelock": {
- "hashes": [
- "sha256:404e5e9253aa60ad457cae1be07c0f0ca90a63931200a47d9b6a6af84fd7b45f",
- "sha256:d13f466618bfde72bd2c18255e269f72542c6e70e7bac83a0232d6b1cc5c8cf4"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==3.13.4"
- },
- "frozenlist": {
- "hashes": [
- "sha256:04ced3e6a46b4cfffe20f9ae482818e34eba9b5fb0ce4056e4cc9b6e212d09b7",
- "sha256:0633c8d5337cb5c77acbccc6357ac49a1770b8c487e5b3505c57b949b4b82e98",
- "sha256:068b63f23b17df8569b7fdca5517edef76171cf3897eb68beb01341131fbd2ad",
- "sha256:0c250a29735d4f15321007fb02865f0e6b6a41a6b88f1f523ca1596ab5f50bd5",
- "sha256:1979bc0aeb89b33b588c51c54ab0161791149f2461ea7c7c946d95d5f93b56ae",
- "sha256:1a4471094e146b6790f61b98616ab8e44f72661879cc63fa1049d13ef711e71e",
- "sha256:1b280e6507ea8a4fa0c0a7150b4e526a8d113989e28eaaef946cc77ffd7efc0a",
- "sha256:1d0ce09d36d53bbbe566fe296965b23b961764c0bcf3ce2fa45f463745c04701",
- "sha256:20b51fa3f588ff2fe658663db52a41a4f7aa6c04f6201449c6c7c476bd255c0d",
- "sha256:23b2d7679b73fe0e5a4560b672a39f98dfc6f60df63823b0a9970525325b95f6",
- "sha256:23b701e65c7b36e4bf15546a89279bd4d8675faabc287d06bbcfac7d3c33e1e6",
- "sha256:2471c201b70d58a0f0c1f91261542a03d9a5e088ed3dc6c160d614c01649c106",
- "sha256:27657df69e8801be6c3638054e202a135c7f299267f1a55ed3a598934f6c0d75",
- "sha256:29acab3f66f0f24674b7dc4736477bcd4bc3ad4b896f5f45379a67bce8b96868",
- "sha256:32453c1de775c889eb4e22f1197fe3bdfe457d16476ea407472b9442e6295f7a",
- "sha256:3a670dc61eb0d0eb7080890c13de3066790f9049b47b0de04007090807c776b0",
- "sha256:3e0153a805a98f5ada7e09826255ba99fb4f7524bb81bf6b47fb702666484ae1",
- "sha256:410478a0c562d1a5bcc2f7ea448359fcb050ed48b3c6f6f4f18c313a9bdb1826",
- "sha256:442acde1e068288a4ba7acfe05f5f343e19fac87bfc96d89eb886b0363e977ec",
- "sha256:48f6a4533887e189dae092f1cf981f2e3885175f7a0f33c91fb5b7b682b6bab6",
- "sha256:4f57dab5fe3407b6c0c1cc907ac98e8a189f9e418f3b6e54d65a718aaafe3950",
- "sha256:4f9c515e7914626b2a2e1e311794b4c35720a0be87af52b79ff8e1429fc25f19",
- "sha256:55fdc093b5a3cb41d420884cdaf37a1e74c3c37a31f46e66286d9145d2063bd0",
- "sha256:5667ed53d68d91920defdf4035d1cdaa3c3121dc0b113255124bcfada1cfa1b8",
- "sha256:590344787a90ae57d62511dd7c736ed56b428f04cd8c161fcc5e7232c130c69a",
- "sha256:5a7d70357e7cee13f470c7883a063aae5fe209a493c57d86eb7f5a6f910fae09",
- "sha256:5c3894db91f5a489fc8fa6a9991820f368f0b3cbdb9cd8849547ccfab3392d86",
- "sha256:5c849d495bf5154cd8da18a9eb15db127d4dba2968d88831aff6f0331ea9bd4c",
- "sha256:64536573d0a2cb6e625cf309984e2d873979709f2cf22839bf2d61790b448ad5",
- "sha256:693945278a31f2086d9bf3df0fe8254bbeaef1fe71e1351c3bd730aa7d31c41b",
- "sha256:6db4667b187a6742b33afbbaf05a7bc551ffcf1ced0000a571aedbb4aa42fc7b",
- "sha256:6eb73fa5426ea69ee0e012fb59cdc76a15b1283d6e32e4f8dc4482ec67d1194d",
- "sha256:722e1124aec435320ae01ee3ac7bec11a5d47f25d0ed6328f2273d287bc3abb0",
- "sha256:7268252af60904bf52c26173cbadc3a071cece75f873705419c8681f24d3edea",
- "sha256:74fb4bee6880b529a0c6560885fce4dc95936920f9f20f53d99a213f7bf66776",
- "sha256:780d3a35680ced9ce682fbcf4cb9c2bad3136eeff760ab33707b71db84664e3a",
- "sha256:82e8211d69a4f4bc360ea22cd6555f8e61a1bd211d1d5d39d3d228b48c83a897",
- "sha256:89aa2c2eeb20957be2d950b85974b30a01a762f3308cd02bb15e1ad632e22dc7",
- "sha256:8aefbba5f69d42246543407ed2461db31006b0f76c4e32dfd6f42215a2c41d09",
- "sha256:96ec70beabbd3b10e8bfe52616a13561e58fe84c0101dd031dc78f250d5128b9",
- "sha256:9750cc7fe1ae3b1611bb8cfc3f9ec11d532244235d75901fb6b8e42ce9229dfe",
- "sha256:9acbb16f06fe7f52f441bb6f413ebae6c37baa6ef9edd49cdd567216da8600cd",
- "sha256:9d3e0c25a2350080e9319724dede4f31f43a6c9779be48021a7f4ebde8b2d742",
- "sha256:a06339f38e9ed3a64e4c4e43aec7f59084033647f908e4259d279a52d3757d09",
- "sha256:a0cb6f11204443f27a1628b0e460f37fb30f624be6051d490fa7d7e26d4af3d0",
- "sha256:a7496bfe1da7fb1a4e1cc23bb67c58fab69311cc7d32b5a99c2007b4b2a0e932",
- "sha256:a828c57f00f729620a442881cc60e57cfcec6842ba38e1b19fd3e47ac0ff8dc1",
- "sha256:a9b2de4cf0cdd5bd2dee4c4f63a653c61d2408055ab77b151c1957f221cabf2a",
- "sha256:b46c8ae3a8f1f41a0d2ef350c0b6e65822d80772fe46b653ab6b6274f61d4a49",
- "sha256:b7e3ed87d4138356775346e6845cccbe66cd9e207f3cd11d2f0b9fd13681359d",
- "sha256:b7f2f9f912dca3934c1baec2e4585a674ef16fe00218d833856408c48d5beee7",
- "sha256:ba60bb19387e13597fb059f32cd4d59445d7b18b69a745b8f8e5db0346f33480",
- "sha256:beee944ae828747fd7cb216a70f120767fc9f4f00bacae8543c14a6831673f89",
- "sha256:bfa4a17e17ce9abf47a74ae02f32d014c5e9404b6d9ac7f729e01562bbee601e",
- "sha256:c037a86e8513059a2613aaba4d817bb90b9d9b6b69aace3ce9c877e8c8ed402b",
- "sha256:c302220494f5c1ebeb0912ea782bcd5e2f8308037b3c7553fad0e48ebad6ad82",
- "sha256:c6321c9efe29975232da3bd0af0ad216800a47e93d763ce64f291917a381b8eb",
- "sha256:c757a9dd70d72b076d6f68efdbb9bc943665ae954dad2801b874c8c69e185068",
- "sha256:c99169d4ff810155ca50b4da3b075cbde79752443117d89429595c2e8e37fed8",
- "sha256:c9c92be9fd329ac801cc420e08452b70e7aeab94ea4233a4804f0915c14eba9b",
- "sha256:cc7b01b3754ea68a62bd77ce6020afaffb44a590c2289089289363472d13aedb",
- "sha256:db9e724bebd621d9beca794f2a4ff1d26eed5965b004a97f1f1685a173b869c2",
- "sha256:dca69045298ce5c11fd539682cff879cc1e664c245d1c64da929813e54241d11",
- "sha256:dd9b1baec094d91bf36ec729445f7769d0d0cf6b64d04d86e45baf89e2b9059b",
- "sha256:e02a0e11cf6597299b9f3bbd3f93d79217cb90cfd1411aec33848b13f5c656cc",
- "sha256:e6a20a581f9ce92d389a8c7d7c3dd47c81fd5d6e655c8dddf341e14aa48659d0",
- "sha256:e7004be74cbb7d9f34553a5ce5fb08be14fb33bc86f332fb71cbe5216362a497",
- "sha256:e774d53b1a477a67838a904131c4b0eef6b3d8a651f8b138b04f748fccfefe17",
- "sha256:edb678da49d9f72c9f6c609fbe41a5dfb9a9282f9e6a2253d5a91e0fc382d7c0",
- "sha256:f146e0911cb2f1da549fc58fc7bcd2b836a44b79ef871980d605ec392ff6b0d2",
- "sha256:f56e2333dda1fe0f909e7cc59f021eba0d2307bc6f012a1ccf2beca6ba362439",
- "sha256:f9a3ea26252bd92f570600098783d1371354d89d5f6b7dfd87359d669f2109b5",
- "sha256:f9aa1878d1083b276b0196f2dfbe00c9b7e752475ed3b682025ff20c1c1f51ac",
- "sha256:fb3c2db03683b5767dedb5769b8a40ebb47d6f7f45b1b3e3b4b51ec8ad9d9825",
- "sha256:fbeb989b5cc29e8daf7f976b421c220f1b8c731cbf22b9130d8815418ea45887",
- "sha256:fde5bd59ab5357e3853313127f4d3565fc7dad314a74d7b5d43c22c6a5ed2ced",
- "sha256:fe1a06da377e3a1062ae5fe0926e12b84eceb8a50b350ddca72dc85015873f74"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==1.4.1"
- },
- "fsspec": {
- "hashes": [
- "sha256:918d18d41bf73f0e2b261824baeb1b124bcf771767e3a26425cd7dec3332f512",
- "sha256:f39780e282d7d117ffb42bb96992f8a90795e4d0fb0f661a70ca39fe9c43ded9"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==2024.3.1"
- },
- "greenlet": {
- "hashes": [
- "sha256:01bc7ea167cf943b4c802068e178bbf70ae2e8c080467070d01bfa02f337ee67",
- "sha256:0448abc479fab28b00cb472d278828b3ccca164531daab4e970a0458786055d6",
- "sha256:086152f8fbc5955df88382e8a75984e2bb1c892ad2e3c80a2508954e52295257",
- "sha256:098d86f528c855ead3479afe84b49242e174ed262456c342d70fc7f972bc13c4",
- "sha256:149e94a2dd82d19838fe4b2259f1b6b9957d5ba1b25640d2380bea9c5df37676",
- "sha256:1551a8195c0d4a68fac7a4325efac0d541b48def35feb49d803674ac32582f61",
- "sha256:15d79dd26056573940fcb8c7413d84118086f2ec1a8acdfa854631084393efcc",
- "sha256:1996cb9306c8595335bb157d133daf5cf9f693ef413e7673cb07e3e5871379ca",
- "sha256:1a7191e42732df52cb5f39d3527217e7ab73cae2cb3694d241e18f53d84ea9a7",
- "sha256:1ea188d4f49089fc6fb283845ab18a2518d279c7cd9da1065d7a84e991748728",
- "sha256:1f672519db1796ca0d8753f9e78ec02355e862d0998193038c7073045899f305",
- "sha256:2516a9957eed41dd8f1ec0c604f1cdc86758b587d964668b5b196a9db5bfcde6",
- "sha256:2797aa5aedac23af156bbb5a6aa2cd3427ada2972c828244eb7d1b9255846379",
- "sha256:2dd6e660effd852586b6a8478a1d244b8dc90ab5b1321751d2ea15deb49ed414",
- "sha256:3ddc0f794e6ad661e321caa8d2f0a55ce01213c74722587256fb6566049a8b04",
- "sha256:3ed7fb269f15dc662787f4119ec300ad0702fa1b19d2135a37c2c4de6fadfd4a",
- "sha256:419b386f84949bf0e7c73e6032e3457b82a787c1ab4a0e43732898a761cc9dbf",
- "sha256:43374442353259554ce33599da8b692d5aa96f8976d567d4badf263371fbe491",
- "sha256:52f59dd9c96ad2fc0d5724107444f76eb20aaccb675bf825df6435acb7703559",
- "sha256:57e8974f23e47dac22b83436bdcf23080ade568ce77df33159e019d161ce1d1e",
- "sha256:5b51e85cb5ceda94e79d019ed36b35386e8c37d22f07d6a751cb659b180d5274",
- "sha256:649dde7de1a5eceb258f9cb00bdf50e978c9db1b996964cd80703614c86495eb",
- "sha256:64d7675ad83578e3fc149b617a444fab8efdafc9385471f868eb5ff83e446b8b",
- "sha256:68834da854554926fbedd38c76e60c4a2e3198c6fbed520b106a8986445caaf9",
- "sha256:6b66c9c1e7ccabad3a7d037b2bcb740122a7b17a53734b7d72a344ce39882a1b",
- "sha256:70fb482fdf2c707765ab5f0b6655e9cfcf3780d8d87355a063547b41177599be",
- "sha256:7170375bcc99f1a2fbd9c306f5be8764eaf3ac6b5cb968862cad4c7057756506",
- "sha256:73a411ef564e0e097dbe7e866bb2dda0f027e072b04da387282b02c308807405",
- "sha256:77457465d89b8263bca14759d7c1684df840b6811b2499838cc5b040a8b5b113",
- "sha256:7f362975f2d179f9e26928c5b517524e89dd48530a0202570d55ad6ca5d8a56f",
- "sha256:81bb9c6d52e8321f09c3d165b2a78c680506d9af285bfccbad9fb7ad5a5da3e5",
- "sha256:881b7db1ebff4ba09aaaeae6aa491daeb226c8150fc20e836ad00041bcb11230",
- "sha256:894393ce10ceac937e56ec00bb71c4c2f8209ad516e96033e4b3b1de270e200d",
- "sha256:99bf650dc5d69546e076f413a87481ee1d2d09aaaaaca058c9251b6d8c14783f",
- "sha256:9da2bd29ed9e4f15955dd1595ad7bc9320308a3b766ef7f837e23ad4b4aac31a",
- "sha256:afaff6cf5200befd5cec055b07d1c0a5a06c040fe5ad148abcd11ba6ab9b114e",
- "sha256:b1b5667cced97081bf57b8fa1d6bfca67814b0afd38208d52538316e9422fc61",
- "sha256:b37eef18ea55f2ffd8f00ff8fe7c8d3818abd3e25fb73fae2ca3b672e333a7a6",
- "sha256:b542be2440edc2d48547b5923c408cbe0fc94afb9f18741faa6ae970dbcb9b6d",
- "sha256:b7dcbe92cc99f08c8dd11f930de4d99ef756c3591a5377d1d9cd7dd5e896da71",
- "sha256:b7f009caad047246ed379e1c4dbcb8b020f0a390667ea74d2387be2998f58a22",
- "sha256:bba5387a6975598857d86de9eac14210a49d554a77eb8261cc68b7d082f78ce2",
- "sha256:c5e1536de2aad7bf62e27baf79225d0d64360d4168cf2e6becb91baf1ed074f3",
- "sha256:c5ee858cfe08f34712f548c3c363e807e7186f03ad7a5039ebadb29e8c6be067",
- "sha256:c9db1c18f0eaad2f804728c67d6c610778456e3e1cc4ab4bbd5eeb8e6053c6fc",
- "sha256:d353cadd6083fdb056bb46ed07e4340b0869c305c8ca54ef9da3421acbdf6881",
- "sha256:d46677c85c5ba00a9cb6f7a00b2bfa6f812192d2c9f7d9c4f6a55b60216712f3",
- "sha256:d4d1ac74f5c0c0524e4a24335350edad7e5f03b9532da7ea4d3c54d527784f2e",
- "sha256:d73a9fe764d77f87f8ec26a0c85144d6a951a6c438dfe50487df5595c6373eac",
- "sha256:da70d4d51c8b306bb7a031d5cff6cc25ad253affe89b70352af5f1cb68e74b53",
- "sha256:daf3cb43b7cf2ba96d614252ce1684c1bccee6b2183a01328c98d36fcd7d5cb0",
- "sha256:dca1e2f3ca00b84a396bc1bce13dd21f680f035314d2379c4160c98153b2059b",
- "sha256:dd4f49ae60e10adbc94b45c0b5e6a179acc1736cf7a90160b404076ee283cf83",
- "sha256:e1f145462f1fa6e4a4ae3c0f782e580ce44d57c8f2c7aae1b6fa88c0b2efdb41",
- "sha256:e3391d1e16e2a5a1507d83e4a8b100f4ee626e8eca43cf2cadb543de69827c4c",
- "sha256:fcd2469d6a2cf298f198f0487e0a5b1a47a42ca0fa4dfd1b6862c999f018ebbf",
- "sha256:fd096eb7ffef17c456cfa587523c5f92321ae02427ff955bebe9e3c63bc9f0da",
- "sha256:fe754d231288e1e64323cfad462fcee8f0288654c10bdf4f603a39ed923bef33"
- ],
- "markers": "platform_machine == 'aarch64' or (platform_machine == 'ppc64le' or (platform_machine == 'x86_64' or (platform_machine == 'amd64' or (platform_machine == 'AMD64' or (platform_machine == 'win32' or platform_machine == 'WIN32')))))",
- "version": "==3.0.3"
- },
- "grpcio": {
- "hashes": [
- "sha256:073f959c6f570797272f4ee9464a9997eaf1e98c27cb680225b82b53390d61e6",
- "sha256:0fd3b3968ffe7643144580f260f04d39d869fcc2cddb745deef078b09fd2b328",
- "sha256:1434ca77d6fed4ea312901122dc8da6c4389738bf5788f43efb19a838ac03ead",
- "sha256:1c30bb23a41df95109db130a6cc1b974844300ae2e5d68dd4947aacba5985aa5",
- "sha256:20e7a4f7ded59097c84059d28230907cd97130fa74f4a8bfd1d8e5ba18c81491",
- "sha256:2199165a1affb666aa24adf0c97436686d0a61bc5fc113c037701fb7c7fceb96",
- "sha256:297eef542156d6b15174a1231c2493ea9ea54af8d016b8ca7d5d9cc65cfcc444",
- "sha256:2aef56e85901c2397bd557c5ba514f84de1f0ae5dd132f5d5fed042858115951",
- "sha256:30943b9530fe3620e3b195c03130396cd0ee3a0d10a66c1bee715d1819001eaf",
- "sha256:3b36a2c6d4920ba88fa98075fdd58ff94ebeb8acc1215ae07d01a418af4c0253",
- "sha256:428d699c8553c27e98f4d29fdc0f0edc50e9a8a7590bfd294d2edb0da7be3629",
- "sha256:43e636dc2ce9ece583b3e2ca41df5c983f4302eabc6d5f9cd04f0562ee8ec1ae",
- "sha256:452ca5b4afed30e7274445dd9b441a35ece656ec1600b77fff8c216fdf07df43",
- "sha256:467a7d31554892eed2aa6c2d47ded1079fc40ea0b9601d9f79204afa8902274b",
- "sha256:4b44d7e39964e808b071714666a812049765b26b3ea48c4434a3b317bac82f14",
- "sha256:4c86343cf9ff7b2514dd229bdd88ebba760bd8973dac192ae687ff75e39ebfab",
- "sha256:5208a57eae445ae84a219dfd8b56e04313445d146873117b5fa75f3245bc1390",
- "sha256:5ff21e000ff2f658430bde5288cb1ac440ff15c0d7d18b5fb222f941b46cb0d2",
- "sha256:675997222f2e2f22928fbba640824aebd43791116034f62006e19730715166c0",
- "sha256:676e4a44e740deaba0f4d95ba1d8c5c89a2fcc43d02c39f69450b1fa19d39590",
- "sha256:6e306b97966369b889985a562ede9d99180def39ad42c8014628dd3cc343f508",
- "sha256:6fd9584bf1bccdfff1512719316efa77be235469e1e3295dce64538c4773840b",
- "sha256:705a68a973c4c76db5d369ed573fec3367d7d196673fa86614b33d8c8e9ebb08",
- "sha256:74d7d9fa97809c5b892449b28a65ec2bfa458a4735ddad46074f9f7d9550ad13",
- "sha256:77c8a317f0fd5a0a2be8ed5cbe5341537d5c00bb79b3bb27ba7c5378ba77dbca",
- "sha256:79a050889eb8d57a93ed21d9585bb63fca881666fc709f5d9f7f9372f5e7fd03",
- "sha256:7db16dd4ea1b05ada504f08d0dca1cd9b926bed3770f50e715d087c6f00ad748",
- "sha256:83f2292ae292ed5a47cdcb9821039ca8e88902923198f2193f13959360c01860",
- "sha256:87c9224acba0ad8bacddf427a1c2772e17ce50b3042a789547af27099c5f751d",
- "sha256:8a97a681e82bc11a42d4372fe57898d270a2707f36c45c6676e49ce0d5c41353",
- "sha256:9073513ec380434eb8d21970e1ab3161041de121f4018bbed3146839451a6d8e",
- "sha256:90bdd76b3f04bdb21de5398b8a7c629676c81dfac290f5f19883857e9371d28c",
- "sha256:91229d7203f1ef0ab420c9b53fe2ca5c1fbeb34f69b3bc1b5089466237a4a134",
- "sha256:92f88ca1b956eb8427a11bb8b4a0c0b2b03377235fc5102cb05e533b8693a415",
- "sha256:95ae3e8e2c1b9bf671817f86f155c5da7d49a2289c5cf27a319458c3e025c320",
- "sha256:9e30be89a75ee66aec7f9e60086fadb37ff8c0ba49a022887c28c134341f7179",
- "sha256:a48edde788b99214613e440fce495bbe2b1e142a7f214cce9e0832146c41e324",
- "sha256:a7152fa6e597c20cb97923407cf0934e14224af42c2b8d915f48bc3ad2d9ac18",
- "sha256:a9c7b71211f066908e518a2ef7a5e211670761651039f0d6a80d8d40054047df",
- "sha256:b0571a5aef36ba9177e262dc88a9240c866d903a62799e44fd4aae3f9a2ec17e",
- "sha256:b0fb2d4801546598ac5cd18e3ec79c1a9af8b8f2a86283c55a5337c5aeca4b1b",
- "sha256:b10241250cb77657ab315270b064a6c7f1add58af94befa20687e7c8d8603ae6",
- "sha256:b87efe4a380887425bb15f220079aa8336276398dc33fce38c64d278164f963d",
- "sha256:b98f43fcdb16172dec5f4b49f2fece4b16a99fd284d81c6bbac1b3b69fcbe0ff",
- "sha256:c193109ca4070cdcaa6eff00fdb5a56233dc7610216d58fb81638f89f02e4968",
- "sha256:c826f93050c73e7769806f92e601e0efdb83ec8d7c76ddf45d514fee54e8e619",
- "sha256:d020cfa595d1f8f5c6b343530cd3ca16ae5aefdd1e832b777f9f0eb105f5b139",
- "sha256:d6a478581b1a1a8fdf3318ecb5f4d0cda41cacdffe2b527c23707c9c1b8fdb55",
- "sha256:de2ad69c9a094bf37c1102b5744c9aec6cf74d2b635558b779085d0263166454",
- "sha256:e278eafb406f7e1b1b637c2cf51d3ad45883bb5bd1ca56bc05e4fc135dfdaa65",
- "sha256:e381fe0c2aa6c03b056ad8f52f8efca7be29fb4d9ae2f8873520843b6039612a",
- "sha256:e61e76020e0c332a98290323ecfec721c9544f5b739fab925b6e8cbe1944cf19",
- "sha256:f897c3b127532e6befdcf961c415c97f320d45614daf84deba0a54e64ea2457b",
- "sha256:fb464479934778d7cc5baf463d959d361954d6533ad34c3a4f1d267e86ee25fd"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==1.60.0"
- },
- "h11": {
- "hashes": [
- "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d",
- "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==0.14.0"
- },
- "httpcore": {
- "hashes": [
- "sha256:34a38e2f9291467ee3b44e89dd52615370e152954ba21721378a87b2960f7a61",
- "sha256:421f18bac248b25d310f3cacd198d55b8e6125c107797b609ff9b7a6ba7991b5"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==1.0.5"
- },
- "httpx": {
- "hashes": [
- "sha256:71d5465162c13681bff01ad59b2cc68dd838ea1f10e51574bac27103f00c91a5",
- "sha256:a0cb88a46f32dc874e04ee956e4c2764aba2aa228f650b06788ba6bda2962ab5"
- ],
- "index": "pypi",
- "markers": "python_version >= '3.8'",
- "version": "==0.27.0"
- },
- "huggingface-hub": {
- "hashes": [
- "sha256:32e9a9a6843c92f253ff9ca16b9985def4d80a93fb357af5353f770ef74a81be",
- "sha256:3429e25f38ccb834d310804a3b711e7e4953db5a9e420cc147a5e194ca90fd17"
- ],
- "markers": "python_full_version >= '3.8.0'",
- "version": "==0.22.2"
- },
- "idna": {
- "hashes": [
- "sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc",
- "sha256:82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0"
- ],
- "markers": "python_version >= '3.5'",
- "version": "==3.7"
- },
- "isodate": {
- "hashes": [
- "sha256:0751eece944162659049d35f4f549ed815792b38793f07cf73381c1c87cbed96",
- "sha256:48c5881de7e8b0a0d648cb024c8062dc84e7b840ed81e864c7614fd3c127bde9"
- ],
- "version": "==0.6.1"
- },
- "jinja2": {
- "hashes": [
- "sha256:7d6d50dd97d52cbc355597bd845fabfbac3f551e1f99619e39a35ce8c370b5fa",
- "sha256:ac8bd6544d4bb2c9792bf3a159e80bba8fda7f07e81bc3aed565432d5925ba90"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==3.1.3"
- },
- "jmespath": {
- "hashes": [
- "sha256:02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980",
- "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==1.0.1"
- },
- "joblib": {
- "hashes": [
- "sha256:1eb0dc091919cd384490de890cb5dfd538410a6d4b3b54eef09fb8c50b409b1c",
- "sha256:42942470d4062537be4d54c83511186da1fc14ba354961a2114da91efa9a4ed7"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==1.4.0"
- },
- "jsonpatch": {
- "hashes": [
- "sha256:0ae28c0cd062bbd8b8ecc26d7d164fbbea9652a1a3693f3b956c1eae5145dade",
- "sha256:9fcd4009c41e6d12348b4a0ff2563ba56a2923a7dfee731d004e212e1ee5030c"
- ],
- "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6'",
- "version": "==1.33"
- },
- "jsonpointer": {
- "hashes": [
- "sha256:15d51bba20eea3165644553647711d150376234112651b4f1811022aecad7d7a",
- "sha256:585cee82b70211fa9e6043b7bb89db6e1aa49524340dde8ad6b63206ea689d88"
- ],
- "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6'",
- "version": "==2.4"
- },
- "langchain": {
- "hashes": [
- "sha256:3ac516463ae7f80047091f04592a1eea138321710bbc266005f9de238d71acd3",
- "sha256:79d43035327fdcc5ac81a3db10f2b879f2bd5db3b268ef82bac7baf3ec32954e"
- ],
- "index": "pypi",
- "markers": "python_version < '4.0' and python_full_version >= '3.8.1'",
- "version": "==0.1.15"
- },
- "langchain-community": {
- "hashes": [
- "sha256:1510217d646c8380f54e9850351f6d2a0b0dd73c501b666c6f4b40baa8160b29",
- "sha256:406977009999952d0705de3806de2b4867e9bb8eda8ca154a59c7a8ed58da38d"
- ],
- "markers": "python_version < '4.0' and python_full_version >= '3.8.1'",
- "version": "==0.0.32"
- },
- "langchain-core": {
- "hashes": [
- "sha256:40751bf60ea5d8e2b2efe65290db434717ee3834870c002e40e2811f09d814e6",
- "sha256:c5653ffa08a44f740295c157a24c0def4a753333f6a2c41f76bf431cd00be8b5"
- ],
- "markers": "python_version < '4.0' and python_full_version >= '3.8.1'",
- "version": "==0.1.42"
- },
- "langchain-text-splitters": {
- "hashes": [
- "sha256:ac459fa98799f5117ad5425a9330b21961321e30bc19a2a2f9f761ddadd62aa1",
- "sha256:f5b802f873f5ff6a8b9259ff34d53ed989666ef4e1582e6d1adb3b5520e3839a"
- ],
- "markers": "python_version < '4.0' and python_full_version >= '3.8.1'",
- "version": "==0.0.1"
- },
- "langsmith": {
- "hashes": [
- "sha256:17b0a908b8d39b6da3ecff658c8c00304b0b62f59945a5e16c2da5a254ea21a6",
- "sha256:f5ddd17628baa03a775525c5547a543a559313e425cdb2bf23579ffcf6056a76"
- ],
- "markers": "python_version < '4.0' and python_full_version >= '3.8.1'",
- "version": "==0.1.47"
- },
- "markupsafe": {
- "hashes": [
- "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf",
- "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff",
- "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f",
- "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3",
- "sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532",
- "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f",
- "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617",
- "sha256:2d2d793e36e230fd32babe143b04cec8a8b3eb8a3122d2aceb4a371e6b09b8df",
- "sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4",
- "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906",
- "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f",
- "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4",
- "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8",
- "sha256:4096e9de5c6fdf43fb4f04c26fb114f61ef0bf2e5604b6ee3019d51b69e8c371",
- "sha256:4275d846e41ecefa46e2015117a9f491e57a71ddd59bbead77e904dc02b1bed2",
- "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465",
- "sha256:4f11aa001c540f62c6166c7726f71f7573b52c68c31f014c25cc7901deea0b52",
- "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6",
- "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169",
- "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad",
- "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2",
- "sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0",
- "sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029",
- "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f",
- "sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a",
- "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced",
- "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5",
- "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c",
- "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf",
- "sha256:7b2e5a267c855eea6b4283940daa6e88a285f5f2a67f2220203786dfa59b37e9",
- "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb",
- "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad",
- "sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3",
- "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1",
- "sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46",
- "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc",
- "sha256:a549b9c31bec33820e885335b451286e2969a2d9e24879f83fe904a5ce59d70a",
- "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee",
- "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900",
- "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5",
- "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea",
- "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f",
- "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5",
- "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e",
- "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a",
- "sha256:c8b29db45f8fe46ad280a7294f5c3ec36dbac9491f2d1c17345be8e69cc5928f",
- "sha256:ce409136744f6521e39fd8e2a24c53fa18ad67aa5bc7c2cf83645cce5b5c4e50",
- "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a",
- "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b",
- "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4",
- "sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff",
- "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2",
- "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46",
- "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b",
- "sha256:ec6a563cff360b50eed26f13adc43e61bc0c04d94b8be985e6fb24b81f6dcfdf",
- "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5",
- "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5",
- "sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab",
- "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd",
- "sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==2.1.5"
- },
- "marshmallow": {
- "hashes": [
- "sha256:4e65e9e0d80fc9e609574b9983cf32579f305c718afb30d7233ab818571768c3",
- "sha256:f085493f79efb0644f270a9bf2892843142d80d7174bbbd2f3713f2a589dc633"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==3.21.1"
- },
- "minio": {
- "hashes": [
- "sha256:59d8906e2da248a9caac34d4958a859cc3a44abbe6447910c82b5abfa9d6a2e1",
- "sha256:ed9176c96d4271cb1022b9ecb8a538b1e55b32ae06add6de16425cab99ef2304"
- ],
- "version": "==7.2.5"
- },
- "mpmath": {
- "hashes": [
- "sha256:7a28eb2a9774d00c7bc92411c19a89209d5da7c4c9a9e227be8330a23a25b91f",
- "sha256:a0b2b9fe80bbcd81a6647ff13108738cfb482d481d826cc0e02f5b35e5c88d2c"
- ],
- "version": "==1.3.0"
- },
- "multidict": {
- "hashes": [
- "sha256:01265f5e40f5a17f8241d52656ed27192be03bfa8764d88e8220141d1e4b3556",
- "sha256:0275e35209c27a3f7951e1ce7aaf93ce0d163b28948444bec61dd7badc6d3f8c",
- "sha256:04bde7a7b3de05732a4eb39c94574db1ec99abb56162d6c520ad26f83267de29",
- "sha256:04da1bb8c8dbadf2a18a452639771951c662c5ad03aefe4884775454be322c9b",
- "sha256:09a892e4a9fb47331da06948690ae38eaa2426de97b4ccbfafbdcbe5c8f37ff8",
- "sha256:0d63c74e3d7ab26de115c49bffc92cc77ed23395303d496eae515d4204a625e7",
- "sha256:107c0cdefe028703fb5dafe640a409cb146d44a6ae201e55b35a4af8e95457dd",
- "sha256:141b43360bfd3bdd75f15ed811850763555a251e38b2405967f8e25fb43f7d40",
- "sha256:14c2976aa9038c2629efa2c148022ed5eb4cb939e15ec7aace7ca932f48f9ba6",
- "sha256:19fe01cea168585ba0f678cad6f58133db2aa14eccaf22f88e4a6dccadfad8b3",
- "sha256:1d147090048129ce3c453f0292e7697d333db95e52616b3793922945804a433c",
- "sha256:1d9ea7a7e779d7a3561aade7d596649fbecfa5c08a7674b11b423783217933f9",
- "sha256:215ed703caf15f578dca76ee6f6b21b7603791ae090fbf1ef9d865571039ade5",
- "sha256:21fd81c4ebdb4f214161be351eb5bcf385426bf023041da2fd9e60681f3cebae",
- "sha256:220dd781e3f7af2c2c1053da9fa96d9cf3072ca58f057f4c5adaaa1cab8fc442",
- "sha256:228b644ae063c10e7f324ab1ab6b548bdf6f8b47f3ec234fef1093bc2735e5f9",
- "sha256:29bfeb0dff5cb5fdab2023a7a9947b3b4af63e9c47cae2a10ad58394b517fddc",
- "sha256:2f4848aa3baa109e6ab81fe2006c77ed4d3cd1e0ac2c1fbddb7b1277c168788c",
- "sha256:2faa5ae9376faba05f630d7e5e6be05be22913782b927b19d12b8145968a85ea",
- "sha256:2ffc42c922dbfddb4a4c3b438eb056828719f07608af27d163191cb3e3aa6cc5",
- "sha256:37b15024f864916b4951adb95d3a80c9431299080341ab9544ed148091b53f50",
- "sha256:3cc2ad10255f903656017363cd59436f2111443a76f996584d1077e43ee51182",
- "sha256:3d25f19500588cbc47dc19081d78131c32637c25804df8414463ec908631e453",
- "sha256:403c0911cd5d5791605808b942c88a8155c2592e05332d2bf78f18697a5fa15e",
- "sha256:411bf8515f3be9813d06004cac41ccf7d1cd46dfe233705933dd163b60e37600",
- "sha256:425bf820055005bfc8aa9a0b99ccb52cc2f4070153e34b701acc98d201693733",
- "sha256:435a0984199d81ca178b9ae2c26ec3d49692d20ee29bc4c11a2a8d4514c67eda",
- "sha256:4a6a4f196f08c58c59e0b8ef8ec441d12aee4125a7d4f4fef000ccb22f8d7241",
- "sha256:4cc0ef8b962ac7a5e62b9e826bd0cd5040e7d401bc45a6835910ed699037a461",
- "sha256:51d035609b86722963404f711db441cf7134f1889107fb171a970c9701f92e1e",
- "sha256:53689bb4e102200a4fafa9de9c7c3c212ab40a7ab2c8e474491914d2305f187e",
- "sha256:55205d03e8a598cfc688c71ca8ea5f66447164efff8869517f175ea632c7cb7b",
- "sha256:5c0631926c4f58e9a5ccce555ad7747d9a9f8b10619621f22f9635f069f6233e",
- "sha256:5cb241881eefd96b46f89b1a056187ea8e9ba14ab88ba632e68d7a2ecb7aadf7",
- "sha256:60d698e8179a42ec85172d12f50b1668254628425a6bd611aba022257cac1386",
- "sha256:612d1156111ae11d14afaf3a0669ebf6c170dbb735e510a7438ffe2369a847fd",
- "sha256:6214c5a5571802c33f80e6c84713b2c79e024995b9c5897f794b43e714daeec9",
- "sha256:6939c95381e003f54cd4c5516740faba40cf5ad3eeff460c3ad1d3e0ea2549bf",
- "sha256:69db76c09796b313331bb7048229e3bee7928eb62bab5e071e9f7fcc4879caee",
- "sha256:6bf7a982604375a8d49b6cc1b781c1747f243d91b81035a9b43a2126c04766f5",
- "sha256:766c8f7511df26d9f11cd3a8be623e59cca73d44643abab3f8c8c07620524e4a",
- "sha256:76c0de87358b192de7ea9649beb392f107dcad9ad27276324c24c91774ca5271",
- "sha256:76f067f5121dcecf0d63a67f29080b26c43c71a98b10c701b0677e4a065fbd54",
- "sha256:7901c05ead4b3fb75113fb1dd33eb1253c6d3ee37ce93305acd9d38e0b5f21a4",
- "sha256:79660376075cfd4b2c80f295528aa6beb2058fd289f4c9252f986751a4cd0496",
- "sha256:79a6d2ba910adb2cbafc95dad936f8b9386e77c84c35bc0add315b856d7c3abb",
- "sha256:7afcdd1fc07befad18ec4523a782cde4e93e0a2bf71239894b8d61ee578c1319",
- "sha256:7be7047bd08accdb7487737631d25735c9a04327911de89ff1b26b81745bd4e3",
- "sha256:7c6390cf87ff6234643428991b7359b5f59cc15155695deb4eda5c777d2b880f",
- "sha256:7df704ca8cf4a073334e0427ae2345323613e4df18cc224f647f251e5e75a527",
- "sha256:85f67aed7bb647f93e7520633d8f51d3cbc6ab96957c71272b286b2f30dc70ed",
- "sha256:896ebdcf62683551312c30e20614305f53125750803b614e9e6ce74a96232604",
- "sha256:92d16a3e275e38293623ebf639c471d3e03bb20b8ebb845237e0d3664914caef",
- "sha256:99f60d34c048c5c2fabc766108c103612344c46e35d4ed9ae0673d33c8fb26e8",
- "sha256:9fe7b0653ba3d9d65cbe7698cca585bf0f8c83dbbcc710db9c90f478e175f2d5",
- "sha256:a3145cb08d8625b2d3fee1b2d596a8766352979c9bffe5d7833e0503d0f0b5e5",
- "sha256:aeaf541ddbad8311a87dd695ed9642401131ea39ad7bc8cf3ef3967fd093b626",
- "sha256:b55358304d7a73d7bdf5de62494aaf70bd33015831ffd98bc498b433dfe5b10c",
- "sha256:b82cc8ace10ab5bd93235dfaab2021c70637005e1ac787031f4d1da63d493c1d",
- "sha256:c0868d64af83169e4d4152ec612637a543f7a336e4a307b119e98042e852ad9c",
- "sha256:c1c1496e73051918fcd4f58ff2e0f2f3066d1c76a0c6aeffd9b45d53243702cc",
- "sha256:c9bf56195c6bbd293340ea82eafd0071cb3d450c703d2c93afb89f93b8386ccc",
- "sha256:cbebcd5bcaf1eaf302617c114aa67569dd3f090dd0ce8ba9e35e9985b41ac35b",
- "sha256:cd6c8fca38178e12c00418de737aef1261576bd1b6e8c6134d3e729a4e858b38",
- "sha256:ceb3b7e6a0135e092de86110c5a74e46bda4bd4fbfeeb3a3bcec79c0f861e450",
- "sha256:cf590b134eb70629e350691ecca88eac3e3b8b3c86992042fb82e3cb1830d5e1",
- "sha256:d3eb1ceec286eba8220c26f3b0096cf189aea7057b6e7b7a2e60ed36b373b77f",
- "sha256:d65f25da8e248202bd47445cec78e0025c0fe7582b23ec69c3b27a640dd7a8e3",
- "sha256:d6f6d4f185481c9669b9447bf9d9cf3b95a0e9df9d169bbc17e363b7d5487755",
- "sha256:d84a5c3a5f7ce6db1f999fb9438f686bc2e09d38143f2d93d8406ed2dd6b9226",
- "sha256:d946b0a9eb8aaa590df1fe082cee553ceab173e6cb5b03239716338629c50c7a",
- "sha256:dce1c6912ab9ff5f179eaf6efe7365c1f425ed690b03341911bf4939ef2f3046",
- "sha256:de170c7b4fe6859beb8926e84f7d7d6c693dfe8e27372ce3b76f01c46e489fcf",
- "sha256:e02021f87a5b6932fa6ce916ca004c4d441509d33bbdbeca70d05dff5e9d2479",
- "sha256:e030047e85cbcedbfc073f71836d62dd5dadfbe7531cae27789ff66bc551bd5e",
- "sha256:e0e79d91e71b9867c73323a3444724d496c037e578a0e1755ae159ba14f4f3d1",
- "sha256:e4428b29611e989719874670fd152b6625500ad6c686d464e99f5aaeeaca175a",
- "sha256:e4972624066095e52b569e02b5ca97dbd7a7ddd4294bf4e7247d52635630dd83",
- "sha256:e7be68734bd8c9a513f2b0cfd508802d6609da068f40dc57d4e3494cefc92929",
- "sha256:e8e94e6912639a02ce173341ff62cc1201232ab86b8a8fcc05572741a5dc7d93",
- "sha256:ea1456df2a27c73ce51120fa2f519f1bea2f4a03a917f4a43c8707cf4cbbae1a",
- "sha256:ebd8d160f91a764652d3e51ce0d2956b38efe37c9231cd82cfc0bed2e40b581c",
- "sha256:eca2e9d0cc5a889850e9bbd68e98314ada174ff6ccd1129500103df7a94a7a44",
- "sha256:edd08e6f2f1a390bf137080507e44ccc086353c8e98c657e666c017718561b89",
- "sha256:f285e862d2f153a70586579c15c44656f888806ed0e5b56b64489afe4a2dbfba",
- "sha256:f2a1dee728b52b33eebff5072817176c172050d44d67befd681609b4746e1c2e",
- "sha256:f7e301075edaf50500f0b341543c41194d8df3ae5caf4702f2095f3ca73dd8da",
- "sha256:fb616be3538599e797a2017cccca78e354c767165e8858ab5116813146041a24",
- "sha256:fce28b3c8a81b6b36dfac9feb1de115bab619b3c13905b419ec71d03a3fc1423",
- "sha256:fe5d7785250541f7f5019ab9cba2c71169dc7d74d0f45253f8313f436458a4ef"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==6.0.5"
- },
- "mypy-extensions": {
- "hashes": [
- "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d",
- "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"
- ],
- "markers": "python_version >= '3.5'",
- "version": "==1.0.0"
- },
- "networkx": {
- "hashes": [
- "sha256:0c127d8b2f4865f59ae9cb8aafcd60b5c70f3241ebd66f7defad7c4ab90126c9",
- "sha256:28575580c6ebdaf4505b22c6256a2b9de86b316dc63ba9e93abde3d78dfdbcf2"
- ],
- "markers": "python_version >= '3.10'",
- "version": "==3.3"
- },
- "numpy": {
- "hashes": [
- "sha256:03a8c78d01d9781b28a6989f6fa1bb2c4f2d51201cf99d3dd875df6fbd96b23b",
- "sha256:08beddf13648eb95f8d867350f6a018a4be2e5ad54c8d8caed89ebca558b2818",
- "sha256:1af303d6b2210eb850fcf03064d364652b7120803a0b872f5211f5234b399f20",
- "sha256:1dda2e7b4ec9dd512f84935c5f126c8bd8b9f2fc001e9f54af255e8c5f16b0e0",
- "sha256:2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010",
- "sha256:2e4ee3380d6de9c9ec04745830fd9e2eccb3e6cf790d39d7b98ffd19b0dd754a",
- "sha256:3373d5d70a5fe74a2c1bb6d2cfd9609ecf686d47a2d7b1d37a8f3b6bf6003aea",
- "sha256:47711010ad8555514b434df65f7d7b076bb8261df1ca9bb78f53d3b2db02e95c",
- "sha256:4c66707fabe114439db9068ee468c26bbdf909cac0fb58686a42a24de1760c71",
- "sha256:50193e430acfc1346175fcbdaa28ffec49947a06918b7b92130744e81e640110",
- "sha256:52b8b60467cd7dd1e9ed082188b4e6bb35aa5cdd01777621a1658910745b90be",
- "sha256:60dedbb91afcbfdc9bc0b1f3f402804070deed7392c23eb7a7f07fa857868e8a",
- "sha256:62b8e4b1e28009ef2846b4c7852046736bab361f7aeadeb6a5b89ebec3c7055a",
- "sha256:666dbfb6ec68962c033a450943ded891bed2d54e6755e35e5835d63f4f6931d5",
- "sha256:675d61ffbfa78604709862923189bad94014bef562cc35cf61d3a07bba02a7ed",
- "sha256:679b0076f67ecc0138fd2ede3a8fd196dddc2ad3254069bcb9faf9a79b1cebcd",
- "sha256:7349ab0fa0c429c82442a27a9673fc802ffdb7c7775fad780226cb234965e53c",
- "sha256:7ab55401287bfec946ced39700c053796e7cc0e3acbef09993a9ad2adba6ca6e",
- "sha256:7e50d0a0cc3189f9cb0aeb3a6a6af18c16f59f004b866cd2be1c14b36134a4a0",
- "sha256:95a7476c59002f2f6c590b9b7b998306fba6a5aa646b1e22ddfeaf8f78c3a29c",
- "sha256:96ff0b2ad353d8f990b63294c8986f1ec3cb19d749234014f4e7eb0112ceba5a",
- "sha256:9fad7dcb1aac3c7f0584a5a8133e3a43eeb2fe127f47e3632d43d677c66c102b",
- "sha256:9ff0f4f29c51e2803569d7a51c2304de5554655a60c5d776e35b4a41413830d0",
- "sha256:a354325ee03388678242a4d7ebcd08b5c727033fcff3b2f536aea978e15ee9e6",
- "sha256:a4abb4f9001ad2858e7ac189089c42178fcce737e4169dc61321660f1a96c7d2",
- "sha256:ab47dbe5cc8210f55aa58e4805fe224dac469cde56b9f731a4c098b91917159a",
- "sha256:afedb719a9dcfc7eaf2287b839d8198e06dcd4cb5d276a3df279231138e83d30",
- "sha256:b3ce300f3644fb06443ee2222c2201dd3a89ea6040541412b8fa189341847218",
- "sha256:b97fe8060236edf3662adfc2c633f56a08ae30560c56310562cb4f95500022d5",
- "sha256:bfe25acf8b437eb2a8b2d49d443800a5f18508cd811fea3181723922a8a82b07",
- "sha256:cd25bcecc4974d09257ffcd1f098ee778f7834c3ad767fe5db785be9a4aa9cb2",
- "sha256:d209d8969599b27ad20994c8e41936ee0964e6da07478d6c35016bc386b66ad4",
- "sha256:d5241e0a80d808d70546c697135da2c613f30e28251ff8307eb72ba696945764",
- "sha256:edd8b5fe47dab091176d21bb6de568acdd906d1887a4584a15a9a96a1dca06ef",
- "sha256:f870204a840a60da0b12273ef34f7051e98c3b5961b61b0c2c1be6dfd64fbcd3",
- "sha256:ffa75af20b44f8dba823498024771d5ac50620e6915abac414251bd971b4529f"
- ],
- "markers": "python_version >= '3.9'",
- "version": "==1.26.4"
- },
- "openai": {
- "hashes": [
- "sha256:72464cdb0602a57af87acb4888b1a48a1c02182cc9f09d2f2f3200b185223d5f",
- "sha256:72e6758cec080a3e5a9daf843178c975fed656fe0831919f4dd89bb62431724f"
- ],
- "index": "pypi",
- "markers": "python_full_version >= '3.7.1'",
- "version": "==1.17.0"
- },
- "orjson": {
- "hashes": [
- "sha256:115498c4ad34188dcb73464e8dc80e490a3e5e88a925907b6fedcf20e545001a",
- "sha256:13b5d3c795b09a466ec9fcf0bd3ad7b85467d91a60113885df7b8d639a9d374b",
- "sha256:175a41500ebb2fdf320bf78e8b9a75a1279525b62ba400b2b2444e274c2c8bee",
- "sha256:1897aa25a944cec774ce4a0e1c8e98fb50523e97366c637b7d0cddabc42e6643",
- "sha256:1bef1050b1bdc9ea6c0d08468e3e61c9386723633b397e50b82fda37b3563d72",
- "sha256:1de3fd5c7b208d836f8ecb4526995f0d5877153a4f6f12f3e9bf11e49357de98",
- "sha256:22c2f7e377ac757bd3476ecb7480c8ed79d98ef89648f0176deb1da5cd014eb7",
- "sha256:237ba922aef472761acd697eef77fef4831ab769a42e83c04ac91e9f9e08fa0e",
- "sha256:23c12bb4ced1c3308eff7ba5c63ef8f0edb3e4c43c026440247dd6c1c61cea4b",
- "sha256:30707e646080dd3c791f22ce7e4a2fc2438765408547c10510f1f690bd336217",
- "sha256:30d795a24be16c03dca0c35ca8f9c8eaaa51e3342f2c162d327bd0225118794a",
- "sha256:33e6655a2542195d6fd9f850b428926559dee382f7a862dae92ca97fea03a5ad",
- "sha256:400c5b7c4222cb27b5059adf1fb12302eebcabf1978f33d0824aa5277ca899bd",
- "sha256:4050920e831a49d8782a1720d3ca2f1c49b150953667eed6e5d63a62e80f46a2",
- "sha256:414e5293b82373606acf0d66313aecb52d9c8c2404b1900683eb32c3d042dbd7",
- "sha256:4251964db47ef090c462a2d909f16c7c7d5fe68e341dabce6702879ec26d1134",
- "sha256:4329c1d24fd130ee377e32a72dc54a3c251e6706fccd9a2ecb91b3606fddd998",
- "sha256:47af5d4b850a2d1328660661f0881b67fdbe712aea905dadd413bdea6f792c33",
- "sha256:5127478260db640323cea131ee88541cb1a9fbce051f0b22fa2f0892f44da302",
- "sha256:57d017863ec8aa4589be30a328dacd13c2dc49de1c170bc8d8c8a98ece0f2925",
- "sha256:5d42768db6f2ce0162544845facb7c081e9364a5eb6d2ef06cd17f6050b048d8",
- "sha256:5dcb32e949eae80fb335e63b90e5808b4b0f64e31476b3777707416b41682db5",
- "sha256:60c0b1bdbccd959ebd1575bd0147bd5e10fc76f26216188be4a36b691c937077",
- "sha256:658ca5cee3379dd3d37dbacd43d42c1b4feee99a29d847ef27a1cb18abdfb23f",
- "sha256:6735dd4a5a7b6df00a87d1d7a02b84b54d215fb7adac50dd24da5997ffb4798d",
- "sha256:6a3f53dc650bc860eb26ec293dfb489b2f6ae1cbfc409a127b01229980e372f7",
- "sha256:73bbbdc43d520204d9ef0817ac03fa49c103c7f9ea94f410d2950755be2c349c",
- "sha256:8acd4b82a5f3a3ec8b1dc83452941d22b4711964c34727eb1e65449eead353ca",
- "sha256:90bfc137c75c31d32308fd61951d424424426ddc39a40e367704661a9ee97095",
- "sha256:9587053e0cefc284e4d1cd113c34468b7d3f17666d22b185ea654f0775316a26",
- "sha256:983db1f87c371dc6ffc52931eb75f9fe17dc621273e43ce67bee407d3e5476e9",
- "sha256:98c1bfc6a9bec52bc8f0ab9b86cc0874b0299fccef3562b793c1576cf3abb570",
- "sha256:9a667769a96a72ca67237224a36faf57db0c82ab07d09c3aafc6f956196cfa1b",
- "sha256:9bf565a69e0082ea348c5657401acec3cbbb31564d89afebaee884614fba36b4",
- "sha256:aa7d507c7493252c0a0264b5cc7e20fa2f8622b8a83b04d819b5ce32c97cf57b",
- "sha256:ade1e21dfde1d37feee8cf6464c20a2f41fa46c8bcd5251e761903e46102dc6b",
- "sha256:b2d014cf8d4dc9f03fc9f870de191a49a03b1bcda51f2a957943fb9fafe55aac",
- "sha256:b6ebc17cfbbf741f5c1a888d1854354536f63d84bee537c9a7c0335791bb9009",
- "sha256:b98345529bafe3c06c09996b303fc0a21961820d634409b8639bc16bd4f21b63",
- "sha256:ba4d8cac5f2e2cff36bea6b6481cdb92b38c202bcec603d6f5ff91960595a1ed",
- "sha256:c4f60db24161534764277f798ef53b9d3063092f6d23f8f962b4a97edfa997a0",
- "sha256:c90681333619d78360d13840c7235fdaf01b2b129cb3a4f1647783b1971542b6",
- "sha256:cd583341218826f48bd7c6ebf3310b4126216920853cbc471e8dbeaf07b0b80e",
- "sha256:d16c6963ddf3b28c0d461641517cd312ad6b3cf303d8b87d5ef3fa59d6844337",
- "sha256:d2817877d0b69f78f146ab305c5975d0618df41acf8811249ee64231f5953fee",
- "sha256:e286a51def6626f1e0cc134ba2067dcf14f7f4b9550f6dd4535fd9d79000040b",
- "sha256:e62ba42bfe64c60c1bc84799944f80704e996592c6b9e14789c8e2a303279912",
- "sha256:eadecaa16d9783affca33597781328e4981b048615c2ddc31c47a51b833d6319",
- "sha256:ef0f19fdfb6553342b1882f438afd53c7cb7aea57894c4490c43e4431739c700",
- "sha256:f93e33f67729d460a177ba285002035d3f11425ed3cebac5f6ded4ef36b28344",
- "sha256:feaed5bb09877dc27ed0d37f037ddef6cb76d19aa34b108db270d27d3d2ef747"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==3.10.0"
- },
- "packaging": {
- "hashes": [
- "sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5",
- "sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==23.2"
- },
- "pandas": {
- "hashes": [
- "sha256:001910ad31abc7bf06f49dcc903755d2f7f3a9186c0c040b827e522e9cef0863",
- "sha256:0ca6377b8fca51815f382bd0b697a0814c8bda55115678cbc94c30aacbb6eff2",
- "sha256:0cace394b6ea70c01ca1595f839cf193df35d1575986e484ad35c4aeae7266c1",
- "sha256:1cb51fe389360f3b5a4d57dbd2848a5f033350336ca3b340d1c53a1fad33bcad",
- "sha256:2925720037f06e89af896c70bca73459d7e6a4be96f9de79e2d440bd499fe0db",
- "sha256:3e374f59e440d4ab45ca2fffde54b81ac3834cf5ae2cdfa69c90bc03bde04d76",
- "sha256:40ae1dffb3967a52203105a077415a86044a2bea011b5f321c6aa64b379a3f51",
- "sha256:43498c0bdb43d55cb162cdc8c06fac328ccb5d2eabe3cadeb3529ae6f0517c32",
- "sha256:4abfe0be0d7221be4f12552995e58723c7422c80a659da13ca382697de830c08",
- "sha256:58b84b91b0b9f4bafac2a0ac55002280c094dfc6402402332c0913a59654ab2b",
- "sha256:640cef9aa381b60e296db324337a554aeeb883ead99dc8f6c18e81a93942f5f4",
- "sha256:66b479b0bd07204e37583c191535505410daa8df638fd8e75ae1b383851fe921",
- "sha256:696039430f7a562b74fa45f540aca068ea85fa34c244d0deee539cb6d70aa288",
- "sha256:6d2123dc9ad6a814bcdea0f099885276b31b24f7edf40f6cdbc0912672e22eee",
- "sha256:8635c16bf3d99040fdf3ca3db669a7250ddf49c55dc4aa8fe0ae0fa8d6dcc1f0",
- "sha256:873d13d177501a28b2756375d59816c365e42ed8417b41665f346289adc68d24",
- "sha256:8e5a0b00e1e56a842f922e7fae8ae4077aee4af0acb5ae3622bd4b4c30aedf99",
- "sha256:8e90497254aacacbc4ea6ae5e7a8cd75629d6ad2b30025a4a8b09aa4faf55151",
- "sha256:9057e6aa78a584bc93a13f0a9bf7e753a5e9770a30b4d758b8d5f2a62a9433cd",
- "sha256:90c6fca2acf139569e74e8781709dccb6fe25940488755716d1d354d6bc58bce",
- "sha256:92fd6b027924a7e178ac202cfbe25e53368db90d56872d20ffae94b96c7acc57",
- "sha256:9dfde2a0ddef507a631dc9dc4af6a9489d5e2e740e226ad426a05cabfbd7c8ef",
- "sha256:9e79019aba43cb4fda9e4d983f8e88ca0373adbb697ae9c6c43093218de28b54",
- "sha256:a77e9d1c386196879aa5eb712e77461aaee433e54c68cf253053a73b7e49c33a",
- "sha256:c7adfc142dac335d8c1e0dcbd37eb8617eac386596eb9e1a1b77791cf2498238",
- "sha256:d187d355ecec3629624fccb01d104da7d7f391db0311145817525281e2804d23",
- "sha256:ddf818e4e6c7c6f4f7c8a12709696d193976b591cc7dc50588d3d1a6b5dc8772",
- "sha256:e9b79011ff7a0f4b1d6da6a61aa1aa604fb312d6647de5bad20013682d1429ce",
- "sha256:eee3a87076c0756de40b05c5e9a6069c035ba43e8dd71c379e68cab2c20f16ad"
- ],
- "markers": "python_version >= '3.9'",
- "version": "==2.2.2"
- },
- "pillow": {
- "hashes": [
- "sha256:048ad577748b9fa4a99a0548c64f2cb8d672d5bf2e643a739ac8faff1164238c",
- "sha256:048eeade4c33fdf7e08da40ef402e748df113fd0b4584e32c4af74fe78baaeb2",
- "sha256:0ba26351b137ca4e0db0342d5d00d2e355eb29372c05afd544ebf47c0956ffeb",
- "sha256:0ea2a783a2bdf2a561808fe4a7a12e9aa3799b701ba305de596bc48b8bdfce9d",
- "sha256:1530e8f3a4b965eb6a7785cf17a426c779333eb62c9a7d1bbcf3ffd5bf77a4aa",
- "sha256:16563993329b79513f59142a6b02055e10514c1a8e86dca8b48a893e33cf91e3",
- "sha256:19aeb96d43902f0a783946a0a87dbdad5c84c936025b8419da0a0cd7724356b1",
- "sha256:1a1d1915db1a4fdb2754b9de292642a39a7fb28f1736699527bb649484fb966a",
- "sha256:1b87bd9d81d179bd8ab871603bd80d8645729939f90b71e62914e816a76fc6bd",
- "sha256:1dfc94946bc60ea375cc39cff0b8da6c7e5f8fcdc1d946beb8da5c216156ddd8",
- "sha256:2034f6759a722da3a3dbd91a81148cf884e91d1b747992ca288ab88c1de15999",
- "sha256:261ddb7ca91fcf71757979534fb4c128448b5b4c55cb6152d280312062f69599",
- "sha256:2ed854e716a89b1afcedea551cd85f2eb2a807613752ab997b9974aaa0d56936",
- "sha256:3102045a10945173d38336f6e71a8dc71bcaeed55c3123ad4af82c52807b9375",
- "sha256:339894035d0ede518b16073bdc2feef4c991ee991a29774b33e515f1d308e08d",
- "sha256:412444afb8c4c7a6cc11a47dade32982439925537e483be7c0ae0cf96c4f6a0b",
- "sha256:4203efca580f0dd6f882ca211f923168548f7ba334c189e9eab1178ab840bf60",
- "sha256:45ebc7b45406febf07fef35d856f0293a92e7417ae7933207e90bf9090b70572",
- "sha256:4b5ec25d8b17217d635f8935dbc1b9aa5907962fae29dff220f2659487891cd3",
- "sha256:4c8e73e99da7db1b4cad7f8d682cf6abad7844da39834c288fbfa394a47bbced",
- "sha256:4e6f7d1c414191c1199f8996d3f2282b9ebea0945693fb67392c75a3a320941f",
- "sha256:4eaa22f0d22b1a7e93ff0a596d57fdede2e550aecffb5a1ef1106aaece48e96b",
- "sha256:50b8eae8f7334ec826d6eeffaeeb00e36b5e24aa0b9df322c247539714c6df19",
- "sha256:50fd3f6b26e3441ae07b7c979309638b72abc1a25da31a81a7fbd9495713ef4f",
- "sha256:51243f1ed5161b9945011a7360e997729776f6e5d7005ba0c6879267d4c5139d",
- "sha256:5d512aafa1d32efa014fa041d38868fda85028e3f930a96f85d49c7d8ddc0383",
- "sha256:5f77cf66e96ae734717d341c145c5949c63180842a545c47a0ce7ae52ca83795",
- "sha256:6b02471b72526ab8a18c39cb7967b72d194ec53c1fd0a70b050565a0f366d355",
- "sha256:6fb1b30043271ec92dc65f6d9f0b7a830c210b8a96423074b15c7bc999975f57",
- "sha256:7161ec49ef0800947dc5570f86568a7bb36fa97dd09e9827dc02b718c5643f09",
- "sha256:72d622d262e463dfb7595202d229f5f3ab4b852289a1cd09650362db23b9eb0b",
- "sha256:74d28c17412d9caa1066f7a31df8403ec23d5268ba46cd0ad2c50fb82ae40462",
- "sha256:78618cdbccaa74d3f88d0ad6cb8ac3007f1a6fa5c6f19af64b55ca170bfa1edf",
- "sha256:793b4e24db2e8742ca6423d3fde8396db336698c55cd34b660663ee9e45ed37f",
- "sha256:798232c92e7665fe82ac085f9d8e8ca98826f8e27859d9a96b41d519ecd2e49a",
- "sha256:81d09caa7b27ef4e61cb7d8fbf1714f5aec1c6b6c5270ee53504981e6e9121ad",
- "sha256:8ab74c06ffdab957d7670c2a5a6e1a70181cd10b727cd788c4dd9005b6a8acd9",
- "sha256:8eb0908e954d093b02a543dc963984d6e99ad2b5e36503d8a0aaf040505f747d",
- "sha256:90b9e29824800e90c84e4022dd5cc16eb2d9605ee13f05d47641eb183cd73d45",
- "sha256:9797a6c8fe16f25749b371c02e2ade0efb51155e767a971c61734b1bf6293994",
- "sha256:9d2455fbf44c914840c793e89aa82d0e1763a14253a000743719ae5946814b2d",
- "sha256:9d3bea1c75f8c53ee4d505c3e67d8c158ad4df0d83170605b50b64025917f338",
- "sha256:9e2ec1e921fd07c7cda7962bad283acc2f2a9ccc1b971ee4b216b75fad6f0463",
- "sha256:9e91179a242bbc99be65e139e30690e081fe6cb91a8e77faf4c409653de39451",
- "sha256:a0eaa93d054751ee9964afa21c06247779b90440ca41d184aeb5d410f20ff591",
- "sha256:a2c405445c79c3f5a124573a051062300936b0281fee57637e706453e452746c",
- "sha256:aa7e402ce11f0885305bfb6afb3434b3cd8f53b563ac065452d9d5654c7b86fd",
- "sha256:aff76a55a8aa8364d25400a210a65ff59d0168e0b4285ba6bf2bd83cf675ba32",
- "sha256:b09b86b27a064c9624d0a6c54da01c1beaf5b6cadfa609cf63789b1d08a797b9",
- "sha256:b14f16f94cbc61215115b9b1236f9c18403c15dd3c52cf629072afa9d54c1cbf",
- "sha256:b50811d664d392f02f7761621303eba9d1b056fb1868c8cdf4231279645c25f5",
- "sha256:b7bc2176354defba3edc2b9a777744462da2f8e921fbaf61e52acb95bafa9828",
- "sha256:c78e1b00a87ce43bb37642c0812315b411e856a905d58d597750eb79802aaaa3",
- "sha256:c83341b89884e2b2e55886e8fbbf37c3fa5efd6c8907124aeb72f285ae5696e5",
- "sha256:ca2870d5d10d8726a27396d3ca4cf7976cec0f3cb706debe88e3a5bd4610f7d2",
- "sha256:ccce24b7ad89adb5a1e34a6ba96ac2530046763912806ad4c247356a8f33a67b",
- "sha256:cd5e14fbf22a87321b24c88669aad3a51ec052eb145315b3da3b7e3cc105b9a2",
- "sha256:ce49c67f4ea0609933d01c0731b34b8695a7a748d6c8d186f95e7d085d2fe475",
- "sha256:d33891be6df59d93df4d846640f0e46f1a807339f09e79a8040bc887bdcd7ed3",
- "sha256:d3b2348a78bc939b4fed6552abfd2e7988e0f81443ef3911a4b8498ca084f6eb",
- "sha256:d886f5d353333b4771d21267c7ecc75b710f1a73d72d03ca06df49b09015a9ef",
- "sha256:d93480005693d247f8346bc8ee28c72a2191bdf1f6b5db469c096c0c867ac015",
- "sha256:dc1a390a82755a8c26c9964d457d4c9cbec5405896cba94cf51f36ea0d855002",
- "sha256:dd78700f5788ae180b5ee8902c6aea5a5726bac7c364b202b4b3e3ba2d293170",
- "sha256:e46f38133e5a060d46bd630faa4d9fa0202377495df1f068a8299fd78c84de84",
- "sha256:e4b878386c4bf293578b48fc570b84ecfe477d3b77ba39a6e87150af77f40c57",
- "sha256:f0d0591a0aeaefdaf9a5e545e7485f89910c977087e7de2b6c388aec32011e9f",
- "sha256:fdcbb4068117dfd9ce0138d068ac512843c52295ed996ae6dd1faf537b6dbc27",
- "sha256:ff61bfd9253c3915e6d41c651d5f962da23eda633cf02262990094a18a55371a"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==10.3.0"
- },
- "protobuf": {
- "hashes": [
- "sha256:38aa5f535721d5bb99861166c445c4105c4e285c765fbb2ac10f116e32dcd46d",
- "sha256:3c388ea6ddfe735f8cf69e3f7dc7611e73107b60bdfcf5d0f024c3ccd3794e23",
- "sha256:7ee014c2c87582e101d6b54260af03b6596728505c79f17c8586e7523aaa8f8c",
- "sha256:8ca2a1d97c290ec7b16e4e5dff2e5ae150cc1582f55b5ab300d45cb0dfa90e51",
- "sha256:9b557c317ebe6836835ec4ef74ec3e994ad0894ea424314ad3552bc6e8835b4e",
- "sha256:b9ba3ca83c2e31219ffbeb9d76b63aad35a3eb1544170c55336993d7a18ae72c",
- "sha256:d693d2504ca96750d92d9de8a103102dd648fda04540495535f0fec7577ed8fc",
- "sha256:da612f2720c0183417194eeaa2523215c4fcc1a1949772dc65f05047e08d5932",
- "sha256:e6039957449cb918f331d32ffafa8eb9255769c96aa0560d9a5bf0b4e00a2a33",
- "sha256:f7417703f841167e5a27d48be13389d52ad705ec09eade63dfc3180a959215d7",
- "sha256:fbfe61e7ee8c1860855696e3ac6cfd1b01af5498facc6834fcc345c9684fb2ca"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==5.26.1"
- },
- "psycopg2-binary": {
- "hashes": [
- "sha256:03ef7df18daf2c4c07e2695e8cfd5ee7f748a1d54d802330985a78d2a5a6dca9",
- "sha256:0a602ea5aff39bb9fac6308e9c9d82b9a35c2bf288e184a816002c9fae930b77",
- "sha256:0c009475ee389757e6e34611d75f6e4f05f0cf5ebb76c6037508318e1a1e0d7e",
- "sha256:0ef4854e82c09e84cc63084a9e4ccd6d9b154f1dbdd283efb92ecd0b5e2b8c84",
- "sha256:1236ed0952fbd919c100bc839eaa4a39ebc397ed1c08a97fc45fee2a595aa1b3",
- "sha256:143072318f793f53819048fdfe30c321890af0c3ec7cb1dfc9cc87aa88241de2",
- "sha256:15208be1c50b99203fe88d15695f22a5bed95ab3f84354c494bcb1d08557df67",
- "sha256:1873aade94b74715be2246321c8650cabf5a0d098a95bab81145ffffa4c13876",
- "sha256:18d0ef97766055fec15b5de2c06dd8e7654705ce3e5e5eed3b6651a1d2a9a152",
- "sha256:1ea665f8ce695bcc37a90ee52de7a7980be5161375d42a0b6c6abedbf0d81f0f",
- "sha256:2293b001e319ab0d869d660a704942c9e2cce19745262a8aba2115ef41a0a42a",
- "sha256:246b123cc54bb5361588acc54218c8c9fb73068bf227a4a531d8ed56fa3ca7d6",
- "sha256:275ff571376626195ab95a746e6a04c7df8ea34638b99fc11160de91f2fef503",
- "sha256:281309265596e388ef483250db3640e5f414168c5a67e9c665cafce9492eda2f",
- "sha256:2d423c8d8a3c82d08fe8af900ad5b613ce3632a1249fd6a223941d0735fce493",
- "sha256:2e5afae772c00980525f6d6ecf7cbca55676296b580c0e6abb407f15f3706996",
- "sha256:30dcc86377618a4c8f3b72418df92e77be4254d8f89f14b8e8f57d6d43603c0f",
- "sha256:31a34c508c003a4347d389a9e6fcc2307cc2150eb516462a7a17512130de109e",
- "sha256:323ba25b92454adb36fa425dc5cf6f8f19f78948cbad2e7bc6cdf7b0d7982e59",
- "sha256:34eccd14566f8fe14b2b95bb13b11572f7c7d5c36da61caf414d23b91fcc5d94",
- "sha256:3a58c98a7e9c021f357348867f537017057c2ed7f77337fd914d0bedb35dace7",
- "sha256:3f78fd71c4f43a13d342be74ebbc0666fe1f555b8837eb113cb7416856c79682",
- "sha256:4154ad09dac630a0f13f37b583eae260c6aa885d67dfbccb5b02c33f31a6d420",
- "sha256:420f9bbf47a02616e8554e825208cb947969451978dceb77f95ad09c37791dae",
- "sha256:4686818798f9194d03c9129a4d9a702d9e113a89cb03bffe08c6cf799e053291",
- "sha256:57fede879f08d23c85140a360c6a77709113efd1c993923c59fde17aa27599fe",
- "sha256:60989127da422b74a04345096c10d416c2b41bd7bf2a380eb541059e4e999980",
- "sha256:64cf30263844fa208851ebb13b0732ce674d8ec6a0c86a4e160495d299ba3c93",
- "sha256:68fc1f1ba168724771e38bee37d940d2865cb0f562380a1fb1ffb428b75cb692",
- "sha256:6e6f98446430fdf41bd36d4faa6cb409f5140c1c2cf58ce0bbdaf16af7d3f119",
- "sha256:729177eaf0aefca0994ce4cffe96ad3c75e377c7b6f4efa59ebf003b6d398716",
- "sha256:72dffbd8b4194858d0941062a9766f8297e8868e1dd07a7b36212aaa90f49472",
- "sha256:75723c3c0fbbf34350b46a3199eb50638ab22a0228f93fb472ef4d9becc2382b",
- "sha256:77853062a2c45be16fd6b8d6de2a99278ee1d985a7bd8b103e97e41c034006d2",
- "sha256:78151aa3ec21dccd5cdef6c74c3e73386dcdfaf19bced944169697d7ac7482fc",
- "sha256:7f01846810177d829c7692f1f5ada8096762d9172af1b1a28d4ab5b77c923c1c",
- "sha256:804d99b24ad523a1fe18cc707bf741670332f7c7412e9d49cb5eab67e886b9b5",
- "sha256:81ff62668af011f9a48787564ab7eded4e9fb17a4a6a74af5ffa6a457400d2ab",
- "sha256:8359bf4791968c5a78c56103702000105501adb557f3cf772b2c207284273984",
- "sha256:83791a65b51ad6ee6cf0845634859d69a038ea9b03d7b26e703f94c7e93dbcf9",
- "sha256:8532fd6e6e2dc57bcb3bc90b079c60de896d2128c5d9d6f24a63875a95a088cf",
- "sha256:876801744b0dee379e4e3c38b76fc89f88834bb15bf92ee07d94acd06ec890a0",
- "sha256:8dbf6d1bc73f1d04ec1734bae3b4fb0ee3cb2a493d35ede9badbeb901fb40f6f",
- "sha256:8f8544b092a29a6ddd72f3556a9fcf249ec412e10ad28be6a0c0d948924f2212",
- "sha256:911dda9c487075abd54e644ccdf5e5c16773470a6a5d3826fda76699410066fb",
- "sha256:977646e05232579d2e7b9c59e21dbe5261f403a88417f6a6512e70d3f8a046be",
- "sha256:9dba73be7305b399924709b91682299794887cbbd88e38226ed9f6712eabee90",
- "sha256:a148c5d507bb9b4f2030a2025c545fccb0e1ef317393eaba42e7eabd28eb6041",
- "sha256:a6cdcc3ede532f4a4b96000b6362099591ab4a3e913d70bcbac2b56c872446f7",
- "sha256:ac05fb791acf5e1a3e39402641827780fe44d27e72567a000412c648a85ba860",
- "sha256:b0605eaed3eb239e87df0d5e3c6489daae3f7388d455d0c0b4df899519c6a38d",
- "sha256:b58b4710c7f4161b5e9dcbe73bb7c62d65670a87df7bcce9e1faaad43e715245",
- "sha256:b6356793b84728d9d50ead16ab43c187673831e9d4019013f1402c41b1db9b27",
- "sha256:b76bedd166805480ab069612119ea636f5ab8f8771e640ae103e05a4aae3e417",
- "sha256:bc7bb56d04601d443f24094e9e31ae6deec9ccb23581f75343feebaf30423359",
- "sha256:c2470da5418b76232f02a2fcd2229537bb2d5a7096674ce61859c3229f2eb202",
- "sha256:c332c8d69fb64979ebf76613c66b985414927a40f8defa16cf1bc028b7b0a7b0",
- "sha256:c6af2a6d4b7ee9615cbb162b0738f6e1fd1f5c3eda7e5da17861eacf4c717ea7",
- "sha256:c77e3d1862452565875eb31bdb45ac62502feabbd53429fdc39a1cc341d681ba",
- "sha256:ca08decd2697fdea0aea364b370b1249d47336aec935f87b8bbfd7da5b2ee9c1",
- "sha256:ca49a8119c6cbd77375ae303b0cfd8c11f011abbbd64601167ecca18a87e7cdd",
- "sha256:cb16c65dcb648d0a43a2521f2f0a2300f40639f6f8c1ecbc662141e4e3e1ee07",
- "sha256:d2997c458c690ec2bc6b0b7ecbafd02b029b7b4283078d3b32a852a7ce3ddd98",
- "sha256:d3f82c171b4ccd83bbaf35aa05e44e690113bd4f3b7b6cc54d2219b132f3ae55",
- "sha256:dc4926288b2a3e9fd7b50dc6a1909a13bbdadfc67d93f3374d984e56f885579d",
- "sha256:ead20f7913a9c1e894aebe47cccf9dc834e1618b7aa96155d2091a626e59c972",
- "sha256:ebdc36bea43063116f0486869652cb2ed7032dbc59fbcb4445c4862b5c1ecf7f",
- "sha256:ed1184ab8f113e8d660ce49a56390ca181f2981066acc27cf637d5c1e10ce46e",
- "sha256:ee825e70b1a209475622f7f7b776785bd68f34af6e7a46e2e42f27b659b5bc26",
- "sha256:f7ae5d65ccfbebdfa761585228eb4d0df3a8b15cfb53bd953e713e09fbb12957",
- "sha256:f7fc5a5acafb7d6ccca13bfa8c90f8c51f13d8fb87d95656d3950f0158d3ce53",
- "sha256:f9b5571d33660d5009a8b3c25dc1db560206e2d2f89d3df1cb32d72c0d117d52"
- ],
- "index": "pypi",
- "markers": "python_version >= '3.7'",
- "version": "==2.9.9"
- },
- "pyarrow": {
- "hashes": [
- "sha256:033b7cad32198754d93465dcfb71d0ba7cb7cd5c9afd7052cab7214676eec38b",
- "sha256:06c2bb2a98bc792f040bef31ad3e9be6a63d0cb39189227c08a7d955db96816e",
- "sha256:23c6753ed4f6adb8461e7c383e418391b8d8453c5d67e17f416c3a5d5709afbd",
- "sha256:248723e4ed3255fcd73edcecc209744d58a9ca852e4cf3d2577811b6d4b59818",
- "sha256:25335e6f1f07fdaa026a61c758ee7d19ce824a866b27bba744348fa73bb5a440",
- "sha256:28f3016958a8e45a1069303a4a4f6a7d4910643fc08adb1e2e4a7ff056272ad3",
- "sha256:290e36a59a0993e9a5224ed2fb3e53375770f07379a0ea03ee2fce2e6d30b423",
- "sha256:29850d050379d6e8b5a693098f4de7fd6a2bea4365bfd073d7c57c57b95041ee",
- "sha256:2d4f905209de70c0eb5b2de6763104d5a9a37430f137678edfb9a675bac9cd98",
- "sha256:3a4f240852b302a7af4646c8bfe9950c4691a419847001178662a98915fd7ee7",
- "sha256:3e6d459c0c22f0b9c810a3917a1de3ee704b021a5fb8b3bacf968eece6df098f",
- "sha256:3ff3bdfe6f1b81ca5b73b70a8d482d37a766433823e0c21e22d1d7dde76ca33f",
- "sha256:4e7d9cfb5a1e648e172428c7a42b744610956f3b70f524aa3a6c02a448ba853e",
- "sha256:58922e4bfece8b02abf7159f1f53a8f4d9f8e08f2d988109126c17c3bb261f22",
- "sha256:5f8bc839ea36b1f99984c78e06e7a06054693dc2af8920f6fb416b5bca9944e4",
- "sha256:6669799a1d4ca9da9c7e06ef48368320f5856f36f9a4dd31a11839dda3f6cc8c",
- "sha256:7167107d7fb6dcadb375b4b691b7e316f4368f39f6f45405a05535d7ad5e5058",
- "sha256:88b340f0a1d05b5ccc3d2d986279045655b1fe8e41aba6ca44ea28da0d1455d8",
- "sha256:89722cb64286ab3d4daf168386f6968c126057b8c7ec3ef96302e81d8cdb8ae4",
- "sha256:8bd2baa5fe531571847983f36a30ddbf65261ef23e496862ece83bdceb70420d",
- "sha256:8c1faf2482fb89766e79745670cbca04e7018497d85be9242d5350cba21357e1",
- "sha256:90adb99e8ce5f36fbecbbc422e7dcbcbed07d985eed6062e459e23f9e71fd197",
- "sha256:90f19e976d9c3d8e73c80be84ddbe2f830b6304e4c576349d9360e335cd627fc",
- "sha256:9c9bc803cb3b7bfacc1e96ffbfd923601065d9d3f911179d81e72d99fd74a3d9",
- "sha256:a22366249bf5fd40ddacc4f03cd3160f2d7c247692945afb1899bab8a140ddfb",
- "sha256:ad2459bf1f22b6a5cdcc27ebfd99307d5526b62d217b984b9f5c974651398832",
- "sha256:adccc81d3dc0478ea0b498807b39a8d41628fa9210729b2f718b78cb997c7c91",
- "sha256:b116e7fd7889294cbd24eb90cd9bdd3850be3738d61297855a71ac3b8124ee38",
- "sha256:c2a335198f886b07e4b5ea16d08ee06557e07db54a8400cc0d03c7f6a22f785f",
- "sha256:cd0ba387705044b3ac77b1b317165c0498299b08261d8122c96051024f953cd5",
- "sha256:e85241b44cc3d365ef950432a1b3bd44ac54626f37b2e3a0cc89c20e45dfd8bf",
- "sha256:eaa8f96cecf32da508e6c7f69bb8401f03745c050c1dd42ec2596f2e98deecac",
- "sha256:f3d77463dee7e9f284ef42d341689b459a63ff2e75cee2b9302058d0d98fe142",
- "sha256:f5e81dfb4e519baa6b4c80410421528c214427e77ca0ea9461eb4097c328fa33",
- "sha256:f639c059035011db8c0497e541a8a45d98a58dbe34dc8fadd0ef128f2cee46e5",
- "sha256:f7a197f3670606a960ddc12adbe8075cea5f707ad7bf0dffa09637fdbb89f76c"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==15.0.2"
- },
- "pycparser": {
- "hashes": [
- "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6",
- "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==2.22"
- },
- "pycryptodome": {
- "hashes": [
- "sha256:06d6de87c19f967f03b4cf9b34e538ef46e99a337e9a61a77dbe44b2cbcf0690",
- "sha256:09609209ed7de61c2b560cc5c8c4fbf892f8b15b1faf7e4cbffac97db1fffda7",
- "sha256:210ba1b647837bfc42dd5a813cdecb5b86193ae11a3f5d972b9a0ae2c7e9e4b4",
- "sha256:2a1250b7ea809f752b68e3e6f3fd946b5939a52eaeea18c73bdab53e9ba3c2dd",
- "sha256:2ab6ab0cb755154ad14e507d1df72de9897e99fd2d4922851a276ccc14f4f1a5",
- "sha256:3427d9e5310af6680678f4cce149f54e0bb4af60101c7f2c16fdf878b39ccccc",
- "sha256:3cd3ef3aee1079ae44afaeee13393cf68b1058f70576b11439483e34f93cf818",
- "sha256:405002eafad114a2f9a930f5db65feef7b53c4784495dd8758069b89baf68eab",
- "sha256:417a276aaa9cb3be91f9014e9d18d10e840a7a9b9a9be64a42f553c5b50b4d1d",
- "sha256:4401564ebf37dfde45d096974c7a159b52eeabd9969135f0426907db367a652a",
- "sha256:49a4c4dc60b78ec41d2afa392491d788c2e06edf48580fbfb0dd0f828af49d25",
- "sha256:5601c934c498cd267640b57569e73793cb9a83506f7c73a8ec57a516f5b0b091",
- "sha256:6e0e4a987d38cfc2e71b4a1b591bae4891eeabe5fa0f56154f576e26287bfdea",
- "sha256:76658f0d942051d12a9bd08ca1b6b34fd762a8ee4240984f7c06ddfb55eaf15a",
- "sha256:76cb39afede7055127e35a444c1c041d2e8d2f1f9c121ecef573757ba4cd2c3c",
- "sha256:8d6b98d0d83d21fb757a182d52940d028564efe8147baa9ce0f38d057104ae72",
- "sha256:9b3ae153c89a480a0ec402e23db8d8d84a3833b65fa4b15b81b83be9d637aab9",
- "sha256:a60fedd2b37b4cb11ccb5d0399efe26db9e0dd149016c1cc6c8161974ceac2d6",
- "sha256:ac1c7c0624a862f2e53438a15c9259d1655325fc2ec4392e66dc46cdae24d044",
- "sha256:acae12b9ede49f38eb0ef76fdec2df2e94aad85ae46ec85be3648a57f0a7db04",
- "sha256:acc2614e2e5346a4a4eab6e199203034924313626f9620b7b4b38e9ad74b7e0c",
- "sha256:acf6e43fa75aca2d33e93409f2dafe386fe051818ee79ee8a3e21de9caa2ac9e",
- "sha256:baee115a9ba6c5d2709a1e88ffe62b73ecc044852a925dcb67713a288c4ec70f",
- "sha256:c18b381553638414b38705f07d1ef0a7cf301bc78a5f9bc17a957eb19446834b",
- "sha256:d29daa681517f4bc318cd8a23af87e1f2a7bad2fe361e8aa29c77d652a065de4",
- "sha256:d5954acfe9e00bc83ed9f5cb082ed22c592fbbef86dc48b907238be64ead5c33",
- "sha256:ec0bb1188c1d13426039af8ffcb4dbe3aad1d7680c35a62d8eaf2a529b5d3d4f",
- "sha256:ec1f93feb3bb93380ab0ebf8b859e8e5678c0f010d2d78367cf6bc30bfeb148e",
- "sha256:f0e6d631bae3f231d3634f91ae4da7a960f7ff87f2865b2d2b831af1dfb04e9a",
- "sha256:f35d6cee81fa145333137009d9c8ba90951d7d77b67c79cbe5f03c7eb74d8fe2",
- "sha256:f47888542a0633baff535a04726948e876bf1ed880fddb7c10a736fa99146ab3",
- "sha256:fb3b87461fa35afa19c971b0a2b7456a7b1db7b4eba9a8424666104925b78128"
- ],
- "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'",
- "version": "==3.20.0"
- },
- "pydantic": {
- "hashes": [
- "sha256:9dee74a271705f14f9a1567671d144a851c675b072736f0a7b2608fd9e495352",
- "sha256:b5ecdd42262ca2462e2624793551e80911a1e989f462910bb81aef974b4bb383"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==2.7.0"
- },
- "pydantic-core": {
- "hashes": [
- "sha256:030e4f9516f9947f38179249778709a460a3adb516bf39b5eb9066fcfe43d0e6",
- "sha256:09f03dfc0ef8c22622eaa8608caa4a1e189cfb83ce847045eca34f690895eccb",
- "sha256:12a05db5013ec0ca4a32cc6433f53faa2a014ec364031408540ba858c2172bb0",
- "sha256:14fe73881cf8e4cbdaded8ca0aa671635b597e42447fec7060d0868b52d074e6",
- "sha256:1a0c3e718f4e064efde68092d9d974e39572c14e56726ecfaeebbe6544521f47",
- "sha256:1be91ad664fc9245404a789d60cba1e91c26b1454ba136d2a1bf0c2ac0c0505a",
- "sha256:201713f2f462e5c015b343e86e68bd8a530a4f76609b33d8f0ec65d2b921712a",
- "sha256:2027493cc44c23b598cfaf200936110433d9caa84e2c6cf487a83999638a96ac",
- "sha256:250ae39445cb5475e483a36b1061af1bc233de3e9ad0f4f76a71b66231b07f88",
- "sha256:2533ad2883f001efa72f3d0e733fb846710c3af6dcdd544fe5bf14fa5fe2d7db",
- "sha256:25595ac311f20e5324d1941909b0d12933f1fd2171075fcff763e90f43e92a0d",
- "sha256:2684a94fdfd1b146ff10689c6e4e815f6a01141781c493b97342cdc5b06f4d5d",
- "sha256:27f1009dc292f3b7ca77feb3571c537276b9aad5dd4efb471ac88a8bd09024e9",
- "sha256:2adaeea59849ec0939af5c5d476935f2bab4b7f0335b0110f0f069a41024278e",
- "sha256:2ae80f72bb7a3e397ab37b53a2b49c62cc5496412e71bc4f1277620a7ce3f52b",
- "sha256:2d5728e93d28a3c63ee513d9ffbac9c5989de8c76e049dbcb5bfe4b923a9739d",
- "sha256:2e91711e36e229978d92642bfc3546333a9127ecebb3f2761372e096395fc649",
- "sha256:2fe0c1ce5b129455e43f941f7a46f61f3d3861e571f2905d55cdbb8b5c6f5e2c",
- "sha256:38a5024de321d672a132b1834a66eeb7931959c59964b777e8f32dbe9523f6b1",
- "sha256:3e352f0191d99fe617371096845070dee295444979efb8f27ad941227de6ad09",
- "sha256:48dd883db92e92519201f2b01cafa881e5f7125666141a49ffba8b9facc072b0",
- "sha256:54764c083bbe0264f0f746cefcded6cb08fbbaaf1ad1d78fb8a4c30cff999a90",
- "sha256:54c7375c62190a7845091f521add19b0f026bcf6ae674bdb89f296972272e86d",
- "sha256:561cf62c8a3498406495cfc49eee086ed2bb186d08bcc65812b75fda42c38294",
- "sha256:56823a92075780582d1ffd4489a2e61d56fd3ebb4b40b713d63f96dd92d28144",
- "sha256:582cf2cead97c9e382a7f4d3b744cf0ef1a6e815e44d3aa81af3ad98762f5a9b",
- "sha256:58aca931bef83217fca7a390e0486ae327c4af9c3e941adb75f8772f8eeb03a1",
- "sha256:5f7973c381283783cd1043a8c8f61ea5ce7a3a58b0369f0ee0ee975eaf2f2a1b",
- "sha256:6395a4435fa26519fd96fdccb77e9d00ddae9dd6c742309bd0b5610609ad7fb2",
- "sha256:63d7523cd95d2fde0d28dc42968ac731b5bb1e516cc56b93a50ab293f4daeaad",
- "sha256:641a018af4fe48be57a2b3d7a1f0f5dbca07c1d00951d3d7463f0ac9dac66622",
- "sha256:667880321e916a8920ef49f5d50e7983792cf59f3b6079f3c9dac2b88a311d17",
- "sha256:684d840d2c9ec5de9cb397fcb3f36d5ebb6fa0d94734f9886032dd796c1ead06",
- "sha256:68717c38a68e37af87c4da20e08f3e27d7e4212e99e96c3d875fbf3f4812abfc",
- "sha256:6b7bbb97d82659ac8b37450c60ff2e9f97e4eb0f8a8a3645a5568b9334b08b50",
- "sha256:72722ce529a76a4637a60be18bd789d8fb871e84472490ed7ddff62d5fed620d",
- "sha256:73c1bc8a86a5c9e8721a088df234265317692d0b5cd9e86e975ce3bc3db62a59",
- "sha256:76909849d1a6bffa5a07742294f3fa1d357dc917cb1fe7b470afbc3a7579d539",
- "sha256:76b86e24039c35280ceee6dce7e62945eb93a5175d43689ba98360ab31eebc4a",
- "sha256:7a5d83efc109ceddb99abd2c1316298ced2adb4570410defe766851a804fcd5b",
- "sha256:80e0e57cc704a52fb1b48f16d5b2c8818da087dbee6f98d9bf19546930dc64b5",
- "sha256:85233abb44bc18d16e72dc05bf13848a36f363f83757541f1a97db2f8d58cfd9",
- "sha256:907a4d7720abfcb1c81619863efd47c8a85d26a257a2dbebdb87c3b847df0278",
- "sha256:9376d83d686ec62e8b19c0ac3bf8d28d8a5981d0df290196fb6ef24d8a26f0d6",
- "sha256:94b9769ba435b598b547c762184bcfc4783d0d4c7771b04a3b45775c3589ca44",
- "sha256:9a29726f91c6cb390b3c2338f0df5cd3e216ad7a938762d11c994bb37552edb0",
- "sha256:9b6431559676a1079eac0f52d6d0721fb8e3c5ba43c37bc537c8c83724031feb",
- "sha256:9ece8a49696669d483d206b4474c367852c44815fca23ac4e48b72b339807f80",
- "sha256:a139fe9f298dc097349fb4f28c8b81cc7a202dbfba66af0e14be5cfca4ef7ce5",
- "sha256:a32204489259786a923e02990249c65b0f17235073149d0033efcebe80095570",
- "sha256:a3982b0a32d0a88b3907e4b0dc36809fda477f0757c59a505d4e9b455f384b8b",
- "sha256:aad17e462f42ddbef5984d70c40bfc4146c322a2da79715932cd8976317054de",
- "sha256:b560b72ed4816aee52783c66854d96157fd8175631f01ef58e894cc57c84f0f6",
- "sha256:b6b0e4912030c6f28bcb72b9ebe4989d6dc2eebcd2a9cdc35fefc38052dd4fe8",
- "sha256:baf1c7b78cddb5af00971ad5294a4583188bda1495b13760d9f03c9483bb6203",
- "sha256:c0295d52b012cbe0d3059b1dba99159c3be55e632aae1999ab74ae2bd86a33d7",
- "sha256:c562b49c96906b4029b5685075fe1ebd3b5cc2601dfa0b9e16c2c09d6cbce048",
- "sha256:c69567ddbac186e8c0aadc1f324a60a564cfe25e43ef2ce81bcc4b8c3abffbae",
- "sha256:ca71d501629d1fa50ea7fa3b08ba884fe10cefc559f5c6c8dfe9036c16e8ae89",
- "sha256:ca976884ce34070799e4dfc6fbd68cb1d181db1eefe4a3a94798ddfb34b8867f",
- "sha256:d0491006a6ad20507aec2be72e7831a42efc93193d2402018007ff827dc62926",
- "sha256:d074b07a10c391fc5bbdcb37b2f16f20fcd9e51e10d01652ab298c0d07908ee2",
- "sha256:d2ce426ee691319d4767748c8e0895cfc56593d725594e415f274059bcf3cb76",
- "sha256:d4284c621f06a72ce2cb55f74ea3150113d926a6eb78ab38340c08f770eb9b4d",
- "sha256:d5e6b7155b8197b329dc787356cfd2684c9d6a6b1a197f6bbf45f5555a98d411",
- "sha256:d816f44a51ba5175394bc6c7879ca0bd2be560b2c9e9f3411ef3a4cbe644c2e9",
- "sha256:dd3f79e17b56741b5177bcc36307750d50ea0698df6aa82f69c7db32d968c1c2",
- "sha256:dd63cec4e26e790b70544ae5cc48d11b515b09e05fdd5eff12e3195f54b8a586",
- "sha256:de9d3e8717560eb05e28739d1b35e4eac2e458553a52a301e51352a7ffc86a35",
- "sha256:df4249b579e75094f7e9bb4bd28231acf55e308bf686b952f43100a5a0be394c",
- "sha256:e178e5b66a06ec5bf51668ec0d4ac8cfb2bdcb553b2c207d58148340efd00143",
- "sha256:e60defc3c15defb70bb38dd605ff7e0fae5f6c9c7cbfe0ad7868582cb7e844a6",
- "sha256:ee2794111c188548a4547eccc73a6a8527fe2af6cf25e1a4ebda2fd01cdd2e60",
- "sha256:ee7ccc7fb7e921d767f853b47814c3048c7de536663e82fbc37f5eb0d532224b",
- "sha256:ee9cf33e7fe14243f5ca6977658eb7d1042caaa66847daacbd2117adb258b226",
- "sha256:f0f17814c505f07806e22b28856c59ac80cee7dd0fbb152aed273e116378f519",
- "sha256:f3202a429fe825b699c57892d4371c74cc3456d8d71b7f35d6028c96dfecad31",
- "sha256:f7054fdc556f5421f01e39cbb767d5ec5c1139ea98c3e5b350e02e62201740c7",
- "sha256:fd1a9edb9dd9d79fbeac1ea1f9a8dd527a6113b18d2e9bcc0d541d308dae639b"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==2.18.1"
- },
- "pymilvus": {
- "hashes": [
- "sha256:9f8212af51bc235a4c1230c344a852b6f75a4be01cac38f21dab5b65695a9598",
- "sha256:f1d1a2e9d5172fea3e0a5d396bed9de561a2b93a4d3e1945fdf68b74d771fb05"
- ],
- "index": "pypi",
- "markers": "python_version >= '3.8'",
- "version": "==2.4.0"
- },
- "python-dateutil": {
- "hashes": [
- "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3",
- "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"
- ],
- "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",
- "version": "==2.9.0.post0"
- },
- "python-dotenv": {
- "hashes": [
- "sha256:e324ee90a023d808f1959c46bcbc04446a10ced277783dc6ee09987c37ec10ca",
- "sha256:f7b63ef50f1b690dddf550d03497b66d609393b40b564ed0d674909a68ebf16a"
- ],
- "index": "pypi",
- "markers": "python_version >= '3.8'",
- "version": "==1.0.1"
- },
- "python-multipart": {
- "hashes": [
- "sha256:03f54688c663f1b7977105f021043b0793151e4cb1c1a9d4a11fc13d622c4026",
- "sha256:97ca7b8ea7b05f977dc3849c3ba99d51689822fab725c3703af7c866a0c2b215"
- ],
- "index": "pypi",
- "markers": "python_version >= '3.8'",
- "version": "==0.0.9"
- },
- "pytz": {
- "hashes": [
- "sha256:2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812",
- "sha256:328171f4e3623139da4983451950b28e95ac706e13f3f2630a879749e7a8b319"
- ],
- "version": "==2024.1"
- },
- "pyyaml": {
- "hashes": [
- "sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5",
- "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc",
- "sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df",
- "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741",
- "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206",
- "sha256:18aeb1bf9a78867dc38b259769503436b7c72f7a1f1f4c93ff9a17de54319b27",
- "sha256:1d4c7e777c441b20e32f52bd377e0c409713e8bb1386e1099c2415f26e479595",
- "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62",
- "sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98",
- "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696",
- "sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290",
- "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9",
- "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d",
- "sha256:49a183be227561de579b4a36efbb21b3eab9651dd81b1858589f796549873dd6",
- "sha256:4fb147e7a67ef577a588a0e2c17b6db51dda102c71de36f8549b6816a96e1867",
- "sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47",
- "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486",
- "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6",
- "sha256:596106435fa6ad000c2991a98fa58eeb8656ef2325d7e158344fb33864ed87e3",
- "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007",
- "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938",
- "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0",
- "sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c",
- "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735",
- "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d",
- "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28",
- "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4",
- "sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba",
- "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8",
- "sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef",
- "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5",
- "sha256:afd7e57eddb1a54f0f1a974bc4391af8bcce0b444685d936840f125cf046d5bd",
- "sha256:b1275ad35a5d18c62a7220633c913e1b42d44b46ee12554e5fd39c70a243d6a3",
- "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0",
- "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515",
- "sha256:baa90d3f661d43131ca170712d903e6295d1f7a0f595074f151c0aed377c9b9c",
- "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c",
- "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924",
- "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34",
- "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43",
- "sha256:c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859",
- "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673",
- "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54",
- "sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a",
- "sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b",
- "sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab",
- "sha256:f22ac1c3cac4dbc50079e965eba2c1058622631e526bd9afd45fedd49ba781fa",
- "sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c",
- "sha256:fca0e3a251908a499833aa292323f32437106001d436eca0e6e7833256674585",
- "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d",
- "sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f"
- ],
- "markers": "python_version >= '3.6'",
- "version": "==6.0.1"
- },
- "regex": {
- "hashes": [
- "sha256:0694219a1d54336fd0445ea382d49d36882415c0134ee1e8332afd1529f0baa5",
- "sha256:086dd15e9435b393ae06f96ab69ab2d333f5d65cbe65ca5a3ef0ec9564dfe770",
- "sha256:094ba386bb5c01e54e14434d4caabf6583334090865b23ef58e0424a6286d3dc",
- "sha256:09da66917262d9481c719599116c7dc0c321ffcec4b1f510c4f8a066f8768105",
- "sha256:0ecf44ddf9171cd7566ef1768047f6e66975788258b1c6c6ca78098b95cf9a3d",
- "sha256:0fda75704357805eb953a3ee15a2b240694a9a514548cd49b3c5124b4e2ad01b",
- "sha256:11a963f8e25ab5c61348d090bf1b07f1953929c13bd2309a0662e9ff680763c9",
- "sha256:150c39f5b964e4d7dba46a7962a088fbc91f06e606f023ce57bb347a3b2d4630",
- "sha256:1b9d811f72210fa9306aeb88385b8f8bcef0dfbf3873410413c00aa94c56c2b6",
- "sha256:1e0eabac536b4cc7f57a5f3d095bfa557860ab912f25965e08fe1545e2ed8b4c",
- "sha256:22a86d9fff2009302c440b9d799ef2fe322416d2d58fc124b926aa89365ec482",
- "sha256:22f3470f7524b6da61e2020672df2f3063676aff444db1daa283c2ea4ed259d6",
- "sha256:263ef5cc10979837f243950637fffb06e8daed7f1ac1e39d5910fd29929e489a",
- "sha256:283fc8eed679758de38fe493b7d7d84a198b558942b03f017b1f94dda8efae80",
- "sha256:29171aa128da69afdf4bde412d5bedc335f2ca8fcfe4489038577d05f16181e5",
- "sha256:298dc6354d414bc921581be85695d18912bea163a8b23cac9a2562bbcd5088b1",
- "sha256:2aae8101919e8aa05ecfe6322b278f41ce2994c4a430303c4cd163fef746e04f",
- "sha256:2f4e475a80ecbd15896a976aa0b386c5525d0ed34d5c600b6d3ebac0a67c7ddf",
- "sha256:34e4af5b27232f68042aa40a91c3b9bb4da0eeb31b7632e0091afc4310afe6cb",
- "sha256:37f8e93a81fc5e5bd8db7e10e62dc64261bcd88f8d7e6640aaebe9bc180d9ce2",
- "sha256:3a17d3ede18f9cedcbe23d2daa8a2cd6f59fe2bf082c567e43083bba3fb00347",
- "sha256:3b1de218d5375cd6ac4b5493e0b9f3df2be331e86520f23382f216c137913d20",
- "sha256:43f7cd5754d02a56ae4ebb91b33461dc67be8e3e0153f593c509e21d219c5060",
- "sha256:4558410b7a5607a645e9804a3e9dd509af12fb72b9825b13791a37cd417d73a5",
- "sha256:4719bb05094d7d8563a450cf8738d2e1061420f79cfcc1fa7f0a44744c4d8f73",
- "sha256:4bfc2b16e3ba8850e0e262467275dd4d62f0d045e0e9eda2bc65078c0110a11f",
- "sha256:518440c991f514331f4850a63560321f833979d145d7d81186dbe2f19e27ae3d",
- "sha256:51f4b32f793812714fd5307222a7f77e739b9bc566dc94a18126aba3b92b98a3",
- "sha256:531ac6cf22b53e0696f8e1d56ce2396311254eb806111ddd3922c9d937151dae",
- "sha256:5cd05d0f57846d8ba4b71d9c00f6f37d6b97d5e5ef8b3c3840426a475c8f70f4",
- "sha256:5dd58946bce44b53b06d94aa95560d0b243eb2fe64227cba50017a8d8b3cd3e2",
- "sha256:60080bb3d8617d96f0fb7e19796384cc2467447ef1c491694850ebd3670bc457",
- "sha256:636ba0a77de609d6510235b7f0e77ec494d2657108f777e8765efc060094c98c",
- "sha256:67d3ccfc590e5e7197750fcb3a2915b416a53e2de847a728cfa60141054123d4",
- "sha256:68191f80a9bad283432385961d9efe09d783bcd36ed35a60fb1ff3f1ec2efe87",
- "sha256:7502534e55c7c36c0978c91ba6f61703faf7ce733715ca48f499d3dbbd7657e0",
- "sha256:7aa47c2e9ea33a4a2a05f40fcd3ea36d73853a2aae7b4feab6fc85f8bf2c9704",
- "sha256:7d2af3f6b8419661a0c421584cfe8aaec1c0e435ce7e47ee2a97e344b98f794f",
- "sha256:7e316026cc1095f2a3e8cc012822c99f413b702eaa2ca5408a513609488cb62f",
- "sha256:88ad44e220e22b63b0f8f81f007e8abbb92874d8ced66f32571ef8beb0643b2b",
- "sha256:88d1f7bef20c721359d8675f7d9f8e414ec5003d8f642fdfd8087777ff7f94b5",
- "sha256:89723d2112697feaa320c9d351e5f5e7b841e83f8b143dba8e2d2b5f04e10923",
- "sha256:8a0ccf52bb37d1a700375a6b395bff5dd15c50acb745f7db30415bae3c2b0715",
- "sha256:8c2c19dae8a3eb0ea45a8448356ed561be843b13cbc34b840922ddf565498c1c",
- "sha256:905466ad1702ed4acfd67a902af50b8db1feeb9781436372261808df7a2a7bca",
- "sha256:9852b76ab558e45b20bf1893b59af64a28bd3820b0c2efc80e0a70a4a3ea51c1",
- "sha256:98a2636994f943b871786c9e82bfe7883ecdaba2ef5df54e1450fa9869d1f756",
- "sha256:9aa1a67bbf0f957bbe096375887b2505f5d8ae16bf04488e8b0f334c36e31360",
- "sha256:9eda5f7a50141291beda3edd00abc2d4a5b16c29c92daf8d5bd76934150f3edc",
- "sha256:a6d1047952c0b8104a1d371f88f4ab62e6275567d4458c1e26e9627ad489b445",
- "sha256:a9b6d73353f777630626f403b0652055ebfe8ff142a44ec2cf18ae470395766e",
- "sha256:a9cc99d6946d750eb75827cb53c4371b8b0fe89c733a94b1573c9dd16ea6c9e4",
- "sha256:ad83e7545b4ab69216cef4cc47e344d19622e28aabec61574b20257c65466d6a",
- "sha256:b014333bd0217ad3d54c143de9d4b9a3ca1c5a29a6d0d554952ea071cff0f1f8",
- "sha256:b43523d7bc2abd757119dbfb38af91b5735eea45537ec6ec3a5ec3f9562a1c53",
- "sha256:b521dcecebc5b978b447f0f69b5b7f3840eac454862270406a39837ffae4e697",
- "sha256:b77e27b79448e34c2c51c09836033056a0547aa360c45eeeb67803da7b0eedaf",
- "sha256:b7a635871143661feccce3979e1727c4e094f2bdfd3ec4b90dfd4f16f571a87a",
- "sha256:b7fca9205b59c1a3d5031f7e64ed627a1074730a51c2a80e97653e3e9fa0d415",
- "sha256:ba1b30765a55acf15dce3f364e4928b80858fa8f979ad41f862358939bdd1f2f",
- "sha256:ba99d8077424501b9616b43a2d208095746fb1284fc5ba490139651f971d39d9",
- "sha256:c25a8ad70e716f96e13a637802813f65d8a6760ef48672aa3502f4c24ea8b400",
- "sha256:c3c4a78615b7762740531c27cf46e2f388d8d727d0c0c739e72048beb26c8a9d",
- "sha256:c40281f7d70baf6e0db0c2f7472b31609f5bc2748fe7275ea65a0b4601d9b392",
- "sha256:c7ad32824b7f02bb3c9f80306d405a1d9b7bb89362d68b3c5a9be53836caebdb",
- "sha256:cb3fe77aec8f1995611f966d0c656fdce398317f850d0e6e7aebdfe61f40e1cd",
- "sha256:cc038b2d8b1470364b1888a98fd22d616fba2b6309c5b5f181ad4483e0017861",
- "sha256:cc37b9aeebab425f11f27e5e9e6cf580be7206c6582a64467a14dda211abc232",
- "sha256:cc6bb9aa69aacf0f6032c307da718f61a40cf970849e471254e0e91c56ffca95",
- "sha256:d126361607b33c4eb7b36debc173bf25d7805847346dd4d99b5499e1fef52bc7",
- "sha256:d15b274f9e15b1a0b7a45d2ac86d1f634d983ca40d6b886721626c47a400bf39",
- "sha256:d166eafc19f4718df38887b2bbe1467a4f74a9830e8605089ea7a30dd4da8887",
- "sha256:d498eea3f581fbe1b34b59c697512a8baef88212f92e4c7830fcc1499f5b45a5",
- "sha256:d6f7e255e5fa94642a0724e35406e6cb7001c09d476ab5fce002f652b36d0c39",
- "sha256:d78bd484930c1da2b9679290a41cdb25cc127d783768a0369d6b449e72f88beb",
- "sha256:d865984b3f71f6d0af64d0d88f5733521698f6c16f445bb09ce746c92c97c586",
- "sha256:d902a43085a308cef32c0d3aea962524b725403fd9373dea18110904003bac97",
- "sha256:d94a1db462d5690ebf6ae86d11c5e420042b9898af5dcf278bd97d6bda065423",
- "sha256:da695d75ac97cb1cd725adac136d25ca687da4536154cdc2815f576e4da11c69",
- "sha256:db2a0b1857f18b11e3b0e54ddfefc96af46b0896fb678c85f63fb8c37518b3e7",
- "sha256:df26481f0c7a3f8739fecb3e81bc9da3fcfae34d6c094563b9d4670b047312e1",
- "sha256:e14b73607d6231f3cc4622809c196b540a6a44e903bcfad940779c80dffa7be7",
- "sha256:e2610e9406d3b0073636a3a2e80db05a02f0c3169b5632022b4e81c0364bcda5",
- "sha256:e692296c4cc2873967771345a876bcfc1c547e8dd695c6b89342488b0ea55cd8",
- "sha256:e693e233ac92ba83a87024e1d32b5f9ab15ca55ddd916d878146f4e3406b5c91",
- "sha256:e81469f7d01efed9b53740aedd26085f20d49da65f9c1f41e822a33992cb1590",
- "sha256:e8c7e08bb566de4faaf11984af13f6bcf6a08f327b13631d41d62592681d24fe",
- "sha256:ed19b3a05ae0c97dd8f75a5d8f21f7723a8c33bbc555da6bbe1f96c470139d3c",
- "sha256:efb2d82f33b2212898f1659fb1c2e9ac30493ac41e4d53123da374c3b5541e64",
- "sha256:f44dd4d68697559d007462b0a3a1d9acd61d97072b71f6d1968daef26bc744bd",
- "sha256:f72cbae7f6b01591f90814250e636065850c5926751af02bb48da94dfced7baa",
- "sha256:f7bc09bc9c29ebead055bcba136a67378f03d66bf359e87d0f7c759d6d4ffa31",
- "sha256:ff100b203092af77d1a5a7abe085b3506b7eaaf9abf65b73b7d6905b6cb76988"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==2023.12.25"
- },
- "requests": {
- "hashes": [
- "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f",
- "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==2.31.0"
- },
- "s3transfer": {
- "hashes": [
- "sha256:5683916b4c724f799e600f41dd9e10a9ff19871bf87623cc8f491cb4f5fa0a19",
- "sha256:ceb252b11bcf87080fb7850a224fb6e05c8a776bab8f2b64b7f25b969464839d"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==0.10.1"
- },
- "safetensors": {
- "hashes": [
- "sha256:018b691383026a2436a22b648873ed11444a364324e7088b99cd2503dd828400",
- "sha256:01e4b22e3284cd866edeabe4f4d896229495da457229408d2e1e4810c5187121",
- "sha256:01feb3089e5932d7e662eda77c3ecc389f97c0883c4a12b5cfdc32b589a811c3",
- "sha256:02318f01e332cc23ffb4f6716e05a492c5f18b1d13e343c49265149396284a44",
- "sha256:02ef3a24face643456020536591fbd3c717c5abaa2737ec428ccbbc86dffa7a4",
- "sha256:03a4447c784917c9bf01d8f2ac5080bc15c41692202cd5f406afba16629e84d6",
- "sha256:084fc436e317f83f7071fc6a62ca1c513b2103db325cd09952914b50f51cf78f",
- "sha256:0bf4f9d6323d9f86eef5567eabd88f070691cf031d4c0df27a40d3b4aaee755b",
- "sha256:0d52c958dc210265157573f81d34adf54e255bc2b59ded6218500c9b15a750eb",
- "sha256:0d5ffc6a80f715c30af253e0e288ad1cd97a3d0086c9c87995e5093ebc075e50",
- "sha256:0d9cd8e1560dfc514b6d7859247dc6a86ad2f83151a62c577428d5102d872721",
- "sha256:0dd37306546b58d3043eb044c8103a02792cc024b51d1dd16bd3dd1f334cb3ed",
- "sha256:1139eb436fd201c133d03c81209d39ac57e129f5e74e34bb9ab60f8d9b726270",
- "sha256:19bbdf95de2cf64f25cd614c5236c8b06eb2cfa47cbf64311f4b5d80224623a3",
- "sha256:1ab6527a20586d94291c96e00a668fa03f86189b8a9defa2cdd34a1a01acc7d5",
- "sha256:1b89381517891a7bb7d1405d828b2bf5d75528299f8231e9346b8eba092227f9",
- "sha256:1f598b713cc1a4eb31d3b3203557ac308acf21c8f41104cdd74bf640c6e538e3",
- "sha256:22d21760dc6ebae42e9c058d75aa9907d9f35e38f896e3c69ba0e7b213033856",
- "sha256:22f3b5d65e440cec0de8edaa672efa888030802e11c09b3d6203bff60ebff05a",
- "sha256:2a0deb16a1d3ea90c244ceb42d2c6c276059616be21a19ac7101aa97da448faf",
- "sha256:2a1f4430cc0c9d6afa01214a4b3919d0a029637df8e09675ceef1ca3f0dfa0df",
- "sha256:2d603846a8585b9432a0fd415db1d4c57c0f860eb4aea21f92559ff9902bae4d",
- "sha256:2f85fc50c4e07a21e95c24e07460fe6f7e2859d0ce88092838352b798ce711c2",
- "sha256:309b10dbcab63269ecbf0e2ca10ce59223bb756ca5d431ce9c9eeabd446569da",
- "sha256:3615a96dd2dcc30eb66d82bc76cda2565f4f7bfa89fcb0e31ba3cea8a1a9ecbb",
- "sha256:38e2a8666178224a51cca61d3cb4c88704f696eac8f72a49a598a93bbd8a4af9",
- "sha256:393e6e391467d1b2b829c77e47d726f3b9b93630e6a045b1d1fca67dc78bf632",
- "sha256:3f9cdca09052f585e62328c1c2923c70f46814715c795be65f0b93f57ec98a02",
- "sha256:41a727a7f5e6ad9f1db6951adee21bbdadc632363d79dc434876369a17de6ad6",
- "sha256:420a98f593ff9930f5822560d14c395ccbc57342ddff3b463bc0b3d6b1951550",
- "sha256:446e9fe52c051aeab12aac63d1017e0f68a02a92a027b901c4f8e931b24e5397",
- "sha256:455d538aa1aae4a8b279344a08136d3f16334247907b18a5c3c7fa88ef0d3c46",
- "sha256:4f9bac020faba7f5dc481e881b14b6425265feabb5bfc552551d21189c0eddc3",
- "sha256:53c4879b9c6bd7cd25d114ee0ef95420e2812e676314300624594940a8d6a91f",
- "sha256:5757e4688f20df083e233b47de43845d1adb7e17b6cf7da5f8444416fc53828d",
- "sha256:585c9ae13a205807b63bef8a37994f30c917ff800ab8a1ca9c9b5d73024f97ee",
- "sha256:5d07cbca5b99babb692d76d8151bec46f461f8ad8daafbfd96b2fca40cadae65",
- "sha256:5fc6775529fb9f0ce2266edd3e5d3f10aab068e49f765e11f6f2a63b5367021d",
- "sha256:622afd28968ef3e9786562d352659a37de4481a4070f4ebac883f98c5836563e",
- "sha256:6f9568f380f513a60139971169c4a358b8731509cc19112369902eddb33faa4d",
- "sha256:70a5319ef409e7f88686a46607cbc3c428271069d8b770076feaf913664a07ac",
- "sha256:74707624b81f1b7f2b93f5619d4a9f00934d5948005a03f2c1845ffbfff42212",
- "sha256:7c4fa560ebd4522adddb71dcd25d09bf211b5634003f015a4b815b7647d62ebe",
- "sha256:7de32d0d34b6623bb56ca278f90db081f85fb9c5d327e3c18fd23ac64f465768",
- "sha256:840b7ac0eff5633e1d053cc9db12fdf56b566e9403b4950b2dc85393d9b88d67",
- "sha256:840caf38d86aa7014fe37ade5d0d84e23dcfbc798b8078015831996ecbc206a3",
- "sha256:8651c7299cbd8b4161a36cd6a322fa07d39cd23535b144d02f1c1972d0c62f3c",
- "sha256:868ad1b6fc41209ab6bd12f63923e8baeb1a086814cb2e81a65ed3d497e0cf8f",
- "sha256:88887f69f7a00cf02b954cdc3034ffb383b2303bc0ab481d4716e2da51ddc10e",
- "sha256:89f9f17b0dacb913ed87d57afbc8aad85ea42c1085bd5de2f20d83d13e9fc4b2",
- "sha256:8c496c5401c1b9c46d41a7688e8ff5b0310a3b9bae31ce0f0ae870e1ea2b8caf",
- "sha256:8cf18888606dad030455d18f6c381720e57fc6a4170ee1966adb7ebc98d4d6a3",
- "sha256:8d22c1a10dff3f64d0d68abb8298a3fd88ccff79f408a3e15b3e7f637ef5c980",
- "sha256:90964917f5b0fa0fa07e9a051fbef100250c04d150b7026ccbf87a34a54012e0",
- "sha256:9bfb92f82574d9e58401d79c70c716985dc049b635fef6eecbb024c79b2c46ad",
- "sha256:9c6ad011c1b4e3acff058d6b090f1da8e55a332fbf84695cf3100c649cc452d1",
- "sha256:a11c374eb63a9c16c5ed146457241182f310902bd2a9c18255781bb832b6748b",
- "sha256:a7cef55929dcbef24af3eb40bedec35d82c3c2fa46338bb13ecf3c5720af8a61",
- "sha256:a844cdb5d7cbc22f5f16c7e2a0271170750763c4db08381b7f696dbd2c78a361",
- "sha256:ae7613a119a71a497d012ccc83775c308b9c1dab454806291427f84397d852fd",
- "sha256:b1648568667f820b8c48317c7006221dc40aced1869908c187f493838a1362bc",
- "sha256:b1e31be7945f66be23f4ec1682bb47faa3df34cb89fc68527de6554d3c4258a4",
- "sha256:b277482120df46e27a58082df06a15aebda4481e30a1c21eefd0921ae7e03f65",
- "sha256:b7ffba80aa49bd09195145a7fd233a7781173b422eeb995096f2b30591639517",
- "sha256:b852e47eb08475c2c1bd8131207b405793bfc20d6f45aff893d3baaad449ed14",
- "sha256:bb4f8c5d0358a31e9a08daeebb68f5e161cdd4018855426d3f0c23bb51087055",
- "sha256:bbae3b4b9d997971431c346edbfe6e41e98424a097860ee872721e176040a893",
- "sha256:befdf0167ad626f22f6aac6163477fcefa342224a22f11fdd05abb3995c1783c",
- "sha256:c0acbe31340ab150423347e5b9cc595867d814244ac14218932a5cf1dd38eb39",
- "sha256:c41e1893d1206aa7054029681778d9a58b3529d4c807002c156d58426c225173",
- "sha256:c59d51f182c729f47e841510b70b967b0752039f79f1de23bcdd86462a9b09ee",
- "sha256:cd6fff9e56df398abc5866b19a32124815b656613c1c5ec0f9350906fd798aac",
- "sha256:cdd0a3b5da66e7f377474599814dbf5cbf135ff059cc73694de129b58a5e8a2c",
- "sha256:cf476bca34e1340ee3294ef13e2c625833f83d096cfdf69a5342475602004f95",
- "sha256:d0dd4a1db09db2dba0f94d15addc7e7cd3a7b0d393aa4c7518c39ae7374623c3",
- "sha256:d1456f814655b224d4bf6e7915c51ce74e389b413be791203092b7ff78c936dd",
- "sha256:d14d30c25897b2bf19b6fb5ff7e26cc40006ad53fd4a88244fdf26517d852dd7",
- "sha256:d244bcafeb1bc06d47cfee71727e775bca88a8efda77a13e7306aae3813fa7e4",
- "sha256:d8815b5e1dac85fc534a97fd339e12404db557878c090f90442247e87c8aeaea",
- "sha256:d88b33980222085dd6001ae2cad87c6068e0991d4f5ccf44975d216db3b57376",
- "sha256:d8c5093206ef4b198600ae484230402af6713dab1bd5b8e231905d754022bec7",
- "sha256:d9c289f140a9ae4853fc2236a2ffc9a9f2d5eae0cb673167e0f1b8c18c0961ac",
- "sha256:dcf5705cab159ce0130cd56057f5f3425023c407e170bca60b4868048bae64fd",
- "sha256:e011cc162503c19f4b1fd63dfcddf73739c7a243a17dac09b78e57a00983ab35",
- "sha256:e066e8861eef6387b7c772344d1fe1f9a72800e04ee9a54239d460c400c72aab",
- "sha256:e0b2104df1579d6ba9052c0ae0e3137c9698b2d85b0645507e6fd1813b70931a",
- "sha256:e375d975159ac534c7161269de24ddcd490df2157b55c1a6eeace6cbb56903f0",
- "sha256:e4119532cd10dba04b423e0f86aecb96cfa5a602238c0aa012f70c3a40c44b50",
- "sha256:e7dbbde64b6c534548696808a0e01276d28ea5773bc9a2dfb97a88cd3dffe3df",
- "sha256:e9afd5358719f1b2cf425fad638fc3c887997d6782da317096877e5b15b2ce93",
- "sha256:ec4b52ce9a396260eb9731eb6aea41a7320de22ed73a1042c2230af0212758ce",
- "sha256:edb5698a7bc282089f64c96c477846950358a46ede85a1c040e0230344fdde10",
- "sha256:ee463219d9ec6c2be1d331ab13a8e0cd50d2f32240a81d498266d77d07b7e71e",
- "sha256:efcc860be094b8d19ac61b452ec635c7acb9afa77beb218b1d7784c6d41fe8ad",
- "sha256:f5e6883af9a68c0028f70a4c19d5a6ab6238a379be36ad300a22318316c00cb0",
- "sha256:f9650713b2cfa9537a2baf7dd9fee458b24a0aaaa6cafcea8bdd5fb2b8efdc34",
- "sha256:faefeb3b81bdfb4e5a55b9bbdf3d8d8753f65506e1d67d03f5c851a6c87150e9",
- "sha256:fb9c65bd82f9ef3ce4970dc19ee86be5f6f93d032159acf35e663c6bea02b237",
- "sha256:fe746d03ed8d193674a26105e4f0fe6c726f5bb602ffc695b409eaf02f04763d",
- "sha256:fef5d70683643618244a4f5221053567ca3e77c2531e42ad48ae05fae909f542"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==0.4.3"
- },
- "scikit-learn": {
- "hashes": [
- "sha256:1d0b25d9c651fd050555aadd57431b53d4cf664e749069da77f3d52c5ad14b3b",
- "sha256:36f0ea5d0f693cb247a073d21a4123bdf4172e470e6d163c12b74cbb1536cf38",
- "sha256:426d258fddac674fdf33f3cb2d54d26f49406e2599dbf9a32b4d1696091d4256",
- "sha256:44c62f2b124848a28fd695db5bc4da019287abf390bfce602ddc8aa1ec186aae",
- "sha256:45dee87ac5309bb82e3ea633955030df9bbcb8d2cdb30383c6cd483691c546cc",
- "sha256:49d64ef6cb8c093d883e5a36c4766548d974898d378e395ba41a806d0e824db8",
- "sha256:5460a1a5b043ae5ae4596b3126a4ec33ccba1b51e7ca2c5d36dac2169f62ab1d",
- "sha256:5cd7b524115499b18b63f0c96f4224eb885564937a0b3477531b2b63ce331904",
- "sha256:671e2f0c3f2c15409dae4f282a3a619601fa824d2c820e5b608d9d775f91780c",
- "sha256:68b8404841f944a4a1459b07198fa2edd41a82f189b44f3e1d55c104dbc2e40c",
- "sha256:81bf5d8bbe87643103334032dd82f7419bc8c8d02a763643a6b9a5c7288c5054",
- "sha256:8539a41b3d6d1af82eb629f9c57f37428ff1481c1e34dddb3b9d7af8ede67ac5",
- "sha256:87440e2e188c87db80ea4023440923dccbd56fbc2d557b18ced00fef79da0727",
- "sha256:90378e1747949f90c8f385898fff35d73193dfcaec3dd75d6b542f90c4e89755",
- "sha256:b0203c368058ab92efc6168a1507d388d41469c873e96ec220ca8e74079bf62e",
- "sha256:c97a50b05c194be9146d61fe87dbf8eac62b203d9e87a3ccc6ae9aed2dfaf361",
- "sha256:d36d0bc983336bbc1be22f9b686b50c964f593c8a9a913a792442af9bf4f5e68",
- "sha256:d762070980c17ba3e9a4a1e043ba0518ce4c55152032f1af0ca6f39b376b5928",
- "sha256:d9993d5e78a8148b1d0fdf5b15ed92452af5581734129998c26f481c46586d68",
- "sha256:daa1c471d95bad080c6e44b4946c9390a4842adc3082572c20e4f8884e39e959",
- "sha256:ff4effe5a1d4e8fed260a83a163f7dbf4f6087b54528d8880bab1d1377bd78be"
- ],
- "markers": "python_version >= '3.9'",
- "version": "==1.4.2"
- },
- "scipy": {
- "hashes": [
- "sha256:05f1432ba070e90d42d7fd836462c50bf98bd08bed0aa616c359eed8a04e3922",
- "sha256:09c74543c4fbeb67af6ce457f6a6a28e5d3739a87f62412e4a16e46f164f0ae5",
- "sha256:0fbcf8abaf5aa2dc8d6400566c1a727aed338b5fe880cde64907596a89d576fa",
- "sha256:109d391d720fcebf2fbe008621952b08e52907cf4c8c7efc7376822151820820",
- "sha256:1d2f7bb14c178f8b13ebae93f67e42b0a6b0fc50eba1cd8021c9b6e08e8fb1cd",
- "sha256:1e7626dfd91cdea5714f343ce1176b6c4745155d234f1033584154f60ef1ff42",
- "sha256:22789b56a999265431c417d462e5b7f2b487e831ca7bef5edeb56efe4c93f86e",
- "sha256:28e286bf9ac422d6beb559bc61312c348ca9b0f0dae0d7c5afde7f722d6ea13d",
- "sha256:33fde20efc380bd23a78a4d26d59fc8704e9b5fd9b08841693eb46716ba13d86",
- "sha256:45c08bec71d3546d606989ba6e7daa6f0992918171e2a6f7fbedfa7361c2de1e",
- "sha256:4dca18c3ffee287ddd3bc8f1dabaf45f5305c5afc9f8ab9cbfab855e70b2df5c",
- "sha256:5407708195cb38d70fd2d6bb04b1b9dd5c92297d86e9f9daae1576bd9e06f602",
- "sha256:58569af537ea29d3f78e5abd18398459f195546bb3be23d16677fb26616cc11e",
- "sha256:5e4a756355522eb60fcd61f8372ac2549073c8788f6114449b37e9e8104f15a5",
- "sha256:6bf9fe63e7a4bf01d3645b13ff2aa6dea023d38993f42aaac81a18b1bda7a82a",
- "sha256:8930ae3ea371d6b91c203b1032b9600d69c568e537b7988a3073dfe4d4774f21",
- "sha256:9ff7dad5d24a8045d836671e082a490848e8639cabb3dbdacb29f943a678683d",
- "sha256:a2f471de4d01200718b2b8927f7d76b5d9bde18047ea0fa8bd15c5ba3f26a1d6",
- "sha256:ac38c4c92951ac0f729c4c48c9e13eb3675d9986cc0c83943784d7390d540c78",
- "sha256:b2a3ff461ec4756b7e8e42e1c681077349a038f0686132d623fa404c0bee2551",
- "sha256:b5acd8e1dbd8dbe38d0004b1497019b2dbbc3d70691e65d69615f8a7292865d7",
- "sha256:b8434f6f3fa49f631fae84afee424e2483289dfc30a47755b4b4e6b07b2633a4",
- "sha256:ba419578ab343a4e0a77c0ef82f088238a93eef141b2b8017e46149776dfad4d",
- "sha256:d0de696f589681c2802f9090fff730c218f7c51ff49bf252b6a97ec4a5d19e8b",
- "sha256:dcbb9ea49b0167de4167c40eeee6e167caeef11effb0670b554d10b1e693a8b9"
- ],
- "markers": "python_version >= '3.9'",
- "version": "==1.13.0"
- },
- "sentence-transformers": {
- "hashes": [
- "sha256:633ad6b70e390ea335de8689652a5d6c21a323b79ed19519c2f392451088487f",
- "sha256:a887e17696b513f99a709ce1f37fd547f53857aebe863785ede546c303b09ea0"
- ],
- "markers": "python_full_version >= '3.8.0'",
- "version": "==2.6.1"
- },
- "setuptools": {
- "hashes": [
- "sha256:6c1fccdac05a97e598fb0ae3bbed5904ccb317337a51139dcd51453611bbb987",
- "sha256:c636ac361bc47580504644275c9ad802c50415c7522212252c033bd15f301f32"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==69.5.1"
- },
- "six": {
- "hashes": [
- "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926",
- "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"
- ],
- "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",
- "version": "==1.16.0"
- },
- "sniffio": {
- "hashes": [
- "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2",
- "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==1.3.1"
- },
- "sqlalchemy": {
- "hashes": [
- "sha256:01d10638a37460616708062a40c7b55f73e4d35eaa146781c683e0fa7f6c43fb",
- "sha256:04c487305ab035a9548f573763915189fc0fe0824d9ba28433196f8436f1449c",
- "sha256:0dfefdb3e54cd15f5d56fd5ae32f1da2d95d78319c1f6dfb9bcd0eb15d603d5d",
- "sha256:0f3ca96af060a5250a8ad5a63699180bc780c2edf8abf96c58af175921df847a",
- "sha256:205f5a2b39d7c380cbc3b5dcc8f2762fb5bcb716838e2d26ccbc54330775b003",
- "sha256:25664e18bef6dc45015b08f99c63952a53a0a61f61f2e48a9e70cec27e55f699",
- "sha256:296195df68326a48385e7a96e877bc19aa210e485fa381c5246bc0234c36c78e",
- "sha256:2a0732dffe32333211801b28339d2a0babc1971bc90a983e3035e7b0d6f06b93",
- "sha256:3071ad498896907a5ef756206b9dc750f8e57352113c19272bdfdc429c7bd7de",
- "sha256:308ef9cb41d099099fffc9d35781638986870b29f744382904bf9c7dadd08513",
- "sha256:334184d1ab8f4c87f9652b048af3f7abea1c809dfe526fb0435348a6fef3d380",
- "sha256:38b624e5cf02a69b113c8047cf7f66b5dfe4a2ca07ff8b8716da4f1b3ae81567",
- "sha256:471fcb39c6adf37f820350c28aac4a7df9d3940c6548b624a642852e727ea586",
- "sha256:4c142852ae192e9fe5aad5c350ea6befe9db14370b34047e1f0f7cf99e63c63b",
- "sha256:4f6d971255d9ddbd3189e2e79d743ff4845c07f0633adfd1de3f63d930dbe673",
- "sha256:52c8011088305476691b8750c60e03b87910a123cfd9ad48576d6414b6ec2a1d",
- "sha256:52de4736404e53c5c6a91ef2698c01e52333988ebdc218f14c833237a0804f1b",
- "sha256:5c7b02525ede2a164c5fa5014915ba3591730f2cc831f5be9ff3b7fd3e30958e",
- "sha256:5ef3fbccb4058355053c51b82fd3501a6e13dd808c8d8cd2561e610c5456013c",
- "sha256:5f20cb0a63a3e0ec4e169aa8890e32b949c8145983afa13a708bc4b0a1f30e03",
- "sha256:61405ea2d563407d316c63a7b5271ae5d274a2a9fbcd01b0aa5503635699fa1e",
- "sha256:77d29cb6c34b14af8a484e831ab530c0f7188f8efed1c6a833a2c674bf3c26ec",
- "sha256:7b184e3de58009cc0bf32e20f137f1ec75a32470f5fede06c58f6c355ed42a72",
- "sha256:7e614d7a25a43a9f54fcce4675c12761b248547f3d41b195e8010ca7297c369c",
- "sha256:8197d6f7a3d2b468861ebb4c9f998b9df9e358d6e1cf9c2a01061cb9b6cf4e41",
- "sha256:87a1d53a5382cdbbf4b7619f107cc862c1b0a4feb29000922db72e5a66a5ffc0",
- "sha256:8c37f1050feb91f3d6c32f864d8e114ff5545a4a7afe56778d76a9aec62638ba",
- "sha256:90453597a753322d6aa770c5935887ab1fc49cc4c4fdd436901308383d698b4b",
- "sha256:988569c8732f54ad3234cf9c561364221a9e943b78dc7a4aaf35ccc2265f1930",
- "sha256:99a1e69d4e26f71e750e9ad6fdc8614fbddb67cfe2173a3628a2566034e223c7",
- "sha256:9b19836ccca0d321e237560e475fd99c3d8655d03da80c845c4da20dda31b6e1",
- "sha256:9d6753305936eddc8ed190e006b7bb33a8f50b9854823485eed3a886857ab8d1",
- "sha256:a13b917b4ffe5a0a31b83d051d60477819ddf18276852ea68037a144a506efb9",
- "sha256:a88913000da9205b13f6f195f0813b6ffd8a0c0c2bd58d499e00a30eb508870c",
- "sha256:b2a0e3cf0caac2085ff172c3faacd1e00c376e6884b5bc4dd5b6b84623e29e4f",
- "sha256:b5d7ed79df55a731749ce65ec20d666d82b185fa4898430b17cb90c892741520",
- "sha256:bab41acf151cd68bc2b466deae5deeb9e8ae9c50ad113444151ad965d5bf685b",
- "sha256:bd9566b8e58cabd700bc367b60e90d9349cd16f0984973f98a9a09f9c64e86f0",
- "sha256:bda7ce59b06d0f09afe22c56714c65c957b1068dee3d5e74d743edec7daba552",
- "sha256:c2f9c762a2735600654c654bf48dad388b888f8ce387b095806480e6e4ff6907",
- "sha256:c4520047006b1d3f0d89e0532978c0688219857eb2fee7c48052560ae76aca1e",
- "sha256:d96710d834a6fb31e21381c6d7b76ec729bd08c75a25a5184b1089141356171f",
- "sha256:dba622396a3170974f81bad49aacebd243455ec3cc70615aeaef9e9613b5bca5",
- "sha256:dc4ee2d4ee43251905f88637d5281a8d52e916a021384ec10758826f5cbae305",
- "sha256:dddaae9b81c88083e6437de95c41e86823d150f4ee94bf24e158a4526cbead01",
- "sha256:de7202ffe4d4a8c1e3cde1c03e01c1a3772c92858837e8f3879b497158e4cb44",
- "sha256:e5bbe55e8552019c6463709b39634a5fc55e080d0827e2a3a11e18eb73f5cdbd",
- "sha256:ea311d4ee9a8fa67f139c088ae9f905fcf0277d6cd75c310a21a88bf85e130f5",
- "sha256:fecd5089c4be1bcc37c35e9aa678938d2888845a134dd016de457b942cf5a758"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==2.0.29"
- },
- "starlette": {
- "hashes": [
- "sha256:6fe59f29268538e5d0d182f2791a479a0c64638e6935d1c6989e63fb2699c6ee",
- "sha256:9af890290133b79fc3db55474ade20f6220a364a0402e0b556e7cd5e1e093823"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==0.37.2"
- },
- "sympy": {
- "hashes": [
- "sha256:c3588cd4295d0c0f603d0f2ae780587e64e2efeedb3521e46b9bb1d08d184fa5",
- "sha256:ebf595c8dac3e0fdc4152c51878b498396ec7f30e7a914d6071e674d49420fb8"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==1.12"
- },
- "tenacity": {
- "hashes": [
- "sha256:5398ef0d78e63f40007c1fb4c0bff96e1911394d2fa8d194f77619c05ff6cc8a",
- "sha256:ce510e327a630c9e1beaf17d42e6ffacc88185044ad85cf74c0a8887c6a0f88c"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==8.2.3"
- },
- "threadpoolctl": {
- "hashes": [
- "sha256:8f4c689a65b23e5ed825c8436a92b818aac005e0f3715f6a1664d7c7ee29d262",
- "sha256:f11b491a03661d6dd7ef692dd422ab34185d982466c49c8f98c8f716b5c93196"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==3.4.0"
- },
- "tokenizers": {
- "hashes": [
- "sha256:0143e7d9dcd811855c1ce1ab9bf5d96d29bf5e528fd6c7824d0465741e8c10fd",
- "sha256:02272fe48280e0293a04245ca5d919b2c94a48b408b55e858feae9618138aeda",
- "sha256:02458bee6f5f3139f1ebbb6d042b283af712c0981f5bc50edf771d6b762d5e4f",
- "sha256:054c1cc9c6d68f7ffa4e810b3d5131e0ba511b6e4be34157aa08ee54c2f8d9ee",
- "sha256:05a77cbfebe28a61ab5c3891f9939cc24798b63fa236d84e5f29f3a85a200c00",
- "sha256:064ff87bb6acdbd693666de9a4b692add41308a2c0ec0770d6385737117215f2",
- "sha256:06cd0487b1cbfabefb2cc52fbd6b1f8d4c37799bd6c6e1641281adaa6b2504a7",
- "sha256:0774bccc6608eca23eb9d620196687c8b2360624619623cf4ba9dc9bd53e8b51",
- "sha256:0cf6b7f1d4dc59af960e6ffdc4faffe6460bbfa8dce27a58bf75755ffdb2526d",
- "sha256:0ef06b9707baeb98b316577acb04f4852239d856b93e9ec3a299622f6084e4be",
- "sha256:0ff110ecc57b7aa4a594396525a3451ad70988e517237fe91c540997c4e50e29",
- "sha256:107089f135b4ae7817affe6264f8c7a5c5b4fd9a90f9439ed495f54fcea56fb4",
- "sha256:112a1dd436d2cc06e6ffdc0b06d55ac019a35a63afd26475205cb4b1bf0bfbff",
- "sha256:13ca3611de8d9ddfbc4dc39ef54ab1d2d4aaa114ac8727dfdc6a6ec4be017378",
- "sha256:158be8ea8554e5ed69acc1ce3fbb23a06060bd4bbb09029431ad6b9a466a7121",
- "sha256:1cf75d32e8d250781940d07f7eece253f2fe9ecdb1dc7ba6e3833fa17b82fcbc",
- "sha256:1ddba9a2b0c8c81633eca0bb2e1aa5b3a15362b1277f1ae64176d0f6eba78ab1",
- "sha256:20ea60479de6fc7b8ae756b4b097572372d7e4032e2521c1bbf3d90c90a99ff0",
- "sha256:2277c36d2d6cdb7876c274547921a42425b6810d38354327dd65a8009acf870c",
- "sha256:237d1bf3361cf2e6463e6c140628e6406766e8b27274f5fcc62c747ae3c6f094",
- "sha256:2735ecbbf37e52db4ea970e539fd2d450d213517b77745114f92867f3fc246eb",
- "sha256:2ef09bbc16519f6c25d0c7fc0c6a33a6f62923e263c9d7cca4e58b8c61572afb",
- "sha256:32e16bdeffa7c4f46bf2152172ca511808b952701d13e7c18833c0b73cb5c23f",
- "sha256:361abdc068e8afe9c5b818769a48624687fb6aaed49636ee39bec4e95e1a215b",
- "sha256:37aaec5a52e959892870a7c47cef80c53797c0db9149d458460f4f31e2fb250e",
- "sha256:3835738be1de66624fff2f4f6f6684775da4e9c00bde053be7564cbf3545cc66",
- "sha256:38bfb0204ff3246ca4d5e726e8cc8403bfc931090151e6eede54d0e0cf162ef0",
- "sha256:38d7ab43c6825abfc0b661d95f39c7f8af2449364f01d331f3b51c94dcff7221",
- "sha256:3b919afe4df7eb6ac7cafd2bd14fb507d3f408db7a68c43117f579c984a73843",
- "sha256:3ef5dd1d39797044642dbe53eb2bc56435308432e9c7907728da74c69ee2adca",
- "sha256:3f5e64b0389a2be47091d8cc53c87859783b837ea1a06edd9d8e04004df55a5c",
- "sha256:40b6a4c78da863ff26dbd5ad9a8ecc33d8a8d97b535172601cf00aee9d7ce9ce",
- "sha256:41e39b41e5531d6b2122a77532dbea60e171ef87a3820b5a3888daa847df4153",
- "sha256:44f2a832cd0825295f7179eaf173381dc45230f9227ec4b44378322d900447c9",
- "sha256:454c203164e07a860dbeb3b1f4a733be52b0edbb4dd2e5bd75023ffa8b49403a",
- "sha256:4620cca5c2817177ee8706f860364cc3a8845bc1e291aaf661fb899e5d1c45b0",
- "sha256:473c83c5e2359bb81b0b6fde870b41b2764fcdd36d997485e07e72cc3a62264a",
- "sha256:48e2b9335be2bc0171df9281385c2ed06a15f5cf121c44094338306ab7b33f2c",
- "sha256:494fdbe5932d3416de2a85fc2470b797e6f3226c12845cadf054dd906afd0442",
- "sha256:4b19a808d8799fda23504a5cd31d2f58e6f52f140380082b352f877017d6342b",
- "sha256:4c4b89038a684f40a6b15d6b09f49650ac64d951ad0f2a3ea9169687bbf2a8ba",
- "sha256:4e022fe65e99230b8fd89ebdfea138c24421f91c1a4f4781a8f5016fd5cdfb4d",
- "sha256:4eeb12daf02a59e29f578a865f55d87cd103ce62bd8a3a5874f8fdeaa82e336b",
- "sha256:4fe1f74a902bee74a3b25aff180fbfbf4f8b444ab37c4d496af7afd13a784ed2",
- "sha256:508711a108684111ec8af89d3a9e9e08755247eda27d0ba5e3c50e9da1600f6d",
- "sha256:5179c271aa5de9c71712e31cb5a79e436ecd0d7532a408fa42a8dbfa4bc23fd9",
- "sha256:524e60da0135e106b254bd71f0659be9f89d83f006ea9093ce4d1fab498c6d0d",
- "sha256:52f6130c9cbf70544287575a985bf44ae1bda2da7e8c24e97716080593638012",
- "sha256:5645938a42d78c4885086767c70923abad047163d809c16da75d6b290cb30bbe",
- "sha256:5ab2a4d21dcf76af60e05af8063138849eb1d6553a0d059f6534357bce8ba364",
- "sha256:620beacc3373277700d0e27718aa8b25f7b383eb8001fba94ee00aeea1459d89",
- "sha256:64c35e09e9899b72a76e762f9854e8750213f67567787d45f37ce06daf57ca78",
- "sha256:64c86e5e068ac8b19204419ed8ca90f9d25db20578f5881e337d203b314f4104",
- "sha256:67a0fe1e49e60c664915e9fb6b0cb19bac082ab1f309188230e4b2920230edb3",
- "sha256:6a9b648a58281c4672212fab04e60648fde574877d0139cd4b4f93fe28ca8944",
- "sha256:6d76f00f5c32da36c61f41c58346a4fa7f0a61be02f4301fd30ad59834977cc3",
- "sha256:6fc7083ab404019fc9acafe78662c192673c1e696bd598d16dc005bd663a5cf9",
- "sha256:708bb3e4283177236309e698da5fcd0879ce8fd37457d7c266d16b550bcbbd18",
- "sha256:7c0d8b52664ab2d4a8d6686eb5effc68b78608a9008f086a122a7b2996befbab",
- "sha256:7c7d18b733be6bbca8a55084027f7be428c947ddf871c500ee603e375013ffba",
- "sha256:7ca22bd897537a0080521445d91a58886c8c04084a6a19e6c78c586e0cfa92a5",
- "sha256:7ef789f83eb0f9baeb4d09a86cd639c0a5518528f9992f38b28e819df397eb06",
- "sha256:82f8652a74cc107052328b87ea8b34291c0f55b96d8fb261b3880216a9f9e48e",
- "sha256:865c60ae6eaebdde7da66191ee9b7db52e542ed8ee9d2c653b6d190a9351b980",
- "sha256:89cd1cb93e4b12ff39bb2d626ad77e35209de9309a71e4d3d4672667b4b256e7",
- "sha256:8b9ec69247a23747669ec4b0ca10f8e3dfb3545d550258129bd62291aabe8605",
- "sha256:918fbb0eab96fe08e72a8c2b5461e9cce95585d82a58688e7f01c2bd546c79d0",
- "sha256:93268e788825f52de4c7bdcb6ebc1fcd4a5442c02e730faa9b6b08f23ead0e24",
- "sha256:936bf3842db5b2048eaa53dade907b1160f318e7c90c74bfab86f1e47720bdd6",
- "sha256:968fa1fb3c27398b28a4eca1cbd1e19355c4d3a6007f7398d48826bbe3a0f728",
- "sha256:9ba9f6895af58487ca4f54e8a664a322f16c26bbb442effd01087eba391a719e",
- "sha256:9c861d35e8286a53e06e9e28d030b5a05bcbf5ac9d7229e561e53c352a85b1fc",
- "sha256:9e0480c452217edd35eca56fafe2029fb4d368b7c0475f8dfa3c5c9c400a7456",
- "sha256:a308a607ca9de2c64c1b9ba79ec9a403969715a1b8ba5f998a676826f1a7039d",
- "sha256:a33ab881c8fe70474980577e033d0bc9a27b7ab8272896e500708b212995d834",
- "sha256:a47acfac7e511f6bbfcf2d3fb8c26979c780a91e06fb5b9a43831b2c0153d024",
- "sha256:a907d76dcfda37023ba203ab4ceeb21bc5683436ebefbd895a0841fd52f6f6f2",
- "sha256:a9b9b070fdad06e347563b88c278995735292ded1132f8657084989a4c84a6d5",
- "sha256:b10122d8d8e30afb43bb1fe21a3619f62c3e2574bff2699cf8af8b0b6c5dc4a3",
- "sha256:b8fcfa81bcb9447df582c5bc96a031e6df4da2a774b8080d4f02c0c16b42be0b",
- "sha256:c1257f4394be0d3b00de8c9e840ca5601d0a4a8438361ce9c2b05c7d25f6057b",
- "sha256:c2d60f5246f4da9373f75ff18d64c69cbf60c3bca597290cea01059c336d2470",
- "sha256:c73e2e74bbb07910da0d37c326869f34113137b23eadad3fc00856e6b3d9930c",
- "sha256:c9a09cd26cca2e1c349f91aa665309ddb48d71636370749414fbf67bc83c5343",
- "sha256:c9a2ebdd2ad4ec7a68e7615086e633857c85e2f18025bd05d2a4399e6c5f7169",
- "sha256:cc90102ed17271cf0a1262babe5939e0134b3890345d11a19c3145184b706055",
- "sha256:ccd73a82751c523b3fc31ff8194702e4af4db21dc20e55b30ecc2079c5d43cb7",
- "sha256:ccec77aa7150e38eec6878a493bf8c263ff1fa8a62404e16c6203c64c1f16a26",
- "sha256:cf27fd43472e07b57cf420eee1e814549203d56de00b5af8659cb99885472f1f",
- "sha256:cf7fd9a5141634fa3aa8d6b7be362e6ae1b4cda60da81388fa533e0b552c98fd",
- "sha256:cfed5c64e5be23d7ee0f0e98081a25c2a46b0b77ce99a4f0605b1ec43dd481fa",
- "sha256:d0222c5b7c9b26c0b4822a82f6a7011de0a9d3060e1da176f66274b70f846b98",
- "sha256:d05a1b06f986d41aed5f2de464c003004b2df8aaf66f2b7628254bcbfb72a438",
- "sha256:d44ba80988ff9424e33e0a49445072ac7029d8c0e1601ad25a0ca5f41ed0c1d6",
- "sha256:d857be2df69763362ac699f8b251a8cd3fac9d21893de129bc788f8baaef2693",
- "sha256:d88b96ff0fe8e91f6ef01ba50b0d71db5017fa4e3b1d99681cec89a85faf7bf7",
- "sha256:daa348f02d15160cb35439098ac96e3a53bacf35885072611cd9e5be7d333daa",
- "sha256:db35825f6d54215f6b6009a7ff3eedee0848c99a6271c870d2826fbbedf31a38",
- "sha256:dc3ad9ebc76eabe8b1d7c04d38be884b8f9d60c0cdc09b0aa4e3bcf746de0388",
- "sha256:dce74266919b892f82b1b86025a613956ea0ea62a4843d4c4237be2c5498ed3a",
- "sha256:de19c4dc503c612847edf833c82e9f73cd79926a384af9d801dcf93f110cea4e",
- "sha256:e2ea752f2b0fe96eb6e2f3adbbf4d72aaa1272079b0dfa1145507bd6a5d537e6",
- "sha256:e6e9c6e019dd5484be5beafc775ae6c925f4c69a3487040ed09b45e13df2cb91",
- "sha256:ea09acd2fe3324174063d61ad620dec3bcf042b495515f27f638270a7d466e8b",
- "sha256:ea621a7eef4b70e1f7a4e84dd989ae3f0eeb50fc8690254eacc08acb623e82f1",
- "sha256:f1b3b31884dc8e9b21508bb76da80ebf7308fdb947a17affce815665d5c4d028",
- "sha256:f33dfbdec3784093a9aebb3680d1f91336c56d86cc70ddf88708251da1fe9064",
- "sha256:f3f40604f5042ff210ba82743dda2b6aa3e55aa12df4e9f2378ee01a17e2855e",
- "sha256:f86593c18d2e6248e72fb91c77d413a815153b8ea4e31f7cd443bdf28e467670",
- "sha256:fb16ba563d59003028b678d2361a27f7e4ae0ab29c7a80690efa20d829c81fdb"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==0.15.2"
- },
- "torch": {
- "hashes": [
- "sha256:02c4fac3c964e73f5f49003e0060c697f73b67c10cc23f51c592facb29e1bd53",
- "sha256:2b0cf041f878607a361116945f82ce2dba4b7a747151da7619a63cb5fccb72df",
- "sha256:431a747b5a880cf8e1fb6d58db6bfafa6768cbec76517d046854537c03323edf",
- "sha256:4ef2911ffde6d86f643c23aa99f25f1a1df8bee93bf8d0c69cf1b9ba0ca521dc",
- "sha256:6e3d323a21df22415770e88d39e13591079b9356dabb8b394d1ee29ac6c92481",
- "sha256:88e63c916e3275fa30a220ee736423a95573b96072ded85e5c0171fd8f37a755",
- "sha256:8914ce932168e572a09b4a7e5b0806d279f771dfe58d7e1d8de2291fac4ce69b",
- "sha256:90089cae572672fb449c8ff1dc1b29daaffa117bf97ede7463dcd2fd1b991e4c",
- "sha256:c2c9e7d5e3c7d58e4b78d6aebfa8002af7cda16cde08d0e3ed00300dc21a8efc",
- "sha256:fc29dda2795dd7220d769c5926b1c50ddac9b4827897e30a10467063691cdf54"
- ],
- "index": "pytorch",
- "version": "==2.2.2+cpu"
- },
- "tqdm": {
- "hashes": [
- "sha256:1ee4f8a893eb9bef51c6e35730cebf234d5d0b6bd112b0271e10ed7c24a02bd9",
- "sha256:6cd52cdf0fef0e0f543299cfc96fec90d7b8a7e88745f411ec33eb44d5ed3531"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==4.66.2"
- },
- "transformers": {
- "hashes": [
- "sha256:2586e5ff4150f122716fc40f5530e92871befc051848fbe82600969c535b762d",
- "sha256:7838034a12cca3168247f9d2d1dba6724c9de3ae0f73a108258c6b8fc5912601"
- ],
- "markers": "python_full_version >= '3.8.0'",
- "version": "==4.39.3"
- },
- "typing-extensions": {
- "hashes": [
- "sha256:83f085bd5ca59c80295fc2a82ab5dac679cbe02b9f33f7d83af68e241bea51b0",
- "sha256:c1f94d72897edaf4ce775bb7558d5b79d8126906a14ea5ed1635921406c0387a"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==4.11.0"
- },
- "typing-inspect": {
- "hashes": [
- "sha256:9ee6fc59062311ef8547596ab6b955e1b8aa46242d854bfc78f4f6b0eff35f9f",
- "sha256:b23fc42ff6f6ef6954e4852c1fb512cdd18dbea03134f91f856a95ccc9461f78"
- ],
- "version": "==0.9.0"
- },
- "tzdata": {
- "hashes": [
- "sha256:2674120f8d891909751c38abcdfd386ac0a5a1127954fbc332af6b5ceae07efd",
- "sha256:9068bc196136463f5245e51efda838afa15aaeca9903f49050dfa2679db4d252"
- ],
- "markers": "python_version >= '2'",
- "version": "==2024.1"
- },
- "ujson": {
- "hashes": [
- "sha256:07e0cfdde5fd91f54cd2d7ffb3482c8ff1bf558abf32a8b953a5d169575ae1cd",
- "sha256:0b159efece9ab5c01f70b9d10bbb77241ce111a45bc8d21a44c219a2aec8ddfd",
- "sha256:0c4d6adb2c7bb9eb7c71ad6f6f612e13b264942e841f8cc3314a21a289a76c4e",
- "sha256:10ca3c41e80509fd9805f7c149068fa8dbee18872bbdc03d7cca928926a358d5",
- "sha256:20509a8c9f775b3a511e308bbe0b72897ba6b800767a7c90c5cca59d20d7c42c",
- "sha256:25fa46e4ff0a2deecbcf7100af3a5d70090b461906f2299506485ff31d9ec437",
- "sha256:2a8ea0f55a1396708e564595aaa6696c0d8af532340f477162ff6927ecc46e21",
- "sha256:2fbb90aa5c23cb3d4b803c12aa220d26778c31b6e4b7a13a1f49971f6c7d088e",
- "sha256:323279e68c195110ef85cbe5edce885219e3d4a48705448720ad925d88c9f851",
- "sha256:32bba5870c8fa2a97f4a68f6401038d3f1922e66c34280d710af00b14a3ca562",
- "sha256:3382a3ce0ccc0558b1c1668950008cece9bf463ebb17463ebf6a8bfc060dae34",
- "sha256:37ef92e42535a81bf72179d0e252c9af42a4ed966dc6be6967ebfb929a87bc60",
- "sha256:3b23bbb46334ce51ddb5dded60c662fbf7bb74a37b8f87221c5b0fec1ec6454b",
- "sha256:473fb8dff1d58f49912323d7cb0859df5585cfc932e4b9c053bf8cf7f2d7c5c4",
- "sha256:4a566e465cb2fcfdf040c2447b7dd9718799d0d90134b37a20dff1e27c0e9096",
- "sha256:4e35d7885ed612feb6b3dd1b7de28e89baaba4011ecdf995e88be9ac614765e9",
- "sha256:506a45e5fcbb2d46f1a51fead991c39529fc3737c0f5d47c9b4a1d762578fc30",
- "sha256:5635b78b636a54a86fdbf6f027e461aa6c6b948363bdf8d4fbb56a42b7388320",
- "sha256:5ca35f484622fd208f55041b042d9d94f3b2c9c5add4e9af5ee9946d2d30db01",
- "sha256:60718f1720a61560618eff3b56fd517d107518d3c0160ca7a5a66ac949c6cf1c",
- "sha256:63fb2e6599d96fdffdb553af0ed3f76b85fda63281063f1cb5b1141a6fcd0617",
- "sha256:6974b3a7c17bbf829e6c3bfdc5823c67922e44ff169851a755eab79a3dd31ec0",
- "sha256:6adef377ed583477cf005b58c3025051b5faa6b8cc25876e594afbb772578f21",
- "sha256:6bbd91a151a8f3358c29355a491e915eb203f607267a25e6ab10531b3b157c5e",
- "sha256:6eecbd09b316cea1fd929b1e25f70382917542ab11b692cb46ec9b0a26c7427f",
- "sha256:70e06849dfeb2548be48fdd3ceb53300640bc8100c379d6e19d78045e9c26120",
- "sha256:7309d063cd392811acc49b5016728a5e1b46ab9907d321ebbe1c2156bc3c0b99",
- "sha256:779a2a88c53039bebfbccca934430dabb5c62cc179e09a9c27a322023f363e0d",
- "sha256:7a365eac66f5aa7a7fdf57e5066ada6226700884fc7dce2ba5483538bc16c8c5",
- "sha256:7b1c0991c4fe256f5fdb19758f7eac7f47caac29a6c57d0de16a19048eb86bad",
- "sha256:7cc7e605d2aa6ae6b7321c3ae250d2e050f06082e71ab1a4200b4ae64d25863c",
- "sha256:829a69d451a49c0de14a9fecb2a2d544a9b2c884c2b542adb243b683a6f15908",
- "sha256:829b824953ebad76d46e4ae709e940bb229e8999e40881338b3cc94c771b876c",
- "sha256:82b5a56609f1235d72835ee109163c7041b30920d70fe7dac9176c64df87c164",
- "sha256:89cc92e73d5501b8a7f48575eeb14ad27156ad092c2e9fc7e3cf949f07e75532",
- "sha256:8ba7cac47dd65ff88571eceeff48bf30ed5eb9c67b34b88cb22869b7aa19600d",
- "sha256:8fc2aa18b13d97b3c8ccecdf1a3c405f411a6e96adeee94233058c44ff92617d",
- "sha256:9ac92d86ff34296f881e12aa955f7014d276895e0e4e868ba7fddebbde38e378",
- "sha256:9d302bd17989b6bd90d49bade66943c78f9e3670407dbc53ebcf61271cadc399",
- "sha256:9f21315f51e0db8ee245e33a649dd2d9dce0594522de6f278d62f15f998e050e",
- "sha256:a6d3f10eb8ccba4316a6b5465b705ed70a06011c6f82418b59278fbc919bef6f",
- "sha256:a807ae73c46ad5db161a7e883eec0fbe1bebc6a54890152ccc63072c4884823b",
- "sha256:ab71bf27b002eaf7d047c54a68e60230fbd5cd9da60de7ca0aa87d0bccead8fa",
- "sha256:b048aa93eace8571eedbd67b3766623e7f0acbf08ee291bef7d8106210432427",
- "sha256:b28407cfe315bd1b34f1ebe65d3bd735d6b36d409b334100be8cdffae2177b2f",
- "sha256:b5964ea916edfe24af1f4cc68488448fbb1ec27a3ddcddc2b236da575c12c8ae",
- "sha256:b68a0caab33f359b4cbbc10065c88e3758c9f73a11a65a91f024b2e7a1257106",
- "sha256:ba0823cb70866f0d6a4ad48d998dd338dce7314598721bc1b7986d054d782dfd",
- "sha256:bd4ea86c2afd41429751d22a3ccd03311c067bd6aeee2d054f83f97e41e11d8f",
- "sha256:bdf7fc21a03bafe4ba208dafa84ae38e04e5d36c0e1c746726edf5392e9f9f36",
- "sha256:c4eec2ddc046360d087cf35659c7ba0cbd101f32035e19047013162274e71fcf",
- "sha256:cdcb02cabcb1e44381221840a7af04433c1dc3297af76fde924a50c3054c708c",
- "sha256:d0fd2eba664a22447102062814bd13e63c6130540222c0aa620701dd01f4be81",
- "sha256:d581db9db9e41d8ea0b2705c90518ba623cbdc74f8d644d7eb0d107be0d85d9c",
- "sha256:dc80f0f5abf33bd7099f7ac94ab1206730a3c0a2d17549911ed2cb6b7aa36d2d",
- "sha256:e015122b337858dba5a3dc3533af2a8fc0410ee9e2374092f6a5b88b182e9fcc",
- "sha256:e208d3bf02c6963e6ef7324dadf1d73239fb7008491fdf523208f60be6437402",
- "sha256:e2f909bc08ce01f122fd9c24bc6f9876aa087188dfaf3c4116fe6e4daf7e194f",
- "sha256:f0cb4a7814940ddd6619bdce6be637a4b37a8c4760de9373bac54bb7b229698b",
- "sha256:f4b3917296630a075e04d3d07601ce2a176479c23af838b6cf90a2d6b39b0d95",
- "sha256:f69f16b8f1c69da00e38dc5f2d08a86b0e781d0ad3e4cc6a13ea033a439c4844",
- "sha256:f833c529e922577226a05bc25b6a8b3eb6c4fb155b72dd88d33de99d53113124",
- "sha256:f91719c6abafe429c1a144cfe27883eace9fb1c09a9c5ef1bcb3ae80a3076a4e",
- "sha256:ff741a5b4be2d08fceaab681c9d4bc89abf3c9db600ab435e20b9b6d4dfef12e",
- "sha256:ffdfebd819f492e48e4f31c97cb593b9c1a8251933d8f8972e81697f00326ff1"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==5.9.0"
- },
- "urllib3": {
- "hashes": [
- "sha256:450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d",
- "sha256:d0570876c61ab9e520d776c38acbbb5b05a776d3f9ff98a5c8fd5162a444cf19"
- ],
- "markers": "python_version >= '3.10'",
- "version": "==2.2.1"
- },
- "uvicorn": {
- "hashes": [
- "sha256:2c2aac7ff4f4365c206fd773a39bf4ebd1047c238f8b8268ad996829323473de",
- "sha256:6a69214c0b6a087462412670b3ef21224fa48cae0e452b5883e8e8bdfdd11dd0"
- ],
- "index": "pypi",
- "markers": "python_version >= '3.8'",
- "version": "==0.29.0"
- },
- "websockets": {
- "hashes": [
- "sha256:00700340c6c7ab788f176d118775202aadea7602c5cc6be6ae127761c16d6b0b",
- "sha256:0bee75f400895aef54157b36ed6d3b308fcab62e5260703add87f44cee9c82a6",
- "sha256:0e6e2711d5a8e6e482cacb927a49a3d432345dfe7dea8ace7b5790df5932e4df",
- "sha256:12743ab88ab2af1d17dd4acb4645677cb7063ef4db93abffbf164218a5d54c6b",
- "sha256:1a9d160fd080c6285e202327aba140fc9a0d910b09e423afff4ae5cbbf1c7205",
- "sha256:1bf386089178ea69d720f8db6199a0504a406209a0fc23e603b27b300fdd6892",
- "sha256:1df2fbd2c8a98d38a66f5238484405b8d1d16f929bb7a33ed73e4801222a6f53",
- "sha256:1e4b3f8ea6a9cfa8be8484c9221ec0257508e3a1ec43c36acdefb2a9c3b00aa2",
- "sha256:1f38a7b376117ef7aff996e737583172bdf535932c9ca021746573bce40165ed",
- "sha256:23509452b3bc38e3a057382c2e941d5ac2e01e251acce7adc74011d7d8de434c",
- "sha256:248d8e2446e13c1d4326e0a6a4e9629cb13a11195051a73acf414812700badbd",
- "sha256:25eb766c8ad27da0f79420b2af4b85d29914ba0edf69f547cc4f06ca6f1d403b",
- "sha256:27a5e9964ef509016759f2ef3f2c1e13f403725a5e6a1775555994966a66e931",
- "sha256:2c71bd45a777433dd9113847af751aae36e448bc6b8c361a566cb043eda6ec30",
- "sha256:2cb388a5bfb56df4d9a406783b7f9dbefb888c09b71629351cc6b036e9259370",
- "sha256:2d225bb6886591b1746b17c0573e29804619c8f755b5598d875bb4235ea639be",
- "sha256:2e5fc14ec6ea568200ea4ef46545073da81900a2b67b3e666f04adf53ad452ec",
- "sha256:363f57ca8bc8576195d0540c648aa58ac18cf85b76ad5202b9f976918f4219cf",
- "sha256:3c6cc1360c10c17463aadd29dd3af332d4a1adaa8796f6b0e9f9df1fdb0bad62",
- "sha256:3d829f975fc2e527a3ef2f9c8f25e553eb7bc779c6665e8e1d52aa22800bb38b",
- "sha256:3e3aa8c468af01d70332a382350ee95f6986db479ce7af14d5e81ec52aa2b402",
- "sha256:3f61726cae9f65b872502ff3c1496abc93ffbe31b278455c418492016e2afc8f",
- "sha256:423fc1ed29f7512fceb727e2d2aecb952c46aa34895e9ed96071821309951123",
- "sha256:46e71dbbd12850224243f5d2aeec90f0aaa0f2dde5aeeb8fc8df21e04d99eff9",
- "sha256:4d87be612cbef86f994178d5186add3d94e9f31cc3cb499a0482b866ec477603",
- "sha256:5693ef74233122f8ebab026817b1b37fe25c411ecfca084b29bc7d6efc548f45",
- "sha256:5aa9348186d79a5f232115ed3fa9020eab66d6c3437d72f9d2c8ac0c6858c558",
- "sha256:5d873c7de42dea355d73f170be0f23788cf3fa9f7bed718fd2830eefedce01b4",
- "sha256:5f6ffe2c6598f7f7207eef9a1228b6f5c818f9f4d53ee920aacd35cec8110438",
- "sha256:604428d1b87edbf02b233e2c207d7d528460fa978f9e391bd8aaf9c8311de137",
- "sha256:6350b14a40c95ddd53e775dbdbbbc59b124a5c8ecd6fbb09c2e52029f7a9f480",
- "sha256:6e2df67b8014767d0f785baa98393725739287684b9f8d8a1001eb2839031447",
- "sha256:6e96f5ed1b83a8ddb07909b45bd94833b0710f738115751cdaa9da1fb0cb66e8",
- "sha256:6e9e7db18b4539a29cc5ad8c8b252738a30e2b13f033c2d6e9d0549b45841c04",
- "sha256:70ec754cc2a769bcd218ed8d7209055667b30860ffecb8633a834dde27d6307c",
- "sha256:7b645f491f3c48d3f8a00d1fce07445fab7347fec54a3e65f0725d730d5b99cb",
- "sha256:7fa3d25e81bfe6a89718e9791128398a50dec6d57faf23770787ff441d851967",
- "sha256:81df9cbcbb6c260de1e007e58c011bfebe2dafc8435107b0537f393dd38c8b1b",
- "sha256:8572132c7be52632201a35f5e08348137f658e5ffd21f51f94572ca6c05ea81d",
- "sha256:87b4aafed34653e465eb77b7c93ef058516cb5acf3eb21e42f33928616172def",
- "sha256:8e332c210b14b57904869ca9f9bf4ca32f5427a03eeb625da9b616c85a3a506c",
- "sha256:9893d1aa45a7f8b3bc4510f6ccf8db8c3b62120917af15e3de247f0780294b92",
- "sha256:9edf3fc590cc2ec20dc9d7a45108b5bbaf21c0d89f9fd3fd1685e223771dc0b2",
- "sha256:9fdf06fd06c32205a07e47328ab49c40fc1407cdec801d698a7c41167ea45113",
- "sha256:a02413bc474feda2849c59ed2dfb2cddb4cd3d2f03a2fedec51d6e959d9b608b",
- "sha256:a1d9697f3337a89691e3bd8dc56dea45a6f6d975f92e7d5f773bc715c15dde28",
- "sha256:a571f035a47212288e3b3519944f6bf4ac7bc7553243e41eac50dd48552b6df7",
- "sha256:ab3d732ad50a4fbd04a4490ef08acd0517b6ae6b77eb967251f4c263011a990d",
- "sha256:ae0a5da8f35a5be197f328d4727dbcfafa53d1824fac3d96cdd3a642fe09394f",
- "sha256:b067cb952ce8bf40115f6c19f478dc71c5e719b7fbaa511359795dfd9d1a6468",
- "sha256:b2ee7288b85959797970114deae81ab41b731f19ebcd3bd499ae9ca0e3f1d2c8",
- "sha256:b81f90dcc6c85a9b7f29873beb56c94c85d6f0dac2ea8b60d995bd18bf3e2aae",
- "sha256:ba0cab91b3956dfa9f512147860783a1829a8d905ee218a9837c18f683239611",
- "sha256:baa386875b70cbd81798fa9f71be689c1bf484f65fd6fb08d051a0ee4e79924d",
- "sha256:bbe6013f9f791944ed31ca08b077e26249309639313fff132bfbf3ba105673b9",
- "sha256:bea88d71630c5900690fcb03161ab18f8f244805c59e2e0dc4ffadae0a7ee0ca",
- "sha256:befe90632d66caaf72e8b2ed4d7f02b348913813c8b0a32fae1cc5fe3730902f",
- "sha256:c3181df4583c4d3994d31fb235dc681d2aaad744fbdbf94c4802485ececdecf2",
- "sha256:c4e37d36f0d19f0a4413d3e18c0d03d0c268ada2061868c1e6f5ab1a6d575077",
- "sha256:c588f6abc13f78a67044c6b1273a99e1cf31038ad51815b3b016ce699f0d75c2",
- "sha256:cbe83a6bbdf207ff0541de01e11904827540aa069293696dd528a6640bd6a5f6",
- "sha256:d554236b2a2006e0ce16315c16eaa0d628dab009c33b63ea03f41c6107958374",
- "sha256:dbcf72a37f0b3316e993e13ecf32f10c0e1259c28ffd0a85cee26e8549595fbc",
- "sha256:dc284bbc8d7c78a6c69e0c7325ab46ee5e40bb4d50e494d8131a07ef47500e9e",
- "sha256:dff6cdf35e31d1315790149fee351f9e52978130cef6c87c4b6c9b3baf78bc53",
- "sha256:e469d01137942849cff40517c97a30a93ae79917752b34029f0ec72df6b46399",
- "sha256:eb809e816916a3b210bed3c82fb88eaf16e8afcf9c115ebb2bacede1797d2547",
- "sha256:ed2fcf7a07334c77fc8a230755c2209223a7cc44fc27597729b8ef5425aa61a3",
- "sha256:f44069528d45a933997a6fef143030d8ca8042f0dfaad753e2906398290e2870",
- "sha256:f764ba54e33daf20e167915edc443b6f88956f37fb606449b4a5b10ba42235a5",
- "sha256:fc4e7fa5414512b481a2483775a8e8be7803a35b30ca805afa4998a84f9fd9e8",
- "sha256:ffefa1374cd508d633646d51a8e9277763a9b78ae71324183693959cf94635a7"
- ],
- "index": "pypi",
- "markers": "python_version >= '3.8'",
- "version": "==12.0"
- },
- "yarl": {
- "hashes": [
- "sha256:008d3e808d03ef28542372d01057fd09168419cdc8f848efe2804f894ae03e51",
- "sha256:03caa9507d3d3c83bca08650678e25364e1843b484f19986a527630ca376ecce",
- "sha256:07574b007ee20e5c375a8fe4a0789fad26db905f9813be0f9fef5a68080de559",
- "sha256:09efe4615ada057ba2d30df871d2f668af661e971dfeedf0c159927d48bbeff0",
- "sha256:0d2454f0aef65ea81037759be5ca9947539667eecebca092733b2eb43c965a81",
- "sha256:0e9d124c191d5b881060a9e5060627694c3bdd1fe24c5eecc8d5d7d0eb6faabc",
- "sha256:18580f672e44ce1238b82f7fb87d727c4a131f3a9d33a5e0e82b793362bf18b4",
- "sha256:1f23e4fe1e8794f74b6027d7cf19dc25f8b63af1483d91d595d4a07eca1fb26c",
- "sha256:206a55215e6d05dbc6c98ce598a59e6fbd0c493e2de4ea6cc2f4934d5a18d130",
- "sha256:23d32a2594cb5d565d358a92e151315d1b2268bc10f4610d098f96b147370136",
- "sha256:26a1dc6285e03f3cc9e839a2da83bcbf31dcb0d004c72d0730e755b33466c30e",
- "sha256:29e0f83f37610f173eb7e7b5562dd71467993495e568e708d99e9d1944f561ec",
- "sha256:2b134fd795e2322b7684155b7855cc99409d10b2e408056db2b93b51a52accc7",
- "sha256:2d47552b6e52c3319fede1b60b3de120fe83bde9b7bddad11a69fb0af7db32f1",
- "sha256:357495293086c5b6d34ca9616a43d329317feab7917518bc97a08f9e55648455",
- "sha256:35a2b9396879ce32754bd457d31a51ff0a9d426fd9e0e3c33394bf4b9036b099",
- "sha256:3777ce5536d17989c91696db1d459574e9a9bd37660ea7ee4d3344579bb6f129",
- "sha256:3986b6f41ad22988e53d5778f91855dc0399b043fc8946d4f2e68af22ee9ff10",
- "sha256:44d8ffbb9c06e5a7f529f38f53eda23e50d1ed33c6c869e01481d3fafa6b8142",
- "sha256:49a180c2e0743d5d6e0b4d1a9e5f633c62eca3f8a86ba5dd3c471060e352ca98",
- "sha256:4aa9741085f635934f3a2583e16fcf62ba835719a8b2b28fb2917bb0537c1dfa",
- "sha256:4b21516d181cd77ebd06ce160ef8cc2a5e9ad35fb1c5930882baff5ac865eee7",
- "sha256:4b3c1ffe10069f655ea2d731808e76e0f452fc6c749bea04781daf18e6039525",
- "sha256:4c7d56b293cc071e82532f70adcbd8b61909eec973ae9d2d1f9b233f3d943f2c",
- "sha256:4e9035df8d0880b2f1c7f5031f33f69e071dfe72ee9310cfc76f7b605958ceb9",
- "sha256:54525ae423d7b7a8ee81ba189f131054defdb122cde31ff17477951464c1691c",
- "sha256:549d19c84c55d11687ddbd47eeb348a89df9cb30e1993f1b128f4685cd0ebbf8",
- "sha256:54beabb809ffcacbd9d28ac57b0db46e42a6e341a030293fb3185c409e626b8b",
- "sha256:566db86717cf8080b99b58b083b773a908ae40f06681e87e589a976faf8246bf",
- "sha256:5a2e2433eb9344a163aced6a5f6c9222c0786e5a9e9cac2c89f0b28433f56e23",
- "sha256:5aef935237d60a51a62b86249839b51345f47564208c6ee615ed2a40878dccdd",
- "sha256:604f31d97fa493083ea21bd9b92c419012531c4e17ea6da0f65cacdcf5d0bd27",
- "sha256:63b20738b5aac74e239622d2fe30df4fca4942a86e31bf47a81a0e94c14df94f",
- "sha256:686a0c2f85f83463272ddffd4deb5e591c98aac1897d65e92319f729c320eece",
- "sha256:6a962e04b8f91f8c4e5917e518d17958e3bdee71fd1d8b88cdce74dd0ebbf434",
- "sha256:6ad6d10ed9b67a382b45f29ea028f92d25bc0bc1daf6c5b801b90b5aa70fb9ec",
- "sha256:6f5cb257bc2ec58f437da2b37a8cd48f666db96d47b8a3115c29f316313654ff",
- "sha256:6fe79f998a4052d79e1c30eeb7d6c1c1056ad33300f682465e1b4e9b5a188b78",
- "sha256:7855426dfbddac81896b6e533ebefc0af2f132d4a47340cee6d22cac7190022d",
- "sha256:7d5aaac37d19b2904bb9dfe12cdb08c8443e7ba7d2852894ad448d4b8f442863",
- "sha256:801e9264d19643548651b9db361ce3287176671fb0117f96b5ac0ee1c3530d53",
- "sha256:81eb57278deb6098a5b62e88ad8281b2ba09f2f1147c4767522353eaa6260b31",
- "sha256:824d6c50492add5da9374875ce72db7a0733b29c2394890aef23d533106e2b15",
- "sha256:8397a3817d7dcdd14bb266283cd1d6fc7264a48c186b986f32e86d86d35fbac5",
- "sha256:848cd2a1df56ddbffeb375535fb62c9d1645dde33ca4d51341378b3f5954429b",
- "sha256:84fc30f71689d7fc9168b92788abc977dc8cefa806909565fc2951d02f6b7d57",
- "sha256:8619d6915b3b0b34420cf9b2bb6d81ef59d984cb0fde7544e9ece32b4b3043c3",
- "sha256:8a854227cf581330ffa2c4824d96e52ee621dd571078a252c25e3a3b3d94a1b1",
- "sha256:8be9e837ea9113676e5754b43b940b50cce76d9ed7d2461df1af39a8ee674d9f",
- "sha256:928cecb0ef9d5a7946eb6ff58417ad2fe9375762382f1bf5c55e61645f2c43ad",
- "sha256:957b4774373cf6f709359e5c8c4a0af9f6d7875db657adb0feaf8d6cb3c3964c",
- "sha256:992f18e0ea248ee03b5a6e8b3b4738850ae7dbb172cc41c966462801cbf62cf7",
- "sha256:9fc5fc1eeb029757349ad26bbc5880557389a03fa6ada41703db5e068881e5f2",
- "sha256:a00862fb23195b6b8322f7d781b0dc1d82cb3bcac346d1e38689370cc1cc398b",
- "sha256:a3a6ed1d525bfb91b3fc9b690c5a21bb52de28c018530ad85093cc488bee2dd2",
- "sha256:a6327976c7c2f4ee6816eff196e25385ccc02cb81427952414a64811037bbc8b",
- "sha256:a7409f968456111140c1c95301cadf071bd30a81cbd7ab829169fb9e3d72eae9",
- "sha256:a825ec844298c791fd28ed14ed1bffc56a98d15b8c58a20e0e08c1f5f2bea1be",
- "sha256:a8c1df72eb746f4136fe9a2e72b0c9dc1da1cbd23b5372f94b5820ff8ae30e0e",
- "sha256:a9bd00dc3bc395a662900f33f74feb3e757429e545d831eef5bb280252631984",
- "sha256:aa102d6d280a5455ad6a0f9e6d769989638718e938a6a0a2ff3f4a7ff8c62cc4",
- "sha256:aaaea1e536f98754a6e5c56091baa1b6ce2f2700cc4a00b0d49eca8dea471074",
- "sha256:ad4d7a90a92e528aadf4965d685c17dacff3df282db1121136c382dc0b6014d2",
- "sha256:b8477c1ee4bd47c57d49621a062121c3023609f7a13b8a46953eb6c9716ca392",
- "sha256:ba6f52cbc7809cd8d74604cce9c14868306ae4aa0282016b641c661f981a6e91",
- "sha256:bac8d525a8dbc2a1507ec731d2867025d11ceadcb4dd421423a5d42c56818541",
- "sha256:bef596fdaa8f26e3d66af846bbe77057237cb6e8efff8cd7cc8dff9a62278bbf",
- "sha256:c0ec0ed476f77db9fb29bca17f0a8fcc7bc97ad4c6c1d8959c507decb22e8572",
- "sha256:c38c9ddb6103ceae4e4498f9c08fac9b590c5c71b0370f98714768e22ac6fa66",
- "sha256:c7224cab95645c7ab53791022ae77a4509472613e839dab722a72abe5a684575",
- "sha256:c74018551e31269d56fab81a728f683667e7c28c04e807ba08f8c9e3bba32f14",
- "sha256:ca06675212f94e7a610e85ca36948bb8fc023e458dd6c63ef71abfd482481aa5",
- "sha256:d1d2532b340b692880261c15aee4dc94dd22ca5d61b9db9a8a361953d36410b1",
- "sha256:d25039a474c4c72a5ad4b52495056f843a7ff07b632c1b92ea9043a3d9950f6e",
- "sha256:d5ff2c858f5f6a42c2a8e751100f237c5e869cbde669a724f2062d4c4ef93551",
- "sha256:d7d7f7de27b8944f1fee2c26a88b4dabc2409d2fea7a9ed3df79b67277644e17",
- "sha256:d7eeb6d22331e2fd42fce928a81c697c9ee2d51400bd1a28803965883e13cead",
- "sha256:d8a1c6c0be645c745a081c192e747c5de06e944a0d21245f4cf7c05e457c36e0",
- "sha256:d8b889777de69897406c9fb0b76cdf2fd0f31267861ae7501d93003d55f54fbe",
- "sha256:d9e09c9d74f4566e905a0b8fa668c58109f7624db96a2171f21747abc7524234",
- "sha256:db8e58b9d79200c76956cefd14d5c90af54416ff5353c5bfd7cbe58818e26ef0",
- "sha256:ddb2a5c08a4eaaba605340fdee8fc08e406c56617566d9643ad8bf6852778fc7",
- "sha256:e0381b4ce23ff92f8170080c97678040fc5b08da85e9e292292aba67fdac6c34",
- "sha256:e23a6d84d9d1738dbc6e38167776107e63307dfc8ad108e580548d1f2c587f42",
- "sha256:e516dc8baf7b380e6c1c26792610230f37147bb754d6426462ab115a02944385",
- "sha256:ea65804b5dc88dacd4a40279af0cdadcfe74b3e5b4c897aa0d81cf86927fee78",
- "sha256:ec61d826d80fc293ed46c9dd26995921e3a82146feacd952ef0757236fc137be",
- "sha256:ee04010f26d5102399bd17f8df8bc38dc7ccd7701dc77f4a68c5b8d733406958",
- "sha256:f3bc6af6e2b8f92eced34ef6a96ffb248e863af20ef4fde9448cc8c9b858b749",
- "sha256:f7d6b36dd2e029b6bcb8a13cf19664c7b8e19ab3a58e0fefbb5b8461447ed5ec"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==1.9.4"
- }
- },
- "develop": {
- "black": {
- "hashes": [
- "sha256:1bb9ca06e556a09f7f7177bc7cb604e5ed2d2df1e9119e4f7d2f1f7071c32e5d",
- "sha256:21f9407063ec71c5580b8ad975653c66508d6a9f57bd008bb8691d273705adcd",
- "sha256:4396ca365a4310beef84d446ca5016f671b10f07abdba3e4e4304218d2c71d33",
- "sha256:44d99dfdf37a2a00a6f7a8dcbd19edf361d056ee51093b2445de7ca09adac965",
- "sha256:5cd5b4f76056cecce3e69b0d4c228326d2595f506797f40b9233424e2524c070",
- "sha256:64578cf99b6b46a6301bc28bdb89f9d6f9b592b1c5837818a177c98525dbe397",
- "sha256:64e60a7edd71fd542a10a9643bf369bfd2644de95ec71e86790b063aa02ff745",
- "sha256:652e55bb722ca026299eb74e53880ee2315b181dfdd44dca98e43448620ddec1",
- "sha256:6644f97a7ef6f401a150cca551a1ff97e03c25d8519ee0bbc9b0058772882665",
- "sha256:6ad001a9ddd9b8dfd1b434d566be39b1cd502802c8d38bbb1ba612afda2ef436",
- "sha256:71d998b73c957444fb7c52096c3843875f4b6b47a54972598741fe9a7f737fcb",
- "sha256:74eb9b5420e26b42c00a3ff470dc0cd144b80a766128b1771d07643165e08d0e",
- "sha256:75a2d0b4f5eb81f7eebc31f788f9830a6ce10a68c91fbe0fade34fff7a2836e6",
- "sha256:7852b05d02b5b9a8c893ab95863ef8986e4dda29af80bbbda94d7aee1abf8702",
- "sha256:7f2966b9b2b3b7104fca9d75b2ee856fe3fdd7ed9e47c753a4bb1a675f2caab8",
- "sha256:8e5537f456a22cf5cfcb2707803431d2feeb82ab3748ade280d6ccd0b40ed2e8",
- "sha256:d4e71cdebdc8efeb6deaf5f2deb28325f8614d48426bed118ecc2dcaefb9ebf3",
- "sha256:dae79397f367ac8d7adb6c779813328f6d690943f64b32983e896bcccd18cbad",
- "sha256:e3a3a092b8b756c643fe45f4624dbd5a389f770a4ac294cf4d0fce6af86addaf",
- "sha256:eb949f56a63c5e134dfdca12091e98ffb5fd446293ebae123d10fc1abad00b9e",
- "sha256:f07b69fda20578367eaebbd670ff8fc653ab181e1ff95d84497f9fa20e7d0641",
- "sha256:f95cece33329dc4aa3b0e1a771c41075812e46cf3d6e3f1dfe3d91ff09826ed2"
- ],
- "index": "pypi",
- "markers": "python_version >= '3.8'",
- "version": "==24.4.0"
- },
- "click": {
- "hashes": [
- "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28",
- "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==8.1.7"
- },
- "mypy-extensions": {
- "hashes": [
- "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d",
- "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"
- ],
- "markers": "python_version >= '3.5'",
- "version": "==1.0.0"
- },
- "packaging": {
- "hashes": [
- "sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5",
- "sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==23.2"
- },
- "pathspec": {
- "hashes": [
- "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08",
- "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==0.12.1"
- },
- "platformdirs": {
- "hashes": [
- "sha256:0614df2a2f37e1a662acbd8e2b25b92ccf8632929bc6d43467e17fe89c75e068",
- "sha256:ef0cc731df711022c174543cb70a9b5bd22e5a9337c8624ef2c2ceb8ddad8768"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==4.2.0"
- },
- "pyyaml": {
- "hashes": [
- "sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5",
- "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc",
- "sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df",
- "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741",
- "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206",
- "sha256:18aeb1bf9a78867dc38b259769503436b7c72f7a1f1f4c93ff9a17de54319b27",
- "sha256:1d4c7e777c441b20e32f52bd377e0c409713e8bb1386e1099c2415f26e479595",
- "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62",
- "sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98",
- "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696",
- "sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290",
- "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9",
- "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d",
- "sha256:49a183be227561de579b4a36efbb21b3eab9651dd81b1858589f796549873dd6",
- "sha256:4fb147e7a67ef577a588a0e2c17b6db51dda102c71de36f8549b6816a96e1867",
- "sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47",
- "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486",
- "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6",
- "sha256:596106435fa6ad000c2991a98fa58eeb8656ef2325d7e158344fb33864ed87e3",
- "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007",
- "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938",
- "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0",
- "sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c",
- "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735",
- "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d",
- "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28",
- "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4",
- "sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba",
- "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8",
- "sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef",
- "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5",
- "sha256:afd7e57eddb1a54f0f1a974bc4391af8bcce0b444685d936840f125cf046d5bd",
- "sha256:b1275ad35a5d18c62a7220633c913e1b42d44b46ee12554e5fd39c70a243d6a3",
- "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0",
- "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515",
- "sha256:baa90d3f661d43131ca170712d903e6295d1f7a0f595074f151c0aed377c9b9c",
- "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c",
- "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924",
- "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34",
- "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43",
- "sha256:c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859",
- "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673",
- "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54",
- "sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a",
- "sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b",
- "sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab",
- "sha256:f22ac1c3cac4dbc50079e965eba2c1058622631e526bd9afd45fedd49ba781fa",
- "sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c",
- "sha256:fca0e3a251908a499833aa292323f32437106001d436eca0e6e7833256674585",
- "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d",
- "sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f"
- ],
- "markers": "python_version >= '3.6'",
- "version": "==6.0.1"
- },
- "watchdog": {
- "extras": [
- "watchmedo"
- ],
- "hashes": [
- "sha256:11e12fafb13372e18ca1bbf12d50f593e7280646687463dd47730fd4f4d5d257",
- "sha256:2895bf0518361a9728773083908801a376743bcc37dfa252b801af8fd281b1ca",
- "sha256:39cb34b1f1afbf23e9562501673e7146777efe95da24fab5707b88f7fb11649b",
- "sha256:45cc09cc4c3b43fb10b59ef4d07318d9a3ecdbff03abd2e36e77b6dd9f9a5c85",
- "sha256:4986db5e8880b0e6b7cd52ba36255d4793bf5cdc95bd6264806c233173b1ec0b",
- "sha256:5369136a6474678e02426bd984466343924d1df8e2fd94a9b443cb7e3aa20d19",
- "sha256:557ba04c816d23ce98a06e70af6abaa0485f6d94994ec78a42b05d1c03dcbd50",
- "sha256:6a4db54edea37d1058b08947c789a2354ee02972ed5d1e0dca9b0b820f4c7f92",
- "sha256:6a80d5cae8c265842c7419c560b9961561556c4361b297b4c431903f8c33b269",
- "sha256:6a9c71a0b02985b4b0b6d14b875a6c86ddea2fdbebd0c9a720a806a8bbffc69f",
- "sha256:6c47bdd680009b11c9ac382163e05ca43baf4127954c5f6d0250e7d772d2b80c",
- "sha256:6e949a8a94186bced05b6508faa61b7adacc911115664ccb1923b9ad1f1ccf7b",
- "sha256:73c7a935e62033bd5e8f0da33a4dcb763da2361921a69a5a95aaf6c93aa03a87",
- "sha256:76ad8484379695f3fe46228962017a7e1337e9acadafed67eb20aabb175df98b",
- "sha256:8350d4055505412a426b6ad8c521bc7d367d1637a762c70fdd93a3a0d595990b",
- "sha256:87e9df830022488e235dd601478c15ad73a0389628588ba0b028cb74eb72fed8",
- "sha256:8f9a542c979df62098ae9c58b19e03ad3df1c9d8c6895d96c0d51da17b243b1c",
- "sha256:8fec441f5adcf81dd240a5fe78e3d83767999771630b5ddfc5867827a34fa3d3",
- "sha256:9a03e16e55465177d416699331b0f3564138f1807ecc5f2de9d55d8f188d08c7",
- "sha256:ba30a896166f0fee83183cec913298151b73164160d965af2e93a20bbd2ab605",
- "sha256:c17d98799f32e3f55f181f19dd2021d762eb38fdd381b4a748b9f5a36738e935",
- "sha256:c522392acc5e962bcac3b22b9592493ffd06d1fc5d755954e6be9f4990de932b",
- "sha256:d0f9bd1fd919134d459d8abf954f63886745f4660ef66480b9d753a7c9d40927",
- "sha256:d18d7f18a47de6863cd480734613502904611730f8def45fc52a5d97503e5101",
- "sha256:d31481ccf4694a8416b681544c23bd271f5a123162ab603c7d7d2dd7dd901a07",
- "sha256:e3e7065cbdabe6183ab82199d7a4f6b3ba0a438c5a512a68559846ccb76a78ec",
- "sha256:eed82cdf79cd7f0232e2fdc1ad05b06a5e102a43e331f7d041e5f0e0a34a51c4",
- "sha256:f970663fa4f7e80401a7b0cbeec00fa801bf0287d93d48368fc3e6fa32716245",
- "sha256:f9b2fdca47dc855516b2d66eef3c39f2672cbf7e7a42e7e67ad2cbfcd6ba107d"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==4.0.0"
- }
- }
-}
diff --git a/app/backend/app.py b/app/backend/app.py
deleted file mode 100644
index 86fe5ade..00000000
--- a/app/backend/app.py
+++ /dev/null
@@ -1,230 +0,0 @@
-""" Backend for Insurance Claims Processing App """
-import hashlib
-import logging
-import os
-import sys
-import time
-from typing import List
-import json
-
-import boto3
-import data_classes
-import db_utils
-import chatbot
-import httpx
-from app_config import LOG_LEVELS, LOGGING_CONFIG
-from dotenv import dotenv_values, load_dotenv
-from fastapi import FastAPI, File, HTTPException, Request, UploadFile, WebSocket
-from fastapi.middleware.cors import CORSMiddleware
-from fastapi.responses import Response, StreamingResponse
-from fastapi.staticfiles import StaticFiles
-from uvicorn import run
-from fastapi import HTTPException
-from starlette.exceptions import HTTPException as StarletteHTTPException
-
-# Load local env vars if present
-load_dotenv()
-
-# Initialize logger
-logger = logging.getLogger("app")
-
-# Get config
-config = {
- **dotenv_values(".env"), # load shared development variables
- **dotenv_values(".env.secret"), # load sensitive variables
- **os.environ, # override loaded values with environment variables
-}
-logger.info(f'Config: INFERENCE_SERVER_URL={config["INFERENCE_SERVER_URL"]}')
-
-# App creation
-app = FastAPI()
-
-origins = ["*"]
-methods = ["*"]
-headers = ["*"]
-
-app.add_middleware(
- CORSMiddleware,
- allow_origins=origins,
- allow_credentials=True,
- allow_methods=methods,
- allow_headers=headers
-)
-
-# Initialize DB
-db = db_utils.Database(config, logger)
-
-# Initialize S3
-s3 = boto3.client(
- 's3',
- endpoint_url=config["S3_ENDPOINT_URL"],
- aws_access_key_id=config["AWS_ACCESS_KEY_ID"],
- aws_secret_access_key=config["AWS_SECRET_ACCESS_KEY"],
- use_ssl=config["S3_ENDPOINT_URL"].startswith("https"),)
-
-# Initialize Chatbot
-chatbot = chatbot.Chatbot(config, logger)
-
-# Status API
-@app.get("/health")
-async def health():
- """ Basic status """
- return {"message": "Status:OK"}
-
-@app.get("/api/db/tables")
-async def db_list_tables():
- """
- List all the available tables in the Database
- """
- tables = db.list_tables()
- return tables
-
-@app.get("/api/db/claims", response_model = List[data_classes.ClaimBaseInfo])
-async def db_list_claims():
- """
- List all the claims
- """
- claims = db.list_claims()
- return claims
-
-@app.get("/api/db/claims/{claim_id}", response_model = data_classes.ClaimFullInfo)
-async def db_get_claim_info(claim_id):
- """
- Returns the full content of a claim
- """
- claim_info = db.get_claim_info(claim_id)
- return claim_info
-
-@app.post("/api/db/claims", response_model = data_classes.ClaimBaseInfo)
-async def db_create_claim(claim: data_classes.ClaimCreationInfo):
- """
- Creates a new claim
- """
- claim_id = db.create_claim(claim)
- claim_info = db.get_claim_base_info(claim_id)
- return claim_info
-
-@app.post("/api/db/claims/{claim_id}/original_image")
-async def db_upload_original_image(claim_id: int, image: UploadFile = File(...)):
- """
- Uploads an original image of a claim
- """
- # construct new filename with timestamp
- timestamp = int(time.time())
- sha256_hash = hashlib.sha256(image.filename.encode()).hexdigest()
- image_key = f"original_images/{claim_id}_{timestamp}_{sha256_hash[:8]}_{image.filename}"
-
- # Upload the image to S3
- s3.put_object(
- Bucket=config["IMAGES_BUCKET"],
- Key=image_key,
- Body=image.file,
- )
- # Save image info to DB
- db.upload_original_image(claim_id, image.filename, image_key)
-
- return {"message": f"{image.filename} uploaded as an original image of claim {claim_id}"}
-
-@app.post("/api/db/claims/{claim_id}/processed_image")
-async def db_upload_processed_image(claim_id: int, image: UploadFile = File(...)):
- """
- Uploads a processed image of a claim
- """
- # construct new filename with timestamp
- timestamp = int(time.time())
- sha256_hash = hashlib.sha256(image.filename.encode()).hexdigest()
- image_key = f"processed_images/{claim_id}_{timestamp}_{sha256_hash[:8]}_{image.filename}"
-
- # Upload the image to S3
- s3.put_object(
- Bucket=config["IMAGES_BUCKET"],
- Key=image_key,
- Body=image.file,
- )
- # Save image info to DB
- db.upload_processed_image(claim_id, image.filename, image_key)
-
- return {"message": f"{image.filename} uploaded as a processed image of claim {claim_id}"}
-
-@app.post("/api/db/claims/{claim_id}/summary")
-async def db_update_claim_summary(claim_id: int, summary: str):
- """
- Updates the summary of a claim
- """
- db.update_claim_summary(claim_id, summary)
- return {"message": "Summary uploaded"}
-
-@app.post("/api/db/claims/{claim_id}/time")
-async def db_update_claim_time(claim_id: int, time: str):
- """
- Updates the time of a claim
- """
- db.update_claim_time(claim_id, time)
- return {"message": "Time uploaded"}
-
-@app.post("/api/db/claims/{claim_id}/location")
-async def db_update_claim_location(claim_id: int, location: str):
- """
- Updates the location of a claim
- """
- db.update_claim_location(claim_id, location)
- return {"message": "Location uploaded"}
-
-@app.post("/api/db/claims/{claim_id}/sentiment")
-async def db_update_claim_sentiment(claim_id: int, sentiment: str):
- """
- Updates the sentiment of a claim
- """
- db.update_claim_sentiment(claim_id, sentiment)
- return {"message": "Sentiment uploaded"}
-
-@app.get("/api/images")
-async def s3_list_images():
- """
- Returns the list of images
- """
- images = s3.list_objects(Bucket=config["IMAGES_BUCKET"])
- return images
-
-@app.get("/api/images/{image_key:path}")
-async def s3_get_image(image_key: str):
- """
- Returns the image with the given key
- """
- image = s3.get_object(Bucket=config["IMAGES_BUCKET"], Key=image_key)
- return StreamingResponse(image["Body"], media_type=image["ContentType"])
-
-@app.websocket("/ws/query")
-async def websocket_endpoint(websocket: WebSocket):
- await websocket.accept()
-
- while True:
- data = await websocket.receive_text()
- data = json.loads(data)
- for next_item in chatbot.stream(data["query"], data["claim"]):
- answer = json.dumps(next_item)
- await websocket.send_text(answer)
-
-# Serve React App
-class SPAStaticFiles(StaticFiles):
- async def get_response(self, path: str, scope):
- if len(sys.argv) > 1 and sys.argv[1] == "dev":
- # We are in Dev mode, proxy to the React dev server
- async with httpx.AsyncClient() as client:
- response = await client.get(f"http://localhost:9000/{path}")
- return Response(response.text, status_code=response.status_code)
- else:
- try:
- return await super().get_response(path, scope)
- except (HTTPException, StarletteHTTPException) as ex:
- if ex.status_code == 404:
- return await super().get_response("index.html", scope)
- else:
- raise ex
-
-app.mount("/", SPAStaticFiles(directory="public", html=True), name="spa-static-files")
-
-# Launch the FastAPI server
-if __name__ == "__main__":
- port = int(os.getenv('PORT', '5000'))
- run(app, host="0.0.0.0", port=port)
diff --git a/app/backend/app_config.py b/app/backend/app_config.py
deleted file mode 100644
index 1d8d4754..00000000
--- a/app/backend/app_config.py
+++ /dev/null
@@ -1,51 +0,0 @@
-import logging
-import logging.config
-import app_logging
-from typing import (
- Any,
- Dict,
-)
-
-LOG_LEVELS: Dict[str, int] = {
- "critical": logging.CRITICAL,
- "error": logging.ERROR,
- "warning": logging.WARNING,
- "info": logging.INFO,
- "debug": logging.DEBUG,
-}
-
-LOGGING_CONFIG: Dict[str, Any] = {
- "version": 1,
- "disable_existing_loggers": False,
- "formatters": {
- "default": {
- "()": "app_logging.DefaultFormatter",
- "fmt": "%(levelprefix)s %(message)s",
- "use_colors": None,
- },
- "access": {
- "()": "app_logging.AccessFormatter",
- "fmt": '%(levelprefix)s %(client_addr)s - "%(request_line)s" %(status_code)s', # noqa: E501
- },
- },
- "handlers": {
- "default": {
- "formatter": "default",
- "class": "logging.StreamHandler",
- "stream": "ext://sys.stderr",
- },
- "access": {
- "formatter": "access",
- "class": "logging.StreamHandler",
- "stream": "ext://sys.stdout",
- },
- },
- "loggers": {
- "app": {"handlers": ["default"], "level": "INFO", "propagate": False},
- "app.error": {"level": "INFO"},
- "app.access": {"handlers": ["access"], "level": "INFO", "propagate": False},
- },
-}
-
-LOGGING_CONFIG["formatters"]["default"]["use_colors"] = True
-logging.config.dictConfig(LOGGING_CONFIG)
\ No newline at end of file
diff --git a/app/backend/app_logging.py b/app/backend/app_logging.py
deleted file mode 100644
index c88d5fe5..00000000
--- a/app/backend/app_logging.py
+++ /dev/null
@@ -1,117 +0,0 @@
-import http
-import logging
-import sys
-from copy import copy
-from typing import Literal, Optional
-
-import click
-
-TRACE_LOG_LEVEL = 5
-
-
-class ColourizedFormatter(logging.Formatter):
- """
- A custom log formatter class that:
-
- * Outputs the LOG_LEVEL with an appropriate color.
- * If a log call includes an `extras={"color_message": ...}` it will be used
- for formatting the output, instead of the plain text message.
- """
-
- level_name_colors = {
- TRACE_LOG_LEVEL: lambda level_name: click.style(str(level_name), fg="blue"),
- logging.DEBUG: lambda level_name: click.style(str(level_name), fg="cyan"),
- logging.INFO: lambda level_name: click.style(str(level_name), fg="green"),
- logging.WARNING: lambda level_name: click.style(str(level_name), fg="yellow"),
- logging.ERROR: lambda level_name: click.style(str(level_name), fg="red"),
- logging.CRITICAL: lambda level_name: click.style(
- str(level_name), fg="bright_red"
- ),
- }
-
- def __init__(
- self,
- fmt: Optional[str] = None,
- datefmt: Optional[str] = None,
- style: Literal["%", "{", "$"] = "%",
- use_colors: Optional[bool] = None,
- ):
- if use_colors in (True, False):
- self.use_colors = use_colors
- else:
- self.use_colors = sys.stdout.isatty()
- super().__init__(fmt=fmt, datefmt=datefmt, style=style)
-
- def color_level_name(self, level_name: str, level_no: int) -> str:
- def default(level_name: str) -> str:
- return str(level_name) # pragma: no cover
-
- func = self.level_name_colors.get(level_no, default)
- return func(level_name)
-
- def should_use_colors(self) -> bool:
- return True # pragma: no cover
-
- def formatMessage(self, record: logging.LogRecord) -> str:
- recordcopy = copy(record)
- levelname = recordcopy.levelname
- seperator = " " * (8 - len(recordcopy.levelname))
- if self.use_colors:
- levelname = self.color_level_name(levelname, recordcopy.levelno)
- if "color_message" in recordcopy.__dict__:
- recordcopy.msg = recordcopy.__dict__["color_message"]
- recordcopy.__dict__["message"] = recordcopy.getMessage()
- recordcopy.__dict__["levelprefix"] = levelname + ":" + seperator
- return super().formatMessage(recordcopy)
-
-
-class DefaultFormatter(ColourizedFormatter):
- def should_use_colors(self) -> bool:
- return sys.stderr.isatty() # pragma: no cover
-
-
-class AccessFormatter(ColourizedFormatter):
- status_code_colours = {
- 1: lambda code: click.style(str(code), fg="bright_white"),
- 2: lambda code: click.style(str(code), fg="green"),
- 3: lambda code: click.style(str(code), fg="yellow"),
- 4: lambda code: click.style(str(code), fg="red"),
- 5: lambda code: click.style(str(code), fg="bright_red"),
- }
-
- def get_status_code(self, status_code: int) -> str:
- try:
- status_phrase = http.HTTPStatus(status_code).phrase
- except ValueError:
- status_phrase = ""
- status_and_phrase = "%s %s" % (status_code, status_phrase)
- if self.use_colors:
-
- def default(code: int) -> str:
- return status_and_phrase # pragma: no cover
-
- func = self.status_code_colours.get(status_code // 100, default)
- return func(status_and_phrase)
- return status_and_phrase
-
- def formatMessage(self, record: logging.LogRecord) -> str:
- recordcopy = copy(record)
- (
- client_addr,
- method,
- full_path,
- http_version,
- status_code,
- ) = recordcopy.args # type: ignore[misc]
- status_code = self.get_status_code(int(status_code)) # type: ignore[arg-type]
- request_line = "%s %s HTTP/%s" % (method, full_path, http_version)
- if self.use_colors:
- request_line = click.style(request_line, bold=True)
- recordcopy.__dict__.update(
- {
- "client_addr": client_addr,
- "request_line": request_line,
- "status_code": status_code,
- }
- )
- return super().formatMessage(recordcopy)
diff --git a/app/backend/chatbot.py b/app/backend/chatbot.py
deleted file mode 100644
index 8c46cefb..00000000
--- a/app/backend/chatbot.py
+++ /dev/null
@@ -1,165 +0,0 @@
-import time
-import os
-from collections.abc import Generator
-from langchain.callbacks.base import BaseCallbackHandler
-from langchain.chains import RetrievalQA
-from langchain.embeddings.huggingface import HuggingFaceEmbeddings
-from langchain.callbacks.streaming_stdout import StreamingStdOutCallbackHandler
-from langchain_community.llms import VLLMOpenAI
-from langchain.prompts import PromptTemplate
-from langchain_community.vectorstores import Milvus
-from milvus_retriever_with_score_threshold import MilvusRetrieverWithScoreThreshold
-from queue import Empty, Queue
-from threading import Thread
-
-
-class QueueCallback(BaseCallbackHandler):
- """Callback handler for streaming LLM responses to a queue."""
-
- def __init__(self, q, logger):
- self.q = q
- self.logger = logger
-
- def on_llm_new_token(self, token: str, **kwargs: any) -> None:
- data = {"type": "token", "token": token}
- self.q.put(data)
-
- def on_llm_end(self, *args, **kwargs: any) -> None:
- return self.q.empty()
-
-
-class Chatbot:
- def __init__(self, config, logger):
- os.environ["TOKENIZERS_PARALLELISM"] = "false"
- self.logger = logger
- self.config = config
-
- self.model_kwargs = {"trust_remote_code": True}
- self.embeddings = HuggingFaceEmbeddings(
- model_name="nomic-ai/nomic-embed-text-v1",
- model_kwargs=self.model_kwargs,
- show_progress=False,
- )
-
- self.rag_template = """[INST] <>
- You are a helpful, respectful and honest assistant named "Parasol Assistant".
- You will be given a claim summary, references to provide you with information, and a question. You must answer the question based as much as possible on this claim with the help of the references.
- Always answer as helpfully as possible, while being safe. Your answers should not include any harmful, unethical, racist, sexist, toxic, dangerous, or illegal content. Please ensure that your responses are socially unbiased and positive in nature.
-
- If a question does not make any sense, or is not factually coherent, explain why instead of answering something not correct. If you don't know the answer to a question, please don't share false information.
- < >
-
- Claim Summary:
- {claim}
-
- References:
- {{context}}
-
- Question: {{question}} [/INST]"""
-
- self.rag_template_no_summary = """[INST] <>
- You are a helpful, respectful and honest assistant named "Parasol Assistant".
- You will be given a context to provide you with information, and a question. You must answer the question based as much as possible on this context. Please don't mention you are using a context in your response.
- Always answer as helpfully as possible, while being safe. Your answers should not include any harmful, unethical, racist, sexist, toxic, dangerous, or illegal content. Please ensure that your responses are socially unbiased and positive in nature.
-
- If a question does not make any sense, or is not factually coherent, explain why instead of answering something not correct. If you don't know the answer to a question, please don't share false information.
- < >
-
- Context:
- {context}
-
- Question: {question} [/INST]"""
-
-
- def format_sources(self, input_list):
- sources = ""
- if len(input_list) != 0:
- sources += input_list[0].metadata["source"] + ', page: ' + str(input_list[0].metadata["page"])
- page_list = [input_list[0].metadata["page"]]
- for item in input_list:
- if item.metadata["page"] not in page_list: # Avoid duplicates
- page_list.append(item.metadata["page"])
- sources += ', ' + str(item.metadata["page"])
- return sources
-
- def stream(self, query, claim) -> Generator:
- # A Queue is needed for Streaming implementation
- q = Queue()
- job_done = object()
-
- llm = VLLMOpenAI(
- openai_api_key="EMPTY",
- openai_api_base=self.config["INFERENCE_SERVER_URL"],
- model_name=self.config["MODEL_NAME"],
- max_tokens=int(self.config["MAX_TOKENS"]),
- top_p=float(self.config["TOP_P"]),
- temperature=float(self.config["TEMPERATURE"]),
- presence_penalty=float(self.config["PRESENCE_PENALTY"]),
- streaming=True,
- verbose=False,
- callbacks=[QueueCallback(q, self.logger)],
- )
-
- """ conversation_chain = ConversationChain(
- llm=llm,
- prompt=self.PROMPT,
- verbose=True
- ) """
-
- retriever = MilvusRetrieverWithScoreThreshold(
- embedding_function=self.embeddings,
- collection_name=self.config["MILVUS_COLLECTION"],
- collection_description="",
- collection_properties=None,
- connection_args={
- "host": self.config.get("MILVUS_HOST", "default_host"),
- "port": self.config.get("MILVUS_PORT", "default_port"),
- "user": self.config.get("MILVUS_USERNAME", "default_username"),
- "password": self.config.get("MILVUS_PASSWORD", "default_password"),
- },
- consistency_level="Session",
- search_params=None,
- k=int(self.config.get("MAX_RETRIEVED_DOCS", 4)),
- score_threshold=float(self.config.get("SCORE_THRESHOLD", 0.99)),
- metadata_field="metadata",
- text_field="page_content",
- )
-
- # Inject claim summary into the prompt
- if claim != "":
- prompt_template = self.rag_template.format(claim=claim)
- else:
- prompt_template = self.rag_template_no_summary
- prompt = PromptTemplate.from_template(prompt_template)
-
- # Instantiate RAG chain
- rag_chain = RetrievalQA.from_chain_type(
- llm,
- retriever=retriever,
- chain_type_kwargs={"prompt": prompt},
- return_source_documents=True,
- )
-
- # Create a function to call - this will run in a thread
- def task():
- resp = rag_chain.invoke({"query": query, "claim": claim})
- sources = self.format_sources(resp['source_documents'])
- if len(sources) != 0:
- data = {"type": "source", "source": sources}
- q.put(data)
- q.put(job_done)
-
- # Create a thread and start the function
- t = Thread(target=task)
- t.start()
-
- # Get each new item from the queue and yield for our generator
- while True:
- try:
- next_item = q.get(True, timeout=1)
- if next_item is job_done:
- break
- if isinstance(next_item, dict):
- yield next_item
- except Empty:
- continue
diff --git a/app/backend/data_classes.py b/app/backend/data_classes.py
deleted file mode 100644
index 02135892..00000000
--- a/app/backend/data_classes.py
+++ /dev/null
@@ -1,91 +0,0 @@
-from pydantic import BaseModel
-from typing import List, Optional
-
-# Data classes
-class ClaimImage(BaseModel):
- """Image related to a claim"""
- image_name: str = ""
- image_key: str = ""
-
-class ClaimBaseInfo(BaseModel):
- """Basic information about a claim"""
- id: int = ""
- claim_number: Optional[str] = ""
- category: Optional[str] = ""
- policy_number: Optional[str] = ""
- client_name: Optional[str] = ""
- subject: str = ""
- summary: Optional[str] = ""
-
- model_config = {
- "json_schema_extra": {
- "examples": [
- {
- "id": 1,
- "subject": "Claim for Recent Car Accident - Policy Number: ABC12345",
- "summary": "I was driving on the highway when a car hit me from behind. I was not injured but my car was damaged.",
- }
- ]
- }
- }
-
-class ClaimCreationInfo(BaseModel):
- """Basic information needed to create a claim"""
- id: int = ""
- subject: str = ""
- body: str = ""
-
- model_config = {
- "json_schema_extra": {
- "examples": [
- {
- "id": 1,
- "subject": "Claim for Recent Car Accident - Policy Number: ABC12345",
- "summary": "I was driving on the highway when a car hit me from behind. I was not injured but my car was damaged.",
- }
- ]
- }
- }
-
-class ClaimFullInfo(BaseModel):
- """All information about a claim"""
- id: int = ""
- claim_number: str = ""
- category: str = ""
- policy_number: str = ""
- client_name: str = ""
- subject: str = ""
- body: str = ""
- summary: Optional[str] = ""
- sentiment: Optional[str] = ""
- location: Optional[str]= ""
- time: Optional[str] = ""
- original_images: Optional[List[ClaimImage]] = []
- processed_images: Optional[List[ClaimImage]] = []
-
- model_config = {
- "json_schema_extra": {
- "examples": [
- {
- "id": 1,
- "subject": "Claim for Recent Car Accident - Policy Number: ABC12345",
- "body": "
Dear XYZ Insurance Company,
...",
- "sentiment": "positive",
- "location": "New York, NY",
- "time": "2020-10-10 10:10:10",
- "original_images": [
- {
- "image_name": "car1.png",
- "image_key": "original-images/car1.png"
- }
- ],
- "processed_images": [
- {
- "image_name": "car1.png",
- "image_key": "processed-images/new_car1.png"
- }
- ]
- }
- ]
- }
- }
\ No newline at end of file
diff --git a/app/backend/db_utils.py b/app/backend/db_utils.py
deleted file mode 100644
index ce6eed9f..00000000
--- a/app/backend/db_utils.py
+++ /dev/null
@@ -1,458 +0,0 @@
-import psycopg2
-from psycopg2.extras import RealDictCursor
-import sys
-import logging
-
-class Database:
- def __init__(self, config, logger):
- self.logger = logger
- self.conn = self.connect(config)
-
- def connect(self, config):
- """
- Connect to the PostgreSQL database using the provided configuration and return the connection object.
-
- Args:
- config (dict): A dictionary containing the configuration parameters for the database connection.
-
- Returns:
- conn (psycopg2.extensions.connection): A connection object representing the database connection.
- """
- self.logger.info(f"Connecting to PostgreSQL Database...")
- try:
- conn = psycopg2.connect(
- host = config["POSTGRES_HOST"],
- dbname = config["POSTGRES_DB"],
- user = config["POSTGRES_USER"],
- password = config["POSTGRES_PASSWORD"],
- port = config["POSTGRES_PORT"]
- )
- self.logger.info(f"Connection successful!")
- except psycopg2.OperationalError as e:
- self.logger.info(f"Could not connect to Database: {e}")
-
- return conn
-
- def list_tables(self):
- """
- Returns a list of table names in the 'claims' schema of the database.
- """
- cur = self.conn.cursor(cursor_factory=RealDictCursor)
- try:
- cur.execute("SELECT tablename from pg_catalog.pg_tables WHERE schemaname='claims';")
- result = cur.fetchall()
- self.conn.commit()
- return result
- except Exception as e:
- self.conn.rollback()
- raise e
- finally:
- cur.close()
-
- def list_claims(self):
- """
- Returns a list of all claims in the database.
-
- Returns:
- list: A list of dictionaries representing each claim, with keys 'id' and 'subject'.
- """
- cur = self.conn.cursor(cursor_factory=RealDictCursor)
- try:
- query = """
- SET schema 'claims';
- SELECT claims.id, claims.claim_number, claims.category, claims.policy_number, claims.client_name, claims.subject, claims.summary
- FROM claims
- ORDER BY claims.id
- """
- cur.execute(query)
- result = cur.fetchall()
- self.conn.commit()
- return result
- except Exception as e:
- self.conn.rollback()
- raise e
- finally:
- cur.close()
-
- def list_claims_unprocessed(self):
- """
- Returns a list of all claims in the database that have an empty summary.
-
- Returns:
- list: A list of dictionaries representing each claim, with keys 'id' and 'subject'.
- """
- cur = self.conn.cursor(cursor_factory=RealDictCursor)
- try:
- query = """
- SET schema 'claims';
- SELECT claims.id, claims.subject
- FROM claims
- WHERE claims.summary IS NULL OR claims.summary = ''
- """
- cur.execute(query)
- result = cur.fetchall()
- self.conn.commit()
- return result
- except Exception as e:
- self.conn.rollback()
- raise e
- finally:
- cur.close()
-
- def get_claim_base_info(self, claim_id):
- """
- Retrieves base information about a claim from the database.
-
- Args:
- claim_id (int): The ID of the claim to retrieve.
-
- Returns:
- dict: A dictionary containing information about the claim, including its ID, subject, and summary.
-
- Example:
- {
- "id": 1,
- "subject": "Car accident",
- "summary": "I was involved in a car accident on the highway.",
- }
- """
- cur = self.conn.cursor(cursor_factory=RealDictCursor)
- try:
- query = """
- SET schema 'claims';
- SELECT claims.id, claims.subject, claims.summary
- FROM claims WHERE claims.id = %s;
- """
- cur.execute(query, (claim_id,))
- result = cur.fetchone()
- self.conn.commit()
- return result
- except Exception as e:
- self.conn.rollback()
- raise e
- finally:
- cur.close()
-
- def get_claim_info(self, claim_id):
- """
- Retrieves information about a claim from the database.
-
- Args:
- claim_id (int): The ID of the claim to retrieve.
-
- Returns:
- dict: A dictionary containing information about the claim, including its ID, subject, body, sentiment, and images.
-
- Example:
- {
- "id": 1,
- "subject": "Car accident",
- "body": "I was involved in a car accident on the highway.",
- "sentiment": "positive",
- "location": "New York",
- "time": "2020-10-10 10:10:10",
- "original_images": [
- {"image_name": "image1.jpg", "image_key": "key1"},
- {"image_name": "image2.jpg", "image_key": "key2"}
- ],
- "processed_images": [
- {"image_name": "image1.png", "image_key": "key1"},
- {"image_name": "image2.png", "image_key": "key2"}
- ]
- }
- """
- cur = self.conn.cursor(cursor_factory=RealDictCursor)
- try:
- query = """
- SET schema 'claims';
- SELECT claims.id, claims.claim_number, claims.category, claims.policy_number, claims.client_name, claims.subject, claims.body, claims.sentiment, claims.summary, claims.location, claims.time,
- (SELECT json_agg(
- json_build_object('image_name',original_images.image_name,'image_key',original_images.image_key)) AS original_images
- FROM original_images WHERE claim_id = claims.id
- ),
- (SELECT json_agg(
- json_build_object('image_name',processed_images.image_name,'image_key',processed_images.image_key)) AS processed_images
- FROM processed_images WHERE claim_id = claims.id
- )
- FROM claims WHERE claims.id = %s;
- """
- cur.execute(query, (claim_id,))
- result = cur.fetchone()
- self.conn.commit()
- return result
- except Exception as e:
- self.conn.rollback()
- raise e
- finally:
- cur.close()
-
- def create_claim(self, subject, body):
- """
- Creates a new claim in the database.
-
- Args:
- subject (str): The subject of the claim.
- body (str): The body of the claim.
-
- Returns:
- int: The ID of the claim that was created.
- """
- cur = self.conn.cursor(cursor_factory=RealDictCursor)
- try:
- query = """
- SET schema 'claims';
- INSERT INTO claims (subject, body) VALUES (%s, %s) RETURNING id;
- """
- cur.execute(query, (subject, body))
- result = cur.fetchone()
- self.conn.commit()
- return result["id"]
- except Exception as e:
- self.conn.rollback()
- raise e
- finally:
- cur.close()
-
- def update_claim_summary(self, claim_id, summary):
- """
- Updates the summary of a claim in the database.
-
- Args:
- claim_id (int): The ID of the claim to update.
- summary (str): The summary to update the claim with.
- """
- cur = self.conn.cursor(cursor_factory=RealDictCursor)
- try:
- query = """
- SET schema 'claims';
- UPDATE claims SET summary = %s WHERE id = %s;
- """
- cur.execute(query, (summary, claim_id))
- self.conn.commit()
- except Exception as e:
- self.conn.rollback()
- raise e
- finally:
- cur.close()
-
- def update_claim_location(self, claim_id, location):
- """
- Updates the location of a claim in the database.
-
- Args:
- claim_id (int): The ID of the claim to update.
- location (str): The location to update the claim with.
- """
- cur = self.conn.cursor(cursor_factory=RealDictCursor)
- try:
- query = """
- SET schema 'claims';
- UPDATE claims SET location = %s WHERE id = %s;
- """
- cur.execute(query, (location, claim_id))
- self.conn.commit()
- except Exception as e:
- self.conn.rollback()
- raise e
- finally:
- cur.close()
-
- def update_claim_time(self, claim_id, time):
- """
- Updates the time of a claim in the database.
-
- Args:
- claim_id (int): The ID of the claim to update.
- time (str): The time to update the claim with.
- """
- cur = self.conn.cursor(cursor_factory=RealDictCursor)
- try:
- query = """
- SET schema 'claims';
- UPDATE claims SET time = %s WHERE id = %s;
- """
- cur.execute(query, (time, claim_id))
- self.conn.commit()
- except Exception as e:
- self.conn.rollback()
- raise e
- finally:
- cur.close()
-
- def update_claim_body(self, claim_id, body):
- """
- Updates the body of a claim in the database.
-
- Args:
- claim_id (int): The ID of the claim to update.
- body (str): The body to update the claim with.
- """
- cur = self.conn.cursor(cursor_factory=RealDictCursor)
- try:
- query = """
- SET schema 'claims';
- UPDATE claims SET body = %s WHERE id = %s;
- """
- cur.execute(query, (body, claim_id))
- self.conn.commit()
- except Exception as e:
- self.conn.rollback()
- raise e
- finally:
- cur.close()
-
- def update_claim_subject(self, claim_id, subject):
- """
- Updates the subject of a claim in the database.
-
- Args:
- claim_id (int): The ID of the claim to update.
- subject (str): The subject to update the claim with.
- """
- cur = self.conn.cursor(cursor_factory=RealDictCursor)
- try:
- query = """
- SET schema 'claims';
- UPDATE claims SET subject = %s WHERE id = %s;
- """
- cur.execute(query, (subject, claim_id))
- self.conn.commit()
- except Exception as e:
- self.conn.rollback()
- raise e
- finally:
- cur.close()
-
- def update_claim_sentiment(self, claim_id, sentiment):
- """
- Updates the sentiment of a claim in the database.
-
- Args:
- claim_id (int): The ID of the claim to update.
- sentiment (str): The sentiment to update the claim with.
- """
- cur = self.conn.cursor(cursor_factory=RealDictCursor)
- try:
- query = """
- SET schema 'claims';
- UPDATE claims SET sentiment = %s WHERE id = %s;
- """
- cur.execute(query, (sentiment, claim_id))
- self.conn.commit()
- except Exception as e:
- self.conn.rollback()
- raise e
- finally:
- cur.close()
-
- def delete_claim(self, claim_id):
- """
- Deletes a claim from the database.
-
- Args:
- claim_id (int): The ID of the claim to delete.
- """
- cur = self.conn.cursor(cursor_factory=RealDictCursor)
- try:
- query = """
- SET schema 'claims';
- DELETE FROM claims WHERE id = %s;
- """
- cur.execute(query, (claim_id,))
- self.conn.commit()
- except Exception as e:
- self.conn.rollback()
- raise e
- finally:
- cur.close()
-
- def upload_original_image(self, claim_id, image_name, image_key):
- """
- Creates a new original image in the database.
-
- Args:
- claim_id (int): The ID of the claim the image belongs to.
- image_name (str): The name of the image.
- image_key (str): The key of the image.
- """
- cur = self.conn.cursor(cursor_factory=RealDictCursor)
- try:
- query = """
- SET schema 'claims';
- INSERT INTO original_images (claim_id, image_name, image_key) VALUES (%s, %s, %s);
- """
- cur.execute(query, (claim_id, image_name, image_key))
- self.conn.commit()
- except Exception as e:
- self.conn.rollback()
- raise e
- finally:
- cur.close()
-
- def upload_processed_image(self, claim_id, image_name, image_key):
- """
- Creates a new processed image in the database.
-
- Args:
- claim_id (int): The ID of the claim the image belongs to.
- image_name (str): The name of the image.
- image_key (str): The key of the image.
- """
- cur = self.conn.cursor(cursor_factory=RealDictCursor)
- try:
- query = """
- SET schema 'claims';
- INSERT INTO processed_images (claim_id, image_name, image_key) VALUES (%s, %s, %s);
- """
- cur.execute(query, (claim_id, image_name, image_key))
- self.conn.commit()
- except Exception as e:
- self.conn.rollback()
- raise e
- finally:
- cur.close()
-
- def delete_original_image(self, claim_id, image_key):
- """
- Deletes an original image from the database.
-
- Args:
- claim_id (int): The ID of the claim the image belongs to.
- image_key (str): The key of the image.
- """
- cur = self.conn.cursor(cursor_factory=RealDictCursor)
- try:
- query = """
- SET schema 'claims';
- DELETE FROM original_images WHERE claim_id = %s AND image_key = %s;
- """
- cur.execute(query, (claim_id, image_key))
- self.conn.commit()
- except Exception as e:
- self.conn.rollback()
- raise e
- finally:
- cur.close()
-
- def delete_processed_image(self, claim_id, image_key):
- """
- Deletes a processed image from the database.
-
- Args:
- claim_id (int): The ID of the claim the image belongs to.
- image_key (str): The key of the image.
- """
- cur = self.conn.cursor(cursor_factory=RealDictCursor)
- try:
- query = """
- SET schema 'claims';
- DELETE FROM processed_images WHERE claim_id = %s AND image_key = %s;
- """
- cur.execute(query, (claim_id, image_key))
- self.conn.commit()
- except Exception as e:
- self.conn.rollback()
- raise e
- finally:
- cur.close()
-
diff --git a/app/backend/milvus_retriever_with_score_threshold.py b/app/backend/milvus_retriever_with_score_threshold.py
deleted file mode 100644
index ec43f421..00000000
--- a/app/backend/milvus_retriever_with_score_threshold.py
+++ /dev/null
@@ -1,72 +0,0 @@
-"""Milvus Retriever with Score Threshold"""
-import warnings
-from typing import Any, Dict, List, Optional
-
-from langchain_core.callbacks import CallbackManagerForRetrieverRun
-from langchain_core.documents import Document
-from langchain_core.embeddings import Embeddings
-from langchain_core.pydantic_v1 import root_validator
-from langchain_community.vectorstores import Milvus
-from langchain_core.retrievers import BaseRetriever
-
-from langchain_community.vectorstores.milvus import Milvus
-
-class MilvusRetrieverWithScoreThreshold(BaseRetriever):
- """`Milvus API` retriever."""
-
- embedding_function: Embeddings
- collection_name: str = "LangChainCollection"
- collection_description: str = ""
- collection_properties: Optional[Dict[str, Any]] = None
- connection_args: Optional[Dict[str, Any]] = None
- consistency_level: str = "Session"
- search_params: Optional[dict] = None
- k: int = 4
- score_threshold: float = 0.99
- metadata_field: str = "metadata"
- text_field: str = "page_content"
-
- store: Milvus
- retriever: BaseRetriever
-
- @root_validator(pre=True)
- def create_retriever(cls, values: Dict) -> Dict:
- """Create the Milvus store and retriever."""
- values["store"] = Milvus(
- embedding_function=values["embedding_function"],
- collection_name=values["collection_name"],
- collection_description=values["collection_description"],
- collection_properties=values["collection_properties"],
- connection_args=values["connection_args"],
- consistency_level=values["consistency_level"],
- metadata_field="metadata",
- text_field="page_content"
- )
- values["retriever"] = values["store"].as_retriever(
- search_kwargs={"param": values["search_params"]}
- )
- return values
-
- def add_texts(
- self, texts: List[str], metadatas: Optional[List[dict]] = None
- ) -> None:
- """Add text to the Milvus store
-
- Args:
- texts (List[str]): The text
- metadatas (List[dict]): Metadata dicts, must line up with existing store
- """
- self.store.add_texts(texts, metadatas)
-
- def _get_relevant_documents(
- self,
- query: str,
- *,
- run_manager: CallbackManagerForRetrieverRun,
- **kwargs: Any,
- ) -> List[Document]:
- docs_and_scores = self.store.similarity_search_with_score(query, k=self.k, return_metadata=True)
- docs_and_scores = [(doc, score) for doc, score in docs_and_scores if score < self.score_threshold]
- for doc, score in docs_and_scores:
- doc.metadata = {**doc.metadata, **{"score": score}}
- return [doc for (doc, _) in docs_and_scores]
diff --git a/app/backend/public/.folder_keep b/app/backend/public/.folder_keep
deleted file mode 100644
index e69de29b..00000000
diff --git a/app/backend/requirements.txt b/app/backend/requirements.txt
deleted file mode 100644
index fab43b6b..00000000
--- a/app/backend/requirements.txt
+++ /dev/null
@@ -1,97 +0,0 @@
--i https://pypi.org/simple
---extra-index-url https://download.pytorch.org/whl/cpu
-aiohttp==3.9.4; python_version >= '3.8'
-aiosignal==1.3.1; python_version >= '3.7'
-annotated-types==0.6.0; python_version >= '3.8'
-anyio==4.3.0; python_version >= '3.8'
-argon2-cffi==23.1.0; python_version >= '3.7'
-argon2-cffi-bindings==21.2.0; python_version >= '3.6'
-attrs==23.2.0; python_version >= '3.7'
-azure-core==1.30.1; python_version >= '3.7'
-azure-storage-blob==12.19.1; python_version >= '3.7'
-boto3==1.34.84; python_version >= '3.8'
-botocore==1.34.84; python_version >= '3.8'
-certifi==2024.2.2; python_version >= '3.6'
-cffi==1.16.0; platform_python_implementation != 'PyPy'
-charset-normalizer==3.3.2; python_full_version >= '3.7.0'
-click==8.1.7; python_version >= '3.7'
-cryptography==42.0.5; python_version >= '3.7'
-dataclasses-json==0.6.4; python_version >= '3.7' and python_version < '4.0'
-distro==1.9.0; python_version >= '3.6'
-einops==0.7.0; python_version >= '3.8'
-environs==9.5.0; python_version >= '3.6'
-fastapi==0.110.1; python_version >= '3.8'
-filelock==3.13.4; python_version >= '3.8'
-frozenlist==1.4.1; python_version >= '3.8'
-fsspec==2024.3.1; python_version >= '3.8'
-greenlet==3.0.3; platform_machine == 'aarch64' or (platform_machine == 'ppc64le' or (platform_machine == 'x86_64' or (platform_machine == 'amd64' or (platform_machine == 'AMD64' or (platform_machine == 'win32' or platform_machine == 'WIN32')))))
-grpcio==1.60.0; python_version >= '3.7'
-h11==0.14.0; python_version >= '3.7'
-httpcore==1.0.5; python_version >= '3.8'
-httpx==0.27.0; python_version >= '3.8'
-huggingface-hub==0.22.2; python_full_version >= '3.8.0'
-idna==3.7; python_version >= '3.5'
-isodate==0.6.1
-jinja2==3.1.3; python_version >= '3.7'
-jmespath==1.0.1; python_version >= '3.7'
-joblib==1.4.0; python_version >= '3.8'
-jsonpatch==1.33; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6'
-jsonpointer==2.4; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6'
-langchain==0.1.15; python_version < '4.0' and python_full_version >= '3.8.1'
-langchain-community==0.0.32; python_version < '4.0' and python_full_version >= '3.8.1'
-langchain-core==0.1.42; python_version < '4.0' and python_full_version >= '3.8.1'
-langchain-text-splitters==0.0.1; python_version < '4.0' and python_full_version >= '3.8.1'
-langsmith==0.1.47; python_version < '4.0' and python_full_version >= '3.8.1'
-markupsafe==2.1.5; python_version >= '3.7'
-marshmallow==3.21.1; python_version >= '3.8'
-minio==7.2.5
-mpmath==1.3.0
-multidict==6.0.5; python_version >= '3.7'
-mypy-extensions==1.0.0; python_version >= '3.5'
-networkx==3.3; python_version >= '3.10'
-numpy==1.26.4; python_version >= '3.9'
-openai==1.17.0; python_full_version >= '3.7.1'
-orjson==3.10.0; python_version >= '3.8'
-packaging==23.2; python_version >= '3.7'
-pandas==2.2.2; python_version >= '3.9'
-pillow==10.3.0; python_version >= '3.8'
-protobuf==5.26.1; python_version >= '3.8'
-psycopg2-binary==2.9.9; python_version >= '3.7'
-pyarrow==15.0.2; python_version >= '3.8'
-pycparser==2.22; python_version >= '3.8'
-pycryptodome==3.20.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'
-pydantic==2.7.0; python_version >= '3.8'
-pydantic-core==2.18.1; python_version >= '3.8'
-pymilvus==2.4.0; python_version >= '3.8'
-python-dateutil==2.9.0.post0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'
-python-dotenv==1.0.1; python_version >= '3.8'
-python-multipart==0.0.9; python_version >= '3.8'
-pytz==2024.1
-pyyaml==6.0.1; python_version >= '3.6'
-regex==2023.12.25; python_version >= '3.7'
-requests==2.31.0; python_version >= '3.7'
-s3transfer==0.10.1; python_version >= '3.8'
-safetensors==0.4.3; python_version >= '3.7'
-scikit-learn==1.4.2; python_version >= '3.9'
-scipy==1.13.0; python_version >= '3.9'
-sentence-transformers==2.6.1; python_full_version >= '3.8.0'
-setuptools==69.5.1; python_version >= '3.8'
-six==1.16.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'
-sniffio==1.3.1; python_version >= '3.7'
-sqlalchemy==2.0.29; python_version >= '3.7'
-starlette==0.37.2; python_version >= '3.8'
-sympy==1.12; python_version >= '3.8'
-tenacity==8.2.3; python_version >= '3.7'
-threadpoolctl==3.4.0; python_version >= '3.8'
-tokenizers==0.15.2; python_version >= '3.7'
-torch==2.2.2+cpu
-tqdm==4.66.2; python_version >= '3.7'
-transformers==4.39.3; python_full_version >= '3.8.0'
-typing-extensions==4.11.0; python_version >= '3.8'
-typing-inspect==0.9.0
-tzdata==2024.1; python_version >= '2'
-ujson==5.9.0; python_version >= '3.8'
-urllib3==2.2.1; python_version >= '3.10'
-uvicorn==0.29.0; python_version >= '3.8'
-websockets==12.0; python_version >= '3.8'
-yarl==1.9.4; python_version >= '3.7'
diff --git a/app/backend/startdev.sh b/app/backend/startdev.sh
deleted file mode 100755
index 3709f5b8..00000000
--- a/app/backend/startdev.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/bash
-watchmedo auto-restart --pattern "*.py" --recursive --signal SIGTERM python app.py
\ No newline at end of file
diff --git a/app/claim-images/policy.json b/app/claim-images/policy.json
deleted file mode 100644
index b484c041..00000000
--- a/app/claim-images/policy.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "Version": "2012-10-17",
- "Statement": [
- {
- "Effect": "Allow",
- "Action": [
- "s3:*"
- ],
- "Resource": [
- "arn:aws:s3:::claim-images",
- "arn:aws:s3:::claim-images/*"
- ]
- }
- ]
-}
\ No newline at end of file
diff --git a/app/claimdb/01-claimdb_creation.sql b/app/claimdb/01-claimdb_creation.sql
deleted file mode 100644
index 00454109..00000000
--- a/app/claimdb/01-claimdb_creation.sql
+++ /dev/null
@@ -1,13 +0,0 @@
--- Database: claimdb
-
--- DROP DATABASE IF EXISTS claimdb;
-
-CREATE DATABASE claimdb
- WITH
- OWNER = claimdb
- ENCODING = 'UTF8'
- LC_COLLATE = 'en_US.utf8'
- LC_CTYPE = 'en_US.utf8'
- TABLESPACE = pg_default
- CONNECTION LIMIT = -1
- IS_TEMPLATE = False;
\ No newline at end of file
diff --git a/app/claimdb/02-claims_schema_creation.sql b/app/claimdb/02-claims_schema_creation.sql
deleted file mode 100644
index 05ecf244..00000000
--- a/app/claimdb/02-claims_schema_creation.sql
+++ /dev/null
@@ -1,6 +0,0 @@
--- SCHEMA: claims
-
--- DROP SCHEMA IF EXISTS claims ;
-
-CREATE SCHEMA IF NOT EXISTS claims
- AUTHORIZATION claimdb;
\ No newline at end of file
diff --git a/app/claimdb/03-claims_table_creation.sql b/app/claimdb/03-claims_table_creation.sql
deleted file mode 100644
index a755fa74..00000000
--- a/app/claimdb/03-claims_table_creation.sql
+++ /dev/null
@@ -1,40 +0,0 @@
--- Table: claims.claims
-
--- DROP TABLE and SEQUENCE (with CASCADE)
-
--- DROP TABLE IF EXISTS claims.claims CASCADE;
-
--- SEQUENCE: claims.claims_id_seq
-
-CREATE SEQUENCE IF NOT EXISTS claims.claims_id_seq
- INCREMENT 1
- START 1
- MINVALUE 1
- MAXVALUE 2147483647
- CACHE 1;
-
-
- OWNED BY claims.id;
-
--- Table: claims.claims
-
-CREATE TABLE IF NOT EXISTS claims.claims
-(
- id integer NOT NULL DEFAULT nextval('claims.claims_id_seq'::regclass),
- subject text COLLATE pg_catalog."default",
- body text COLLATE pg_catalog."default",
- summary text COLLATE pg_catalog."default",
- location text COLLATE pg_catalog."default",
- "time" text COLLATE pg_catalog."default",
- sentiment text COLLATE pg_catalog."default",
- CONSTRAINT claims_pkey PRIMARY KEY (id)
-)
-WITH (
- OIDS = FALSE
-)
-TABLESPACE pg_default;
-
--- Link Table to Sequence
-
-ALTER SEQUENCE claims.claims_id_seq
- OWNED BY claims.id;
\ No newline at end of file
diff --git a/app/claimdb/04-original_images_table_creation.sql b/app/claimdb/04-original_images_table_creation.sql
deleted file mode 100644
index 351fc13d..00000000
--- a/app/claimdb/04-original_images_table_creation.sql
+++ /dev/null
@@ -1,38 +0,0 @@
--- Table: claims.original_images
-
--- DROP TABLE and SEQUENCE (with CASCADE)
-
--- DROP TABLE IF EXISTS claims.original_images CASCADE;
-
--- SEQUENCE: claims.original_images_id_seq
-
-CREATE SEQUENCE IF NOT EXISTS claims.original_images_id_seq
- INCREMENT 1
- START 1
- MINVALUE 1
- MAXVALUE 2147483647
- CACHE 1;
-
--- Table: claims.original_images
-
-CREATE TABLE IF NOT EXISTS claims.original_images
-(
- id integer NOT NULL DEFAULT nextval('claims.original_images_id_seq'::regclass),
- image_name text COLLATE pg_catalog."default" NOT NULL,
- image_key text COLLATE pg_catalog."default" NOT NULL,
- claim_id integer NOT NULL,
- CONSTRAINT original_images_pkey PRIMARY KEY (id),
- CONSTRAINT fk_claim_id FOREIGN KEY (claim_id)
- REFERENCES claims.claims (id) MATCH SIMPLE
- ON UPDATE CASCADE
- ON DELETE CASCADE
-)
-WITH (
- OIDS = FALSE
-)
-TABLESPACE pg_default;
-
--- Link Table to Sequence
-
-ALTER SEQUENCE claims.original_images_id_seq
- OWNED BY claims.original_images.id;
\ No newline at end of file
diff --git a/app/claimdb/05-processed_images_table_creation.sql b/app/claimdb/05-processed_images_table_creation.sql
deleted file mode 100644
index 85ab7335..00000000
--- a/app/claimdb/05-processed_images_table_creation.sql
+++ /dev/null
@@ -1,38 +0,0 @@
--- Table: claims.processed_images
-
--- DROP TABLE and SEQUENCE (with CASCADE)
-
--- DROP TABLE IF EXISTS claims.processed_images CASCADE;
-
--- SEQUENCE: claims.processed_images_id_seq
-
-CREATE SEQUENCE IF NOT EXISTS claims.processed_images_id_seq
- INCREMENT 1
- START 1
- MINVALUE 1
- MAXVALUE 2147483647
- CACHE 1;
-
--- Table: claims.processed_images
-
-CREATE TABLE IF NOT EXISTS claims.processed_images
-(
- id integer NOT NULL DEFAULT nextval('claims.processed_images_id_seq'::regclass),
- image_name text COLLATE pg_catalog."default" NOT NULL,
- image_key text COLLATE pg_catalog."default" NOT NULL,
- claim_id integer NOT NULL,
- CONSTRAINT processed_images_pkey PRIMARY KEY (id),
- CONSTRAINT fk_claim_id FOREIGN KEY (claim_id)
- REFERENCES claims.claims (id) MATCH SIMPLE
- ON UPDATE CASCADE
- ON DELETE CASCADE
-)
-WITH (
- OIDS = FALSE
-)
-TABLESPACE pg_default;
-
--- Link Table to Sequence
-
-ALTER SEQUENCE claims.processed_images_id_seq
- OWNED BY claims.processed_images.id;
\ No newline at end of file
diff --git a/app/claimdb/06-create_base_claims.sql b/app/claimdb/06-create_base_claims.sql
deleted file mode 100644
index 7a2b4522..00000000
--- a/app/claimdb/06-create_base_claims.sql
+++ /dev/null
@@ -1,146 +0,0 @@
---
--- Data for Name: claims; Type: TABLE DATA; Schema: claims; Owner: -
---
-
-INSERT INTO claims.claims (subject, body) VALUES ('Claim for Recent Car Accident - Policy Number: ABC12345', 'Dear XYZ Insurance Company,
- I hope this email finds you well. I am writing to report a recent car accident in
- which I was involved, and I would like to initiate a claim under my policy with your company. My policy
- number is ABC12345, and my name is John Smith.
- Accident Details:
- Date and Time: The accident occurred on October 15, 2023, at approximately 2:30
- PM.
- Location: The accident took place at the intersection of Elm Street and Maple Avenue,
- near Smith Park, in Springfield, Illinois. The exact coordinates are 39.7476° N, 89.6960° W.
-
- Circumstances:
- 1. Weather Conditions: On the day of the accident, the weather was overcast with
- light rain. The road was wet.
- 2. Traffic Conditions: Traffic was moderate at the time, with vehicles traveling in
- all directions. I was driving at the posted speed limit of 35 mph.
- 3. Vehicle Involved: I was driving my Honda Accord at the time of the accident. The
- other party involved was driving a Ford Escape.
- 4. Sequence of Events: While I was proceeding through the intersection with a green
- light, the other vehicle, which was coming from the north, ran a red light and collided with the front
- passenger side of my vehicle. I had no time to react to avoid the collision.
- 5. Injuries: Thankfully, there were no serious injuries, but both vehicles sustained
- significant damage. The police were called to the scene, and a report was filed. The officer's badge
- number is 12345, and I can provide a copy of the accident report upon request.
- 6. Witness Information: There were a few witnesses to the accident, and I have their
- contact information. Their names are Sarah Johnson, Mark Williams, and Lisa Anderson.
- 7. Photos: I have taken several photos of the accident scene, including the damage to
- both vehicles, the traffic signals, and road conditions. I can provide these photos to assist with the
- claim.
- 8. Other Party's Information: The driver of the other vehicle provided me with
- their insurance information and contact details, which I can share with you.
- Claim Request:
- I would like to request that you initiate a claim under my policy for the damages to
- my vehicle. I would appreciate it if you could provide me with the next steps and the claim process. Please
- let me know what documentation or information you require from me to process this claim efficiently.
-
- I understand that accidents happen, and I trust in your company's ability to
- assist me during this challenging time. Your prompt attention to this matter is greatly appreciated.
-
- Please contact me at (555) 123-4567 or john.smith@email.com to discuss this further
- or to request any additional information you may need.
- Thank you for your assistance in this matter, and I look forward to your prompt
- response.
- Sincerely,
- John Smith
');
-INSERT INTO claims.claims (subject, body) VALUES ('URGENT - Car Accident Claim - Policy Number: ABC12345', 'To Whom It May Concern at XYZ Insurance Company,
- I can't believe I have to go through the hassle of contacting you regarding a car
- accident claim, but I guess that's why I pay for insurance, right? My policy number is ABC12345, and my
- name is John Smith.
- Accident Details:
- Date and Time: This whole nightmare happened on October 15, 2023, at around 2:30
- PM.
- Location: The accident took place at the intersection of Elm Street and Maple Avenue,
- near Smith Park in Springfield, Illinois. I even provided the exact coordinates: 39.7476° N,
- 89.6960° W. The least you could do is use a map.
- Circumstances:
- 1. Weather Conditions: The weather? Oh, it was just lovely. Overcast with some light
- rain. The road? It was wet, alright.
- 2. Traffic Conditions: I had the privilege of navigating through moderate traffic,
- with vehicles going in all directions. I was going exactly 35 mph, in case you care.
- 3. Vehicle Involved: My beloved Honda Accord was involved. The other party was
- driving a Ford Escape.
- 4. Sequence of Events: Listen up – I was cruising through the intersection with
- a green light, minding my own business. Then, this genius coming from the north decided that red lights
- don't apply to them and plowed into my passenger side. I didn't have time to react, thanks to their
- stupidity.
- 5. Injuries: Thankfully, we all walked away without injuries, but the vehicles? They
- weren't so lucky. Of course, the police showed up and filed a report. Badge number 12345, as if that
- means anything to me. Get me the report if you want it so badly.
- 6. Witness Information: Yeah, there were witnesses. Sarah Johnson, Mark Williams, and
- Lisa Anderson, to be exact. Get in touch with them, not me!
- 7. Photos: I went the extra mile to document everything. I've got photos of the
- accident scene, the vehicle damage, traffic lights – you name it. You can't accuse me of not being
- prepared.
- 8. Other Party's Information: The other driver handed over their insurance info
- and contact details. I suppose you want that too?
- Claim Request:
- I don't have time for games. I want to initiate a claim for the damage to my car,
- and I want it done yesterday. Tell me the process, give me the paperwork, and let's get this over with.
- I've got a life to live, and this accident is just a roadblock.
- I trust you'll act swiftly to address this matter. I don't want excuses; I
- want results. Reach me at (555) 123-4567 or john.smith@email.com. I don't care if it's after hours
- – make it happen.
- I'm not here to make friends. I'm here for the insurance I've been paying
- for, so get your act together and give me a prompt response.
- Sincerely,
- John Smith
');
-INSERT INTO claims.claims (subject, body) VALUES ('I Need Help with Car Accident Claim - My Policy is ABC12345', 'Hi there, XYZ Insurance Company,
- I hope this email is okay and finds you okay. I had an accident, and I'm not
- exactly sure how to go about this, but I think it's something to do with a car accident claim, and my
- policy number is ABC12345, I think.
- Okay, so here's what happened:
- Accident Stuff:
- Date and Time: Um, so this accident thing happened on, like, October 15th, 2023, at,
- um, 2:30 PM, I think.
- Location: So, it happened at this place, um, the intersection of Elm Street and Maple
- Avenue, near Smith Park in Springfield, Illinois. I heard you might need some coordinates? They're like
- 39.7476° N and 89.6960° W or something. Hope that helps.
- The Accidenty Part:
- Weather Conditions: Well, the weather was kinda not great, I guess. It was like,
- cloudy and a bit rainy. And the road was wet, you know?
- Traffic Conditions: There were some cars around, like, moderate traffic, I guess. And
- I was driving, like, the speed limit, which is, um, 35 mph, I think.
- Car Details: So, my car is a Honda Accord, I think, and the other car involved was a
- Ford Escape. Yeah, that's right.
- What Happened: So, I had the green light, and I was driving through the intersection,
- you know? But the other car, coming from the north or something, ran a red light and hit the front of my car
- on the passenger side. I didn't really have time to react or anything.
- Injuries: Good news, no one got hurt really bad, but our cars got pretty messed up.
- The police came and made a report, and the officer had a badge number, I guess, it's 12345. I can get
- you the report if you need it.
- Witness Stuff: There were a few people who saw this happen, and I got their names.
- It's Sarah Johnson, Mark Williams, and Lisa Anderson.
- Photos: I took some pictures at the scene, like of the cars, the traffic lights, and
- the road and stuff. If you want to see them, just let me know.
- Other Driver Info: The other driver gave me their insurance info and contact stuff,
- so I can share that with you too.
- Now, um, about the claim:
- I guess I need to do something about this, right? Can you help me with the steps and
- what I need to give you? I don't really know how these things work.
- I know accidents happen, and, uh, I hope you can help me through this. Can you reply
- quickly, please? I'd really appreciate it.
- You can call me at (555) 123-4567 or email me at john.smith@email.com. I'm not
- really good at this stuff, so, you know, thanks for your help.
- Sincerely,
- John Smith
');
-
-
---
--- Name: claims_id_seq; Type: SEQUENCE SET; Schema: claims; Owner: -
---
-
-SELECT pg_catalog.setval('claims.claims_id_seq', 3, true);
-
-
---
--- Name: claims claims_pkey; Type: CONSTRAINT; Schema: claims; Owner: -
---
-
-ALTER TABLE ONLY claims.claims
- ADD CONSTRAINT claims_pkey PRIMARY KEY (id);
-
-
diff --git a/app/frontend/LICENSE b/app/frontend/LICENSE
deleted file mode 100644
index 46a7d044..00000000
--- a/app/frontend/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2018 Red Hat
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/app/frontend/__mocks__/fileMock.js b/app/frontend/__mocks__/fileMock.js
deleted file mode 100644
index 86059f36..00000000
--- a/app/frontend/__mocks__/fileMock.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = 'test-file-stub';
diff --git a/app/frontend/__mocks__/styleMock.js b/app/frontend/__mocks__/styleMock.js
deleted file mode 100644
index f053ebf7..00000000
--- a/app/frontend/__mocks__/styleMock.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = {};
diff --git a/app/frontend/src/app/__snapshots__/app.test.tsx.snap b/app/frontend/src/app/__snapshots__/app.test.tsx.snap
deleted file mode 100644
index 7ab0af94..00000000
--- a/app/frontend/src/app/__snapshots__/app.test.tsx.snap
+++ /dev/null
@@ -1,211 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`App tests should render default App component 1`] = `
-
-
-
-
-
-
-
-
- Dashboard Page Title!
-
-
-
-
-
-`;
diff --git a/app/mvnw b/app/mvnw
new file mode 100755
index 00000000..19529ddf
--- /dev/null
+++ b/app/mvnw
@@ -0,0 +1,259 @@
+#!/bin/sh
+# ----------------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+# ----------------------------------------------------------------------------
+
+# ----------------------------------------------------------------------------
+# Apache Maven Wrapper startup batch script, version 3.3.2
+#
+# Optional ENV vars
+# -----------------
+# JAVA_HOME - location of a JDK home dir, required when download maven via java source
+# MVNW_REPOURL - repo url base for downloading maven distribution
+# MVNW_USERNAME/MVNW_PASSWORD - user and password for downloading maven
+# MVNW_VERBOSE - true: enable verbose log; debug: trace the mvnw script; others: silence the output
+# ----------------------------------------------------------------------------
+
+set -euf
+[ "${MVNW_VERBOSE-}" != debug ] || set -x
+
+# OS specific support.
+native_path() { printf %s\\n "$1"; }
+case "$(uname)" in
+CYGWIN* | MINGW*)
+ [ -z "${JAVA_HOME-}" ] || JAVA_HOME="$(cygpath --unix "$JAVA_HOME")"
+ native_path() { cygpath --path --windows "$1"; }
+ ;;
+esac
+
+# set JAVACMD and JAVACCMD
+set_java_home() {
+ # For Cygwin and MinGW, ensure paths are in Unix format before anything is touched
+ if [ -n "${JAVA_HOME-}" ]; then
+ if [ -x "$JAVA_HOME/jre/sh/java" ]; then
+ # IBM's JDK on AIX uses strange locations for the executables
+ JAVACMD="$JAVA_HOME/jre/sh/java"
+ JAVACCMD="$JAVA_HOME/jre/sh/javac"
+ else
+ JAVACMD="$JAVA_HOME/bin/java"
+ JAVACCMD="$JAVA_HOME/bin/javac"
+
+ if [ ! -x "$JAVACMD" ] || [ ! -x "$JAVACCMD" ]; then
+ echo "The JAVA_HOME environment variable is not defined correctly, so mvnw cannot run." >&2
+ echo "JAVA_HOME is set to \"$JAVA_HOME\", but \"\$JAVA_HOME/bin/java\" or \"\$JAVA_HOME/bin/javac\" does not exist." >&2
+ return 1
+ fi
+ fi
+ else
+ JAVACMD="$(
+ 'set' +e
+ 'unset' -f command 2>/dev/null
+ 'command' -v java
+ )" || :
+ JAVACCMD="$(
+ 'set' +e
+ 'unset' -f command 2>/dev/null
+ 'command' -v javac
+ )" || :
+
+ if [ ! -x "${JAVACMD-}" ] || [ ! -x "${JAVACCMD-}" ]; then
+ echo "The java/javac command does not exist in PATH nor is JAVA_HOME set, so mvnw cannot run." >&2
+ return 1
+ fi
+ fi
+}
+
+# hash string like Java String::hashCode
+hash_string() {
+ str="${1:-}" h=0
+ while [ -n "$str" ]; do
+ char="${str%"${str#?}"}"
+ h=$(((h * 31 + $(LC_CTYPE=C printf %d "'$char")) % 4294967296))
+ str="${str#?}"
+ done
+ printf %x\\n $h
+}
+
+verbose() { :; }
+[ "${MVNW_VERBOSE-}" != true ] || verbose() { printf %s\\n "${1-}"; }
+
+die() {
+ printf %s\\n "$1" >&2
+ exit 1
+}
+
+trim() {
+ # MWRAPPER-139:
+ # Trims trailing and leading whitespace, carriage returns, tabs, and linefeeds.
+ # Needed for removing poorly interpreted newline sequences when running in more
+ # exotic environments such as mingw bash on Windows.
+ printf "%s" "${1}" | tr -d '[:space:]'
+}
+
+# parse distributionUrl and optional distributionSha256Sum, requires .mvn/wrapper/maven-wrapper.properties
+while IFS="=" read -r key value; do
+ case "${key-}" in
+ distributionUrl) distributionUrl=$(trim "${value-}") ;;
+ distributionSha256Sum) distributionSha256Sum=$(trim "${value-}") ;;
+ esac
+done <"${0%/*}/.mvn/wrapper/maven-wrapper.properties"
+[ -n "${distributionUrl-}" ] || die "cannot read distributionUrl property in ${0%/*}/.mvn/wrapper/maven-wrapper.properties"
+
+case "${distributionUrl##*/}" in
+maven-mvnd-*bin.*)
+ MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/
+ case "${PROCESSOR_ARCHITECTURE-}${PROCESSOR_ARCHITEW6432-}:$(uname -a)" in
+ *AMD64:CYGWIN* | *AMD64:MINGW*) distributionPlatform=windows-amd64 ;;
+ :Darwin*x86_64) distributionPlatform=darwin-amd64 ;;
+ :Darwin*arm64) distributionPlatform=darwin-aarch64 ;;
+ :Linux*x86_64*) distributionPlatform=linux-amd64 ;;
+ *)
+ echo "Cannot detect native platform for mvnd on $(uname)-$(uname -m), use pure java version" >&2
+ distributionPlatform=linux-amd64
+ ;;
+ esac
+ distributionUrl="${distributionUrl%-bin.*}-$distributionPlatform.zip"
+ ;;
+maven-mvnd-*) MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/ ;;
+*) MVN_CMD="mvn${0##*/mvnw}" _MVNW_REPO_PATTERN=/org/apache/maven/ ;;
+esac
+
+# apply MVNW_REPOURL and calculate MAVEN_HOME
+# maven home pattern: ~/.m2/wrapper/dists/{apache-maven-,maven-mvnd--}/
+[ -z "${MVNW_REPOURL-}" ] || distributionUrl="$MVNW_REPOURL$_MVNW_REPO_PATTERN${distributionUrl#*"$_MVNW_REPO_PATTERN"}"
+distributionUrlName="${distributionUrl##*/}"
+distributionUrlNameMain="${distributionUrlName%.*}"
+distributionUrlNameMain="${distributionUrlNameMain%-bin}"
+MAVEN_USER_HOME="${MAVEN_USER_HOME:-${HOME}/.m2}"
+MAVEN_HOME="${MAVEN_USER_HOME}/wrapper/dists/${distributionUrlNameMain-}/$(hash_string "$distributionUrl")"
+
+exec_maven() {
+ unset MVNW_VERBOSE MVNW_USERNAME MVNW_PASSWORD MVNW_REPOURL || :
+ exec "$MAVEN_HOME/bin/$MVN_CMD" "$@" || die "cannot exec $MAVEN_HOME/bin/$MVN_CMD"
+}
+
+if [ -d "$MAVEN_HOME" ]; then
+ verbose "found existing MAVEN_HOME at $MAVEN_HOME"
+ exec_maven "$@"
+fi
+
+case "${distributionUrl-}" in
+*?-bin.zip | *?maven-mvnd-?*-?*.zip) ;;
+*) die "distributionUrl is not valid, must match *-bin.zip or maven-mvnd-*.zip, but found '${distributionUrl-}'" ;;
+esac
+
+# prepare tmp dir
+if TMP_DOWNLOAD_DIR="$(mktemp -d)" && [ -d "$TMP_DOWNLOAD_DIR" ]; then
+ clean() { rm -rf -- "$TMP_DOWNLOAD_DIR"; }
+ trap clean HUP INT TERM EXIT
+else
+ die "cannot create temp dir"
+fi
+
+mkdir -p -- "${MAVEN_HOME%/*}"
+
+# Download and Install Apache Maven
+verbose "Couldn't find MAVEN_HOME, downloading and installing it ..."
+verbose "Downloading from: $distributionUrl"
+verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName"
+
+# select .zip or .tar.gz
+if ! command -v unzip >/dev/null; then
+ distributionUrl="${distributionUrl%.zip}.tar.gz"
+ distributionUrlName="${distributionUrl##*/}"
+fi
+
+# verbose opt
+__MVNW_QUIET_WGET=--quiet __MVNW_QUIET_CURL=--silent __MVNW_QUIET_UNZIP=-q __MVNW_QUIET_TAR=''
+[ "${MVNW_VERBOSE-}" != true ] || __MVNW_QUIET_WGET='' __MVNW_QUIET_CURL='' __MVNW_QUIET_UNZIP='' __MVNW_QUIET_TAR=v
+
+# normalize http auth
+case "${MVNW_PASSWORD:+has-password}" in
+'') MVNW_USERNAME='' MVNW_PASSWORD='' ;;
+has-password) [ -n "${MVNW_USERNAME-}" ] || MVNW_USERNAME='' MVNW_PASSWORD='' ;;
+esac
+
+if [ -z "${MVNW_USERNAME-}" ] && command -v wget >/dev/null; then
+ verbose "Found wget ... using wget"
+ wget ${__MVNW_QUIET_WGET:+"$__MVNW_QUIET_WGET"} "$distributionUrl" -O "$TMP_DOWNLOAD_DIR/$distributionUrlName" || die "wget: Failed to fetch $distributionUrl"
+elif [ -z "${MVNW_USERNAME-}" ] && command -v curl >/dev/null; then
+ verbose "Found curl ... using curl"
+ curl ${__MVNW_QUIET_CURL:+"$__MVNW_QUIET_CURL"} -f -L -o "$TMP_DOWNLOAD_DIR/$distributionUrlName" "$distributionUrl" || die "curl: Failed to fetch $distributionUrl"
+elif set_java_home; then
+ verbose "Falling back to use Java to download"
+ javaSource="$TMP_DOWNLOAD_DIR/Downloader.java"
+ targetZip="$TMP_DOWNLOAD_DIR/$distributionUrlName"
+ cat >"$javaSource" <<-END
+ public class Downloader extends java.net.Authenticator
+ {
+ protected java.net.PasswordAuthentication getPasswordAuthentication()
+ {
+ return new java.net.PasswordAuthentication( System.getenv( "MVNW_USERNAME" ), System.getenv( "MVNW_PASSWORD" ).toCharArray() );
+ }
+ public static void main( String[] args ) throws Exception
+ {
+ setDefault( new Downloader() );
+ java.nio.file.Files.copy( java.net.URI.create( args[0] ).toURL().openStream(), java.nio.file.Paths.get( args[1] ).toAbsolutePath().normalize() );
+ }
+ }
+ END
+ # For Cygwin/MinGW, switch paths to Windows format before running javac and java
+ verbose " - Compiling Downloader.java ..."
+ "$(native_path "$JAVACCMD")" "$(native_path "$javaSource")" || die "Failed to compile Downloader.java"
+ verbose " - Running Downloader.java ..."
+ "$(native_path "$JAVACMD")" -cp "$(native_path "$TMP_DOWNLOAD_DIR")" Downloader "$distributionUrl" "$(native_path "$targetZip")"
+fi
+
+# If specified, validate the SHA-256 sum of the Maven distribution zip file
+if [ -n "${distributionSha256Sum-}" ]; then
+ distributionSha256Result=false
+ if [ "$MVN_CMD" = mvnd.sh ]; then
+ echo "Checksum validation is not supported for maven-mvnd." >&2
+ echo "Please disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2
+ exit 1
+ elif command -v sha256sum >/dev/null; then
+ if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | sha256sum -c >/dev/null 2>&1; then
+ distributionSha256Result=true
+ fi
+ elif command -v shasum >/dev/null; then
+ if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | shasum -a 256 -c >/dev/null 2>&1; then
+ distributionSha256Result=true
+ fi
+ else
+ echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available." >&2
+ echo "Please install either command, or disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2
+ exit 1
+ fi
+ if [ $distributionSha256Result = false ]; then
+ echo "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised." >&2
+ echo "If you updated your Maven version, you need to update the specified distributionSha256Sum property." >&2
+ exit 1
+ fi
+fi
+
+# unzip and move
+if command -v unzip >/dev/null; then
+ unzip ${__MVNW_QUIET_UNZIP:+"$__MVNW_QUIET_UNZIP"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -d "$TMP_DOWNLOAD_DIR" || die "failed to unzip"
+else
+ tar xzf${__MVNW_QUIET_TAR:+"$__MVNW_QUIET_TAR"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -C "$TMP_DOWNLOAD_DIR" || die "failed to untar"
+fi
+printf %s\\n "$distributionUrl" >"$TMP_DOWNLOAD_DIR/$distributionUrlNameMain/mvnw.url"
+mv -- "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" "$MAVEN_HOME" || [ -d "$MAVEN_HOME" ] || die "fail to move MAVEN_HOME"
+
+clean || :
+exec_maven "$@"
diff --git a/app/mvnw.cmd b/app/mvnw.cmd
new file mode 100644
index 00000000..249bdf38
--- /dev/null
+++ b/app/mvnw.cmd
@@ -0,0 +1,149 @@
+<# : batch portion
+@REM ----------------------------------------------------------------------------
+@REM Licensed to the Apache Software Foundation (ASF) under one
+@REM or more contributor license agreements. See the NOTICE file
+@REM distributed with this work for additional information
+@REM regarding copyright ownership. The ASF licenses this file
+@REM to you under the Apache License, Version 2.0 (the
+@REM "License"); you may not use this file except in compliance
+@REM with the License. You may obtain a copy of the License at
+@REM
+@REM http://www.apache.org/licenses/LICENSE-2.0
+@REM
+@REM Unless required by applicable law or agreed to in writing,
+@REM software distributed under the License is distributed on an
+@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+@REM KIND, either express or implied. See the License for the
+@REM specific language governing permissions and limitations
+@REM under the License.
+@REM ----------------------------------------------------------------------------
+
+@REM ----------------------------------------------------------------------------
+@REM Apache Maven Wrapper startup batch script, version 3.3.2
+@REM
+@REM Optional ENV vars
+@REM MVNW_REPOURL - repo url base for downloading maven distribution
+@REM MVNW_USERNAME/MVNW_PASSWORD - user and password for downloading maven
+@REM MVNW_VERBOSE - true: enable verbose log; others: silence the output
+@REM ----------------------------------------------------------------------------
+
+@IF "%__MVNW_ARG0_NAME__%"=="" (SET __MVNW_ARG0_NAME__=%~nx0)
+@SET __MVNW_CMD__=
+@SET __MVNW_ERROR__=
+@SET __MVNW_PSMODULEP_SAVE=%PSModulePath%
+@SET PSModulePath=
+@FOR /F "usebackq tokens=1* delims==" %%A IN (`powershell -noprofile "& {$scriptDir='%~dp0'; $script='%__MVNW_ARG0_NAME__%'; icm -ScriptBlock ([Scriptblock]::Create((Get-Content -Raw '%~f0'))) -NoNewScope}"`) DO @(
+ IF "%%A"=="MVN_CMD" (set __MVNW_CMD__=%%B) ELSE IF "%%B"=="" (echo %%A) ELSE (echo %%A=%%B)
+)
+@SET PSModulePath=%__MVNW_PSMODULEP_SAVE%
+@SET __MVNW_PSMODULEP_SAVE=
+@SET __MVNW_ARG0_NAME__=
+@SET MVNW_USERNAME=
+@SET MVNW_PASSWORD=
+@IF NOT "%__MVNW_CMD__%"=="" (%__MVNW_CMD__% %*)
+@echo Cannot start maven from wrapper >&2 && exit /b 1
+@GOTO :EOF
+: end batch / begin powershell #>
+
+$ErrorActionPreference = "Stop"
+if ($env:MVNW_VERBOSE -eq "true") {
+ $VerbosePreference = "Continue"
+}
+
+# calculate distributionUrl, requires .mvn/wrapper/maven-wrapper.properties
+$distributionUrl = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionUrl
+if (!$distributionUrl) {
+ Write-Error "cannot read distributionUrl property in $scriptDir/.mvn/wrapper/maven-wrapper.properties"
+}
+
+switch -wildcard -casesensitive ( $($distributionUrl -replace '^.*/','') ) {
+ "maven-mvnd-*" {
+ $USE_MVND = $true
+ $distributionUrl = $distributionUrl -replace '-bin\.[^.]*$',"-windows-amd64.zip"
+ $MVN_CMD = "mvnd.cmd"
+ break
+ }
+ default {
+ $USE_MVND = $false
+ $MVN_CMD = $script -replace '^mvnw','mvn'
+ break
+ }
+}
+
+# apply MVNW_REPOURL and calculate MAVEN_HOME
+# maven home pattern: ~/.m2/wrapper/dists/{apache-maven-,maven-mvnd--}/
+if ($env:MVNW_REPOURL) {
+ $MVNW_REPO_PATTERN = if ($USE_MVND) { "/org/apache/maven/" } else { "/maven/mvnd/" }
+ $distributionUrl = "$env:MVNW_REPOURL$MVNW_REPO_PATTERN$($distributionUrl -replace '^.*'+$MVNW_REPO_PATTERN,'')"
+}
+$distributionUrlName = $distributionUrl -replace '^.*/',''
+$distributionUrlNameMain = $distributionUrlName -replace '\.[^.]*$','' -replace '-bin$',''
+$MAVEN_HOME_PARENT = "$HOME/.m2/wrapper/dists/$distributionUrlNameMain"
+if ($env:MAVEN_USER_HOME) {
+ $MAVEN_HOME_PARENT = "$env:MAVEN_USER_HOME/wrapper/dists/$distributionUrlNameMain"
+}
+$MAVEN_HOME_NAME = ([System.Security.Cryptography.MD5]::Create().ComputeHash([byte[]][char[]]$distributionUrl) | ForEach-Object {$_.ToString("x2")}) -join ''
+$MAVEN_HOME = "$MAVEN_HOME_PARENT/$MAVEN_HOME_NAME"
+
+if (Test-Path -Path "$MAVEN_HOME" -PathType Container) {
+ Write-Verbose "found existing MAVEN_HOME at $MAVEN_HOME"
+ Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD"
+ exit $?
+}
+
+if (! $distributionUrlNameMain -or ($distributionUrlName -eq $distributionUrlNameMain)) {
+ Write-Error "distributionUrl is not valid, must end with *-bin.zip, but found $distributionUrl"
+}
+
+# prepare tmp dir
+$TMP_DOWNLOAD_DIR_HOLDER = New-TemporaryFile
+$TMP_DOWNLOAD_DIR = New-Item -Itemtype Directory -Path "$TMP_DOWNLOAD_DIR_HOLDER.dir"
+$TMP_DOWNLOAD_DIR_HOLDER.Delete() | Out-Null
+trap {
+ if ($TMP_DOWNLOAD_DIR.Exists) {
+ try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null }
+ catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" }
+ }
+}
+
+New-Item -Itemtype Directory -Path "$MAVEN_HOME_PARENT" -Force | Out-Null
+
+# Download and Install Apache Maven
+Write-Verbose "Couldn't find MAVEN_HOME, downloading and installing it ..."
+Write-Verbose "Downloading from: $distributionUrl"
+Write-Verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName"
+
+$webclient = New-Object System.Net.WebClient
+if ($env:MVNW_USERNAME -and $env:MVNW_PASSWORD) {
+ $webclient.Credentials = New-Object System.Net.NetworkCredential($env:MVNW_USERNAME, $env:MVNW_PASSWORD)
+}
+[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
+$webclient.DownloadFile($distributionUrl, "$TMP_DOWNLOAD_DIR/$distributionUrlName") | Out-Null
+
+# If specified, validate the SHA-256 sum of the Maven distribution zip file
+$distributionSha256Sum = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionSha256Sum
+if ($distributionSha256Sum) {
+ if ($USE_MVND) {
+ Write-Error "Checksum validation is not supported for maven-mvnd. `nPlease disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties."
+ }
+ Import-Module $PSHOME\Modules\Microsoft.PowerShell.Utility -Function Get-FileHash
+ if ((Get-FileHash "$TMP_DOWNLOAD_DIR/$distributionUrlName" -Algorithm SHA256).Hash.ToLower() -ne $distributionSha256Sum) {
+ Write-Error "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised. If you updated your Maven version, you need to update the specified distributionSha256Sum property."
+ }
+}
+
+# unzip and move
+Expand-Archive "$TMP_DOWNLOAD_DIR/$distributionUrlName" -DestinationPath "$TMP_DOWNLOAD_DIR" | Out-Null
+Rename-Item -Path "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" -NewName $MAVEN_HOME_NAME | Out-Null
+try {
+ Move-Item -Path "$TMP_DOWNLOAD_DIR/$MAVEN_HOME_NAME" -Destination $MAVEN_HOME_PARENT | Out-Null
+} catch {
+ if (! (Test-Path -Path "$MAVEN_HOME" -PathType Container)) {
+ Write-Error "fail to move MAVEN_HOME"
+ }
+} finally {
+ try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null }
+ catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" }
+}
+
+Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD"
diff --git a/app/package-lock.json b/app/package-lock.json
deleted file mode 100644
index 497630e5..00000000
--- a/app/package-lock.json
+++ /dev/null
@@ -1,1405 +0,0 @@
-{
- "name": "parasol-insurance",
- "version": "1.0.0",
- "lockfileVersion": 3,
- "requires": true,
- "packages": {
- "": {
- "name": "parasol-insurance",
- "version": "1.0.0",
- "hasInstallScript": true,
- "license": "MIT",
- "dependencies": {
- "dotenv": "^8.2.0",
- "dotenv-expand": "^5.1.0",
- "npm-run-all": "^4.1.5",
- "prettier": "^2.2.1"
- },
- "engines": {
- "node": ">=18.0.0"
- }
- },
- "node_modules/ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dependencies": {
- "color-convert": "^1.9.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/array-buffer-byte-length": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz",
- "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==",
- "dependencies": {
- "call-bind": "^1.0.5",
- "is-array-buffer": "^3.0.4"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/arraybuffer.prototype.slice": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz",
- "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==",
- "dependencies": {
- "array-buffer-byte-length": "^1.0.1",
- "call-bind": "^1.0.5",
- "define-properties": "^1.2.1",
- "es-abstract": "^1.22.3",
- "es-errors": "^1.2.1",
- "get-intrinsic": "^1.2.3",
- "is-array-buffer": "^3.0.4",
- "is-shared-array-buffer": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/available-typed-arrays": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz",
- "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==",
- "dependencies": {
- "possible-typed-array-names": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/balanced-match": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
- },
- "node_modules/brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/call-bind": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz",
- "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==",
- "dependencies": {
- "es-define-property": "^1.0.0",
- "es-errors": "^1.3.0",
- "function-bind": "^1.1.2",
- "get-intrinsic": "^1.2.4",
- "set-function-length": "^1.2.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dependencies": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dependencies": {
- "color-name": "1.1.3"
- }
- },
- "node_modules/color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
- },
- "node_modules/concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
- },
- "node_modules/cross-spawn": {
- "version": "6.0.5",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
- "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
- "dependencies": {
- "nice-try": "^1.0.4",
- "path-key": "^2.0.1",
- "semver": "^5.5.0",
- "shebang-command": "^1.2.0",
- "which": "^1.2.9"
- },
- "engines": {
- "node": ">=4.8"
- }
- },
- "node_modules/data-view-buffer": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz",
- "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==",
- "dependencies": {
- "call-bind": "^1.0.6",
- "es-errors": "^1.3.0",
- "is-data-view": "^1.0.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/data-view-byte-length": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz",
- "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==",
- "dependencies": {
- "call-bind": "^1.0.7",
- "es-errors": "^1.3.0",
- "is-data-view": "^1.0.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/data-view-byte-offset": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz",
- "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==",
- "dependencies": {
- "call-bind": "^1.0.6",
- "es-errors": "^1.3.0",
- "is-data-view": "^1.0.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/define-data-property": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
- "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
- "dependencies": {
- "es-define-property": "^1.0.0",
- "es-errors": "^1.3.0",
- "gopd": "^1.0.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/define-properties": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz",
- "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==",
- "dependencies": {
- "define-data-property": "^1.0.1",
- "has-property-descriptors": "^1.0.0",
- "object-keys": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/dotenv": {
- "version": "8.6.0",
- "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz",
- "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==",
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/dotenv-expand": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz",
- "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA=="
- },
- "node_modules/error-ex": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
- "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
- "dependencies": {
- "is-arrayish": "^0.2.1"
- }
- },
- "node_modules/es-abstract": {
- "version": "1.23.3",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz",
- "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==",
- "dependencies": {
- "array-buffer-byte-length": "^1.0.1",
- "arraybuffer.prototype.slice": "^1.0.3",
- "available-typed-arrays": "^1.0.7",
- "call-bind": "^1.0.7",
- "data-view-buffer": "^1.0.1",
- "data-view-byte-length": "^1.0.1",
- "data-view-byte-offset": "^1.0.0",
- "es-define-property": "^1.0.0",
- "es-errors": "^1.3.0",
- "es-object-atoms": "^1.0.0",
- "es-set-tostringtag": "^2.0.3",
- "es-to-primitive": "^1.2.1",
- "function.prototype.name": "^1.1.6",
- "get-intrinsic": "^1.2.4",
- "get-symbol-description": "^1.0.2",
- "globalthis": "^1.0.3",
- "gopd": "^1.0.1",
- "has-property-descriptors": "^1.0.2",
- "has-proto": "^1.0.3",
- "has-symbols": "^1.0.3",
- "hasown": "^2.0.2",
- "internal-slot": "^1.0.7",
- "is-array-buffer": "^3.0.4",
- "is-callable": "^1.2.7",
- "is-data-view": "^1.0.1",
- "is-negative-zero": "^2.0.3",
- "is-regex": "^1.1.4",
- "is-shared-array-buffer": "^1.0.3",
- "is-string": "^1.0.7",
- "is-typed-array": "^1.1.13",
- "is-weakref": "^1.0.2",
- "object-inspect": "^1.13.1",
- "object-keys": "^1.1.1",
- "object.assign": "^4.1.5",
- "regexp.prototype.flags": "^1.5.2",
- "safe-array-concat": "^1.1.2",
- "safe-regex-test": "^1.0.3",
- "string.prototype.trim": "^1.2.9",
- "string.prototype.trimend": "^1.0.8",
- "string.prototype.trimstart": "^1.0.8",
- "typed-array-buffer": "^1.0.2",
- "typed-array-byte-length": "^1.0.1",
- "typed-array-byte-offset": "^1.0.2",
- "typed-array-length": "^1.0.6",
- "unbox-primitive": "^1.0.2",
- "which-typed-array": "^1.1.15"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/es-define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz",
- "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==",
- "dependencies": {
- "get-intrinsic": "^1.2.4"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/es-errors": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
- "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/es-object-atoms": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz",
- "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==",
- "dependencies": {
- "es-errors": "^1.3.0"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/es-set-tostringtag": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz",
- "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==",
- "dependencies": {
- "get-intrinsic": "^1.2.4",
- "has-tostringtag": "^1.0.2",
- "hasown": "^2.0.1"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/es-to-primitive": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
- "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
- "dependencies": {
- "is-callable": "^1.1.4",
- "is-date-object": "^1.0.1",
- "is-symbol": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/for-each": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
- "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
- "dependencies": {
- "is-callable": "^1.1.3"
- }
- },
- "node_modules/function-bind": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
- "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/function.prototype.name": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz",
- "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1",
- "functions-have-names": "^1.2.3"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/functions-have-names": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
- "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/get-intrinsic": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
- "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
- "dependencies": {
- "es-errors": "^1.3.0",
- "function-bind": "^1.1.2",
- "has-proto": "^1.0.1",
- "has-symbols": "^1.0.3",
- "hasown": "^2.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/get-symbol-description": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz",
- "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==",
- "dependencies": {
- "call-bind": "^1.0.5",
- "es-errors": "^1.3.0",
- "get-intrinsic": "^1.2.4"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/globalthis": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz",
- "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==",
- "dependencies": {
- "define-properties": "^1.1.3"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/gopd": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
- "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
- "dependencies": {
- "get-intrinsic": "^1.1.3"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/graceful-fs": {
- "version": "4.2.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
- "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="
- },
- "node_modules/has-bigints": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz",
- "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/has-property-descriptors": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
- "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
- "dependencies": {
- "es-define-property": "^1.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/has-proto": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz",
- "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/has-symbols": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
- "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/has-tostringtag": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
- "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
- "dependencies": {
- "has-symbols": "^1.0.3"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/hasown": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
- "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
- "dependencies": {
- "function-bind": "^1.1.2"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/hosted-git-info": {
- "version": "2.8.9",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
- "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw=="
- },
- "node_modules/internal-slot": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz",
- "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==",
- "dependencies": {
- "es-errors": "^1.3.0",
- "hasown": "^2.0.0",
- "side-channel": "^1.0.4"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/is-array-buffer": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz",
- "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.2.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-arrayish": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
- "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg=="
- },
- "node_modules/is-bigint": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz",
- "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==",
- "dependencies": {
- "has-bigints": "^1.0.1"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-boolean-object": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz",
- "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-callable": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
- "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-core-module": {
- "version": "2.13.1",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz",
- "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==",
- "dependencies": {
- "hasown": "^2.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-data-view": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz",
- "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==",
- "dependencies": {
- "is-typed-array": "^1.1.13"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-date-object": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz",
- "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==",
- "dependencies": {
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-negative-zero": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz",
- "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-number-object": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz",
- "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==",
- "dependencies": {
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-regex": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
- "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-shared-array-buffer": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz",
- "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==",
- "dependencies": {
- "call-bind": "^1.0.7"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-string": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz",
- "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==",
- "dependencies": {
- "has-tostringtag": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-symbol": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz",
- "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==",
- "dependencies": {
- "has-symbols": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-typed-array": {
- "version": "1.1.13",
- "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz",
- "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==",
- "dependencies": {
- "which-typed-array": "^1.1.14"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-weakref": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz",
- "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==",
- "dependencies": {
- "call-bind": "^1.0.2"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/isarray": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
- "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw=="
- },
- "node_modules/isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
- },
- "node_modules/json-parse-better-errors": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
- "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw=="
- },
- "node_modules/load-json-file": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
- "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==",
- "dependencies": {
- "graceful-fs": "^4.1.2",
- "parse-json": "^4.0.0",
- "pify": "^3.0.0",
- "strip-bom": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/memorystream": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz",
- "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==",
- "engines": {
- "node": ">= 0.10.0"
- }
- },
- "node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/nice-try": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
- "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ=="
- },
- "node_modules/normalize-package-data": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
- "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
- "dependencies": {
- "hosted-git-info": "^2.1.4",
- "resolve": "^1.10.0",
- "semver": "2 || 3 || 4 || 5",
- "validate-npm-package-license": "^3.0.1"
- }
- },
- "node_modules/npm-run-all": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz",
- "integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==",
- "dependencies": {
- "ansi-styles": "^3.2.1",
- "chalk": "^2.4.1",
- "cross-spawn": "^6.0.5",
- "memorystream": "^0.3.1",
- "minimatch": "^3.0.4",
- "pidtree": "^0.3.0",
- "read-pkg": "^3.0.0",
- "shell-quote": "^1.6.1",
- "string.prototype.padend": "^3.0.0"
- },
- "bin": {
- "npm-run-all": "bin/npm-run-all/index.js",
- "run-p": "bin/run-p/index.js",
- "run-s": "bin/run-s/index.js"
- },
- "engines": {
- "node": ">= 4"
- }
- },
- "node_modules/object-inspect": {
- "version": "1.13.1",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz",
- "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/object-keys": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
- "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/object.assign": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz",
- "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==",
- "dependencies": {
- "call-bind": "^1.0.5",
- "define-properties": "^1.2.1",
- "has-symbols": "^1.0.3",
- "object-keys": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/parse-json": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
- "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==",
- "dependencies": {
- "error-ex": "^1.3.1",
- "json-parse-better-errors": "^1.0.1"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/path-key": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
- "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/path-parse": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
- "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
- },
- "node_modules/path-type": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
- "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
- "dependencies": {
- "pify": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/pidtree": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz",
- "integrity": "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==",
- "bin": {
- "pidtree": "bin/pidtree.js"
- },
- "engines": {
- "node": ">=0.10"
- }
- },
- "node_modules/pify": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
- "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/possible-typed-array-names": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz",
- "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==",
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/prettier": {
- "version": "2.8.8",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz",
- "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==",
- "bin": {
- "prettier": "bin-prettier.js"
- },
- "engines": {
- "node": ">=10.13.0"
- },
- "funding": {
- "url": "https://github.com/prettier/prettier?sponsor=1"
- }
- },
- "node_modules/read-pkg": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
- "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==",
- "dependencies": {
- "load-json-file": "^4.0.0",
- "normalize-package-data": "^2.3.2",
- "path-type": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/regexp.prototype.flags": {
- "version": "1.5.2",
- "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz",
- "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==",
- "dependencies": {
- "call-bind": "^1.0.6",
- "define-properties": "^1.2.1",
- "es-errors": "^1.3.0",
- "set-function-name": "^2.0.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/resolve": {
- "version": "1.22.8",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz",
- "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==",
- "dependencies": {
- "is-core-module": "^2.13.0",
- "path-parse": "^1.0.7",
- "supports-preserve-symlinks-flag": "^1.0.0"
- },
- "bin": {
- "resolve": "bin/resolve"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/safe-array-concat": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz",
- "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==",
- "dependencies": {
- "call-bind": "^1.0.7",
- "get-intrinsic": "^1.2.4",
- "has-symbols": "^1.0.3",
- "isarray": "^2.0.5"
- },
- "engines": {
- "node": ">=0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/safe-regex-test": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz",
- "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==",
- "dependencies": {
- "call-bind": "^1.0.6",
- "es-errors": "^1.3.0",
- "is-regex": "^1.1.4"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/semver": {
- "version": "5.7.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
- "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
- "bin": {
- "semver": "bin/semver"
- }
- },
- "node_modules/set-function-length": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
- "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
- "dependencies": {
- "define-data-property": "^1.1.4",
- "es-errors": "^1.3.0",
- "function-bind": "^1.1.2",
- "get-intrinsic": "^1.2.4",
- "gopd": "^1.0.1",
- "has-property-descriptors": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/set-function-name": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz",
- "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==",
- "dependencies": {
- "define-data-property": "^1.1.4",
- "es-errors": "^1.3.0",
- "functions-have-names": "^1.2.3",
- "has-property-descriptors": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/shebang-command": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
- "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==",
- "dependencies": {
- "shebang-regex": "^1.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/shebang-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
- "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/shell-quote": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz",
- "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/side-channel": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz",
- "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==",
- "dependencies": {
- "call-bind": "^1.0.7",
- "es-errors": "^1.3.0",
- "get-intrinsic": "^1.2.4",
- "object-inspect": "^1.13.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/spdx-correct": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz",
- "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==",
- "dependencies": {
- "spdx-expression-parse": "^3.0.0",
- "spdx-license-ids": "^3.0.0"
- }
- },
- "node_modules/spdx-exceptions": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz",
- "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w=="
- },
- "node_modules/spdx-expression-parse": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
- "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
- "dependencies": {
- "spdx-exceptions": "^2.1.0",
- "spdx-license-ids": "^3.0.0"
- }
- },
- "node_modules/spdx-license-ids": {
- "version": "3.0.17",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz",
- "integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg=="
- },
- "node_modules/string.prototype.padend": {
- "version": "3.1.6",
- "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.6.tgz",
- "integrity": "sha512-XZpspuSB7vJWhvJc9DLSlrXl1mcA2BdoY5jjnS135ydXqLoqhs96JjDtCkjJEQHvfqZIp9hBuBMgI589peyx9Q==",
- "dependencies": {
- "call-bind": "^1.0.7",
- "define-properties": "^1.2.1",
- "es-abstract": "^1.23.2",
- "es-object-atoms": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/string.prototype.trim": {
- "version": "1.2.9",
- "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz",
- "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==",
- "dependencies": {
- "call-bind": "^1.0.7",
- "define-properties": "^1.2.1",
- "es-abstract": "^1.23.0",
- "es-object-atoms": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/string.prototype.trimend": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz",
- "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==",
- "dependencies": {
- "call-bind": "^1.0.7",
- "define-properties": "^1.2.1",
- "es-object-atoms": "^1.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/string.prototype.trimstart": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz",
- "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==",
- "dependencies": {
- "call-bind": "^1.0.7",
- "define-properties": "^1.2.1",
- "es-object-atoms": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/strip-bom": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
- "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/supports-preserve-symlinks-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
- "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/typed-array-buffer": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz",
- "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==",
- "dependencies": {
- "call-bind": "^1.0.7",
- "es-errors": "^1.3.0",
- "is-typed-array": "^1.1.13"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/typed-array-byte-length": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz",
- "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==",
- "dependencies": {
- "call-bind": "^1.0.7",
- "for-each": "^0.3.3",
- "gopd": "^1.0.1",
- "has-proto": "^1.0.3",
- "is-typed-array": "^1.1.13"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/typed-array-byte-offset": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz",
- "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==",
- "dependencies": {
- "available-typed-arrays": "^1.0.7",
- "call-bind": "^1.0.7",
- "for-each": "^0.3.3",
- "gopd": "^1.0.1",
- "has-proto": "^1.0.3",
- "is-typed-array": "^1.1.13"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/typed-array-length": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz",
- "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==",
- "dependencies": {
- "call-bind": "^1.0.7",
- "for-each": "^0.3.3",
- "gopd": "^1.0.1",
- "has-proto": "^1.0.3",
- "is-typed-array": "^1.1.13",
- "possible-typed-array-names": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/unbox-primitive": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz",
- "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==",
- "dependencies": {
- "call-bind": "^1.0.2",
- "has-bigints": "^1.0.2",
- "has-symbols": "^1.0.3",
- "which-boxed-primitive": "^1.0.2"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/validate-npm-package-license": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
- "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
- "dependencies": {
- "spdx-correct": "^3.0.0",
- "spdx-expression-parse": "^3.0.0"
- }
- },
- "node_modules/which": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "which": "bin/which"
- }
- },
- "node_modules/which-boxed-primitive": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz",
- "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==",
- "dependencies": {
- "is-bigint": "^1.0.1",
- "is-boolean-object": "^1.1.0",
- "is-number-object": "^1.0.4",
- "is-string": "^1.0.5",
- "is-symbol": "^1.0.3"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/which-typed-array": {
- "version": "1.1.15",
- "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz",
- "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==",
- "dependencies": {
- "available-typed-arrays": "^1.0.7",
- "call-bind": "^1.0.7",
- "for-each": "^0.3.3",
- "gopd": "^1.0.1",
- "has-tostringtag": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- }
- }
-}
diff --git a/app/package.json b/app/package.json
deleted file mode 100644
index 39e6f91b..00000000
--- a/app/package.json
+++ /dev/null
@@ -1,56 +0,0 @@
-{
- "name": "parasol-insurance",
- "version": "1.0.0",
- "description": "Insurance Claim Processing.",
- "author": "",
- "license": "MIT",
- "private": true,
- "repository": {
- "type": "git",
- "url": "git+https://https://github.com/rh-aiservices-bu/parasol-insurance.git"
- },
- "homepage": "https://github.com/rh-aiservices-bu/parasol-insurance/README.md",
- "bugs": {
- "url": "https://github.com/rh-aiservices-bu/parasol-insurance/issues"
- },
- "engines": {
- "node": ">=18.0.0"
- },
- "scripts": {
- "build": "run-p -l build:*",
- "build:backend": "cd ./backend && export PATH=$PATH:/opt/app-root/src/.local/bin && python3 -m ensurepip --upgrade && pip3 install -r requirements.txt",
- "build:frontend": "cd ./frontend && npm run build && cp -r ./dist/* ../backend/public",
- "dev": "run-p -l dev:*",
- "dev:backend": "cd ./backend && source ./.venv/bin/activate && nodemon app.py dev",
- "dev:frontend": "cd ./frontend && npm run start:dev",
- "format": "prettier --write \"backend/**/*.ts\" \"frontend/**/*.ts\" \"frontend/**/*.tsx\"",
- "make": "make",
- "make:build": "make build",
- "make:deploy": "make deploy",
- "make:login": "make login",
- "make:undeploy": "make undeploy",
- "make:push": "make push",
- "postinstall": "run-p postinstall:*",
- "postinstall:backend": "echo \"backend venv needs to be activated\"",
- "postinstall:frontend": "cd ./frontend && npm install",
- "start": "run-p start:*",
- "start:backend": "cd ./backend && python3 app.py",
- "start:frontend": "echo \"...available at ./frontend/public\"",
- "test": "run-s test:backend test:frontend",
- "test:backend": "cd ./backend && npm run test",
- "test:frontend": "cd ./frontend && npm run test",
- "test:e2e": "cd ./frontend && npm run test:e2e",
- "test:accessibility": "cd ./frontend && npm run test:accessibility",
- "test:integration": "cd ./frontend && npm run test:integration",
- "test:unit": "cd ./frontend && npm run test:unit",
- "test:fix": "run-s test:fix-backend test:fix-frontend",
- "test:fix-backend": "cd ./backend && npm run test:fix",
- "test:fix-frontend": "cd ./frontend && npm run test:fix"
- },
- "dependencies": {
- "dotenv": "^8.2.0",
- "dotenv-expand": "^5.1.0",
- "npm-run-all": "^4.1.5",
- "prettier": "^2.2.1"
- }
-}
diff --git a/app/pom.xml b/app/pom.xml
new file mode 100644
index 00000000..1989c556
--- /dev/null
+++ b/app/pom.xml
@@ -0,0 +1,196 @@
+
+
+ 4.0.0
+ org.parasol
+ insurance-app
+ 1.0.0-SNAPSHOT
+
+ 3.26.0
+ 3.12.1
+ 17
+ UTF-8
+ UTF-8
+ 0.15.1
+ 1.0.0
+ 2.3.7
+ quarkus-bom
+ io.quarkus.platform
+ 3.11.0
+ true
+ 3.2.5
+
+
+
+
+ ${quarkus.platform.group-id}
+ ${quarkus.platform.artifact-id}
+ ${quarkus.platform.version}
+ pom
+ import
+
+
+ io.quarkiverse.langchain4j
+ quarkus-langchain4j-bom
+ ${quarkus.langchain4j.version}
+ pom
+ import
+
+
+
+
+
+ io.quarkus
+ quarkus-arc
+
+
+ io.quarkus
+ quarkus-rest-jackson
+
+
+ io.quarkiverse.langchain4j
+ quarkus-langchain4j-openai
+
+
+ io.quarkiverse.langchain4j
+ quarkus-langchain4j-ollama
+
+
+ io.quarkus
+ quarkus-websockets-next
+
+
+ io.quarkus
+ quarkus-jdbc-h2
+
+
+ io.quarkus
+ quarkus-hibernate-orm-panache
+
+
+ io.quarkiverse.quinoa
+ quarkus-quinoa
+ ${quarkus.quinoa.version}
+
+
+ io.quarkus
+ quarkus-junit5
+ test
+
+
+ io.quarkus
+ quarkus-junit5-mockito
+ test
+
+
+ io.quarkus
+ quarkus-panache-mock
+ test
+
+
+ io.rest-assured
+ rest-assured
+ test
+
+
+ io.quarkiverse.quinoa
+ quarkus-quinoa-testing
+ ${quarkus.quinoa.version}
+ test
+
+
+ io.quarkiverse.playwright
+ quarkus-playwright
+ ${quarkus.playwright.version}
+ test
+
+
+ org.assertj
+ assertj-core
+ ${assertj.version}
+ test
+
+
+ org.awaitility
+ awaitility
+ test
+
+
+
+
+
+ ${quarkus.platform.group-id}
+ quarkus-maven-plugin
+ ${quarkus.platform.version}
+ true
+
+
+
+ build
+ generate-code
+ generate-code-tests
+
+
+
+
+
+ maven-compiler-plugin
+ ${compiler-plugin.version}
+
+
+ -parameters
+
+
+
+
+ maven-surefire-plugin
+ ${surefire-plugin.version}
+
+
+ org.jboss.logmanager.LogManager
+ ${maven.home}
+
+
+ http://localhost:8081/api
+
+
+
+
+ maven-failsafe-plugin
+ ${surefire-plugin.version}
+
+
+
+ integration-test
+ verify
+
+
+
+
+
+ ${project.build.directory}/${project.build.finalName}-runner
+ org.jboss.logmanager.LogManager
+ ${maven.home}
+
+
+ http://localhost:8081/api
+
+
+
+
+
+
+
+ native
+
+
+ native
+
+
+
+ false
+ native
+
+
+
+
diff --git a/app/src/main/java/org/parasol/ai/ClaimService.java b/app/src/main/java/org/parasol/ai/ClaimService.java
new file mode 100644
index 00000000..05d7a630
--- /dev/null
+++ b/app/src/main/java/org/parasol/ai/ClaimService.java
@@ -0,0 +1,30 @@
+package org.parasol.ai;
+
+import jakarta.enterprise.context.SessionScoped;
+
+import org.parasol.model.ClaimBotQuery;
+
+import dev.langchain4j.service.SystemMessage;
+import dev.langchain4j.service.UserMessage;
+import io.quarkiverse.langchain4j.RegisterAiService;
+import io.smallrye.mutiny.Multi;
+
+@RegisterAiService
+@SessionScoped
+public interface ClaimService {
+ @SystemMessage("""
+ You are a helpful, respectful and honest assistant named "Parasol Assistant".
+ You will be given a claim summary, references to provide you with information, and a question. You must answer the question based as much as possible on this claim with the help of the references.
+ Always answer as helpfully as possible, while being safe. Your answers should not include any harmful, unethical, racist, sexist, toxic, dangerous, or illegal content. Please ensure that your responses are socially unbiased and positive in nature.
+
+ If a question does not make any sense, or is not factually coherent, explain why instead of answering something not correct. If you don't know the answer to a question, please don't share false information.
+ """
+ )
+ @UserMessage("""
+ Claim Summary:
+ {{query.claim}}
+
+ Question: {{query.query}}
+ """)
+ Multi chat(ClaimBotQuery query);
+}
diff --git a/app/src/main/java/org/parasol/model/Claim.java b/app/src/main/java/org/parasol/model/Claim.java
new file mode 100644
index 00000000..9e839de4
--- /dev/null
+++ b/app/src/main/java/org/parasol/model/Claim.java
@@ -0,0 +1,29 @@
+package org.parasol.model;
+
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+
+import io.quarkus.hibernate.orm.panache.PanacheEntity;
+
+import com.fasterxml.jackson.databind.PropertyNamingStrategies.SnakeCaseStrategy;
+import com.fasterxml.jackson.databind.annotation.JsonNaming;
+
+@Entity
+@JsonNaming(SnakeCaseStrategy.class)
+public class Claim extends PanacheEntity {
+ public String claimNumber;
+ public String category;
+ public String policyNumber;
+ public String clientName;
+ public String subject;
+ @Column(length = 5000)
+ public String body;
+ @Column(length = 5000)
+ public String summary;
+ public String location;
+ @Column(name = "claim_time")
+ public String time;
+ @Column(length = 5000)
+ public String sentiment;
+
+}
diff --git a/app/src/main/java/org/parasol/model/ClaimBotQuery.java b/app/src/main/java/org/parasol/model/ClaimBotQuery.java
new file mode 100644
index 00000000..d342f661
--- /dev/null
+++ b/app/src/main/java/org/parasol/model/ClaimBotQuery.java
@@ -0,0 +1,5 @@
+package org.parasol.model;
+
+public record ClaimBotQuery(String claim, String query) {
+
+}
diff --git a/app/src/main/java/org/parasol/model/ClaimBotQueryResponse.java b/app/src/main/java/org/parasol/model/ClaimBotQueryResponse.java
new file mode 100644
index 00000000..fc192b33
--- /dev/null
+++ b/app/src/main/java/org/parasol/model/ClaimBotQueryResponse.java
@@ -0,0 +1,5 @@
+package org.parasol.model;
+
+public record ClaimBotQueryResponse(String type, String token, String source) {
+
+}
diff --git a/app/src/main/java/org/parasol/resources/ClaimResource.java b/app/src/main/java/org/parasol/resources/ClaimResource.java
new file mode 100644
index 00000000..e00256d4
--- /dev/null
+++ b/app/src/main/java/org/parasol/resources/ClaimResource.java
@@ -0,0 +1,27 @@
+package org.parasol.resources;
+
+import java.util.List;
+
+import org.parasol.model.Claim;
+
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+
+@Produces(MediaType.APPLICATION_JSON)
+@Path("/api/db/claims")
+public class ClaimResource {
+
+ @GET
+ public List getall() {
+ return Claim.listAll();
+ }
+
+ @GET
+ @Path("/{id}")
+ public Claim getone(@PathParam("id") int id) {
+ return Claim.findById(id);
+ }
+}
diff --git a/app/src/main/java/org/parasol/resources/ClaimWebsocketChatBot.java b/app/src/main/java/org/parasol/resources/ClaimWebsocketChatBot.java
new file mode 100644
index 00000000..b54bb3c0
--- /dev/null
+++ b/app/src/main/java/org/parasol/resources/ClaimWebsocketChatBot.java
@@ -0,0 +1,42 @@
+package org.parasol.resources;
+
+import org.parasol.ai.ClaimService;
+import org.parasol.model.ClaimBotQuery;
+import org.parasol.model.ClaimBotQueryResponse;
+
+import io.quarkus.logging.Log;
+import io.quarkus.websockets.next.OnClose;
+import io.quarkus.websockets.next.OnOpen;
+import io.quarkus.websockets.next.OnTextMessage;
+import io.quarkus.websockets.next.WebSocket;
+import io.quarkus.websockets.next.WebSocketConnection;
+
+import io.smallrye.mutiny.Multi;
+
+@WebSocket(path = "/ws/query")
+public class ClaimWebsocketChatBot {
+ private final ClaimService bot;
+
+ public ClaimWebsocketChatBot(ClaimService bot) {
+ this.bot = bot;
+ }
+
+ @OnOpen
+ public void onOpen(WebSocketConnection connection) {
+ Log.infof("Websocket connection %s opened", connection.id());
+ }
+
+ @OnClose
+ public void onClose(WebSocketConnection connection) {
+ Log.infof("Websocket connection %s closed", connection.id());
+ }
+
+ @OnTextMessage
+ public Multi onMessage(ClaimBotQuery query) {
+ return bot.chat(query)
+ .invoke(response -> Log.debugf("Got chat response: %s", response))
+ .map(resp -> new ClaimBotQueryResponse("token", resp, ""));
+ }
+}
+
+
diff --git a/app/src/main/resources/application.properties b/app/src/main/resources/application.properties
new file mode 100644
index 00000000..616c68ca
--- /dev/null
+++ b/app/src/main/resources/application.properties
@@ -0,0 +1,36 @@
+# RAG
+# quarkus.langchain4j.easy-rag.path=src/main/resources/catalog
+
+# Default LangChain4J configuration
+quarkus.langchain4j.chat-model.provider=openai
+quarkus.langchain4j.log-requests=true
+quarkus.langchain4j.log-responses=true
+
+# OpenAI
+quarkus.langchain4j.openai.chat-model.temperature=0.3
+quarkus.langchain4j.openai.timeout=600s
+quarkus.langchain4j.openai.chat-model.model-name=merlinite-7b-lab-Q4_K_M
+quarkus.langchain4j.openai.base-url=http://localhost:8000/v1
+
+# Ollama
+quarkus.langchain4j.ollama.timeout=600s
+quarkus.langchain4j.ollama.model-id=llama3
+quarkus.langchain4j.ollama.chat-model.temperature=0.3
+
+quarkus.http.host=0.0.0.0
+quarkus.http.port=8005
+quarkus.http.cors=true
+quarkus.http.cors.origins=*
+quarkus.dev-ui.cors.enabled=false
+#%dev.quarkus.http.cors.origins=/.*/
+
+quarkus.hibernate-orm.physical-naming-strategy=org.hibernate.boot.model.naming.CamelCaseToUnderscoresNamingStrategy
+quarkus.log.category."org.parasol".level=DEBUG
+%dev,test.quarkus.log.console.level=DEBUG
+
+# Quinoa
+quarkus.quinoa.package-manager-install=true
+quarkus.quinoa.package-manager-install.node-version=22.2.0
+quarkus.quinoa.package-manager-install.npm-version=10.8.1
+quarkus.quinoa.build-dir=dist
+quarkus.quinoa.enable-spa-routing=true
diff --git a/lab-materials/05/app/sql-script-configmap.yaml b/app/src/main/resources/import.sql
similarity index 59%
rename from lab-materials/05/app/sql-script-configmap.yaml
rename to app/src/main/resources/import.sql
index 47ddfbde..67000fb1 100644
--- a/lab-materials/05/app/sql-script-configmap.yaml
+++ b/app/src/main/resources/import.sql
@@ -1,172 +1,46 @@
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: sql-script-configmap
- annotations:
- argocd.argoproj.io/sync-wave: "1"
-data:
- script.sql: |
- CREATE SCHEMA IF NOT EXISTS claims
- AUTHORIZATION claimdb;
-
- DROP TABLE IF EXISTS claims.claims CASCADE;
- DROP TABLE IF EXISTS claims.original_images CASCADE;
- DROP TABLE IF EXISTS claims.processed_images CASCADE;
- DROP SEQUENCE IF EXISTS claims.claims_id_seq CASCADE;
- DROP SEQUENCE IF EXISTS claims.original_images_id_seq CASCADE;
- DROP SEQUENCE IF EXISTS claims.processed_images_id_seq CASCADE;
-
- -- SEQUENCE: claims.claims_id_seq
-
- CREATE SEQUENCE IF NOT EXISTS claims.claims_id_seq
- INCREMENT 1
- START 1
- MINVALUE 1
- MAXVALUE 2147483647
- CACHE 1;
-
- -- Table: claims.claims
-
- CREATE TABLE IF NOT EXISTS claims.claims
- (
- id integer NOT NULL DEFAULT nextval('claims.claims_id_seq'::regclass),
- claim_number text COLLATE pg_catalog."default",
- category text COLLATE pg_catalog."default",
- policy_number text COLLATE pg_catalog."default",
- client_name text COLLATE pg_catalog."default",
- subject text COLLATE pg_catalog."default",
- body text COLLATE pg_catalog."default",
- summary text COLLATE pg_catalog."default",
- location text COLLATE pg_catalog."default",
- "time" text COLLATE pg_catalog."default",
- sentiment text COLLATE pg_catalog."default",
- CONSTRAINT claims_pkey PRIMARY KEY (id)
- )
- WITH (
- OIDS = FALSE
- )
- TABLESPACE pg_default;
-
- -- Link Table to Sequence
-
- ALTER SEQUENCE claims.claims_id_seq
- OWNED BY claims.claims.id;
-
- -- SEQUENCE: claims.original_images_id_seq
-
- CREATE SEQUENCE IF NOT EXISTS claims.original_images_id_seq
- INCREMENT 1
- START 1
- MINVALUE 1
- MAXVALUE 2147483647
- CACHE 1;
-
- -- Table: claims.original_images
-
- CREATE TABLE IF NOT EXISTS claims.original_images
- (
- id integer NOT NULL DEFAULT nextval('claims.original_images_id_seq'::regclass),
- image_name text COLLATE pg_catalog."default" NOT NULL,
- image_key text COLLATE pg_catalog."default" NOT NULL,
- claim_id integer NOT NULL,
- CONSTRAINT original_images_pkey PRIMARY KEY (id),
- CONSTRAINT fk_claim_id FOREIGN KEY (claim_id)
- REFERENCES claims.claims (id) MATCH SIMPLE
- ON UPDATE CASCADE
- ON DELETE CASCADE
- )
- WITH (
- OIDS = FALSE
- )
- TABLESPACE pg_default;
-
- -- Link Table to Sequence
-
- ALTER SEQUENCE claims.original_images_id_seq
- OWNED BY claims.original_images.id;
-
- -- SEQUENCE: claims.processed_images_id_seq
-
- CREATE SEQUENCE IF NOT EXISTS claims.processed_images_id_seq
- INCREMENT 1
- START 1
- MINVALUE 1
- MAXVALUE 2147483647
- CACHE 1;
-
- -- Table: claims.processed_images
-
- CREATE TABLE IF NOT EXISTS claims.processed_images
- (
- id integer NOT NULL DEFAULT nextval('claims.processed_images_id_seq'::regclass),
- image_name text COLLATE pg_catalog."default" NOT NULL,
- image_key text COLLATE pg_catalog."default" NOT NULL,
- claim_id integer NOT NULL,
- CONSTRAINT processed_images_pkey PRIMARY KEY (id),
- CONSTRAINT fk_claim_id FOREIGN KEY (claim_id)
- REFERENCES claims.claims (id) MATCH SIMPLE
- ON UPDATE CASCADE
- ON DELETE CASCADE
- )
- WITH (
- OIDS = FALSE
- )
- TABLESPACE pg_default;
-
- -- Link Table to Sequence
-
- ALTER SEQUENCE claims.processed_images_id_seq
- OWNED BY claims.processed_images.id;
-
- -----
- -- INSERTS
- -----
- -- CLAIM1
-
- INSERT INTO claims.claims (claim_number, category, policy_number, client_name, subject, body, summary, location, time, sentiment)
- VALUES ('CLM202401', 'Multiple vehicle', 'AC-987654321', 'Sarah Turner','Claim for Recent Car Accident - Policy Number: AC-987654321', '
+INSERT INTO claim(id, claim_number,category,policy_number,client_name,subject, body, summary, location, claim_time, sentiment)
+ VALUES (1, 'CLM195501', 'Multiple vehicle', 'AC-987654321', 'Marty McFly','Claim for Recent Car Accident - Policy Number: AC-987654321', '
Dear Parasol Insurance,
-
- I hope this email finds you well. My name is Sarah Turner, and I am writing to file a claim for a recent car accident that occurred on January 2nd, 2024, at approximately 3:30 PM. My policy number is AC-987654321.
- The accident took place at the intersection of Birch Street and Willow Avenue in the city of Evergreen. I was driving my vehicle, a black Toyota Camry with license plate number DEF-456, heading south on Birch Street. At the intersection, the traffic signal was green, and I proceeded through the intersection.
+ I hope this email finds you well. My name is Marty McFly, and I am writing to file a claim for a recent car accident that occurred on January 2nd, 1955, at approximately 3:30 PM. My policy number is AC-987654321.
- At the same time, another vehicle, a blue Chevrolet Traverse with license plate number GHI-789, was traveling west on Willow Avenue. Unfortunately, the driver failed to stop at the red traffic signal, resulting in a collision with the front passenger side of my vehicle.
+ The accident took place at the intersection of Colima Road and Azusa Avenue in the city of Hill Valley. I was driving my vehicle, a silver Delorean DMC-12 with license plate number OUTA-TIME, heading south on Colima Road at approximately 88 mph. At the intersection, the traffic signal was green, and I proceeded through the intersection.
- The impact caused significant damage to both vehicles. The front bumper and right headlight of my Toyota Camry are extensively damaged, and there are also damages to the front driver''s side of the Chevrolet Traverse. Fortunately, no injuries were sustained during the accident, and both drivers were able to move their vehicles to the side of the road.
+ At the same time, another vehicle, a blue Type 2 Volkswagen Bus with license plate number BIF-RULZ, was traveling west on Azusa Avenue. Unfortunately, the driver failed to stop at the red traffic signal, resulting in a collision with the front passenger side of my vehicle.
- I promptly exchanged information with the other driver, Mr. Daniel Reynolds, including our names, phone numbers, insurance details, and a brief description of the accident. Additionally, I took photos of the accident scene, including the damages to both vehicles and the position of the traffic signal.
+ The impact caused significant damage to both vehicles. The front bumper and right headlight of my Delorean are extensively damaged, and the collision cause irreparable damage to the flux capacitor and driver''s side gull-wing door mechanism. There are also damages to the front driver''s side of the Volkswagen Bus. Fortunately, no injuries were sustained during the accident, and both drivers were able to move their vehicles to the side of the road.
- I have attached the necessary documents to this email, including the photos, a copy of the police report filed at the Evergreen Police Department, and the estimate for the repair costs from Evergreen Auto Repair, where I have taken my vehicle for assessment.
+ I promptly exchanged information with the other driver, Mr. Biff Tanner, including our names, phone numbers, insurance details, and a brief description of the accident. Additionally, I took photos of the accident scene, including the damages to both vehicles and the position of the traffic signal.
- I kindly request your prompt attention to this matter and would appreciate any guidance on the next steps in the claims process. If you require any additional information or documentation, please do not hesitate to contact me at (555) 123-4567 or sarah.turner@email.com.
+ I have attached the necessary documents to this email, including the photos, a copy of the police report filed at the Hill Valley Police Department, and the estimate for the repair costs from Hill Valley Auto Repair, where I have taken my vehicle for assessment.
+
+ I kindly request your prompt attention to this matter and would appreciate any guidance on the next steps in the claims process. If you require any additional information or documentation, please do not hesitate to contact me at (916) 555-4385 or marty.mcfly@email.com.
Thank you for your assistance, and I look forward to a swift resolution of this claim.
Sincerely,
- Sarah Turner
- 123 Oak Street
- Evergreen, CA 98765
- (555) 123-4567
- sarah.turner@email.com
+
+ Marty McFly
+ 9303 Lyon Drive
+ Hill Valley, CA 95420
+ (916) 555-4385
+ marty.mcfly@email.com
',
'
- On January 2, 2024, at around 3:30 PM, a car accident occurred at the intersection of Birch Street and Willow Avenue in Evergreen. The involved parties were Sarah Turner, driving a black Toyota Camry (DEF-456), and Daniel Reynolds in a blue Chevrolet Traverse (GHI-789).
+ On January 2nd, 1955, at around 3:30 PM, a car accident occurred at the intersection of Colima Road and Azusa Avenue in Hill Vallet. The involved parties were Marty McFly, driving a silver Delorean DMC-12 (OUTA-TIME), and Biff Tanner in a blue Type 2 Volkswagen Bus (BIF-RULZ).
- Sarah was heading south on Birch Street when Daniel failed to stop at the red traffic signal on Willow Avenue, causing a collision with Sarah''s vehicle. Both drivers exchanged information and took photos of the accident scene, which included damages to the front passenger side of Sarah''s Toyota Camry and the front driver''s side of Daniel''s Chevrolet Traverse. No injuries were reported.
+ Marty was heading south on Colima Road when Biff failed to stop at the red traffic signal on Asuza Avenue, causing a collision with Marty''s vehicle. Both drivers exchanged information and took photos of the accident scene, which included damages to the front driver and passenger side of Marty''s Delorean DMC-12 and the front driver''s side of Biff''s Volkswagen Bus. No injuries were reported.
- Sarah has attached necessary documents, such as photos, a police report, and an estimate for repair costs, to her email. She requests prompt attention to the claim and is available at (555) 123-4567 or sarah.turner@email.com for any additional information or documentation needed.
+ Marty has attached necessary documents, such as photos, a police report, and an estimate for repair costs, to his email. He requests prompt attention to the claim and is available at (916) 555-4385 or marty.mcfly@email.com for any additional information or documentation needed.
',
- 'Intersection of Birch Street and Willow Avenue in the city of Evergreen',
- 'January 2nd, 2024, at approximately 3:30 PM',
- 'The sender, Sarah Turner, expresses a polite and professional tone in her email. She is respectful and detailed in her description of the car accident and the subsequent steps she took to file a claim. She requests prompt attention to the matter and provides all necessary documentation. Overall, her sentiment is one of being proactive and cooperative in the claims process.'
+ 'Intersection of Colima Road and Asuza Avenue in the city of Hill Valley',
+ 'January 2nd, 1955, at approximately 3:30 PM',
+ 'The sender, Marty McFly, expresses a polite and professional tone in his email. He is respectful and detailed in his description of the car accident and the subsequent steps he took to file a claim. He requests prompt attention to the matter and provides all necessary documentation. Overall, his sentiment is one of being proactive and cooperative in the claims process.'
);
- -- CLAIM2
-
- INSERT INTO claims.claims (claim_number, category, policy_number, client_name, subject, body, summary, location, time, sentiment)
- VALUES ('CLM202402', 'Multiple vehicle', 'PT-567890', 'John T. Anderson','Urgent: Unacceptable Delay and Lack of Communication Regarding Claim #XYZ789', '
+INSERT INTO claim(id, claim_number,category,policy_number,client_name,subject, body, summary, location, claim_time, sentiment)
+ VALUES (2, 'CLM202402', 'Multiple vehicle', 'PT-567890', 'John T. Anderson','Urgent: Unacceptable Delay and Lack of Communication Regarding Claim #XYZ789', '
Dear Parasol Insurances,
I am writing to express my extreme dissatisfaction with the appalling service I have received concerning my recent claim, reference number #XYZ789. The lack of communication and delayed response from your company is utterly unacceptable, and I demand immediate attention to rectify this matter.
@@ -196,11 +70,8 @@ data:
'January 15, 2024, at approximately 3:45 PM',
'The sender of this claim is expressing extreme dissatisfaction with the handling of their insurance claim by Parasol Insurances. They are frustrated with the lack of communication and the significant delay in processing their claim. The tone of the message is demanding and assertive, with the sender threatening to escalate the matter if their concerns are not addressed promptly.'
);
-
- -- CLAIM3
-
- INSERT INTO claims.claims (claim_number, category, policy_number, client_name, subject, body, summary, location, time, sentiment)
- VALUES ('CLM502803', 'Multiple vehicle', 'AC-987654', 'Jane Doe','Urgent: Car Accident Claim Assistance Needed', '
+INSERT INTO claim(id, claim_number,category,policy_number,client_name,subject, body, summary, location, claim_time, sentiment)
+ VALUES (3, 'CLM502803', 'Multiple vehicle', 'AC-987654', 'Jane Doe','Urgent: Car Accident Claim Assistance Needed', '
Dear Parasol Inc.,
I hope this email finds you well. I''m writing to, uh, inform you about, well, something that happened recently. It''s, um, about a car accident, and I''m not really sure how to, you know, go about all this. I''m kinda anxious and confused, to be honest.
@@ -230,10 +101,8 @@ data:
''
);
- -- CLAIM4
-
- INSERT INTO claims.claims (claim_number, category, policy_number, client_name, subject, body, summary, location, time, sentiment)
- VALUES ('CLM202415', 'Single vehicle', 'BK-5165426', 'Dominic Toretto','Claim for Car Accident - Policy #: BK-5165426', '
+INSERT INTO claim(id, claim_number,category,policy_number,client_name,subject, body, summary, location, claim_time, sentiment)
+ VALUES (4, 'CLM202415', 'Single vehicle', 'BK-5165426', 'Dominic Toretto','Claim for Car Accident - Policy #: BK-5165426', '
Dear Parasol Insurance Team,
I hope this email finds you well. I''m reaching out to file a claim regarding a recent incident involving my car, which is covered under my policy with Parasol. The accident occurred last night on the streets of Los Angeles, and I wanted to provide you with all the necessary details.
@@ -265,10 +134,8 @@ data:
'The person sending the claim, identified as Dominic Toretto, expresses a positive sentiment towards Parasol Insurance and his expectation of them handling his claim efficiently. However, the tone of the email is also boastful and exaggerated, describing an unlikely series of events involving a car accident and a high-speed chase. Despite the unconventional circumstances, Dominic expresses confidence in Parasol''s ability to help him get his car repaired.'
);
- -- CLAIM5
-
- INSERT INTO claims.claims (claim_number, category, policy_number, client_name, subject, body, summary, location, time, sentiment)
- VALUES ('CLM52125', 'Multiple vehicle', 'AC-418324', 'Saul Goodman', 'Where is My Money? Urgent Attention Needed for My Car Accident Claim', '
+INSERT INTO claim(id, claim_number,category,policy_number,client_name,subject, body, summary, location, claim_time, sentiment)
+ VALUES (5, 'CLM52125', 'Multiple vehicle', 'AC-418324', 'Saul Goodman', 'Where is My Money? Urgent Attention Needed for My Car Accident Claim', '
Dear Stoneheart Insurance Claims Department,
I am absolutely *thrilled* (read: infuriated) to be writing yet another heartfelt missive to the void that is your customer service. My recent car accident claim has vanished into the ether, much like my patience and the professionalism I expected from your company. How about we resolve this before the next ice age?
@@ -293,8 +160,8 @@ data:
'The sentiment of the person sending this claim is one of frustration and urgency. They are expressing dissatisfaction with the delay in processing their car accident claim and threatening further action if it is not resolved promptly.'
);
- INSERT INTO claims.claims (claim_number, category, policy_number, client_name, subject, body, summary, location, time, sentiment)
- VALUES ('CLM605208', 'Multiple vehicle', 'AC-768901', 'Tyrion Lannister', 'Urgent Claim Review Required: Collision in King''s Landing', '
+INSERT INTO claim(id, claim_number,category,policy_number,client_name,subject, body, summary, location, claim_time, sentiment)
+ VALUES (6, 'CLM605208', 'Multiple vehicle', 'AC-768901', 'Tyrion Lannister', 'Urgent Claim Review Required: Collision in King''s Landing', '
Dear Westeros Insurance Claims Department,
This correspondence is from Tyrion Lannister, currently not in a tavern but rather dealing with the aftermath of an unpleasant vehicular incident. As a man known for resolving conflicts, I find myself ironically embroiled in one that requires your immediate attention.
@@ -319,19 +186,7 @@ data:
''
);
- -- IMAGES
- INSERT INTO claims.original_images (image_name, image_key, claim_id) VALUES ('car0.jpg', 'original_images/car0.jpg', 1);
- INSERT INTO claims.original_images (image_name, image_key, claim_id) VALUES ('car1.jpg', 'original_images/car1.jpg', 1);
- INSERT INTO claims.original_images (image_name, image_key, claim_id) VALUES ('car2.jpg', 'original_images/car2.jpg', 2);
- INSERT INTO claims.original_images (image_name, image_key, claim_id) VALUES ('car3.jpg', 'original_images/car3.jpg', 3);
- INSERT INTO claims.original_images (image_name, image_key, claim_id) VALUES ('car5.jpg', 'original_images/car5.jpg', 3);
- INSERT INTO claims.original_images (image_name, image_key, claim_id) VALUES ('car6.jpg', 'original_images/car6.jpg', 3);
- INSERT INTO claims.processed_images (image_name, image_key, claim_id) VALUES ('car0-processed.jpg', 'processed_images/car0-processed.jpg', 1);
- INSERT INTO claims.processed_images (image_name, image_key, claim_id) VALUES ('car1-processed.jpg', 'processed_images/car1-processed.jpg', 1);
- INSERT INTO claims.processed_images (image_name, image_key, claim_id) VALUES ('car2-processed.jpg', 'processed_images/car2-processed.jpg', 2);
- INSERT INTO claims.processed_images (image_name, image_key, claim_id) VALUES ('car3-processed.jpg', 'processed_images/car3-processed.jpg', 3);
- INSERT INTO claims.processed_images (image_name, image_key, claim_id) VALUES ('car5-processed.jpg', 'processed_images/car5-processed.jpg', 3);
- INSERT INTO claims.processed_images (image_name, image_key, claim_id) VALUES ('car6-processed.jpg', 'processed_images/car6-processed.jpg', 3);
+ALTER SEQUENCE claim_seq RESTART WITH 7;
\ No newline at end of file
diff --git a/app/frontend/.editorconfig b/app/src/main/webui/.editorconfig
similarity index 100%
rename from app/frontend/.editorconfig
rename to app/src/main/webui/.editorconfig
diff --git a/app/frontend/.eslintrc.js b/app/src/main/webui/.eslintrc.js
similarity index 100%
rename from app/frontend/.eslintrc.js
rename to app/src/main/webui/.eslintrc.js
diff --git a/app/frontend/.gitignore b/app/src/main/webui/.gitignore
similarity index 100%
rename from app/frontend/.gitignore
rename to app/src/main/webui/.gitignore
diff --git a/app/frontend/.prettierignore b/app/src/main/webui/.prettierignore
similarity index 100%
rename from app/frontend/.prettierignore
rename to app/src/main/webui/.prettierignore
diff --git a/app/frontend/.prettierrc b/app/src/main/webui/.prettierrc
similarity index 100%
rename from app/frontend/.prettierrc
rename to app/src/main/webui/.prettierrc
diff --git a/app/frontend/README.md b/app/src/main/webui/README.md
similarity index 100%
rename from app/frontend/README.md
rename to app/src/main/webui/README.md
diff --git a/app/frontend/babel.config.js b/app/src/main/webui/babel.config.js
similarity index 100%
rename from app/frontend/babel.config.js
rename to app/src/main/webui/babel.config.js
diff --git a/app/frontend/dr-surge.js b/app/src/main/webui/dr-surge.js
similarity index 100%
rename from app/frontend/dr-surge.js
rename to app/src/main/webui/dr-surge.js
diff --git a/app/frontend/jest.config.js b/app/src/main/webui/jest.config.js
similarity index 100%
rename from app/frontend/jest.config.js
rename to app/src/main/webui/jest.config.js
diff --git a/app/frontend/package-lock.json b/app/src/main/webui/package-lock.json
similarity index 100%
rename from app/frontend/package-lock.json
rename to app/src/main/webui/package-lock.json
diff --git a/app/frontend/package.json b/app/src/main/webui/package.json
similarity index 100%
rename from app/frontend/package.json
rename to app/src/main/webui/package.json
diff --git a/app/frontend/scripts/dotenv.js b/app/src/main/webui/scripts/dotenv.js
similarity index 100%
rename from app/frontend/scripts/dotenv.js
rename to app/src/main/webui/scripts/dotenv.js
diff --git a/app/frontend/src/app/app.css b/app/src/main/webui/src/app/app.css
similarity index 100%
rename from app/frontend/src/app/app.css
rename to app/src/main/webui/src/app/app.css
diff --git a/app/frontend/src/app/app.test.tsx b/app/src/main/webui/src/app/app.test.tsx
similarity index 100%
rename from app/frontend/src/app/app.test.tsx
rename to app/src/main/webui/src/app/app.test.tsx
diff --git a/app/frontend/src/app/assets/bgimages/Logo-Red_Hat-OpenShift_AI-A-Reverse-RGB.svg b/app/src/main/webui/src/app/assets/bgimages/Logo-Red_Hat-OpenShift_AI-A-Reverse-RGB.svg
similarity index 100%
rename from app/frontend/src/app/assets/bgimages/Logo-Red_Hat-OpenShift_AI-A-Reverse-RGB.svg
rename to app/src/main/webui/src/app/assets/bgimages/Logo-Red_Hat-OpenShift_AI-A-Reverse-RGB.svg
diff --git a/app/frontend/src/app/assets/bgimages/avatar-user.svg b/app/src/main/webui/src/app/assets/bgimages/avatar-user.svg
similarity index 100%
rename from app/frontend/src/app/assets/bgimages/avatar-user.svg
rename to app/src/main/webui/src/app/assets/bgimages/avatar-user.svg
diff --git a/app/frontend/src/app/assets/bgimages/car1.jpg b/app/src/main/webui/src/app/assets/bgimages/car1.jpg
similarity index 100%
rename from app/frontend/src/app/assets/bgimages/car1.jpg
rename to app/src/main/webui/src/app/assets/bgimages/car1.jpg
diff --git a/app/frontend/src/app/assets/bgimages/orb.svg b/app/src/main/webui/src/app/assets/bgimages/orb.svg
similarity index 100%
rename from app/frontend/src/app/assets/bgimages/orb.svg
rename to app/src/main/webui/src/app/assets/bgimages/orb.svg
diff --git a/app/frontend/src/app/assets/bgimages/parasol-icon.svg b/app/src/main/webui/src/app/assets/bgimages/parasol-icon.svg
similarity index 100%
rename from app/frontend/src/app/assets/bgimages/parasol-icon.svg
rename to app/src/main/webui/src/app/assets/bgimages/parasol-icon.svg
diff --git a/app/frontend/src/app/assets/bgimages/parasol-logo.svg b/app/src/main/webui/src/app/assets/bgimages/parasol-logo.svg
similarity index 100%
rename from app/frontend/src/app/assets/bgimages/parasol-logo.svg
rename to app/src/main/webui/src/app/assets/bgimages/parasol-logo.svg
diff --git a/app/frontend/src/app/assets/bgimages/shield-halved-icon.svg b/app/src/main/webui/src/app/assets/bgimages/shield-halved-icon.svg
similarity index 100%
rename from app/frontend/src/app/assets/bgimages/shield-halved-icon.svg
rename to app/src/main/webui/src/app/assets/bgimages/shield-halved-icon.svg
diff --git a/app/frontend/src/app/assets/bgimages/vecteezy_wavy-hair-young-girl-face-illustration-design_9280368.svg b/app/src/main/webui/src/app/assets/bgimages/vecteezy_wavy-hair-young-girl-face-illustration-design_9280368.svg
similarity index 100%
rename from app/frontend/src/app/assets/bgimages/vecteezy_wavy-hair-young-girl-face-illustration-design_9280368.svg
rename to app/src/main/webui/src/app/assets/bgimages/vecteezy_wavy-hair-young-girl-face-illustration-design_9280368.svg
diff --git a/bootstrap/ic-shared-database/images/processed_images/car0-processed.jpg b/app/src/main/webui/src/app/assets/images/car0-processed.jpg
similarity index 100%
rename from bootstrap/ic-shared-database/images/processed_images/car0-processed.jpg
rename to app/src/main/webui/src/app/assets/images/car0-processed.jpg
diff --git a/app/src/main/webui/src/app/assets/images/car1-processed.jpg b/app/src/main/webui/src/app/assets/images/car1-processed.jpg
new file mode 100644
index 00000000..127b13f1
Binary files /dev/null and b/app/src/main/webui/src/app/assets/images/car1-processed.jpg differ
diff --git a/app/frontend/src/app/assets/images/car1.jpg b/app/src/main/webui/src/app/assets/images/car1.jpg
similarity index 100%
rename from app/frontend/src/app/assets/images/car1.jpg
rename to app/src/main/webui/src/app/assets/images/car1.jpg
diff --git a/bootstrap/ic-shared-database/images/processed_images/car2-processed.jpg b/app/src/main/webui/src/app/assets/images/car2-processed.jpg
similarity index 100%
rename from bootstrap/ic-shared-database/images/processed_images/car2-processed.jpg
rename to app/src/main/webui/src/app/assets/images/car2-processed.jpg
diff --git a/app/frontend/src/app/assets/images/car2.jpg b/app/src/main/webui/src/app/assets/images/car2.jpg
similarity index 100%
rename from app/frontend/src/app/assets/images/car2.jpg
rename to app/src/main/webui/src/app/assets/images/car2.jpg
diff --git a/bootstrap/ic-shared-database/images/processed_images/car3-processed.jpg b/app/src/main/webui/src/app/assets/images/car3-processed.jpg
similarity index 100%
rename from bootstrap/ic-shared-database/images/processed_images/car3-processed.jpg
rename to app/src/main/webui/src/app/assets/images/car3-processed.jpg
diff --git a/app/frontend/src/app/assets/images/car3.jpg b/app/src/main/webui/src/app/assets/images/car3.jpg
similarity index 100%
rename from app/frontend/src/app/assets/images/car3.jpg
rename to app/src/main/webui/src/app/assets/images/car3.jpg
diff --git a/bootstrap/ic-shared-database/images/processed_images/car6-processed.jpg b/app/src/main/webui/src/app/assets/images/car4-processed.jpg
similarity index 100%
rename from bootstrap/ic-shared-database/images/processed_images/car6-processed.jpg
rename to app/src/main/webui/src/app/assets/images/car4-processed.jpg
diff --git a/bootstrap/ic-shared-database/images/processed_images/car5-processed.jpg b/app/src/main/webui/src/app/assets/images/car5-processed.jpg
similarity index 100%
rename from bootstrap/ic-shared-database/images/processed_images/car5-processed.jpg
rename to app/src/main/webui/src/app/assets/images/car5-processed.jpg
diff --git a/app/src/main/webui/src/app/assets/images/car6-processed.jpg b/app/src/main/webui/src/app/assets/images/car6-processed.jpg
new file mode 100644
index 00000000..50a2fbc7
Binary files /dev/null and b/app/src/main/webui/src/app/assets/images/car6-processed.jpg differ
diff --git a/app/frontend/src/app/assets/images/new_car1.png b/app/src/main/webui/src/app/assets/images/new_car1.png
similarity index 100%
rename from app/frontend/src/app/assets/images/new_car1.png
rename to app/src/main/webui/src/app/assets/images/new_car1.png
diff --git a/app/frontend/src/app/assets/images/new_car2.png b/app/src/main/webui/src/app/assets/images/new_car2.png
similarity index 100%
rename from app/frontend/src/app/assets/images/new_car2.png
rename to app/src/main/webui/src/app/assets/images/new_car2.png
diff --git a/app/frontend/src/app/assets/images/new_car3.png b/app/src/main/webui/src/app/assets/images/new_car3.png
similarity index 100%
rename from app/frontend/src/app/assets/images/new_car3.png
rename to app/src/main/webui/src/app/assets/images/new_car3.png
diff --git a/bootstrap/ic-shared-database/images/original_images/car0.jpg b/app/src/main/webui/src/app/assets/images/original_car0.jpg
similarity index 100%
rename from bootstrap/ic-shared-database/images/original_images/car0.jpg
rename to app/src/main/webui/src/app/assets/images/original_car0.jpg
diff --git a/app/src/main/webui/src/app/assets/images/original_car1.jpg b/app/src/main/webui/src/app/assets/images/original_car1.jpg
new file mode 100644
index 00000000..13327a69
Binary files /dev/null and b/app/src/main/webui/src/app/assets/images/original_car1.jpg differ
diff --git a/bootstrap/ic-shared-database/images/original_images/car2.jpg b/app/src/main/webui/src/app/assets/images/original_car2.jpg
similarity index 100%
rename from bootstrap/ic-shared-database/images/original_images/car2.jpg
rename to app/src/main/webui/src/app/assets/images/original_car2.jpg
diff --git a/bootstrap/ic-shared-database/images/original_images/car3.jpg b/app/src/main/webui/src/app/assets/images/original_car3.jpg
similarity index 100%
rename from bootstrap/ic-shared-database/images/original_images/car3.jpg
rename to app/src/main/webui/src/app/assets/images/original_car3.jpg
diff --git a/bootstrap/ic-shared-database/images/original_images/car6.jpg b/app/src/main/webui/src/app/assets/images/original_car4.jpg
similarity index 100%
rename from bootstrap/ic-shared-database/images/original_images/car6.jpg
rename to app/src/main/webui/src/app/assets/images/original_car4.jpg
diff --git a/bootstrap/ic-shared-database/images/original_images/car5.jpg b/app/src/main/webui/src/app/assets/images/original_car5.jpg
similarity index 100%
rename from bootstrap/ic-shared-database/images/original_images/car5.jpg
rename to app/src/main/webui/src/app/assets/images/original_car5.jpg
diff --git a/app/src/main/webui/src/app/assets/images/original_car6.jpg b/app/src/main/webui/src/app/assets/images/original_car6.jpg
new file mode 100644
index 00000000..105f3a4b
Binary files /dev/null and b/app/src/main/webui/src/app/assets/images/original_car6.jpg differ
diff --git a/app/src/main/webui/src/app/assets/images/sample.png b/app/src/main/webui/src/app/assets/images/sample.png
new file mode 100644
index 00000000..69d3bc0d
Binary files /dev/null and b/app/src/main/webui/src/app/assets/images/sample.png differ
diff --git a/app/frontend/src/app/components/AppLayout/AppLayout.tsx b/app/src/main/webui/src/app/components/AppLayout/AppLayout.tsx
similarity index 100%
rename from app/frontend/src/app/components/AppLayout/AppLayout.tsx
rename to app/src/main/webui/src/app/components/AppLayout/AppLayout.tsx
diff --git a/app/frontend/src/app/components/Chat/Chat.tsx b/app/src/main/webui/src/app/components/Chat/Chat.tsx
similarity index 100%
rename from app/frontend/src/app/components/Chat/Chat.tsx
rename to app/src/main/webui/src/app/components/Chat/Chat.tsx
diff --git a/app/frontend/src/app/components/ClaimDetail/ClaimDetail.tsx b/app/src/main/webui/src/app/components/ClaimDetail/ClaimDetail.tsx
similarity index 95%
rename from app/frontend/src/app/components/ClaimDetail/ClaimDetail.tsx
rename to app/src/main/webui/src/app/components/ClaimDetail/ClaimDetail.tsx
index 3da7accd..4d54764c 100644
--- a/app/frontend/src/app/components/ClaimDetail/ClaimDetail.tsx
+++ b/app/src/main/webui/src/app/components/ClaimDetail/ClaimDetail.tsx
@@ -21,6 +21,11 @@ const ClaimDetail: React.FunctionComponent = () => {
React.useEffect(() => {
axios.get(config.backend_api_url + `/db/claims/${claim_id}`)
.then((response) => {
+ response.data.original_images = [{image_name: `images/original_car${claim_id}.jpg`, image_key: `src/app/assets/images/original_car${claim_id}.jpg`, claim_id: `${claim_id}`}];
+ response.data.processed_images = [{image_name: `images/car${claim_id}-processed.jpg`, image_key: `src/app/assets/images/car${claim_id}-processed.jpg`, claim_id: `${claim_id}`}];
+ //image_name, image_key, claim_id
+ console.log(`images for ${claim_id}`);
+ console.log(response.data);
setClaim(response.data);
})
.catch(error => {
diff --git a/app/frontend/src/app/components/ClaimsList/ClaimsList.tsx b/app/src/main/webui/src/app/components/ClaimsList/ClaimsList.tsx
similarity index 100%
rename from app/frontend/src/app/components/ClaimsList/ClaimsList.tsx
rename to app/src/main/webui/src/app/components/ClaimsList/ClaimsList.tsx
diff --git a/app/frontend/src/app/components/Empty/Empty.tsx b/app/src/main/webui/src/app/components/Empty/Empty.tsx
similarity index 100%
rename from app/frontend/src/app/components/Empty/Empty.tsx
rename to app/src/main/webui/src/app/components/Empty/Empty.tsx
diff --git a/app/frontend/src/app/components/ImageCarousel/ImageCarousel.tsx b/app/src/main/webui/src/app/components/ImageCarousel/ImageCarousel.tsx
similarity index 80%
rename from app/frontend/src/app/components/ImageCarousel/ImageCarousel.tsx
rename to app/src/main/webui/src/app/components/ImageCarousel/ImageCarousel.tsx
index 88cb5c86..376ae522 100644
--- a/app/frontend/src/app/components/ImageCarousel/ImageCarousel.tsx
+++ b/app/src/main/webui/src/app/components/ImageCarousel/ImageCarousel.tsx
@@ -14,13 +14,14 @@ interface ImageCarouselProps {
const ImageCarousel: React.FunctionComponent = ({ images }) => {
const transformedImages = images.map(image => ({
- original: config.backend_api_url + "/images/" + image.image_key,
- thumbnail: config.backend_api_url + "/images/" + image.image_key,
+ original: "/images/" + image.image_key,
+ thumbnail: "/images/" + image.image_key,
thumbnailClass: "image-gallery-thumbnail",
originalClass: "image-gallery-original",
originalAlt: image.image_key,
thumbnailAlt: image.image_key,
}));
+ console.log("transformed images: " + transformedImages);
return (
);
diff --git a/app/frontend/src/app/components/NotFound/NotFound.tsx b/app/src/main/webui/src/app/components/NotFound/NotFound.tsx
similarity index 100%
rename from app/frontend/src/app/components/NotFound/NotFound.tsx
rename to app/src/main/webui/src/app/components/NotFound/NotFound.tsx
diff --git a/app/frontend/src/app/components/OriginalApp/OriginalApp.tsx b/app/src/main/webui/src/app/components/OriginalApp/OriginalApp.tsx
similarity index 89%
rename from app/frontend/src/app/components/OriginalApp/OriginalApp.tsx
rename to app/src/main/webui/src/app/components/OriginalApp/OriginalApp.tsx
index 8a5e5831..66ad33e8 100644
--- a/app/frontend/src/app/components/OriginalApp/OriginalApp.tsx
+++ b/app/src/main/webui/src/app/components/OriginalApp/OriginalApp.tsx
@@ -3,6 +3,20 @@ import { Page, PageSection, TextContent, Text, TextVariants, Title, Tabs, Tab }
import car1 from '@app/assets/images/car1.jpg';
import car2 from '@app/assets/images/car2.jpg';
import car3 from '@app/assets/images/car3.jpg';
+import ocar0 from '@app/assets/images/original_car0.jpg';
+import ocar1 from '@app/assets/images/original_car1.jpg';
+import ocar2 from '@app/assets/images/original_car2.jpg';
+import ocar3 from '@app/assets/images/original_car3.jpg';
+import ocar4 from '@app/assets/images/original_car4.jpg';
+import ocar5 from '@app/assets/images/original_car5.jpg';
+import ocar6 from '@app/assets/images/original_car6.jpg';
+import pcar0 from '@app/assets/images/car0-processed.jpg';
+import pcar1 from '@app/assets/images/car1-processed.jpg';
+import pcar2 from '@app/assets/images/car2-processed.jpg';
+import pcar3 from '@app/assets/images/car3-processed.jpg';
+import pcar4 from '@app/assets/images/car4-processed.jpg';
+import pcar5 from '@app/assets/images/car5-processed.jpg';
+import pcar6 from '@app/assets/images/car6-processed.jpg';
const OriginalApp: React.FunctionComponent = () => {
const [activeTabKey, setActiveTabKey] = React.useState(0);
@@ -179,6 +193,20 @@ const OriginalApp: React.FunctionComponent = () => {
Attached images:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/frontend/src/app/config.tsx b/app/src/main/webui/src/app/config.tsx
similarity index 51%
rename from app/frontend/src/app/config.tsx
rename to app/src/main/webui/src/app/config.tsx
index 196d6889..c96e03ba 100644
--- a/app/frontend/src/app/config.tsx
+++ b/app/src/main/webui/src/app/config.tsx
@@ -1,5 +1,5 @@
const config = {
- backend_api_url: process.env.BACKEND_API_URL || window.location.protocol + '//' + window.location.hostname + '/api',
+ backend_api_url: process.env.BACKEND_API_URL || window.location.protocol + '//' + window.location.host + '/api',
};
-export default config;
\ No newline at end of file
+export default config;
diff --git a/app/frontend/src/app/index.tsx b/app/src/main/webui/src/app/index.tsx
similarity index 100%
rename from app/frontend/src/app/index.tsx
rename to app/src/main/webui/src/app/index.tsx
diff --git a/app/frontend/src/app/routes.tsx b/app/src/main/webui/src/app/routes.tsx
similarity index 100%
rename from app/frontend/src/app/routes.tsx
rename to app/src/main/webui/src/app/routes.tsx
diff --git a/app/frontend/src/app/utils/useDocumentTitle.ts b/app/src/main/webui/src/app/utils/useDocumentTitle.ts
similarity index 100%
rename from app/frontend/src/app/utils/useDocumentTitle.ts
rename to app/src/main/webui/src/app/utils/useDocumentTitle.ts
diff --git a/app/frontend/src/favicon.png b/app/src/main/webui/src/favicon.png
similarity index 100%
rename from app/frontend/src/favicon.png
rename to app/src/main/webui/src/favicon.png
diff --git a/app/frontend/src/favicon.svg b/app/src/main/webui/src/favicon.svg
similarity index 100%
rename from app/frontend/src/favicon.svg
rename to app/src/main/webui/src/favicon.svg
diff --git a/app/frontend/src/index.html b/app/src/main/webui/src/index.html
similarity index 100%
rename from app/frontend/src/index.html
rename to app/src/main/webui/src/index.html
diff --git a/app/frontend/src/index.tsx b/app/src/main/webui/src/index.tsx
similarity index 100%
rename from app/frontend/src/index.tsx
rename to app/src/main/webui/src/index.tsx
diff --git a/app/frontend/src/typings.d.ts b/app/src/main/webui/src/typings.d.ts
similarity index 100%
rename from app/frontend/src/typings.d.ts
rename to app/src/main/webui/src/typings.d.ts
diff --git a/app/frontend/stylePaths.js b/app/src/main/webui/stylePaths.js
similarity index 100%
rename from app/frontend/stylePaths.js
rename to app/src/main/webui/stylePaths.js
diff --git a/app/frontend/tsconfig.json b/app/src/main/webui/tsconfig.json
similarity index 100%
rename from app/frontend/tsconfig.json
rename to app/src/main/webui/tsconfig.json
diff --git a/app/frontend/webpack.common.js b/app/src/main/webui/webpack.common.js
similarity index 99%
rename from app/frontend/webpack.common.js
rename to app/src/main/webui/webpack.common.js
index 98636bd5..140d22e0 100644
--- a/app/frontend/webpack.common.js
+++ b/app/src/main/webui/webpack.common.js
@@ -76,7 +76,7 @@ module.exports = (env) => {
include: [
path.resolve(__dirname, 'src/app/assets/images'),
],
- use:
+ use:
{
loader: 'file-loader',
options: {
diff --git a/app/frontend/webpack.dev.js b/app/src/main/webui/webpack.dev.js
similarity index 86%
rename from app/frontend/webpack.dev.js
rename to app/src/main/webui/webpack.dev.js
index 961fe19d..d8e270f7 100644
--- a/app/frontend/webpack.dev.js
+++ b/app/src/main/webui/webpack.dev.js
@@ -4,8 +4,8 @@ const path = require('path');
const { merge } = require('webpack-merge');
const common = require('./webpack.common.js');
const { stylePaths } = require('./stylePaths.js');
-const HOST = process.env.HOST || 'localhost';
-const PORT = process.env.PORT || '9000';
+const HOST = process.env.HOST || '0.0.0.0';
+const PORT = process.env.PORT || '8006';
module.exports = merge(common('development'), {
mode: 'development',
@@ -13,6 +13,7 @@ module.exports = merge(common('development'), {
devServer: {
host: HOST,
port: PORT,
+ allowedHosts: 'all',
historyApiFallback: true,
open: true,
static: {
diff --git a/app/frontend/webpack.prod.js b/app/src/main/webui/webpack.prod.js
similarity index 100%
rename from app/frontend/webpack.prod.js
rename to app/src/main/webui/webpack.prod.js
diff --git a/app/src/test/java/org/parasol/resources/ClaimResourceTests.java b/app/src/test/java/org/parasol/resources/ClaimResourceTests.java
new file mode 100644
index 00000000..005820a7
--- /dev/null
+++ b/app/src/test/java/org/parasol/resources/ClaimResourceTests.java
@@ -0,0 +1,110 @@
+package org.parasol.resources;
+
+import static io.restassured.RestAssured.get;
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.hamcrest.Matchers.*;
+import static org.mockito.Mockito.when;
+
+import java.util.List;
+
+import jakarta.ws.rs.core.Response.Status;
+
+import org.junit.jupiter.api.Test;
+import org.parasol.model.Claim;
+
+import io.quarkus.panache.mock.PanacheMock;
+import io.quarkus.test.junit.QuarkusTest;
+
+import io.restassured.http.ContentType;
+
+@QuarkusTest
+class ClaimResourceTests {
+ @Test
+ void getAllNoneFound() {
+ PanacheMock.mock(Claim.class);
+
+ when(Claim.listAll())
+ .thenReturn(List.of());
+
+ get("/api/db/claims").then()
+ .statusCode(Status.OK.getStatusCode())
+ .contentType(ContentType.JSON)
+ .body("$.size()", is(0));
+
+ PanacheMock.verify(Claim.class).listAll();
+ PanacheMock.verifyNoMoreInteractions(Claim.class);
+ }
+
+ @Test
+ void getAllSomeFound() {
+ PanacheMock.mock(Claim.class);
+ when(Claim.listAll())
+ .thenReturn(List.of(createClaim()));
+
+ var claims = get("/api/db/claims").then()
+ .statusCode(Status.OK.getStatusCode())
+ .contentType(ContentType.JSON)
+ .extract().body()
+ .jsonPath().getList(".", Claim.class);
+
+ assertThat(claims)
+ .isNotNull()
+ .singleElement()
+ .usingRecursiveComparison()
+ .isEqualTo(createClaim());
+
+ PanacheMock.verify(Claim.class).listAll();
+ PanacheMock.verifyNoMoreInteractions(Claim.class);
+ }
+
+ @Test
+ void getOneNotFound() {
+ PanacheMock.mock(Claim.class);
+ when(Claim.findById(1))
+ .thenReturn(null);
+
+ get("/api/db/claims/{id}", 1).then()
+ .statusCode(Status.NO_CONTENT.getStatusCode())
+ .contentType(ContentType.JSON)
+ .body(blankOrNullString());
+
+ PanacheMock.verify(Claim.class).findById(1);
+ PanacheMock.verifyNoMoreInteractions(Claim.class);
+ }
+
+ @Test
+ void getOneFound() {
+ PanacheMock.mock(Claim.class);
+ when(Claim.findById(1))
+ .thenReturn(createClaim());
+
+ var claim = get("/api/db/claims/{id}", 1).then()
+ .statusCode(Status.OK.getStatusCode())
+ .contentType(ContentType.JSON)
+ .extract().as(Claim.class);
+
+ assertThat(claim)
+ .isNotNull()
+ .usingRecursiveComparison()
+ .isEqualTo(createClaim());
+
+ PanacheMock.verify(Claim.class).findById(1);
+ PanacheMock.verifyNoMoreInteractions(Claim.class);
+ }
+
+ private static Claim createClaim() {
+ var claim = new Claim();
+ claim.claimNumber = "001";
+ claim.category = "Auto";
+ claim.policyNumber = "123";
+ claim.clientName = "client";
+ claim.subject = "collision";
+ claim.body = "body";
+ claim.summary = "Car was damaged in accident";
+ claim.location = "driveway";
+ claim.time = "afternoon";
+ claim.sentiment = "Very bad";
+
+ return claim;
+ }
+}
\ No newline at end of file
diff --git a/app/src/test/java/org/parasol/resources/ClaimWebsocketChatBotTests.java b/app/src/test/java/org/parasol/resources/ClaimWebsocketChatBotTests.java
new file mode 100644
index 00000000..2052791e
--- /dev/null
+++ b/app/src/test/java/org/parasol/resources/ClaimWebsocketChatBotTests.java
@@ -0,0 +1,134 @@
+package org.parasol.resources;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.awaitility.Awaitility.await;
+import static org.mockito.Mockito.*;
+
+import java.net.URI;
+import java.time.Duration;
+import java.util.List;
+import java.util.Objects;
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.LinkedBlockingDeque;
+
+import jakarta.inject.Inject;
+
+import org.jboss.logging.Logger;
+import org.junit.jupiter.api.Test;
+import org.mockito.ArgumentMatcher;
+import org.parasol.ai.ClaimService;
+import org.parasol.model.ClaimBotQuery;
+import org.parasol.model.ClaimBotQueryResponse;
+
+import io.quarkus.test.InjectMock;
+import io.quarkus.test.common.http.TestHTTPResource;
+import io.quarkus.test.junit.QuarkusTest;
+import io.quarkus.websockets.next.CloseReason;
+import io.quarkus.websockets.next.OnClose;
+import io.quarkus.websockets.next.OnError;
+import io.quarkus.websockets.next.OnOpen;
+import io.quarkus.websockets.next.OnTextMessage;
+import io.quarkus.websockets.next.WebSocketClient;
+import io.quarkus.websockets.next.WebSocketClientConnection;
+import io.quarkus.websockets.next.WebSocketConnector;
+
+import io.smallrye.mutiny.Multi;
+import io.smallrye.mutiny.Uni;
+
+@QuarkusTest
+class ClaimWebsocketChatBotTests {
+ private static final String CLAIM = "This is the claim details";
+ private static final String QUERY = "Should I approve this claim?";
+ private static final List RESPONSE = List.of("You", "should", "not", "approve", "this", "claim");
+
+ @InjectMock
+ ClaimService claimService;
+
+ @TestHTTPResource("/")
+ URI claimChatBotRootUri;
+
+ @Inject
+ WebSocketConnector connector;
+
+ @Test
+ void chatBotWorks() {
+ ArgumentMatcher matcher = query ->
+ Objects.nonNull(query) &&
+ QUERY.equals(query.query()) &&
+ CLAIM.equals(query.claim());
+
+ // A Multi which will return our response with a 0.5 second delay between each item
+ var delayedMulti = Multi.createFrom().iterable(RESPONSE)
+ .onItem().call(() -> Uni.createFrom().nullItem().onItem().delayIt().by(Duration.ofMillis(500)));
+
+ // Set up our AI mock
+ when(this.claimService.chat(argThat(matcher)))
+ .thenReturn(delayedMulti);
+
+ // Create a WebSocket connection and wait for the connection to establish
+ var connection = connectClient();
+
+ // Send our query
+ connection.sendTextAndAwait(new ClaimBotQuery(CLAIM, QUERY));
+
+ // Wait for the server to respond with what we expect
+ await()
+ .atMost(Duration.ofMinutes(5))
+ .until(() -> ClientEndpoint.MESSAGES.size() == RESPONSE.size());
+
+ // Verify the messages are what we expected
+ assertThat(ClientEndpoint.MESSAGES)
+ .hasSameElementsAs(RESPONSE);
+
+ // Close the connection
+ connection.closeAndAwait();
+
+ // Verify the AI chat was called with the correct parameters
+ verify(this.claimService).chat(argThat(matcher));
+ verifyNoMoreInteractions(this.claimService);
+ }
+
+ private WebSocketClientConnection connectClient() {
+ var connection = this.connector
+ .baseUri(this.claimChatBotRootUri)
+ .connectAndAwait();
+
+ waitForClientToStart();
+
+ return connection;
+ }
+
+ private static void waitForClientToStart() {
+ await()
+ .atMost(Duration.ofMinutes(5))
+ .until(() -> "CONNECT".equals(ClientEndpoint.MESSAGES.poll()));
+ }
+
+ @WebSocketClient(path = "/ws/query", clientId = "c1")
+ static class ClientEndpoint {
+ private final Logger logger = Logger.getLogger(ClientEndpoint.class);
+ static final BlockingQueue MESSAGES = new LinkedBlockingDeque<>();
+
+ @OnOpen
+ void open(WebSocketClientConnection connection) {
+ this.logger.infof("[CLIENT] Opening endpoint %s", connection.id());
+ MESSAGES.offer("CONNECT");
+ }
+
+ @OnTextMessage
+ void textMessage(ClaimBotQueryResponse message) {
+ this.logger.infof("[CLIENT] Got message: %s", message.token());
+ MESSAGES.offer(message.token());
+ }
+
+ @OnError
+ void error(Throwable error) {
+ this.logger.errorf(error, "[CLIENT] Encountered an error");
+ }
+
+ @OnClose
+ void close(CloseReason closeReason, WebSocketClientConnection connection) {
+ this.logger.infof("[CLIENT] Closing endpoint %s: %s: %s", connection.id(), closeReason.getCode(), closeReason.getMessage());
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/test/java/org/parasol/ui/ClaimsDetailPageTests.java b/app/src/test/java/org/parasol/ui/ClaimsDetailPageTests.java
new file mode 100644
index 00000000..ba20305d
--- /dev/null
+++ b/app/src/test/java/org/parasol/ui/ClaimsDetailPageTests.java
@@ -0,0 +1,116 @@
+package org.parasol.ui;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.awaitility.Awaitility.await;
+
+import java.time.Duration;
+import java.util.Optional;
+
+import jakarta.ws.rs.core.Response.Status;
+
+import org.eclipse.microprofile.config.inject.ConfigProperty;
+import org.junit.jupiter.api.Test;
+import org.parasol.model.Claim;
+
+import io.quarkus.test.junit.QuarkusTest;
+import io.quarkus.test.junit.TestProfile;
+
+import com.microsoft.playwright.BrowserContext;
+import com.microsoft.playwright.Locator;
+import com.microsoft.playwright.Page;
+import com.microsoft.playwright.Response;
+import com.microsoft.playwright.assertions.PlaywrightAssertions;
+import com.microsoft.playwright.options.LoadState;
+import io.quarkiverse.playwright.InjectPlaywright;
+import io.quarkiverse.playwright.WithPlaywright;
+import io.quarkiverse.quinoa.testing.QuinoaTestProfiles;
+
+@QuarkusTest
+@TestProfile(QuinoaTestProfiles.Enable.class)
+@WithPlaywright
+public class ClaimsDetailPageTests {
+ @InjectPlaywright
+ BrowserContext context;
+
+ @ConfigProperty(name = "quarkus.http.test-port")
+ int quarkusPort;
+
+ @Test
+ void pageLoads() {
+ var claim = Claim.findAll().firstResultOptional().orElseThrow(() -> new IllegalArgumentException("Can not find a claim in the database to use for tests"));
+ var page = loadPage(claim);
+
+ PlaywrightAssertions.assertThat(page)
+ .hasTitle("Claim Detail");
+
+ PlaywrightAssertions.assertThat(page.getByText(claim.claimNumber))
+ .isVisible();
+
+ PlaywrightAssertions.assertThat(page.getByText(claim.summary))
+ .isVisible();
+
+ PlaywrightAssertions.assertThat(page.getByText(claim.sentiment))
+ .isVisible();
+
+ var openChatButton = page.getByLabel("OpenChat");
+ PlaywrightAssertions.assertThat(openChatButton)
+ .isVisible();
+
+ openChatButton.click();
+
+ PlaywrightAssertions.assertThat(page.getByText("Hi! I am Parasol Assistant. How can I help you today?"))
+ .isVisible();
+
+ assertThat(getChatResponseLocator(page).count())
+ .isOne();
+
+ var askMeAnythingField = page.getByPlaceholder("Ask me anything...");
+ PlaywrightAssertions.assertThat(askMeAnythingField)
+ .isVisible();
+ askMeAnythingField.fill("Should I approve this claim?");
+
+ var sendQueryButton = page.getByLabel("SendQuery");
+ PlaywrightAssertions.assertThat(sendQueryButton)
+ .isVisible();
+ sendQueryButton.click();
+
+ // Wait for the answer text to have at least one piece of text in the answer
+ await()
+ .atMost(Duration.ofMinutes(5))
+ .until(() -> getChatResponseText(page).isPresent());
+
+ assertThat(getChatResponseText(page))
+ .isNotNull()
+ .isPresent();
+
+ assertThat(getChatResponseLocator(page).count())
+ .isGreaterThanOrEqualTo(2);
+ }
+
+ private static Optional getChatResponseText(Page page) {
+ return getChatResponseLocator(page).all().stream()
+ .map(Locator::textContent)
+ .map(String::trim)
+ .filter(answer -> !"Hi! I am Parasol Assistant. How can I help you today?".equals(answer))
+ .findFirst()
+ .filter(s -> !s.isEmpty());
+ }
+
+ private static Locator getChatResponseLocator(Page page) {
+ return page.locator(".chat-answer-text");
+ }
+
+ private Page loadPage(Claim claim) {
+ var page = this.context.newPage();
+ var response = page.navigate("http://localhost:%d/ClaimDetail/%d".formatted(this.quarkusPort, claim.id));
+
+ assertThat(response)
+ .isNotNull()
+ .extracting(Response::status)
+ .isEqualTo(Status.OK.getStatusCode());
+
+ page.waitForLoadState(LoadState.NETWORKIDLE);
+
+ return page;
+ }
+}
diff --git a/app/src/test/java/org/parasol/ui/ClaimsListPageTests.java b/app/src/test/java/org/parasol/ui/ClaimsListPageTests.java
new file mode 100644
index 00000000..ec292992
--- /dev/null
+++ b/app/src/test/java/org/parasol/ui/ClaimsListPageTests.java
@@ -0,0 +1,145 @@
+package org.parasol.ui;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+import java.util.List;
+
+import jakarta.ws.rs.core.Response.Status;
+
+import org.eclipse.microprofile.config.inject.ConfigProperty;
+import org.junit.jupiter.api.Test;
+
+import io.quarkus.test.junit.QuarkusTest;
+import io.quarkus.test.junit.TestProfile;
+
+import com.microsoft.playwright.BrowserContext;
+import com.microsoft.playwright.Locator;
+import com.microsoft.playwright.Page;
+import com.microsoft.playwright.Response;
+import com.microsoft.playwright.assertions.PlaywrightAssertions;
+import com.microsoft.playwright.options.AriaRole;
+import com.microsoft.playwright.options.LoadState;
+import io.quarkiverse.playwright.InjectPlaywright;
+import io.quarkiverse.playwright.WithPlaywright;
+import io.quarkiverse.quinoa.testing.QuinoaTestProfiles;
+
+@QuarkusTest
+@TestProfile(QuinoaTestProfiles.Enable.class)
+@WithPlaywright
+public class ClaimsListPageTests {
+ private static final int NB_CLAIMS = 6;
+
+ @InjectPlaywright
+ BrowserContext context;
+
+ @ConfigProperty(name = "quarkus.http.test-port")
+ int quarkusPort;
+
+ @Test
+ void pageLoads() {
+ var page = loadPage();
+
+ PlaywrightAssertions.assertThat(page)
+ .hasTitle("Claims List");
+ }
+
+ @Test
+ void correctTable() {
+ var table = getAndVerifyClaimsTable(NB_CLAIMS);
+ var tableColumns = table.getByRole(AriaRole.COLUMNHEADER).all();
+
+ assertThat(tableColumns)
+ .isNotNull()
+ .hasSize(5)
+ .extracting(Locator::textContent)
+ .containsExactly(
+"Claim Number",
+ "Category",
+ "Client Name",
+ "Policy Number",
+ "Status"
+ );
+
+ var rows = getTableBodyRows(table);
+ assertThat(rows)
+ .isNotNull()
+ .hasSize(NB_CLAIMS);
+
+ var firstRow = rows.get(0).getByRole(AriaRole.GRIDCELL).all();
+ assertThat(firstRow)
+ .isNotNull()
+ .hasSize(5);
+
+ assertThat(firstRow.get(0))
+ .isNotNull()
+ .extracting(
+ Locator::textContent,
+ l -> l.getByRole(AriaRole.LINK).getAttribute("href")
+ )
+ .containsExactly(
+ "CLM195501",
+ "/ClaimDetail/1".formatted(this.quarkusPort)
+ );
+
+ assertThat(firstRow.get(1))
+ .isNotNull()
+ .extracting(Locator::textContent)
+ .isEqualTo("Multiple vehicle");
+
+ assertThat(firstRow.get(2))
+ .isNotNull()
+ .extracting(Locator::textContent)
+ .isEqualTo("Marty McFly");
+
+ assertThat(firstRow.get(3))
+ .isNotNull()
+ .extracting(Locator::textContent)
+ .isEqualTo("AC-987654321");
+
+ assertThat(firstRow.get(4))
+ .isNotNull()
+ .extracting(Locator::textContent)
+ .isEqualTo("Processed");
+ }
+
+ private List getTableBodyRows(Locator table) {
+ // Rowgroup 1 is the header row
+ // Rowgroup 2 is the body rows
+ var rowGroups = table.getByRole(AriaRole.ROWGROUP).all();
+ assertThat(rowGroups)
+ .isNotNull()
+ .hasSize(2);
+
+ return rowGroups.get(1).getByRole(AriaRole.ROW).all();
+ }
+
+ private Locator getAndVerifyClaimsTable(Page page, int expectedNumRows) {
+ var table = page.getByRole(AriaRole.GRID);
+ assertThat(table).isNotNull();
+
+ var tableBodyRows = getTableBodyRows(table);
+ assertThat(tableBodyRows)
+ .isNotNull()
+ .hasSize(expectedNumRows);
+
+ return table;
+ }
+
+ private Locator getAndVerifyClaimsTable(int expectedNumRows) {
+ return getAndVerifyClaimsTable(loadPage(), expectedNumRows);
+ }
+
+ private Page loadPage() {
+ var page = this.context.newPage();
+ var response = page.navigate("http://localhost:%d/ClaimsList".formatted(this.quarkusPort));
+
+ assertThat(response)
+ .isNotNull()
+ .extracting(Response::status)
+ .isEqualTo(Status.OK.getStatusCode());
+
+ page.waitForLoadState(LoadState.NETWORKIDLE);
+
+ return page;
+ }
+}
diff --git a/app/start-dev.sh b/app/start-dev.sh
deleted file mode 100755
index b896a088..00000000
--- a/app/start-dev.sh
+++ /dev/null
@@ -1 +0,0 @@
-npm run dev
\ No newline at end of file
diff --git a/bootstrap/applicationset/applicationset-bootstrap.yaml b/bootstrap/applicationset/applicationset-bootstrap.yaml
deleted file mode 100644
index bbb58d0e..00000000
--- a/bootstrap/applicationset/applicationset-bootstrap.yaml
+++ /dev/null
@@ -1,70 +0,0 @@
-apiVersion: argoproj.io/v1alpha1
-kind: ApplicationSet
-metadata:
- name: bootstrap
- namespace: openshift-gitops
-spec:
- generators:
- - list:
- elements:
- - cluster: in-cluster
- name: ic-shared-minio-app
- repoURL: https://github.com/rh-aiservices-bu/parasol-insurance.git
- targetRevision: dev
- path: bootstrap/ic-shared-minio
- - cluster: in-cluster
- name: ic-shared-database-app
- repoURL: https://github.com/rh-aiservices-bu/parasol-insurance.git
- targetRevision: dev
- path: bootstrap/ic-shared-database
- - cluster: in-cluster
- name: ic-shared-llm-app
- repoURL: https://github.com/rh-aiservices-bu/parasol-insurance.git
- targetRevision: dev
- path: bootstrap/ic-shared-llm
- - cluster: in-cluster
- name: ic-shared-img-det
- repoURL: https://github.com/rh-aiservices-bu/parasol-insurance.git
- targetRevision: dev
- path: bootstrap/ic-shared-img-det
- - cluster: in-cluster
- name: ic-rhoai-configuration
- repoURL: https://github.com/rh-aiservices-bu/parasol-insurance.git
- targetRevision: dev
- path: bootstrap/ic-rhoai-configuration
- - cluster: in-cluster
- name: ic-user-projects
- repoURL: https://github.com/rh-aiservices-bu/parasol-insurance.git
- targetRevision: dev
- path: bootstrap/ic-user-projects
- - cluster: in-cluster
- name: ic-shared-milvus
- repoURL: https://github.com/rh-aiservices-bu/parasol-insurance.git
- targetRevision: dev
- path: bootstrap/ic-shared-milvus
- - cluster: in-cluster
- name: ic-shared-app
- repoURL: https://github.com/rh-aiservices-bu/parasol-insurance.git
- targetRevision: dev
- path: bootstrap/ic-shared-app
- template:
- metadata:
- name: '{{name}}'
- namespace: openshift-gitops
- labels:
- component: bootstrap
- purpose: '{{name}}'
- spec:
- project: default
- source:
- repoURL: '{{repoURL}}'
- targetRevision: '{{targetRevision}}'
- path: '{{path}}'
- destination:
- server: 'https://kubernetes.default.svc'
- syncPolicy:
- automated:
- prune: true
- selfHeal: true
- syncOptions:
- - RespectIgnoreDifferences=true
\ No newline at end of file
diff --git a/bootstrap/bootstrap.md b/bootstrap/bootstrap.md
deleted file mode 100644
index a18c4c6b..00000000
--- a/bootstrap/bootstrap.md
+++ /dev/null
@@ -1,20 +0,0 @@
-manually
-
-```bash
-GITEA_INT_URL="http://gitea.gitea.svc:3000/"
-GITEA_REPO="opentlc-mgr/parasol-insurance-mirror/"
-GITEA_BRANCH="dev/"
-GITEA_APP_PATH="bootstrap/applications/ic-shared-minio-app.yaml"
-
-CMD=" oc apply -f ${GITEA_INT_URL}${GITEA_REPO}raw/branch/${GITEA_BRANCH}${GITEA_APP_PATH}"
-
-echo ${CMD}
-
-oc apply -f ./bootstrap/applicationset/applicationset-bootstrap.yaml
-
-```
-
-
\ No newline at end of file
diff --git a/bootstrap/ic-rhoai-configuration/accelerator-profile.yaml b/bootstrap/ic-rhoai-configuration/accelerator-profile.yaml
deleted file mode 100644
index 9cb23a9c..00000000
--- a/bootstrap/ic-rhoai-configuration/accelerator-profile.yaml
+++ /dev/null
@@ -1,15 +0,0 @@
-apiVersion: dashboard.opendatahub.io/v1
-kind: AcceleratorProfile
-metadata:
- name: migrated-gpu
- namespace: redhat-ods-applications
- annotations:
- argocd.argoproj.io/sync-wave: "1"
-spec:
- displayName: NVIDIA GPU
- enabled: true
- identifier: nvidia.com/gpu
- tolerations:
- - effect: NoSchedule
- key: nvidia.com/gpu
- operator: Exists
\ No newline at end of file
diff --git a/bootstrap/ic-rhoai-configuration/ceph-rbd-set-default.yaml b/bootstrap/ic-rhoai-configuration/ceph-rbd-set-default.yaml
deleted file mode 100644
index cbf1c63a..00000000
--- a/bootstrap/ic-rhoai-configuration/ceph-rbd-set-default.yaml
+++ /dev/null
@@ -1,7 +0,0 @@
-kind: StorageClass
-apiVersion: storage.k8s.io/v1
-metadata:
- name: ocs-storagecluster-ceph-rbd
- annotations:
- storageclass.kubernetes.io/is-default-class: 'true'
- argocd.argoproj.io/sync-wave: "0"
diff --git a/bootstrap/ic-rhoai-configuration/gp3-remove-default.yaml b/bootstrap/ic-rhoai-configuration/gp3-remove-default.yaml
deleted file mode 100644
index 520d3c28..00000000
--- a/bootstrap/ic-rhoai-configuration/gp3-remove-default.yaml
+++ /dev/null
@@ -1,7 +0,0 @@
-kind: StorageClass
-apiVersion: storage.k8s.io/v1
-metadata:
- name: gp3-csi
- annotations:
- storageclass.kubernetes.io/is-default-class: 'false'
- argocd.argoproj.io/sync-wave: "0"
diff --git a/bootstrap/ic-rhoai-configuration/images-puller.yaml b/bootstrap/ic-rhoai-configuration/images-puller.yaml
deleted file mode 100644
index 336515c1..00000000
--- a/bootstrap/ic-rhoai-configuration/images-puller.yaml
+++ /dev/null
@@ -1,206 +0,0 @@
----
-apiVersion: apps/v1
-kind: DaemonSet
-metadata:
- name: image-puller-workbench
- namespace: rhods-notebooks
- labels:
- k8s-app: image-puller
- annotations:
- argocd.argoproj.io/sync-wave: "2"
-spec:
- selector:
- matchLabels:
- name: image-puller
- template:
- metadata:
- labels:
- name: image-puller
- spec:
- containers:
- - name: ic-workbench
- image: image-registry.openshift-image-registry.svc:5000/redhat-ods-applications/ic-workbench:2.1.2
- command: ["tail"]
- args: ["-f", "/dev/null"]
- resources:
- limits:
- memory: 20Mi
- requests:
- cpu: 10m
- memory: 10Mi
- - name: vscode
- image: image-registry.openshift-image-registry.svc:5000/redhat-ods-applications/ic-workbench-vscode:2023c
- command: ["tail"]
- args: ["-f", "/dev/null"]
- resources:
- limits:
- memory: 20Mi
- requests:
- cpu: 10m
- memory: 10Mi
----
-apiVersion: apps/v1
-kind: DaemonSet
-metadata:
- name: image-puller-ovms
- namespace: rhods-notebooks
- labels:
- k8s-app: image-puller
-spec:
- selector:
- matchLabels:
- name: image-puller
- template:
- metadata:
- labels:
- name: image-puller
- spec:
- containers:
- - name: oauth-proxy
- image: registry.redhat.io/openshift4/ose-oauth-proxy@sha256:4bef31eb993feb6f1096b51b4876c65a6fb1f4401fee97fa4f4542b6b7c9bc46
- command: ["tail"]
- args: ["-f", "/dev/null"]
- resources:
- limits:
- memory: 20Mi
- requests:
- cpu: 10m
- memory: 10Mi
- - name: model-server
- image: quay.io/modh/openvino_model_server@sha256:5d04d405526ea4ce5b807d0cd199ccf7f71bab1228907c091e975efa770a4908
- command: ["tail"]
- args: ["-f", "/dev/null"]
- resources:
- limits:
- memory: 20Mi
- requests:
- cpu: 10m
- memory: 10Mi
- - name: runtime-adapter
- image: registry.redhat.io/rhoai/odh-modelmesh-runtime-adapter-rhel8@sha256:5762982131a5381e582a8952a3ba336b68a1e46257f552a087da6d5a900b8bdf
- command: ["tail"]
- args: ["-f", "/dev/null"]
- resources:
- limits:
- memory: 20Mi
- requests:
- cpu: 10m
- memory: 10Mi
- - name: modelmesh
- image: registry.redhat.io/rhoai/odh-modelmesh-rhel8@sha256:b20c29b1a81e8200a81aab2361af2863889eaa3ea68f4fb19335b97949276a1b
- command: ["tail"]
- args: ["-f", "/dev/null"]
- resources:
- limits:
- memory: 20Mi
- requests:
- cpu: 10m
- memory: 10Mi
----
-apiVersion: apps/v1
-kind: DaemonSet
-metadata:
- name: image-puller-pipelines
- namespace: rhods-notebooks
- labels:
- k8s-app: image-puller
-spec:
- selector:
- matchLabels:
- name: image-puller
- template:
- metadata:
- labels:
- name: image-puller
- spec:
- containers:
- - name: mariadb
- image: registry.redhat.io/rhel8/mariadb-103@sha256:3d30992e60774f887c4e7959c81b0c41b0d82d042250b3b56f05ab67fd4cdee1
- command: ["tail"]
- args: ["-f", "/dev/null"]
- resources:
- limits:
- memory: 20Mi
- requests:
- cpu: 10m
- memory: 10Mi
- - name: ds-pipeline-scheduledworkflow-pipelines-definition
- image: registry.redhat.io/rhoai/odh-ml-pipelines-scheduledworkflow-rhel8@sha256:3edce9aaa66f349c2291a161686349e0068017c7ad084146f41878f27a6eae74
- command: ["tail"]
- args: ["-f", "/dev/null"]
- resources:
- limits:
- memory: 20Mi
- requests:
- cpu: 10m
- memory: 10Mi
- - name: ds-pipeline-pipelines-definition
- image: registry.redhat.io/rhoai/odh-ml-pipelines-api-server-rhel8@sha256:07954372e0e4dff0109d8d2551d059832ad87fb1fe8fbb8a54fa1c0f7878dbc1
- command: ["tail"]
- args: ["-f", "/dev/null"]
- resources:
- limits:
- memory: 20Mi
- requests:
- cpu: 10m
- memory: 10Mi
- - name: oauth-proxy
- image: registry.redhat.io/openshift4/ose-oauth-proxy@sha256:ab112105ac37352a2a4916a39d6736f5db6ab4c29bad4467de8d613e80e9bb33
- command: ["tail"]
- args: ["-f", "/dev/null"]
- resources:
- limits:
- memory: 20Mi
- requests:
- cpu: 10m
- memory: 10Mi
- - name: ds-pipeline-persistenceagent-pipelines-definition
- image: registry.redhat.io/rhoai/odh-ml-pipelines-persistenceagent-rhel8@sha256:6fdf2b754aea6732ae0757e099ec69fac1cb32e633342a160546ee5b99604af7
- command: ["tail"]
- args: ["-f", "/dev/null"]
- resources:
- limits:
- memory: 20Mi
- requests:
- cpu: 10m
- memory: 10Mi
- - name: ds-pipeline-runtime-image-confidence
- image: quay.io/rh-aiservices-bu/rhoai-lab-insurance-claim-confidence-pipeline:1.1
- command: ["tail"]
- args: ["-f", "/dev/null"]
- resources:
- limits:
- memory: 20Mi
- requests:
- cpu: 10m
- memory: 10Mi
----
-apiVersion: apps/v1
-kind: DaemonSet
-metadata:
- name: image-puller-app
- namespace: rhods-notebooks
- labels:
- k8s-app: image-puller
- annotations:
- argocd.argoproj.io/sync-wave: "2"
-spec:
- selector:
- matchLabels:
- name: image-puller
- template:
- metadata:
- labels:
- name: image-puller
- spec:
- containers:
- - name: ic-app
- image: quay.io/rh-aiservices-bu/rhoai-lab-insurance-claim-app:2.1.2
- command: ["tail"]
- args: ["-f", "/dev/null"]
- resources:
- limits:
- memory: 20Mi
- requests:
- cpu: 10m
- memory: 10Mi
diff --git a/bootstrap/ic-rhoai-configuration/kustomization.yaml b/bootstrap/ic-rhoai-configuration/kustomization.yaml
deleted file mode 100644
index 04407b77..00000000
--- a/bootstrap/ic-rhoai-configuration/kustomization.yaml
+++ /dev/null
@@ -1,21 +0,0 @@
----
-apiVersion: kustomize.config.k8s.io/v1beta1
-kind: Kustomization
-
-commonLabels:
- component: ic-rhoai-configuration
-
-resources:
-# wave 0
-- gp3-remove-default.yaml
-- ceph-rbd-set-default.yaml
-# wave 1
-- workbench-imagestream.yaml
-- workbench-vscode-is.yaml
-- odhdashboardconfig.yaml
-- accelerator-profile.yaml
-# wave 2
-- images-puller.yaml
-
-
-
diff --git a/bootstrap/ic-rhoai-configuration/odhdashboardconfig.yaml b/bootstrap/ic-rhoai-configuration/odhdashboardconfig.yaml
deleted file mode 100644
index c5786482..00000000
--- a/bootstrap/ic-rhoai-configuration/odhdashboardconfig.yaml
+++ /dev/null
@@ -1,33 +0,0 @@
-apiVersion: opendatahub.io/v1alpha
-kind: OdhDashboardConfig
-metadata:
- name: odh-dashboard-config
- namespace: redhat-ods-applications
- annotations:
- argocd.argoproj.io/sync-wave: "1"
-spec:
- modelServerSizes:
- - name: Standard
- resources:
- limits:
- cpu: '1'
- memory: 1Gi
- requests:
- cpu: '1'
- memory: 1Gi
- notebookController:
- enabled: true
- notebookNamespace: rhods-notebooks
- pvcSize: 5Gi
- notebookSizes:
- - name: Standard
- resources:
- limits:
- cpu: '2'
- memory: 8Gi
- requests:
- cpu: '1'
- memory: 6Gi
- templateOrder: []
-
-
diff --git a/bootstrap/ic-rhoai-configuration/workbench-imagestream.yaml b/bootstrap/ic-rhoai-configuration/workbench-imagestream.yaml
deleted file mode 100644
index 985949ff..00000000
--- a/bootstrap/ic-rhoai-configuration/workbench-imagestream.yaml
+++ /dev/null
@@ -1,38 +0,0 @@
-kind: ImageStream
-apiVersion: image.openshift.io/v1
-metadata:
- annotations:
- opendatahub.io/notebook-image-creator: admin
- opendatahub.io/notebook-image-desc: >-
- Jupyter notebook image with all the libraries needed for the OpenShift AI Insurance Claim Lab.
- opendatahub.io/notebook-image-name: CUSTOM - Insurance Claim Processing Lab Workbench
- opendatahub.io/notebook-image-order: '01'
- opendatahub.io/notebook-image-url: >-
- https://github.com/rh-aiservices-bu/parasol-insurance/tree/main/bootstrap/workbench-image
- opendatahub.io/recommended-accelerators: '[]'
- argocd.argoproj.io/sync-wave: "1"
- name: ic-workbench
- namespace: redhat-ods-applications
- labels:
- app.kubernetes.io/created-by: byon
- opendatahub.io/dashboard: 'true'
- opendatahub.io/notebook-image: 'true'
-spec:
- lookupPolicy:
- local: true
- tags:
- - name: '2.1.2'
- annotations:
- opendatahub.io/notebook-python-dependencies: >-
- [{"name":"PyTorch","version":"2.2.2"},{"name":"Langchain","version":"0.1.12"},{"name":"Ultralytics","version":"8.1.47"},]
- opendatahub.io/notebook-software: >-
- [{"name":"Python","version":"v3.11"}]
- openshift.io/imported-from: quay.io/rh-aiservices-bu/rhoai-lab-insurance-claim-workbench
- from:
- kind: DockerImage
- name: >-
- quay.io/rh-aiservices-bu/rhoai-lab-insurance-claim-workbench:2.1.2
- importPolicy:
- importMode: Legacy
- referencePolicy:
- type: Source
diff --git a/bootstrap/ic-rhoai-configuration/workbench-vscode-is.yaml b/bootstrap/ic-rhoai-configuration/workbench-vscode-is.yaml
deleted file mode 100644
index e633c784..00000000
--- a/bootstrap/ic-rhoai-configuration/workbench-vscode-is.yaml
+++ /dev/null
@@ -1,40 +0,0 @@
-kind: ImageStream
-apiVersion: image.openshift.io/v1
-metadata:
- annotations:
- opendatahub.io/notebook-image-order: '02'
- opendatahub.io/notebook-image-url: >-
- https://github.com/opendatahub-io-contrib/workbench-images
- internal.config.kubernetes.io/previousNamespaces: default
- internal.config.kubernetes.io/previousKinds: ImageStream
- opendatahub.io/notebook-image-name: CUSTOM - VSCode for Insurance Claim Processing Lab
- internal.config.kubernetes.io/previousNames: CUSTOM - VSCode for Insurance Claim Processing Lab
- opendatahub.io/recommended-accelerators: '["nvidia.com/gpu"]'
- opendatahub.io/notebook-image-desc: >-
- VSCode image for the OpenShift AI Insurance Claim Lab.
- argocd.argoproj.io/sync-wave: "1"
- name: ic-workbench-vscode
- namespace: redhat-ods-applications
- labels:
- app.kubernetes.io/part-of: workbenches
- app.opendatahub.io/workbenches: 'true'
- component.opendatahub.io/name: notebooks
- opendatahub.io/component: 'true'
- opendatahub.io/notebook-image: 'true'
-spec:
- lookupPolicy:
- local: true
- tags:
- - name: '2023c'
- annotations:
- opendatahub.io/notebook-software: >-
- [{"name":"VSCode","version":"4.16.1"},{"name":"Python","version":"v3.11"}]
- openshift.io/imported-from: quay.io/opendatahub-contrib/workbench-images
- from:
- kind: DockerImage
- name: >-
- quay.io/opendatahub-contrib/workbench-images:vscode-datascience-c9s-py311_2023c_latest
- importPolicy:
- importMode: Legacy
- referencePolicy:
- type: Source
diff --git a/bootstrap/ic-shared-app/deployment-app.yaml b/bootstrap/ic-shared-app/deployment-app.yaml
deleted file mode 100644
index 3135ea52..00000000
--- a/bootstrap/ic-shared-app/deployment-app.yaml
+++ /dev/null
@@ -1,105 +0,0 @@
----
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: ic-app
- annotations:
- argocd.argoproj.io/sync-wave: "1"
-spec:
- replicas: 1
- selector:
- matchLabels:
- app: ic-app
- template:
- metadata:
- creationTimestamp: null
- labels:
- app: ic-app
- deployment: ic-app
- spec:
- containers:
- - name: insurance-claim-app
- image: quay.io/rh-aiservices-bu/rhoai-lab-insurance-claim-app:2.1.2
- ports:
- - containerPort: 5000
- protocol: TCP
- env:
- - name: NAMESPACE
- valueFrom:
- fieldRef:
- fieldPath: metadata.namespace
- - name: INFERENCE_SERVER_URL
- value: http://llm.ic-shared-llm.svc.cluster.local:8000/v1
- - name: MODEL_NAME
- value: 'mistralai/Mistral-7B-Instruct-v0.2'
- - name: MAX_TOKENS
- value: '512'
- - name: TOP_P
- value: '0.95'
- - name: TEMPERATURE
- value: '0.01'
- - name: PRESENCE_PENALTY
- value: '1.03'
- - name: POSTGRES_HOST
- value: claimdb.ic-shared-db.svc.cluster.local
- - name: POSTGRES_DB
- valueFrom:
- secretKeyRef:
- name: claimdb
- key: database-name
- - name: POSTGRES_USER
- valueFrom:
- secretKeyRef:
- name: claimdb
- key: database-user
- - name: POSTGRES_PASSWORD
- valueFrom:
- secretKeyRef:
- name: claimdb
- key: database-password
- - name: POSTGRES_PORT
- value: '5432'
- - name: S3_ENDPOINT_URL
- value: http://minio.ic-shared-minio.svc.cluster.local:9000
- - name: IMAGES_BUCKET
- value: claim-images
- - name: AWS_ACCESS_KEY_ID
- valueFrom:
- secretKeyRef:
- name: secret-minio
- key: aws_access_key_id
- - name: AWS_SECRET_ACCESS_KEY
- valueFrom:
- secretKeyRef:
- name: secret-minio
- key: aws_secret_access_key
- - name: MILVUS_HOST
- value: vectordb-milvus.ic-shared-milvus.svc.cluster.local
- - name: MILVUS_PORT
- value: '19530'
- - name: MILVUS_USERNAME
- value: root
- - name: MILVUS_PASSWORD
- value: Milvus
- - name: SCORE_THRESHOLD
- value: '0.90'
- - name: MILVUS_COLLECTION
- value: california_driver_handbook_1_0
- - name: MAX_RETRIEVED_DOCS
- value: '4'
- resources: {}
- terminationMessagePath: /dev/termination-log
- terminationMessagePolicy: File
- imagePullPolicy: Always
- restartPolicy: Always
- terminationGracePeriodSeconds: 30
- dnsPolicy: ClusterFirst
- securityContext: {}
- schedulerName: default-scheduler
- strategy:
- type: RollingUpdate
- rollingUpdate:
- maxUnavailable: 25%
- maxSurge: 25%
- revisionHistoryLimit: 10
- progressDeadlineSeconds: 600
\ No newline at end of file
diff --git a/bootstrap/ic-shared-app/kustomization.yaml b/bootstrap/ic-shared-app/kustomization.yaml
deleted file mode 100644
index 640ccdc3..00000000
--- a/bootstrap/ic-shared-app/kustomization.yaml
+++ /dev/null
@@ -1,18 +0,0 @@
----
-apiVersion: kustomize.config.k8s.io/v1beta1
-kind: Kustomization
-
-namespace: ic-shared-app
-
-commonLabels:
- component: ic-claim-app
-
-resources:
-# wave 0
-- namespace.yaml
-- secret-db.yaml
-- secret-minio.yaml
-# wave 1
-- deployment-app.yaml
-- service-app.yaml
-- route-app.yaml
diff --git a/bootstrap/ic-shared-app/namespace.yaml b/bootstrap/ic-shared-app/namespace.yaml
deleted file mode 100644
index 8b63c9eb..00000000
--- a/bootstrap/ic-shared-app/namespace.yaml
+++ /dev/null
@@ -1,11 +0,0 @@
----
-apiVersion: v1
-kind: Namespace
-metadata:
- name: ic-shared-app
- labels:
- app: ic-shared-app
- argocd.argoproj.io/managed-by: openshift-gitops
- annotations:
- openshift.io/display-name: "Shared Demo Application"
- argocd.argoproj.io/sync-wave: "0"
diff --git a/bootstrap/ic-shared-app/route-app.yaml b/bootstrap/ic-shared-app/route-app.yaml
deleted file mode 100644
index c3963e9e..00000000
--- a/bootstrap/ic-shared-app/route-app.yaml
+++ /dev/null
@@ -1,20 +0,0 @@
----
-kind: Route
-apiVersion: route.openshift.io/v1
-metadata:
- name: ic-app
- labels:
- app: ic-app
- annotations:
- argocd.argoproj.io/sync-wave: "1"
-spec:
- to:
- kind: Service
- name: ic-app
- weight: 100
- port:
- targetPort: http
- tls:
- termination: edge
- insecureEdgeTerminationPolicy: Redirect
- wildcardPolicy: None
diff --git a/bootstrap/ic-shared-app/secret-db.yaml b/bootstrap/ic-shared-app/secret-db.yaml
deleted file mode 100644
index 12966855..00000000
--- a/bootstrap/ic-shared-app/secret-db.yaml
+++ /dev/null
@@ -1,14 +0,0 @@
----
-kind: Secret
-apiVersion: v1
-metadata:
- name: claimdb
- labels:
- app: claimdb
- annotations:
- argocd.argoproj.io/sync-wave: "0"
-stringData:
- database-name: claimdb
- database-password: claimdb
- database-user: claimdb
-type: Opaque
\ No newline at end of file
diff --git a/bootstrap/ic-shared-app/secret-minio.yaml b/bootstrap/ic-shared-app/secret-minio.yaml
deleted file mode 100644
index 75553db4..00000000
--- a/bootstrap/ic-shared-app/secret-minio.yaml
+++ /dev/null
@@ -1,13 +0,0 @@
----
-kind: Secret
-apiVersion: v1
-metadata:
- name: secret-minio
- labels:
- app: ic-app-minio
- annotations:
- argocd.argoproj.io/sync-wave: "0"
-stringData:
- aws_access_key_id: minio
- aws_secret_access_key: minio123
-type: Opaque
\ No newline at end of file
diff --git a/bootstrap/ic-shared-app/service-app.yaml b/bootstrap/ic-shared-app/service-app.yaml
deleted file mode 100644
index c8bba3c8..00000000
--- a/bootstrap/ic-shared-app/service-app.yaml
+++ /dev/null
@@ -1,19 +0,0 @@
----
-apiVersion: v1
-kind: Service
-metadata:
- name: ic-app
- labels:
- app: ic-app
- annotations:
- argocd.argoproj.io/sync-wave: "1"
-spec:
- ports:
- - name: http
- protocol: TCP
- port: 5000
- targetPort: 5000
- selector:
- app: ic-app
- sessionAffinity: None
- type: ClusterIP
diff --git a/bootstrap/ic-shared-database/db-init-job.yaml b/bootstrap/ic-shared-database/db-init-job.yaml
deleted file mode 100644
index eecd8fa4..00000000
--- a/bootstrap/ic-shared-database/db-init-job.yaml
+++ /dev/null
@@ -1,51 +0,0 @@
-apiVersion: batch/v1
-kind: Job
-metadata:
- name: db-init-job
- annotations:
- argocd.argoproj.io/sync-wave: "2"
-spec:
- template:
- spec:
- initContainers:
- - name: wait-for-db
- image: busybox:1.28
- command: ['sh', '-c', 'until nc -z -v -w30 $POSTGRESQL_DATABASE 5432; do echo "Waiting for database connection..."; sleep 2; done;']
- env:
- - name: POSTGRESQL_DATABASE
- value: claimdb.ic-shared-db.svc.cluster.local
- containers:
- - name: postgresql
- image: registry.redhat.io/rhel9/postgresql-13:latest
- env:
- - name: POSTGRESQL_DATABASE
- valueFrom:
- secretKeyRef:
- name: claimdb
- key: database-name
- - name: POSTGRESQL_USER
- valueFrom:
- secretKeyRef:
- name: claimdb
- key: database-user
- - name: PGPASSWORD
- valueFrom:
- secretKeyRef:
- name: claimdb
- key: database-password
- - name: POSTGRESQL_DATABASE_HOST
- value: claimdb.ic-shared-db.svc.cluster.local
- command: ["/bin/bash", "-c"]
- args:
- - |
- echo "Running SQL script"
- psql -h $POSTGRESQL_DATABASE_HOST -p 5432 -U $POSTGRESQL_USER -d $POSTGRESQL_DATABASE -f /sql-script/script.sql
- volumeMounts:
- - name: sql-script-volume
- mountPath: /sql-script
- restartPolicy: Never
- volumes:
- - name: sql-script-volume
- configMap:
- name: sql-script-configmap
- backoffLimit: 4
\ No newline at end of file
diff --git a/bootstrap/ic-shared-database/deployment.yaml b/bootstrap/ic-shared-database/deployment.yaml
deleted file mode 100644
index c359be16..00000000
--- a/bootstrap/ic-shared-database/deployment.yaml
+++ /dev/null
@@ -1,76 +0,0 @@
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- namespace: ic-shared-db
- name: ic-shared-db
- annotations:
- argocd.argoproj.io/sync-wave: "1"
-spec:
- selector:
- matchLabels:
- app: ic-shared-db
- replicas: 1
- template:
- metadata:
- labels:
- app: ic-shared-db
- spec:
- containers:
- - name: postgresql
- image: registry.redhat.io/rhel9/postgresql-13:latest
- resources:
- limits:
- memory: 512Mi
- readinessProbe:
- exec:
- command:
- - /usr/libexec/check-container
- initialDelaySeconds: 5
- timeoutSeconds: 1
- periodSeconds: 10
- successThreshold: 1
- failureThreshold: 3
- livenessProbe:
- exec:
- command:
- - /usr/libexec/check-container
- - '--live'
- initialDelaySeconds: 120
- timeoutSeconds: 10
- periodSeconds: 10
- successThreshold: 1
- failureThreshold: 3
- env:
- - name: POSTGRESQL_USER
- valueFrom:
- secretKeyRef:
- name: claimdb
- key: database-user
- - name: POSTGRESQL_PASSWORD
- valueFrom:
- secretKeyRef:
- name: claimdb
- key: database-password
- - name: POSTGRESQL_DATABASE
- valueFrom:
- secretKeyRef:
- name: claimdb
- key: database-name
- securityContext:
- capabilities: {}
- privileged: false
- ports:
- - containerPort: 5432
- protocol: TCP
- imagePullPolicy: IfNotPresent
- terminationMessagePath: /dev/termination-log
- terminationMessagePolicy: File
- volumeMounts:
- - name: claimdb-data
- mountPath: /var/lib/pgsql/data
- volumes:
- - name: claimdb-data
- persistentVolumeClaim:
- claimName: claimdb
- strategy:
- type: Recreate
diff --git a/bootstrap/ic-shared-database/images/original_images/car1.jpg b/bootstrap/ic-shared-database/images/original_images/car1.jpg
deleted file mode 100644
index 4977f446..00000000
Binary files a/bootstrap/ic-shared-database/images/original_images/car1.jpg and /dev/null differ
diff --git a/bootstrap/ic-shared-database/images/processed_images/car1-processed.jpg b/bootstrap/ic-shared-database/images/processed_images/car1-processed.jpg
deleted file mode 100644
index ef7f7d55..00000000
Binary files a/bootstrap/ic-shared-database/images/processed_images/car1-processed.jpg and /dev/null differ
diff --git a/bootstrap/ic-shared-database/kustomization.yaml b/bootstrap/ic-shared-database/kustomization.yaml
deleted file mode 100644
index 31539b16..00000000
--- a/bootstrap/ic-shared-database/kustomization.yaml
+++ /dev/null
@@ -1,22 +0,0 @@
----
-apiVersion: kustomize.config.k8s.io/v1beta1
-kind: Kustomization
-
-namespace: ic-shared-db
-
-commonLabels:
- component: ic-shared-db
-
-resources:
-# wave 0
-- namespace.yaml
-# wave 1
-- pvc.yaml
-- secret.yaml
-- secret-minio.yaml
-- deployment.yaml
-- service.yaml
-- sql-script-configmap.yaml
-# wave 2
-- db-init-job.yaml
-- populate-images.yaml
diff --git a/bootstrap/ic-shared-database/namespace.yaml b/bootstrap/ic-shared-database/namespace.yaml
deleted file mode 100644
index f57dfb18..00000000
--- a/bootstrap/ic-shared-database/namespace.yaml
+++ /dev/null
@@ -1,11 +0,0 @@
----
-apiVersion: v1
-kind: Namespace
-metadata:
- name: ic-shared-db
- labels:
- app: ic-shared-db
- argocd.argoproj.io/managed-by: openshift-gitops
- annotations:
- openshift.io/display-name: "Shared PostgreSQL Database"
- argocd.argoproj.io/sync-wave: "0"
diff --git a/bootstrap/ic-shared-database/populate-images.yaml b/bootstrap/ic-shared-database/populate-images.yaml
deleted file mode 100644
index 924abad4..00000000
--- a/bootstrap/ic-shared-database/populate-images.yaml
+++ /dev/null
@@ -1,59 +0,0 @@
----
-apiVersion: batch/v1
-kind: Job
-metadata:
- name: populate-images
- annotations:
- argocd.argoproj.io/sync-wave: "2"
-spec:
- backoffLimit: 4
- template:
- spec:
- initContainers:
- - name: wait-for-minio
- image: busybox:1.28
- command: ['sh', '-c', 'until nc -z -v -w30 $MINIO_ENDPOINT 9000; do echo "Waiting for Minio connection..."; sleep 2; done;']
- env:
- - name: MINIO_ENDPOINT
- value: minio.ic-shared-minio.svc.cluster.local
- containers:
- - name: add-images-to-bucket
- image: image-registry.openshift-image-registry.svc:5000/redhat-ods-applications/s2i-generic-data-science-notebook:1.2
- imagePullPolicy: IfNotPresent
- command: ["/bin/bash"]
- args:
- - -ec
- - |-
- git clone https://github.com/rh-aiservices-bu/parasol-insurance.git
-
- cat << 'EOF' | python3
- import boto3, os, botocore
-
- s3 = boto3.client("s3",
- endpoint_url=os.getenv("AWS_S3_ENDPOINT"),
- aws_access_key_id=os.getenv("AWS_ACCESS_KEY_ID"),
- aws_secret_access_key=os.getenv("AWS_SECRET_ACCESS_KEY"))
-
- # Create image bucket
- bucket_name = "claim-images"
- try:
- s3.head_bucket(Bucket=bucket_name)
- except botocore.exceptions.ClientError as e:
- if e.response['Error']['Code'] == '404':
- s3.create_bucket(Bucket=bucket_name)
-
- # Upload original images to minio
- for filename in os.listdir("parasol-insurance/bootstrap/ic-shared-database/images/original_images"):
- with open(f"parasol-insurance/bootstrap/ic-shared-database/images/original_images/{filename}", "rb") as f:
- s3.upload_fileobj(f, bucket_name, f"original_images/{filename}")
-
- # Upload processed images to minio
- for filename in os.listdir("parasol-insurance/bootstrap/ic-shared-database/images/processed_images"):
- with open(f"parasol-insurance/bootstrap/ic-shared-database/images/processed_images/{filename}", "rb") as f:
- s3.upload_fileobj(f, bucket_name, f"processed_images/{filename}")
-
- EOF
- envFrom:
- - secretRef:
- name: secret-minio
- restartPolicy: Never
diff --git a/bootstrap/ic-shared-database/pvc.yaml b/bootstrap/ic-shared-database/pvc.yaml
deleted file mode 100644
index 77f8c1f8..00000000
--- a/bootstrap/ic-shared-database/pvc.yaml
+++ /dev/null
@@ -1,16 +0,0 @@
----
-apiVersion: v1
-kind: PersistentVolumeClaim
-metadata:
- name: claimdb
- namespace: ic-shared-db
- labels:
- app: ic-shared-db
- annotations:
- argocd.argoproj.io/sync-wave: "1"
-spec:
- accessModes:
- - ReadWriteOnce
- resources:
- requests:
- storage: 10Gi
diff --git a/bootstrap/ic-shared-database/secret-minio.yaml b/bootstrap/ic-shared-database/secret-minio.yaml
deleted file mode 100644
index 8558f9fb..00000000
--- a/bootstrap/ic-shared-database/secret-minio.yaml
+++ /dev/null
@@ -1,14 +0,0 @@
-kind: Secret
-apiVersion: v1
-metadata:
- name: secret-minio
- namespace: ic-shared-db
- labels:
- app: ic-shared-db
- annotations:
- argocd.argoproj.io/sync-wave: "1"
-stringData:
- AWS_S3_ENDPOINT: http://minio.ic-shared-minio.svc.cluster.local:9000
- AWS_ACCESS_KEY_ID: minio
- AWS_SECRET_ACCESS_KEY: minio123
-type: Opaque
\ No newline at end of file
diff --git a/bootstrap/ic-shared-database/secret.yaml b/bootstrap/ic-shared-database/secret.yaml
deleted file mode 100644
index d663dd1d..00000000
--- a/bootstrap/ic-shared-database/secret.yaml
+++ /dev/null
@@ -1,14 +0,0 @@
-kind: Secret
-apiVersion: v1
-metadata:
- name: claimdb
- namespace: ic-shared-db
- labels:
- app: ic-shared-db
- annotations:
- argocd.argoproj.io/sync-wave: "1"
-stringData:
- database-name: claimdb
- database-password: claimdb
- database-user: claimdb
-type: Opaque
\ No newline at end of file
diff --git a/bootstrap/ic-shared-database/service.yaml b/bootstrap/ic-shared-database/service.yaml
deleted file mode 100644
index da668a7d..00000000
--- a/bootstrap/ic-shared-database/service.yaml
+++ /dev/null
@@ -1,20 +0,0 @@
----
-apiVersion: v1
-kind: Service
-metadata:
- name: claimdb
- namespace: ic-shared-db
- labels:
- app: ic-shared-db
- annotations:
- argocd.argoproj.io/sync-wave: "1"
-spec:
- ports:
- - name: postgresql
- protocol: TCP
- port: 5432
- targetPort: 5432
- selector:
- app: ic-shared-db
- sessionAffinity: None
- type: ClusterIP
diff --git a/bootstrap/ic-shared-database/sql-script-configmap.yaml b/bootstrap/ic-shared-database/sql-script-configmap.yaml
deleted file mode 100644
index 47ddfbde..00000000
--- a/bootstrap/ic-shared-database/sql-script-configmap.yaml
+++ /dev/null
@@ -1,337 +0,0 @@
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: sql-script-configmap
- annotations:
- argocd.argoproj.io/sync-wave: "1"
-data:
- script.sql: |
- CREATE SCHEMA IF NOT EXISTS claims
- AUTHORIZATION claimdb;
-
- DROP TABLE IF EXISTS claims.claims CASCADE;
- DROP TABLE IF EXISTS claims.original_images CASCADE;
- DROP TABLE IF EXISTS claims.processed_images CASCADE;
- DROP SEQUENCE IF EXISTS claims.claims_id_seq CASCADE;
- DROP SEQUENCE IF EXISTS claims.original_images_id_seq CASCADE;
- DROP SEQUENCE IF EXISTS claims.processed_images_id_seq CASCADE;
-
- -- SEQUENCE: claims.claims_id_seq
-
- CREATE SEQUENCE IF NOT EXISTS claims.claims_id_seq
- INCREMENT 1
- START 1
- MINVALUE 1
- MAXVALUE 2147483647
- CACHE 1;
-
- -- Table: claims.claims
-
- CREATE TABLE IF NOT EXISTS claims.claims
- (
- id integer NOT NULL DEFAULT nextval('claims.claims_id_seq'::regclass),
- claim_number text COLLATE pg_catalog."default",
- category text COLLATE pg_catalog."default",
- policy_number text COLLATE pg_catalog."default",
- client_name text COLLATE pg_catalog."default",
- subject text COLLATE pg_catalog."default",
- body text COLLATE pg_catalog."default",
- summary text COLLATE pg_catalog."default",
- location text COLLATE pg_catalog."default",
- "time" text COLLATE pg_catalog."default",
- sentiment text COLLATE pg_catalog."default",
- CONSTRAINT claims_pkey PRIMARY KEY (id)
- )
- WITH (
- OIDS = FALSE
- )
- TABLESPACE pg_default;
-
- -- Link Table to Sequence
-
- ALTER SEQUENCE claims.claims_id_seq
- OWNED BY claims.claims.id;
-
- -- SEQUENCE: claims.original_images_id_seq
-
- CREATE SEQUENCE IF NOT EXISTS claims.original_images_id_seq
- INCREMENT 1
- START 1
- MINVALUE 1
- MAXVALUE 2147483647
- CACHE 1;
-
- -- Table: claims.original_images
-
- CREATE TABLE IF NOT EXISTS claims.original_images
- (
- id integer NOT NULL DEFAULT nextval('claims.original_images_id_seq'::regclass),
- image_name text COLLATE pg_catalog."default" NOT NULL,
- image_key text COLLATE pg_catalog."default" NOT NULL,
- claim_id integer NOT NULL,
- CONSTRAINT original_images_pkey PRIMARY KEY (id),
- CONSTRAINT fk_claim_id FOREIGN KEY (claim_id)
- REFERENCES claims.claims (id) MATCH SIMPLE
- ON UPDATE CASCADE
- ON DELETE CASCADE
- )
- WITH (
- OIDS = FALSE
- )
- TABLESPACE pg_default;
-
- -- Link Table to Sequence
-
- ALTER SEQUENCE claims.original_images_id_seq
- OWNED BY claims.original_images.id;
-
- -- SEQUENCE: claims.processed_images_id_seq
-
- CREATE SEQUENCE IF NOT EXISTS claims.processed_images_id_seq
- INCREMENT 1
- START 1
- MINVALUE 1
- MAXVALUE 2147483647
- CACHE 1;
-
- -- Table: claims.processed_images
-
- CREATE TABLE IF NOT EXISTS claims.processed_images
- (
- id integer NOT NULL DEFAULT nextval('claims.processed_images_id_seq'::regclass),
- image_name text COLLATE pg_catalog."default" NOT NULL,
- image_key text COLLATE pg_catalog."default" NOT NULL,
- claim_id integer NOT NULL,
- CONSTRAINT processed_images_pkey PRIMARY KEY (id),
- CONSTRAINT fk_claim_id FOREIGN KEY (claim_id)
- REFERENCES claims.claims (id) MATCH SIMPLE
- ON UPDATE CASCADE
- ON DELETE CASCADE
- )
- WITH (
- OIDS = FALSE
- )
- TABLESPACE pg_default;
-
- -- Link Table to Sequence
-
- ALTER SEQUENCE claims.processed_images_id_seq
- OWNED BY claims.processed_images.id;
-
- -----
- -- INSERTS
- -----
- -- CLAIM1
-
- INSERT INTO claims.claims (claim_number, category, policy_number, client_name, subject, body, summary, location, time, sentiment)
- VALUES ('CLM202401', 'Multiple vehicle', 'AC-987654321', 'Sarah Turner','Claim for Recent Car Accident - Policy Number: AC-987654321', '
- Dear Parasol Insurance,
-
- I hope this email finds you well. My name is Sarah Turner, and I am writing to file a claim for a recent car accident that occurred on January 2nd, 2024, at approximately 3:30 PM. My policy number is AC-987654321.
-
- The accident took place at the intersection of Birch Street and Willow Avenue in the city of Evergreen. I was driving my vehicle, a black Toyota Camry with license plate number DEF-456, heading south on Birch Street. At the intersection, the traffic signal was green, and I proceeded through the intersection.
-
- At the same time, another vehicle, a blue Chevrolet Traverse with license plate number GHI-789, was traveling west on Willow Avenue. Unfortunately, the driver failed to stop at the red traffic signal, resulting in a collision with the front passenger side of my vehicle.
-
- The impact caused significant damage to both vehicles. The front bumper and right headlight of my Toyota Camry are extensively damaged, and there are also damages to the front driver''s side of the Chevrolet Traverse. Fortunately, no injuries were sustained during the accident, and both drivers were able to move their vehicles to the side of the road.
-
- I promptly exchanged information with the other driver, Mr. Daniel Reynolds, including our names, phone numbers, insurance details, and a brief description of the accident. Additionally, I took photos of the accident scene, including the damages to both vehicles and the position of the traffic signal.
-
- I have attached the necessary documents to this email, including the photos, a copy of the police report filed at the Evergreen Police Department, and the estimate for the repair costs from Evergreen Auto Repair, where I have taken my vehicle for assessment.
-
- I kindly request your prompt attention to this matter and would appreciate any guidance on the next steps in the claims process. If you require any additional information or documentation, please do not hesitate to contact me at (555) 123-4567 or sarah.turner@email.com.
-
- Thank you for your assistance, and I look forward to a swift resolution of this claim.
-
- Sincerely,
-
- Sarah Turner
- 123 Oak Street
- Evergreen, CA 98765
- (555) 123-4567
- sarah.turner@email.com
- ',
- '
- On January 2, 2024, at around 3:30 PM, a car accident occurred at the intersection of Birch Street and Willow Avenue in Evergreen. The involved parties were Sarah Turner, driving a black Toyota Camry (DEF-456), and Daniel Reynolds in a blue Chevrolet Traverse (GHI-789).
-
- Sarah was heading south on Birch Street when Daniel failed to stop at the red traffic signal on Willow Avenue, causing a collision with Sarah''s vehicle. Both drivers exchanged information and took photos of the accident scene, which included damages to the front passenger side of Sarah''s Toyota Camry and the front driver''s side of Daniel''s Chevrolet Traverse. No injuries were reported.
-
- Sarah has attached necessary documents, such as photos, a police report, and an estimate for repair costs, to her email. She requests prompt attention to the claim and is available at (555) 123-4567 or sarah.turner@email.com for any additional information or documentation needed.
- ',
- 'Intersection of Birch Street and Willow Avenue in the city of Evergreen',
- 'January 2nd, 2024, at approximately 3:30 PM',
- 'The sender, Sarah Turner, expresses a polite and professional tone in her email. She is respectful and detailed in her description of the car accident and the subsequent steps she took to file a claim. She requests prompt attention to the matter and provides all necessary documentation. Overall, her sentiment is one of being proactive and cooperative in the claims process.'
- );
-
- -- CLAIM2
-
- INSERT INTO claims.claims (claim_number, category, policy_number, client_name, subject, body, summary, location, time, sentiment)
- VALUES ('CLM202402', 'Multiple vehicle', 'PT-567890', 'John T. Anderson','Urgent: Unacceptable Delay and Lack of Communication Regarding Claim #XYZ789', '
- Dear Parasol Insurances,
-
- I am writing to express my extreme dissatisfaction with the appalling service I have received concerning my recent claim, reference number #XYZ789. The lack of communication and delayed response from your company is utterly unacceptable, and I demand immediate attention to rectify this matter.
-
- The accident occurred on January 15, 2024, at approximately 3:45 PM, near the intersection of Maple Street and Oak Avenue in Rivertown. My vehicle, a Silver Hawk GT, was struck by another driver, identified as Samantha Reynolds, who ran a red light at the aforementioned intersection. This incident resulted in substantial damage to the front end of my car, including severe structural damage and airbag deployment.
-
- I reported the claim immediately after the accident, providing all necessary details, witness information, and a detailed description of the events leading up to the collision. However, the response—or lack thereof—from your company has been absolutely deplorable. I have yet to receive any updates on the status of my claim, and my attempts to contact your claims department have been met with prolonged hold times and unhelpful representatives.
-
- I insist on a thorough investigation into this matter and demand an explanation for the unreasonable delay. It is my right as a policyholder to receive timely updates on the progress of my claim and to be treated with the respect and urgency that this situation demands.
-
- Furthermore, the lack of transparency and communication from your company is not only unprofessional but also exacerbates the stress and inconvenience caused by the accident itself. I expect immediate action to be taken to expedite the processing of my claim and provide me with the information I am entitled to as a paying customer.
-
- I am appalled at the disregard for customer satisfaction and the apparent negligence displayed by your company in handling my claim. If my concerns are not addressed promptly and to my satisfaction, I will have no choice but to escalate this matter to the appropriate regulatory authorities and consider legal action.
-
- I demand a comprehensive update on the status of my claim within the next 48 hours. Failing to meet this deadline will only reinforce my belief that your company values its bottom line over the well-being of its customers.
-
- I trust that you will treat this matter with the urgency and seriousness it deserves.
-
- Sincerely,
- John T. Anderson
- Policy Number: PT-567890
- ',
- '
- The text is a letter of complaint from John T. Anderson to Parasol Insurances regarding an unresolved car insurance claim, #XYZ789. The incident occurred on January 15, 2024, when Anderson''s vehicle was hit by another driver, Samantha Reynolds, who ran a red light. The accident caused significant damage to Anderson''s car, and he reported the claim immediately, providing all necessary details. However, he has experienced poor communication and a delayed response from Parasol Insurances. Anderson demands an explanation for the delay, transparency, and urgency in handling his claim. He threatens to escalate the matter to regulatory authorities and consider legal action if his concerns are not addressed promptly. Anderson requests a comprehensive update on the status of his claim within the next 48 hours.
- ',
- 'Near the intersection of Maple Street and Oak Avenue in Rivertown',
- 'January 15, 2024, at approximately 3:45 PM',
- 'The sender of this claim is expressing extreme dissatisfaction with the handling of their insurance claim by Parasol Insurances. They are frustrated with the lack of communication and the significant delay in processing their claim. The tone of the message is demanding and assertive, with the sender threatening to escalate the matter if their concerns are not addressed promptly.'
- );
-
- -- CLAIM3
-
- INSERT INTO claims.claims (claim_number, category, policy_number, client_name, subject, body, summary, location, time, sentiment)
- VALUES ('CLM502803', 'Multiple vehicle', 'AC-987654', 'Jane Doe','Urgent: Car Accident Claim Assistance Needed', '
- Dear Parasol Inc.,
-
- I hope this email finds you well. I''m writing to, uh, inform you about, well, something that happened recently. It''s, um, about a car accident, and I''m not really sure how to, you know, go about all this. I''m kinda anxious and confused, to be honest.
-
- So, the accident, uh, occurred on January 15, 2024, at around 3:30 PM. I was driving, or, um, attempting to drive, my car at the intersection of Maple Street and Elm Avenue. It''s kinda close to, um, a gas station and a, uh, coffee shop called Brew Haven? I''m not sure if that matters, but, yeah.
-
- So, I was just, you know, driving along, and suddenly, out of nowhere, another car, a Blue Crest Sedan, crashed into the, uh, driver''s side of my car. It was like, whoa, what just happened, you know? There was this screeching noise and, uh, some honking from other cars, and I just felt really, uh, overwhelmed.
-
- The weather was, um, kinda cloudy that day, but I don''t think it was raining. I mean, I can''t really remember. Sorry if that''s important. Anyway, the road, or, well, maybe the intersection, was kinda busy, with cars going in different directions. I guess that''s, you know, a detail you might need?
-
- As for damages, my car has, uh, significant damage on the driver''s side. The front door is all dented, and the side mirror is, like, hanging by a thread. It''s not really drivable in its current, uh, state. The Blue Crest Sedan also had some damage, but I''m not exactly sure what because, you know, everything happened so fast.
-
- I did manage to exchange information with the other driver. Their name is Sarah Johnson, and I got their phone number (555-1234), license plate number (ABC123), and insurance information. So, yeah, I hope that''s helpful.
-
- I''m not sure what, um, steps I should take now. Do I need to go to a specific, uh, repair shop? Should I get a quote for the repairs? And, uh, how do I, you know, proceed with the insurance claim? I''m kinda lost here, and any guidance or assistance you can provide would be really, um, appreciated.
-
- Sorry if this email is a bit all over the place. I''m just really, uh, anxious about the whole situation. Thank you for your understanding.
-
- Sincerely,
-
- Jane Doe
- Policy Number: AC-987654
- ',
- '',
- '',
- '',
- ''
- );
-
- -- CLAIM4
-
- INSERT INTO claims.claims (claim_number, category, policy_number, client_name, subject, body, summary, location, time, sentiment)
- VALUES ('CLM202415', 'Single vehicle', 'BK-5165426', 'Dominic Toretto','Claim for Car Accident - Policy #: BK-5165426', '
- Dear Parasol Insurance Team,
-
- I hope this email finds you well. I''m reaching out to file a claim regarding a recent incident involving my car, which is covered under my policy with Parasol. The accident occurred last night on the streets of Los Angeles, and I wanted to provide you with all the necessary details.
-
- Location: The accident took place at the intersection of Sunset Boulevard and Vine Street in downtown Los Angeles. It was one of those crazy nights, where the streets were alive with the sound of engines and the glow of neon lights.
-
- Circumstances: So, here''s the deal. I was out cruising with the crew, enjoying the vibe of the city, when suddenly we found ourselves in the middle of a high-speed chase. There was this dude, let''s call him Johnny Tran for the sake of this email, who thought he could outmaneuver us. Little did he know, we don''t play by the rules.
-
- Anyway, Johnny pulled some slick moves, cutting through traffic like a bat outta hell. Naturally, being the king of the streets that I am, I had to show him what real speed looks like. So, I hit the nitrous and went full throttle.
-
- But then, outta nowhere, this semi-truck decided to make a left turn without signaling. I had to make a split-second decision, and I ended up launching my car off a ramp, trying to clear the truck like we''re in one of those crazy action flicks. It was like something straight outta the movies, I tell ya.
-
- Long story short, the stunt didn''t exactly go as planned. My car ended up crashing into a billboard, flipping over a couple of times before finally coming to a stop. Yeah, it was a total wreck. But hey, at least we walked away without a scratch, just a little shaken, not stirred, if you catch my drift.
-
- Damage: As for the damage to my car, let''s just say it''s gonna need more than a few wrenches and some duct tape to fix this baby up. The front end is smashed in, the windows are shattered, and I''m pretty sure the chassis is twisted beyond recognition. It''s gonna take a miracle to get her back on the road.
-
- I understand that accidents happen, but I''m counting on Parasol to have my back in times like these. I''ve been a loyal customer for years, and I trust that you''ll handle my claim with the same speed and precision that I handle my rides.
-
- Please let me know what steps I need to take to get the ball rolling on this claim. I''m ready to do whatever it takes to get my car back in top shape and back on the streets where it belongs.
-
- Looking forward to hearing from you soon.
-
- Sincerely,
- Dominic Toretto
- ',
- 'The email is from a customer named Dominic Toretto, requesting to file a claim for a car accident that occurred in Los Angeles. He describes the incident as involving a high-speed chase with another driver named Johnny Tran, who cut through traffic and caused Dominic to take evasive action. Dominic attempted to clear the truck by launching his car off a ramp but ended up crashing into a billboard, causing significant damage to the front end, shattered windows, and possibly a twisted chassis. The sender expresses confidence in Parasol''s ability to handle the claim efficiently due to their long-term loyalty as a customer. They ask for guidance on the next steps to take in the claims process.',
- 'The event the claim is related to happened at the intersection of Sunset Boulevard and Vine Street in downtown Los Angeles.',
- 'The event described in the claim text occurred last night (no specific date mentioned) at an intersection in downtown Los Angeles, specifically at Sunset Boulevard and Vine Street. The exact time is not provided in the text.',
- 'The person sending the claim, identified as Dominic Toretto, expresses a positive sentiment towards Parasol Insurance and his expectation of them handling his claim efficiently. However, the tone of the email is also boastful and exaggerated, describing an unlikely series of events involving a car accident and a high-speed chase. Despite the unconventional circumstances, Dominic expresses confidence in Parasol''s ability to help him get his car repaired.'
- );
-
- -- CLAIM5
-
- INSERT INTO claims.claims (claim_number, category, policy_number, client_name, subject, body, summary, location, time, sentiment)
- VALUES ('CLM52125', 'Multiple vehicle', 'AC-418324', 'Saul Goodman', 'Where is My Money? Urgent Attention Needed for My Car Accident Claim', '
- Dear Stoneheart Insurance Claims Department,
-
- I am absolutely *thrilled* (read: infuriated) to be writing yet another heartfelt missive to the void that is your customer service. My recent car accident claim has vanished into the ether, much like my patience and the professionalism I expected from your company. How about we resolve this before the next ice age?
-
- Let''s recap the blockbuster event:
- On March 28, 2023, at around 4:15 PM, at the intersection of 5th Avenue and Main St in Springfield, my car was passionately sideswiped by another vehicle. Why? Because the other driver blasted through a red light and T-boned my car''s passenger side. It was a harrowing scene, made worse by your glacial pace of response.
-
- It''s been over two weeks, and your commitment to delay is almost impressive. I demand a comprehensive review and prompt update on my claim within the next 24 hours. This isn''t just a request—it''s a necessity driven by sheer frustration and the urgent need for resolution.
-
- Please treat this matter with the urgency it clearly deserves. I expect a detailed plan of action and a swift response, or be assured, further actions including legal recourse will be considered.
-
- Looking forward to an expedited resolution,
- Saul Goodman
-
- CC: My 17 Twitter Followers
-
- Attach: Police Report No. 12345, Photos of the Incident, Documented Calls and Emails
- ',
- 'The text is a letter from a customer named Saul Goodman to the Stoneheart Insurance Claims Department regarding an unresolved car accident claim. The incident occurred on March 28, 2023, at the intersection of 5th Avenue and Main St in Springfield, where Saul''s car was hit by another vehicle that ran a red light. He is frustrated with the lack of progress on his claim, which has been ongoing for over two weeks. Saul demands a thorough review and update within 24 hours, threatening further actions if his request is not met. He attaches relevant documents, including a police report, photos of the incident, and records of calls and emails, to support his claim.',
- 'The event the claim is related to happened at the intersection of 5th Avenue and Main St in Springfield.',
- 'The car accident described in the text occurred on March 28, 2023, at around 4:15 PM.',
- 'The sentiment of the person sending this claim is one of frustration and urgency. They are expressing dissatisfaction with the delay in processing their car accident claim and threatening further action if it is not resolved promptly.'
- );
-
- INSERT INTO claims.claims (claim_number, category, policy_number, client_name, subject, body, summary, location, time, sentiment)
- VALUES ('CLM605208', 'Multiple vehicle', 'AC-768901', 'Tyrion Lannister', 'Urgent Claim Review Required: Collision in King''s Landing', '
- Dear Westeros Insurance Claims Department,
-
- This correspondence is from Tyrion Lannister, currently not in a tavern but rather dealing with the aftermath of an unpleasant vehicular incident. As a man known for resolving conflicts, I find myself ironically embroiled in one that requires your immediate attention.
-
- Here are the distressing details:
- On April 15, 2023, at about noon, within the confines of King''s Landing, my car was struck by another. As I navigated through the bustling streets near the marketplace, a distracted driver—likely admiring the view of the Blackwater Bay instead of the road—rammed into my car''s side. This not only caused significant damage to the vehicle but also disrupted my travel plans significantly.
-
- Nearly a month has elapsed since the accident, and yet, I''ve seen more action in the Small Council meetings than in the progress of my claim. Your lack of promptness in handling this matter is both noted and distressing. I require an exhaustive review and a swift update on my claim within the next 48 hours. This is not a mere request, but a necessity fueled by urgent needs and dwindling patience.
-
- Please address this claim with the seriousness it merits. I expect a detailed response and a rapid resolution, or rest assured, further actions, potentially involving the Crown, will be considered.
-
- I await your expedited action,
- Tyrion Lannister
-
- CC: Master of Coin
-
- Attach: Car Damage Photos, Eyewitness Accounts, Incident Report No. KL509
- ',
- '',
- '',
- '',
- ''
- );
-
- -- IMAGES
-
- INSERT INTO claims.original_images (image_name, image_key, claim_id) VALUES ('car0.jpg', 'original_images/car0.jpg', 1);
- INSERT INTO claims.original_images (image_name, image_key, claim_id) VALUES ('car1.jpg', 'original_images/car1.jpg', 1);
- INSERT INTO claims.original_images (image_name, image_key, claim_id) VALUES ('car2.jpg', 'original_images/car2.jpg', 2);
- INSERT INTO claims.original_images (image_name, image_key, claim_id) VALUES ('car3.jpg', 'original_images/car3.jpg', 3);
- INSERT INTO claims.original_images (image_name, image_key, claim_id) VALUES ('car5.jpg', 'original_images/car5.jpg', 3);
- INSERT INTO claims.original_images (image_name, image_key, claim_id) VALUES ('car6.jpg', 'original_images/car6.jpg', 3);
- INSERT INTO claims.processed_images (image_name, image_key, claim_id) VALUES ('car0-processed.jpg', 'processed_images/car0-processed.jpg', 1);
- INSERT INTO claims.processed_images (image_name, image_key, claim_id) VALUES ('car1-processed.jpg', 'processed_images/car1-processed.jpg', 1);
- INSERT INTO claims.processed_images (image_name, image_key, claim_id) VALUES ('car2-processed.jpg', 'processed_images/car2-processed.jpg', 2);
- INSERT INTO claims.processed_images (image_name, image_key, claim_id) VALUES ('car3-processed.jpg', 'processed_images/car3-processed.jpg', 3);
- INSERT INTO claims.processed_images (image_name, image_key, claim_id) VALUES ('car5-processed.jpg', 'processed_images/car5-processed.jpg', 3);
- INSERT INTO claims.processed_images (image_name, image_key, claim_id) VALUES ('car6-processed.jpg', 'processed_images/car6-processed.jpg', 3);
-
-
diff --git a/bootstrap/ic-shared-img-det/add-model-job.yaml b/bootstrap/ic-shared-img-det/add-model-job.yaml
deleted file mode 100644
index 81e9d381..00000000
--- a/bootstrap/ic-shared-img-det/add-model-job.yaml
+++ /dev/null
@@ -1,54 +0,0 @@
----
-apiVersion: batch/v1
-kind: Job
-metadata:
- name: add-model-job
- annotations:
- argocd.argoproj.io/sync-wave: "2"
-spec:
- backoffLimit: 4
- template:
- spec:
- serviceAccount: sa-img-det-gitops-setup
- serviceAccountName: sa-img-det-gitops-setup
- initContainers:
- # - name: wait-for-imagestream
- # image: image-registry.openshift-image-registry.svc:5000/openshift/tools:latest
- # imagePullPolicy: IfNotPresent
- # command: ["/bin/bash"]
- # args:
- # - -ec
- # - |-
- # echo -n 'Waiting for RHODS to deploy ImageStreams'
- # while ! oc get istag -n redhat-ods-applications 2>/dev/null | grep -qF s2i-generic-data-science-notebook:1.2; do
- # echo -n .
- # sleep 5
- # done; echo
- containers:
- - name: add-model
- image: image-registry.openshift-image-registry.svc:5000/redhat-ods-applications/s2i-generic-data-science-notebook:1.2
- imagePullPolicy: IfNotPresent
- command: ["/bin/bash"]
- args:
- - -ec
- - |-
- # in case we need to add more models, we can do it here too.
- echo -n "not doing anything right now"
- # curl -LO https://ai-on-openshift.io/odh-rhods/img-triton/card.fraud.detection.onnx
- # cat << 'EOF' | python3
- # filename = "card.fraud.detection.onnx"
- # import boto3, os
- # s3 = boto3.client("s3",
- # endpoint_url=os.getenv("AWS_S3_ENDPOINT"),
- # aws_access_key_id=os.getenv("AWS_ACCESS_KEY_ID"),
- # aws_secret_access_key=os.getenv("AWS_SECRET_ACCESS_KEY"))
- # bucket = os.getenv("AWS_S3_BUCKET")
- # if bucket not in [bu["Name"] for bu in s3.list_buckets()["Buckets"]]:
- # s3.create_bucket(Bucket=bucket)
- # with open(filename, "rb") as f:
- # s3.upload_fileobj(f, bucket, f'fraud/{filename}')
- # EOF
- envFrom:
- - secretRef:
- name: aws-connection-minio
- restartPolicy: Never
diff --git a/bootstrap/ic-shared-img-det/create-data-connection.yaml b/bootstrap/ic-shared-img-det/create-data-connection.yaml
deleted file mode 100644
index cdb01dfa..00000000
--- a/bootstrap/ic-shared-img-det/create-data-connection.yaml
+++ /dev/null
@@ -1,51 +0,0 @@
----
-apiVersion: batch/v1
-kind: Job
-metadata:
- name: create-data-connection
- annotations:
- argocd.argoproj.io/sync-wave: "1"
- argocd.argoproj.io/hook: Sync
- argocd.argoproj.io/hook-delete-policy: BeforeHookCreation
-spec:
- backoffLimit: 4
- template:
- spec:
- serviceAccount: sa-img-det-gitops-setup
- serviceAccountName: sa-img-det-gitops-setup
- containers:
- - name: create-data-connection
- image: image-registry.openshift-image-registry.svc:5000/openshift/tools:latest
- imagePullPolicy: IfNotPresent
- command: ["/bin/bash"]
- args:
- - -ec
- - |-
- echo -n "Waiting for minio-root-user."
- while [ -z "$(oc get secret -n ic-shared-minio minio-root-user -oname 2>/dev/null)" ]; do
- echo -n '.'
- sleep 1
- done; echo
- id=$(oc get secret -n ic-shared-minio minio-root-user -ogo-template='{{.data.MINIO_ROOT_USER|base64decode}}')
- secret=$(oc get secret -n ic-shared-minio minio-root-user -ogo-template='{{.data.MINIO_ROOT_PASSWORD|base64decode}}')
- echo "Creating secret for ${id}"
- cat << EOF | oc apply -f-
- apiVersion: v1
- kind: Secret
- metadata:
- name: aws-connection-minio
- labels:
- opendatahub.io/dashboard: "true"
- opendatahub.io/managed: "true"
- annotations:
- opendatahub.io/connection-type: s3
- openshift.io/display-name: MinIO
- type: Opaque
- stringData:
- AWS_ACCESS_KEY_ID: ${id}
- AWS_SECRET_ACCESS_KEY: ${secret}
- AWS_DEFAULT_REGION: us
- AWS_S3_ENDPOINT: http://minio.ic-shared-minio.svc:9000
- AWS_S3_BUCKET: models
- EOF
- restartPolicy: Never
diff --git a/bootstrap/ic-shared-img-det/kustomization.yaml b/bootstrap/ic-shared-img-det/kustomization.yaml
deleted file mode 100644
index e82ccc3b..00000000
--- a/bootstrap/ic-shared-img-det/kustomization.yaml
+++ /dev/null
@@ -1,18 +0,0 @@
----
-apiVersion: kustomize.config.k8s.io/v1beta1
-kind: Kustomization
-
-commonLabels:
- component: model
-
-namespace: ic-shared-img-det
-
-resources:
-- project.yaml
-- setup-serviceaccount.yaml
-- create-data-connection.yaml
-- add-model-job.yaml
-- runtime.yaml
-- model.yaml
-# pinger is not ready yet
-# - pinger.yaml
diff --git a/bootstrap/ic-shared-img-det/model.yaml b/bootstrap/ic-shared-img-det/model.yaml
deleted file mode 100644
index e3a8df64..00000000
--- a/bootstrap/ic-shared-img-det/model.yaml
+++ /dev/null
@@ -1,44 +0,0 @@
-# ---
-# apiVersion: serving.kserve.io/v1beta1
-# kind: InferenceService
-# metadata:
-# annotations:
-# openshift.io/display-name: accident
-# serving.kserve.io/deploymentMode: ModelMesh
-# argocd.argoproj.io/sync-wave: "3"
-# argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true
-# labels:
-# name: accident
-# opendatahub.io/dashboard: "true"
-# name: accident
-# spec:
-# predictor:
-# model:
-# modelFormat:
-# name: onnx
-# version: "1"
-# runtime: triton
-# storage:
-# key: aws-connection-minio
-# path: accident/
----
-apiVersion: serving.kserve.io/v1beta1
-kind: InferenceService
-metadata:
- annotations:
- openshift.io/display-name: img-det
- serving.kserve.io/deploymentMode: ModelMesh
- labels:
- name: "img-det"
- opendatahub.io/dashboard: 'true'
- name: "img-det"
-spec:
- predictor:
- model:
- modelFormat:
- name: onnx
- version: '1'
- runtime: ovms
- storage:
- key: aws-connection-minio
- path: accident/
\ No newline at end of file
diff --git a/bootstrap/ic-shared-img-det/pinger.yaml b/bootstrap/ic-shared-img-det/pinger.yaml
deleted file mode 100644
index 2745534a..00000000
--- a/bootstrap/ic-shared-img-det/pinger.yaml
+++ /dev/null
@@ -1,134 +0,0 @@
----
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: model-pinger
- labels:
- app: model-pinger
-spec:
- replicas: 1
- revisionHistoryLimit: 3
- selector:
- matchLabels:
- app: model-pinger
- strategy:
- type: RollingUpdate
- rollingUpdate:
- maxSurge: 1
- maxUnavailable: 100%
- template:
- metadata:
- labels:
- app: model-pinger
- spec:
- containers:
- - name: pinger
- image: quay.io/rh-aiservices-bu/rhoai-lab-insurance-claim-small-datascience:1.0
- command:
- - python
- - -u
- - /ping_model.py
- env:
- - name: MM_SERVING_HOST
- value: modelmesh-serving:8008
- - name: MM_MODEL_NAME
- # value: fraud-4
- value: fraud-latest
- - name: SLEEP_TIME
- value: "5"
- resources:
- limits:
- cpu: "0.2"
- memory: 256Mi
- volumeMounts:
- - name: pinger-config
- subPath: ping_model.py
- mountPath: /ping_model.py
- volumes:
- - name: pinger-config
- configMap:
- name: model-pinger
-
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: model-pinger
-data:
- ping_model.py: |
- import os
- import time
- from datetime import datetime
- import random
-
- # MM_SERVING_HOST = os.environ.get("MM_SERVING_HOST", "modelmesh-serving:8008")
- # MM_MODEL_NAME = os.environ.get("MM_MODEL_NAME", "fraud-latest")
-
- # # deployed_model_name = "fraud-latest"
- # # rest_url = "http://modelmesh-serving:8008"
- # deployed_model_name = MM_MODEL_NAME
- # rest_url = f"http://{MM_SERVING_HOST}"
- # infer_url = f"{rest_url}/v2/models/{deployed_model_name}/infer"
- # print(infer_url)
-
- # import requests
-
- # def rest_request(data):
- # json_data = {
- # "inputs": [
- # {
- # "name": "dense_input",
- # "shape": [1, 5],
- # "datatype": "FP32",
- # "data": data
- # }
- # ]
- # }
-
- # response = requests.post(infer_url, json=json_data)
- # response_dict = response.json()
- # return response_dict['outputs'][0]['data']
-
-
- # MM_SERVING_HOST = os.environ.get("MM_SERVING_HOST", "modelmesh-serving:8033")
- # MM_MODEL_NAME = os.environ.get("MM_MODEL_NAME", "ansible-model-pinger")
-
- # SLEEP_TIME = os.environ.get("SLEEP_TIME", "3")
- # SLEEP_TIME = int(SLEEP_TIME)
-
-
- # while True:
- # now = datetime.now()
- # time_string = now.strftime("%Y-%m-%d %H:%M:%S")
-
- # print("--------------------------------------")
- # print("Sending Request at",time_string)
-
- # start = time.time()
- # try:
- # random_dist = round(random.uniform(0, 50), 2)
- # data = [random_dist, 1.9459399775518593, 1.0, 0.0, 0.0]
- # print("Data sent to model ("+deployed_model_name+"):")
- # print(data)
-
- # # Start the timer
- # start_time = time.time()
-
- # prediction = rest_request(data)
-
- # # End the timer
- # end_time = time.time()
-
- # # Calculate the elapsed time in milliseconds
- # response_time_ms = (end_time - start_time) * 1000
-
- # # prediction
- # print("Likelyhood of fraud")
- # print(str(prediction[0]*100)+"%")
-
- # print("Prediction took ", response_time_ms, "milliseconds")
-
- # except Exception as e:
- # print(f"Errored after {time.time() - start}s: {e}")
-
- # time.sleep(SLEEP_TIME)
\ No newline at end of file
diff --git a/bootstrap/ic-shared-img-det/project.yaml b/bootstrap/ic-shared-img-det/project.yaml
deleted file mode 100644
index f0a9c731..00000000
--- a/bootstrap/ic-shared-img-det/project.yaml
+++ /dev/null
@@ -1,14 +0,0 @@
----
-apiVersion: project.openshift.io/v1
-kind: Project
-metadata:
- annotations:
- openshift.io/description: Project created to demonstrate custom serving runtime
- openshift.io/display-name: Shared Image Detection Model
- argocd.argoproj.io/sync-wave: "0"
- argocd.argoproj.io/managed-by: openshift-gitops
- labels:
- kubernetes.io/metadata.name: ic-shared-img-det
- modelmesh-enabled: "true"
- opendatahub.io/dashboard: "true"
- name: ic-shared-img-det
diff --git a/bootstrap/ic-shared-img-det/runtime.yaml b/bootstrap/ic-shared-img-det/runtime.yaml
deleted file mode 100644
index 4753e594..00000000
--- a/bootstrap/ic-shared-img-det/runtime.yaml
+++ /dev/null
@@ -1,146 +0,0 @@
-# ---
-# apiVersion: serving.kserve.io/v1alpha1
-# kind: ServingRuntime
-# metadata:
-# annotations:
-# enable-auth: "false"
-# enable-route: "false"
-# maxLoadingConcurrency: "2"
-# opendatahub.io/template-display-name: Triton runtime 23.11
-# opendatahub.io/template-name: triton-23.11-20231217
-# openshift.io/display-name: "Triton 23.11 - added on 20231217"
-# argocd.argoproj.io/sync-wave: "3"
-# argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true
-# labels:
-# name: triton
-# opendatahub.io/dashboard: "true"
-# name: triton
-# spec:
-# builtInAdapter:
-# memBufferBytes: 134217728
-# modelLoadingTimeoutMillis: 90000
-# runtimeManagementPort: 8001
-# serverType: triton
-# containers:
-# - args:
-# - -c
-# - 'mkdir -p /models/_triton_models; chmod 777 /models/_triton_models; exec tritonserver
-# "--model-repository=/models/_triton_models" "--model-control-mode=explicit"
-# "--strict-model-config=false" "--strict-readiness=false" "--allow-http=true"
-# "--allow-sagemaker=false" '
-# command:
-# - /bin/sh
-# image: nvcr.io/nvidia/tritonserver:23.11-py3
-# livenessProbe:
-# exec:
-# command:
-# - curl
-# - --fail
-# - --silent
-# - --show-error
-# - --max-time
-# - "9"
-# - http://localhost:8000/v2/health/live
-# initialDelaySeconds: 5
-# periodSeconds: 30
-# timeoutSeconds: 10
-# name: triton
-# resources:
-# limits:
-# cpu: "1"
-# memory: 8Gi
-# requests:
-# cpu: "1"
-# memory: 2Gi
-# grpcDataEndpoint: port:8001
-# grpcEndpoint: port:8085
-# multiModel: true
-# protocolVersions:
-# - grpc-v2
-# replicas: 1
-# supportedModelFormats:
-# - autoSelect: true
-# name: keras
-# version: "2"
-# - autoSelect: true
-# name: onnx
-# version: "1"
-# - autoSelect: true
-# name: pytorch
-# version: "1"
-# - autoSelect: true
-# name: tensorflow
-# version: "1"
-# - autoSelect: true
-# name: tensorflow
-# version: "2"
-# - autoSelect: true
-# name: tensorrt
-# version: "7"
----
-apiVersion: serving.kserve.io/v1alpha1
-kind: ServingRuntime
-metadata:
- annotations:
- enable-route: 'true'
- opendatahub.io/accelerator-name: ''
- opendatahub.io/template-display-name: OpenVINO Model Server
- opendatahub.io/template-name: ovms
- openshift.io/display-name: ovms
- name: ovms
- namespace: ic-shared-img-det
- labels:
- name: ovms
- opendatahub.io/dashboard: 'true'
-spec:
- supportedModelFormats:
- - autoSelect: true
- name: openvino_ir
- version: opset1
- - autoSelect: true
- name: onnx
- version: '1'
- - autoSelect: true
- name: tensorflow
- version: '2'
- builtInAdapter:
- env:
- - name: OVMS_FORCE_TARGET_DEVICE
- value: AUTO
- memBufferBytes: 134217728
- modelLoadingTimeoutMillis: 90000
- runtimeManagementPort: 8888
- serverType: ovms
- multiModel: true
- containers:
- - args:
- - '--port=8001'
- - '--rest_port=8888'
- - '--config_path=/models/model_config_list.json'
- - '--file_system_poll_wait_seconds=0'
- - '--grpc_bind_address=127.0.0.1'
- - '--rest_bind_address=127.0.0.1'
- image: >-
- quay.io/opendatahub/openvino_model_server@sha256:2cbe8a48ab0bc6fe7fb76919bf33253e83a6218a9c4b486b744c3dcf30679616
- name: ovms
- resources:
- limits:
- cpu: '1'
- memory: 1Gi
- requests:
- cpu: '1'
- memory: 1Gi
- volumeMounts:
- - mountPath: /dev/shm
- name: shm
- protocolVersions:
- - grpc-v1
- grpcEndpoint: 'port:8085'
- volumes:
- - emptyDir:
- medium: Memory
- sizeLimit: 2Gi
- name: shm
- replicas: 1
- tolerations: []
- grpcDataEndpoint: 'port:8001'
diff --git a/bootstrap/ic-shared-img-det/setup-serviceaccount.yaml b/bootstrap/ic-shared-img-det/setup-serviceaccount.yaml
deleted file mode 100644
index 0fde498c..00000000
--- a/bootstrap/ic-shared-img-det/setup-serviceaccount.yaml
+++ /dev/null
@@ -1,22 +0,0 @@
----
-apiVersion: v1
-kind: ServiceAccount
-metadata:
- name: sa-img-det-gitops-setup
- annotations:
- argocd.argoproj.io/sync-wave: "1"
----
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: sa-img-det-gitops-setup-cluster-reader
- annotations:
- argocd.argoproj.io/sync-wave: "1"
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cluster-admin
-subjects:
-- kind: ServiceAccount
- name: sa-img-det-gitops-setup
- namespace: ic-shared-img-det
diff --git a/bootstrap/ic-shared-llm/deployment-hftgi.yaml b/bootstrap/ic-shared-llm/deployment-hftgi.yaml
deleted file mode 100644
index 32d9d93f..00000000
--- a/bootstrap/ic-shared-llm/deployment-hftgi.yaml
+++ /dev/null
@@ -1,107 +0,0 @@
-kind: Deployment
-apiVersion: apps/v1
-metadata:
- name: llm-flant5
- namespace: ic-shared-llm
- labels:
- app: llm-flant5
-spec:
- replicas: 1
- selector:
- matchLabels:
- app: llm-flant5
- template:
- metadata:
- creationTimestamp: null
- labels:
- app: llm-flant5
- spec:
- restartPolicy: Always
- schedulerName: default-scheduler
- affinity: {}
- terminationGracePeriodSeconds: 120
- securityContext: {}
- containers:
- - resources:
- limits:
- cpu: '4'
- memory: 8Gi
- requests:
- cpu: '2'
- memory: 6Gi
- readinessProbe:
- httpGet:
- path: /health
- port: http
- scheme: HTTP
- timeoutSeconds: 5
- periodSeconds: 30
- successThreshold: 1
- failureThreshold: 3
- terminationMessagePath: /dev/termination-log
- name: server
- livenessProbe:
- httpGet:
- path: /health
- port: http
- scheme: HTTP
- timeoutSeconds: 8
- periodSeconds: 100
- successThreshold: 1
- failureThreshold: 3
- env:
- - name: MODEL_ID
- value: google/flan-t5-large
- - name: MAX_INPUT_LENGTH
- value: '416'
- - name: MAX_TOTAL_TOKENS
- value: '512'
- - name: HUGGINGFACE_HUB_CACHE
- value: /models-cache
- - name: PORT
- value: '3000'
- - name: HOSTNAME
- value: '0.0.0.0'
- securityContext:
- capabilities:
- drop:
- - ALL
- runAsNonRoot: true
- allowPrivilegeEscalation: false
- seccompProfile:
- type: RuntimeDefault
- ports:
- - name: http
- containerPort: 3000
- protocol: TCP
- imagePullPolicy: IfNotPresent
- startupProbe:
- httpGet:
- path: /health
- port: http
- scheme: HTTP
- timeoutSeconds: 1
- periodSeconds: 30
- successThreshold: 1
- failureThreshold: 24
- initialDelaySeconds: 60
- volumeMounts:
- - name: models-cache
- mountPath: /models-cache
- - name: shm
- mountPath: /dev/shm
- terminationMessagePolicy: File
- image: 'ghcr.io/huggingface/text-generation-inference:1.3'
- volumes:
- - name: models-cache
- persistentVolumeClaim:
- claimName: models-cache-hftgi
- - name: shm
- emptyDir:
- medium: Memory
- sizeLimit: 1Gi
- dnsPolicy: ClusterFirst
- strategy:
- type: Recreate
- revisionHistoryLimit: 10
- progressDeadlineSeconds: 600
\ No newline at end of file
diff --git a/bootstrap/ic-shared-llm/deployment.yaml b/bootstrap/ic-shared-llm/deployment.yaml
deleted file mode 100644
index 973cc7ce..00000000
--- a/bootstrap/ic-shared-llm/deployment.yaml
+++ /dev/null
@@ -1,111 +0,0 @@
-kind: Deployment
-apiVersion: apps/v1
-metadata:
- name: llm
- namespace: ic-shared-llm
- labels:
- app: llm
-spec:
- replicas: 1
- selector:
- matchLabels:
- app: llm
- template:
- metadata:
- creationTimestamp: null
- labels:
- app: llm
- spec:
- restartPolicy: Always
- schedulerName: default-scheduler
- affinity: {}
- terminationGracePeriodSeconds: 120
- securityContext: {}
- containers:
- - resources:
- limits:
- cpu: '8'
- memory: 24Gi
- nvidia.com/gpu: '1'
- requests:
- cpu: '6'
- readinessProbe:
- httpGet:
- path: /health
- port: http
- scheme: HTTP
- timeoutSeconds: 5
- periodSeconds: 30
- successThreshold: 1
- failureThreshold: 3
- terminationMessagePath: /dev/termination-log
- name: server
- livenessProbe:
- httpGet:
- path: /health
- port: http
- scheme: HTTP
- timeoutSeconds: 8
- periodSeconds: 100
- successThreshold: 1
- failureThreshold: 3
- env:
- - name: HUGGING_FACE_HUB_TOKEN
- valueFrom:
- secretKeyRef:
- name: hftoken
- key: token
- args: [
- "--model",
- "mistralai/Mistral-7B-Instruct-v0.2",
- "--download-dir",
- "/models-cache",
- "--dtype", "float16",
- "--max-model-len", "6144" ]
- securityContext:
- capabilities:
- drop:
- - ALL
- runAsNonRoot: true
- allowPrivilegeEscalation: false
- seccompProfile:
- type: RuntimeDefault
- ports:
- - name: http
- containerPort: 8000
- protocol: TCP
- imagePullPolicy: IfNotPresent
- startupProbe:
- httpGet:
- path: /health
- port: http
- scheme: HTTP
- timeoutSeconds: 1
- periodSeconds: 30
- successThreshold: 1
- failureThreshold: 24
- initialDelaySeconds: 60
- volumeMounts:
- - name: models-cache
- mountPath: /models-cache
- - name: shm
- mountPath: /dev/shm
- terminationMessagePolicy: File
- image: 'quay.io/rh-aiservices-bu/vllm-openai-ubi9:0.4.0'
- volumes:
- - name: models-cache
- persistentVolumeClaim:
- claimName: models-cache
- - name: shm
- emptyDir:
- medium: Memory
- sizeLimit: 1Gi
- dnsPolicy: ClusterFirst
- tolerations:
- - key: nvidia.com/gpu
- operator: Exists
- effect: NoSchedule
- strategy:
- type: Recreate
- revisionHistoryLimit: 10
- progressDeadlineSeconds: 600
\ No newline at end of file
diff --git a/bootstrap/ic-shared-llm/fix-odf-config.yaml b/bootstrap/ic-shared-llm/fix-odf-config.yaml
deleted file mode 100644
index c2e6284a..00000000
--- a/bootstrap/ic-shared-llm/fix-odf-config.yaml
+++ /dev/null
@@ -1,10 +0,0 @@
-kind: ConfigMap
-apiVersion: v1
-metadata:
- name: rook-ceph-operator-config
- namespace: openshift-storage
-data:
- CSI_PLUGIN_TOLERATIONS: |
- - key: nvidia.com/gpu
- operator: Exists
- effect: NoSchedule
diff --git a/bootstrap/ic-shared-llm/kustomization.yaml b/bootstrap/ic-shared-llm/kustomization.yaml
deleted file mode 100644
index 46daabff..00000000
--- a/bootstrap/ic-shared-llm/kustomization.yaml
+++ /dev/null
@@ -1,20 +0,0 @@
----
-apiVersion: kustomize.config.k8s.io/v1beta1
-kind: Kustomization
-
-commonLabels:
- component: ic-shared-llm
-
-resources:
-# wave 0
-- namespace.yaml
-- fix-odf-config.yaml
-- token.yaml
-# wave 1
-- pvc.yaml
-- pvc-hftgi.yaml
-- deployment.yaml
-- service.yaml
-- deployment-hftgi.yaml
-- service-hftgi.yaml
-# wave 2
diff --git a/bootstrap/ic-shared-llm/namespace.yaml b/bootstrap/ic-shared-llm/namespace.yaml
deleted file mode 100644
index 78efba5b..00000000
--- a/bootstrap/ic-shared-llm/namespace.yaml
+++ /dev/null
@@ -1,11 +0,0 @@
----
-apiVersion: v1
-kind: Namespace
-metadata:
- name: ic-shared-llm
- labels:
- app: ic-shared-llm
- argocd.argoproj.io/managed-by: openshift-gitops
- annotations:
- openshift.io/display-name: "Shared LLM"
- argocd.argoproj.io/sync-wave: "0"
diff --git a/bootstrap/ic-shared-llm/pvc-hftgi.yaml b/bootstrap/ic-shared-llm/pvc-hftgi.yaml
deleted file mode 100644
index 0a1950bb..00000000
--- a/bootstrap/ic-shared-llm/pvc-hftgi.yaml
+++ /dev/null
@@ -1,18 +0,0 @@
----
-apiVersion: v1
-kind: PersistentVolumeClaim
-metadata:
- name: models-cache-hftgi
- namespace: ic-shared-llm
- labels:
- app: ic-shared-llm
- annotations:
- argocd.argoproj.io/sync-wave: "0"
-spec:
- accessModes:
- - ReadWriteMany
- resources:
- requests:
- storage: 10Gi
- storageClassName: ocs-storagecluster-cephfs
- volumeMode: Filesystem
\ No newline at end of file
diff --git a/bootstrap/ic-shared-llm/pvc.yaml b/bootstrap/ic-shared-llm/pvc.yaml
deleted file mode 100644
index be8f7a86..00000000
--- a/bootstrap/ic-shared-llm/pvc.yaml
+++ /dev/null
@@ -1,18 +0,0 @@
----
-apiVersion: v1
-kind: PersistentVolumeClaim
-metadata:
- name: models-cache
- namespace: ic-shared-llm
- labels:
- app: ic-shared-llm
- annotations:
- argocd.argoproj.io/sync-wave: "0"
-spec:
- accessModes:
- - ReadWriteMany
- resources:
- requests:
- storage: 50Gi
- storageClassName: ocs-storagecluster-cephfs
- volumeMode: Filesystem
\ No newline at end of file
diff --git a/bootstrap/ic-shared-llm/service-hftgi.yaml b/bootstrap/ic-shared-llm/service-hftgi.yaml
deleted file mode 100644
index 08b3b8ba..00000000
--- a/bootstrap/ic-shared-llm/service-hftgi.yaml
+++ /dev/null
@@ -1,21 +0,0 @@
-kind: Service
-apiVersion: v1
-metadata:
- name: llm-flant5
- namespace: ic-shared-llm
- labels:
- app: llm-flant5
-spec:
- clusterIP: None
- ipFamilies:
- - IPv4
- ports:
- - name: http
- protocol: TCP
- port: 3000
- targetPort: http
- type: ClusterIP
- ipFamilyPolicy: SingleStack
- sessionAffinity: None
- selector:
- app: llm-flant5
\ No newline at end of file
diff --git a/bootstrap/ic-shared-llm/service.yaml b/bootstrap/ic-shared-llm/service.yaml
deleted file mode 100644
index 10a107a9..00000000
--- a/bootstrap/ic-shared-llm/service.yaml
+++ /dev/null
@@ -1,21 +0,0 @@
-kind: Service
-apiVersion: v1
-metadata:
- name: llm
- namespace: ic-shared-llm
- labels:
- app: llm
-spec:
- clusterIP: None
- ipFamilies:
- - IPv4
- ports:
- - name: http
- protocol: TCP
- port: 8000
- targetPort: http
- type: ClusterIP
- ipFamilyPolicy: SingleStack
- sessionAffinity: None
- selector:
- app: llm
\ No newline at end of file
diff --git a/bootstrap/ic-shared-llm/token.yaml b/bootstrap/ic-shared-llm/token.yaml
deleted file mode 100644
index 8f369bc5..00000000
--- a/bootstrap/ic-shared-llm/token.yaml
+++ /dev/null
@@ -1,8 +0,0 @@
-kind: Secret
-apiVersion: v1
-metadata:
- name: hftoken
- namespace: ic-shared-llm
-data:
- token: aGZfV0ZhcVhUYmFBSmJEbmhjamhYYXRORmFteEtvaEdvU0tOTg==
-type: Opaque
\ No newline at end of file
diff --git a/bootstrap/ic-shared-milvus/backup.tar.gz b/bootstrap/ic-shared-milvus/backup.tar.gz
deleted file mode 100644
index 115a5439..00000000
Binary files a/bootstrap/ic-shared-milvus/backup.tar.gz and /dev/null differ
diff --git a/bootstrap/ic-shared-milvus/kustomization.yml b/bootstrap/ic-shared-milvus/kustomization.yml
deleted file mode 100644
index ccc74c21..00000000
--- a/bootstrap/ic-shared-milvus/kustomization.yml
+++ /dev/null
@@ -1,23 +0,0 @@
----
-apiVersion: kustomize.config.k8s.io/v1beta1
-kind: Kustomization
-
-namespace: ic-shared-milvus
-
-commonLabels:
- component: milvus
-
-resources:
-# wave 0
-- namespace.yml
-# wave 1
-- milvus-backup-config.yaml
-- milvus-config.yaml
-- milvus-pvc.yaml
-# wave 2
-- milvus-deployment.yaml
-- milvus-services.yaml
-- milvus-backup-deployment.yaml
-- milvus-backup-service.yaml
-# wave 3
-- restore-collection.yaml
\ No newline at end of file
diff --git a/bootstrap/ic-shared-milvus/milvus-backup-config.yaml b/bootstrap/ic-shared-milvus/milvus-backup-config.yaml
deleted file mode 100644
index 87dbd300..00000000
--- a/bootstrap/ic-shared-milvus/milvus-backup-config.yaml
+++ /dev/null
@@ -1,58 +0,0 @@
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: milvus-backup-configmap
- annotations:
- argocd.argoproj.io/sync-wave: "1"
- labels:
- app: ic-shared-milvus
- argocd.argoproj.io/managed-by: openshift-gitops
-data:
- backup.yaml: >-
- log:
- level: info
- console: true
- file:
- rootPath: "/var/log/milvus-backup/logs"
-
- http:
- simpleResponse: true
-
- milvus:
- address: vectordb-milvus.ic-shared-milvus.svc.cluster.local
- port: 19530
- authorizationEnabled: true
- tlsMode: 0
- user: "root"
- password: "Milvus"
-
- minio:
- storageType: "minio"
- address: minio.ic-shared-minio.svc.cluster.local
- port: 9000
- accessKeyID: minio
- secretAccessKey: minio123
- useSSL: false
- useIAM: false
- iamEndpoint: ""
- bucketName: "milvus-bucket"
- rootPath: "file"
- backupBucketName: "milvus-backup-bucket"
- backupRootPath: "backup"
-
- backup:
- maxSegmentGroupSize: 2G
-
- parallelism:
- backupCollection: 4
- copydata: 128
- restoreCollection: 2
-
- keepTempFiles: false
-
- gcPause:
- enable: true
- seconds: 7200
- address: http://vectordb-milvus.ic-shared-milvus.svc.cluster.local:9091
-
\ No newline at end of file
diff --git a/bootstrap/ic-shared-milvus/milvus-backup-deployment.yaml b/bootstrap/ic-shared-milvus/milvus-backup-deployment.yaml
deleted file mode 100644
index ac4f3c32..00000000
--- a/bootstrap/ic-shared-milvus/milvus-backup-deployment.yaml
+++ /dev/null
@@ -1,111 +0,0 @@
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: milvus-backup
- annotations:
- argocd.argoproj.io/sync-wave: "2"
- labels:
- app: ic-shared-milvus
- argocd.argoproj.io/managed-by: openshift-gitops
- component: milvus-backup
-spec:
- replicas: 1
- selector:
- matchLabels:
- app: milvus-backup
- component: milvus
- strategy:
- type: Recreate
- template:
- metadata:
- labels:
- app: milvus-backup
- spec:
- initContainers:
- - name: wait-for-minio
- image: image-registry.openshift-image-registry.svc:5000/openshift/tools:latest
- imagePullPolicy: IfNotPresent
- command: ["/bin/bash"]
- args:
- - -ec
- - |-
- echo -n "Waiting for minio pod in ic-shared-minio namespace"
- while ! nc -z minio.ic-shared-minio.svc.cluster.local 9000; do
- echo -n '.'
- sleep 1
- done
- echo "Minio pod is running in ic-shared-minio namespace"
- - name: wait-for-milvus
- image: image-registry.openshift-image-registry.svc:5000/openshift/tools:latest
- imagePullPolicy: IfNotPresent
- command: ["/bin/bash"]
- args:
- - -ec
- - |-
- echo -n "Waiting for milvus pod in ic-shared-milvus namespace"
- while ! nc -z vectordb-milvus.ic-shared-milvus.svc.cluster.local 19530; do
- echo -n '.'
- sleep 1
- done
- echo "Milvus pod is running in ic-shared-milvus namespace"
- containers:
- - name: milvus-backup
- image: quay.io/rh-aiservices-bu/milvus-backup:v0.4.12
- imagePullPolicy: Always
- args:
- - server
- - '--config=/opt/app-root/src/milvus-backup/configs/backup.yaml'
- - '-p'
- - '8080'
- securityContext:
- capabilities:
- drop:
- - ALL
- runAsNonRoot: true
- allowPrivilegeEscalation: false
- seccompProfile:
- type: RuntimeDefault
- ports:
- - name: http
- containerPort: 8080
- protocol: TCP
- resources:
- limits:
- cpu: '2'
- memory: 4Gi
- requests:
- cpu: '1'
- memory: 2Gi
- readinessProbe:
- httpGet:
- path: /
- port: http
- scheme: HTTP
- timeoutSeconds: 5
- periodSeconds: 30
- successThreshold: 1
- failureThreshold: 3
- livenessProbe:
- httpGet:
- path: /
- port: http
- scheme: HTTP
- timeoutSeconds: 8
- periodSeconds: 100
- successThreshold: 1
- failureThreshold: 3
- terminationMessagePath: /dev/termination-log
- terminationMessagePolicy: File
- volumeMounts:
- - name: config-volume
- mountPath: /opt/app-root/src/milvus-backup/configs/backup.yaml
- subPath: backup.yaml
- readOnly: true
- restartPolicy: Always
- volumes:
- - name: config-volume
- configMap:
- name: milvus-backup-configmap
- items:
- - key: backup.yaml
- path: backup.yaml
\ No newline at end of file
diff --git a/bootstrap/ic-shared-milvus/milvus-backup-service.yaml b/bootstrap/ic-shared-milvus/milvus-backup-service.yaml
deleted file mode 100644
index 06658e0d..00000000
--- a/bootstrap/ic-shared-milvus/milvus-backup-service.yaml
+++ /dev/null
@@ -1,20 +0,0 @@
----
-apiVersion: v1
-kind: Service
-metadata:
- name: milvus-backup
- labels:
- app.kubernetes.io/name: milvus-backup
- argocd.argoproj.io/managed-by: openshift-gitops
- annotations:
- argocd.argoproj.io/sync-wave: "2"
-spec:
- type: ClusterIP
- ports:
- - name: milvus-backup
- port: 8080
- protocol: TCP
- targetPort: http
- selector:
- app: milvus-backup
- component: milvus
diff --git a/bootstrap/ic-shared-milvus/milvus-config.yaml b/bootstrap/ic-shared-milvus/milvus-config.yaml
deleted file mode 100644
index 86d76a0e..00000000
--- a/bootstrap/ic-shared-milvus/milvus-config.yaml
+++ /dev/null
@@ -1,107 +0,0 @@
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: vectordb-milvus
- labels:
- app: ic-shared-milvus
- argocd.argoproj.io/managed-by: openshift-gitops
- annotations:
- argocd.argoproj.io/sync-wave: "1"
-data:
- default.yaml: |-
- # Copyright (C) 2019-2021 Zilliz. All rights reserved.
- #
- # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
- # with the License. You may obtain a copy of the License at
- #
- # http://www.apache.org/licenses/LICENSE-2.0
- #
- # Unless required by applicable law or agreed to in writing, software distributed under the License
- # is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- # or implied. See the License for the specific language governing permissions and limitations under the License.
-
- etcd:
- endpoints:
- - vectordb-etcd:2379
-
- metastore:
- type: etcd
-
- minio:
- address: minio.ic-shared-minio.svc.cluster.local
- port: 9000
- accessKeyID: minio
- secretAccessKey: minio123
- useSSL: false
- bucketName: milvus-bucket
- rootPath: file
- useIAM: false
- iamEndpoint:
- region:
- useVirtualHost: false
-
- mq:
- type: rocksmq
-
- messageQueue: rocksmq
-
- rootCoord:
- address: localhost
- port: 53100
- enableActiveStandby: false # Enable rootcoord active-standby
-
- proxy:
- port: 19530
- internalPort: 19529
-
- queryCoord:
- address: localhost
- port: 19531
- enableActiveStandby: false # Enable querycoord active-standby
-
- queryNode:
- port: 21123
- enableDisk: true # Enable querynode load disk index, and search on disk index
-
- indexCoord:
- address: localhost
- port: 31000
- enableActiveStandby: false # Enable indexcoord active-standby
-
- indexNode:
- port: 21121
- enableDisk: true # Enable index node build disk vector index
-
- dataCoord:
- address: localhost
- port: 13333
- enableActiveStandby: false # Enable datacoord active-standby
-
- dataNode:
- port: 21124
-
- log:
- level: info
- file:
- rootPath: ""
- maxSize: 300
- maxAge: 10
- maxBackups: 20
- format: text
-
- user.yaml: |-
- # For example enable rest http for milvus proxy
- # proxy:
- # http:
- # enabled: true
- ## Enable tlsMode and set the tls cert and key
- # tls:
- # serverPemPath: /etc/milvus/certs/tls.crt
- # serverKeyPath: /etc/milvus/certs/tls.key
- # common:
- # security:
- # tlsMode: 1
- common:
- security:
- authorizationEnabled: true
\ No newline at end of file
diff --git a/bootstrap/ic-shared-milvus/milvus-deployment.yaml b/bootstrap/ic-shared-milvus/milvus-deployment.yaml
deleted file mode 100644
index d7cdca77..00000000
--- a/bootstrap/ic-shared-milvus/milvus-deployment.yaml
+++ /dev/null
@@ -1,259 +0,0 @@
----
-# Source: milvus/templates/standalone-deployment.yaml
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: vectordb-milvus-standalone
- labels:
- app.kubernetes.io/name: milvus
- app.kubernetes.io/instance: vectordb
- app.kubernetes.io/version: "2.4.0"
- argocd.argoproj.io/managed-by: openshift-gitops
- component: "standalone"
- annotations:
- argocd.argoproj.io/sync-wave: "2"
-spec:
- replicas: 1
- strategy:
- type: Recreate
- selector:
- matchLabels:
- app.kubernetes.io/name: milvus
- app.kubernetes.io/instance: vectordb
- component: "standalone"
- template:
- metadata:
- labels:
- app.kubernetes.io/name: milvus
- app.kubernetes.io/instance: vectordb
- component: "standalone"
- annotations:
- checksum/config: 525c25e4e18f4d7ba4c1679a2bb6626f70ce2dd3369bfe106601ee09e8eee274
- spec:
- serviceAccountName: default
- initContainers:
- - name: wait-for-minio
- image: image-registry.openshift-image-registry.svc:5000/openshift/tools:latest
- imagePullPolicy: IfNotPresent
- command: ["/bin/bash"]
- args:
- - -ec
- - |-
- echo -n "Waiting for minio pod in ic-shared-minio namespace"
- while ! nc -z minio.ic-shared-minio.svc.cluster.local 9000; do
- echo -n '.'
- sleep 1
- done
- echo "Minio pod is running in ic-shared-minio namespace"
- - name: config
- command:
- - /cp
- - /run-helm.sh,/merge
- - /milvus/tools/run-helm.sh,/milvus/tools/merge
- image: "milvusdb/milvus-config-tool:v0.1.2"
- imagePullPolicy: IfNotPresent
- volumeMounts:
- - mountPath: /milvus/tools
- name: tools
- containers:
- - name: standalone
- image: "quay.io/rh-data-services/milvus-openshift:v2.3.10"
- imagePullPolicy: IfNotPresent
- args: ["/milvus/tools/run-helm.sh", "milvus", "run", "standalone"]
- ports:
- - name: milvus
- containerPort: 19530
- protocol: TCP
- - name: metrics
- containerPort: 9091
- protocol: TCP
- livenessProbe:
- httpGet:
- path: /healthz
- port: metrics
- initialDelaySeconds: 90
- periodSeconds: 30
- timeoutSeconds: 5
- successThreshold: 1
- failureThreshold: 5
- readinessProbe:
- httpGet:
- path: /healthz
- port: metrics
- initialDelaySeconds: 90
- periodSeconds: 10
- timeoutSeconds: 5
- successThreshold: 1
- failureThreshold: 5
- resources: {}
- env:
- volumeMounts:
- - mountPath: /milvus/tools
- name: tools
- - name: milvus-config
- mountPath: /milvus/configs/default.yaml
- subPath: default.yaml
- readOnly: true
- - name: milvus-config
- mountPath: /milvus/configs/user.yaml
- subPath: user.yaml
- readOnly: true
- - name: milvus-data-disk
- mountPath: "/var/lib/milvus"
- subPath:
- - mountPath: /var/lib/milvus/data
- name: disk
- volumes:
- - emptyDir: {}
- name: tools
- - name: milvus-config
- configMap:
- name: vectordb-milvus
- - name: milvus-data-disk
- persistentVolumeClaim:
- claimName: vectordb-milvus
- - name: disk
- emptyDir: {}
----
-apiVersion: apps/v1
-kind: StatefulSet
-metadata:
- name: vectordb-etcd
- labels:
- app.kubernetes.io/name: etcd
- app.kubernetes.io/instance: vectordb
- argocd.argoproj.io/managed-by: openshift-gitops
- annotations:
- argocd.argoproj.io/sync-wave: "2"
-spec:
- replicas: 1
- selector:
- matchLabels:
- app.kubernetes.io/name: etcd
- app.kubernetes.io/instance: vectordb
- serviceName: vectordb-etcd-headless
- podManagementPolicy: Parallel
- updateStrategy:
- type: RollingUpdate
- template:
- metadata:
- labels:
- app.kubernetes.io/name: etcd
- helm.sh/chart: etcd-6.3.3
- app.kubernetes.io/instance: vectordb
- app.kubernetes.io/managed-by: Helm
- annotations:
- spec:
- affinity:
- podAffinity:
- podAntiAffinity:
- preferredDuringSchedulingIgnoredDuringExecution:
- - podAffinityTerm:
- labelSelector:
- matchLabels:
- app.kubernetes.io/name: etcd
- app.kubernetes.io/instance: vectordb
- namespaces:
- - "ic-shared-milvus"
- topologyKey: kubernetes.io/hostname
- weight: 1
- nodeAffinity:
- securityContext: {}
- serviceAccountName: "default"
- containers:
- - name: etcd
- image: docker.io/milvusdb/etcd:3.5.5-r4
- imagePullPolicy: "IfNotPresent"
- securityContext:
- capabilities:
- drop:
- - ALL
- runAsNonRoot: true
- allowPrivilegeEscalation: false
- env:
- - name: BITNAMI_DEBUG
- value: "false"
- - name: MY_POD_IP
- valueFrom:
- fieldRef:
- fieldPath: status.podIP
- - name: MY_POD_NAME
- valueFrom:
- fieldRef:
- fieldPath: metadata.name
- - name: ETCDCTL_API
- value: "3"
- - name: ETCD_ON_K8S
- value: "yes"
- - name: ETCD_START_FROM_SNAPSHOT
- value: "no"
- - name: ETCD_DISASTER_RECOVERY
- value: "no"
- - name: ETCD_NAME
- value: "$(MY_POD_NAME)"
- - name: ETCD_DATA_DIR
- value: "/bitnami/etcd/data"
- - name: ETCD_LOG_LEVEL
- value: "info"
- - name: ALLOW_NONE_AUTHENTICATION
- value: "yes"
- - name: ETCD_ADVERTISE_CLIENT_URLS
- value: "http://$(MY_POD_NAME).vectordb-etcd-headless.ic-shared-milvus.svc.cluster.local:2379"
- - name: ETCD_LISTEN_CLIENT_URLS
- value: "http://0.0.0.0:2379"
- - name: ETCD_INITIAL_ADVERTISE_PEER_URLS
- value: "http://$(MY_POD_NAME).vectordb-etcd-headless.ic-shared-milvus.svc.cluster.local:2380"
- - name: ETCD_LISTEN_PEER_URLS
- value: "http://0.0.0.0:2380"
- - name: ETCD_AUTO_COMPACTION_MODE
- value: "revision"
- - name: ETCD_AUTO_COMPACTION_RETENTION
- value: "1000"
- - name: ETCD_QUOTA_BACKEND_BYTES
- value: "4294967296"
- - name: ETCD_HEARTBEAT_INTERVAL
- value: "500"
- - name: ETCD_ELECTION_TIMEOUT
- value: "2500"
- envFrom:
- ports:
- - name: client
- containerPort: 2379
- protocol: TCP
- - name: peer
- containerPort: 2380
- protocol: TCP
- livenessProbe:
- exec:
- command:
- - /opt/bitnami/scripts/etcd/healthcheck.sh
- initialDelaySeconds: 60
- periodSeconds: 30
- timeoutSeconds: 10
- successThreshold: 1
- failureThreshold: 5
- readinessProbe:
- exec:
- command:
- - /opt/bitnami/scripts/etcd/healthcheck.sh
- initialDelaySeconds: 60
- periodSeconds: 20
- timeoutSeconds: 10
- successThreshold: 1
- failureThreshold: 5
- resources:
- limits: {}
- requests: {}
- volumeMounts:
- - name: data
- mountPath: /bitnami/etcd
- volumes:
- volumeClaimTemplates:
- - metadata:
- name: data
- spec:
- accessModes:
- - "ReadWriteOnce"
- resources:
- requests:
- storage: "10Gi"
diff --git a/bootstrap/ic-shared-milvus/milvus-pvc.yaml b/bootstrap/ic-shared-milvus/milvus-pvc.yaml
deleted file mode 100644
index 7a8f24eb..00000000
--- a/bootstrap/ic-shared-milvus/milvus-pvc.yaml
+++ /dev/null
@@ -1,18 +0,0 @@
----
-apiVersion: v1
-kind: PersistentVolumeClaim
-metadata:
- name: vectordb-milvus
- annotations:
- argocd.argoproj.io/sync-wave: "1"
- labels:
- app.kubernetes.io/name: milvus
- app.kubernetes.io/instance: vectordb
- app.kubernetes.io/version: "2.4.0"
- argocd.argoproj.io/managed-by: openshift-gitops
-spec:
- accessModes:
- - "ReadWriteOnce"
- resources:
- requests:
- storage: 50Gi
\ No newline at end of file
diff --git a/bootstrap/ic-shared-milvus/milvus-services.yaml b/bootstrap/ic-shared-milvus/milvus-services.yaml
deleted file mode 100644
index 35ee0581..00000000
--- a/bootstrap/ic-shared-milvus/milvus-services.yaml
+++ /dev/null
@@ -1,79 +0,0 @@
----
-apiVersion: v1
-kind: Service
-metadata:
- name: vectordb-etcd-headless
- labels:
- app.kubernetes.io/name: etcd
- app.kubernetes.io/instance: vectordb
- argocd.argoproj.io/managed-by: openshift-gitops
- annotations:
- service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
- argocd.argoproj.io/sync-wave: "2"
-spec:
- type: ClusterIP
- clusterIP: None
- publishNotReadyAddresses: true
- ports:
- - name: "client"
- port: 2379
- targetPort: client
- - name: "peer"
- port: 2380
- targetPort: peer
- selector:
- app.kubernetes.io/name: etcd
- app.kubernetes.io/instance: vectordb
----
-apiVersion: v1
-kind: Service
-metadata:
- name: vectordb-etcd
- labels:
- app.kubernetes.io/name: etcd
- app.kubernetes.io/instance: vectordb
- argocd.argoproj.io/managed-by: openshift-gitops
- annotations:
- argocd.argoproj.io/sync-wave: "2"
-spec:
- type: ClusterIP
- ports:
- - name: "client"
- port: 2379
- targetPort: client
- nodePort: null
- - name: "peer"
- port: 2380
- targetPort: peer
- nodePort: null
- selector:
- app.kubernetes.io/name: etcd
- app.kubernetes.io/instance: vectordb
----
-apiVersion: v1
-kind: Service
-metadata:
- name: vectordb-milvus
- labels:
- app.kubernetes.io/name: milvus
- app.kubernetes.io/instance: vectordb
- app.kubernetes.io/version: "2.4.0"
- argocd.argoproj.io/managed-by: openshift-gitops
- component: "standalone"
- annotations:
- argocd.argoproj.io/sync-wave: "2"
-spec:
- type: ClusterIP
- ports:
- - name: milvus
- port: 19530
- protocol: TCP
- targetPort: milvus
- - name: metrics
- protocol: TCP
- port: 9091
- targetPort: metrics
- selector:
- app.kubernetes.io/name: milvus
- app.kubernetes.io/instance: vectordb
- component: "standalone"
\ No newline at end of file
diff --git a/bootstrap/ic-shared-milvus/namespace.yml b/bootstrap/ic-shared-milvus/namespace.yml
deleted file mode 100644
index 3c854f48..00000000
--- a/bootstrap/ic-shared-milvus/namespace.yml
+++ /dev/null
@@ -1,11 +0,0 @@
----
-apiVersion: v1
-kind: Namespace
-metadata:
- name: ic-shared-milvus
- labels:
- app: ic-shared-milvus
- argocd.argoproj.io/managed-by: openshift-gitops
- annotations:
- openshift.io/display-name: "Milvus"
- argocd.argoproj.io/sync-wave: "0"
diff --git a/bootstrap/ic-shared-milvus/restore-collection.yaml b/bootstrap/ic-shared-milvus/restore-collection.yaml
deleted file mode 100644
index f8f5a291..00000000
--- a/bootstrap/ic-shared-milvus/restore-collection.yaml
+++ /dev/null
@@ -1,111 +0,0 @@
----
-apiVersion: batch/v1
-kind: Job
-metadata:
- name: restore-collection
- annotations:
- argocd.argoproj.io/sync-wave: "3"
- argocd.argoproj.io/hook: Sync
- argocd.argoproj.io/hook-delete-policy: BeforeHookCreation
-spec:
- backoffLimit: 4
- template:
- spec:
- initContainers:
- - name: wait-for-milvus-backup
- image: image-registry.openshift-image-registry.svc:5000/openshift/tools:latest
- imagePullPolicy: IfNotPresent
- command: ["/bin/bash"]
- args:
- - -ec
- - |-
- echo -n "Waiting for milvus-backup pod in ic-shared-milvus namespace"
- while ! nc -z milvus-backup.ic-shared-milvus.svc.cluster.local 8080; do
- echo -n '.'
- sleep 1
- done
- echo "Milvus-backup pod is running in ic-shared-milvus namespace"
- containers:
- - name: add-model
- image: image-registry.openshift-image-registry.svc:5000/redhat-ods-applications/s2i-generic-data-science-notebook:1.2
- imagePullPolicy: IfNotPresent
- command: ["/bin/bash"]
- args:
- - -ec
- - |-
- # Retrieve the backup from the S3 bucket
- curl -LO https://rhods-public.s3.amazonaws.com/parasol-insurance-handbook-backup/backup.tar.gz
- mkdir -p backup && tar xvzf backup.tar.gz -C ./backup
-
- # Install the pymilvus package
- pip install -q pymilvus==2.3.7
-
- cat << 'EOF' | python3
- import boto3, os, requests
- from pymilvus import MilvusClient
-
- # Connect to the object storage
- s3 = boto3.client("s3",
- endpoint_url="http://minio.ic-shared-minio.svc.cluster.local:9000",
- aws_access_key_id="minio",
- aws_secret_access_key="minio123")
-
- # Create the milvus buckets
- milvus_bucket_name = "milvus-bucket"
- if milvus_bucket_name not in [bu["Name"] for bu in s3.list_buckets()["Buckets"]]:
- s3.create_bucket(Bucket=milvus_bucket_name)
-
- milvus_backup_bucket_name = "milvus-backup-bucket"
- if milvus_backup_bucket_name not in [bu["Name"] for bu in s3.list_buckets()["Buckets"]]:
- s3.create_bucket(Bucket=milvus_backup_bucket_name)
-
- def upload_to_s3(bucket_name, directory_name):
-
- for root, dirs, files in os.walk(directory_name):
- for file in files:
- s3.upload_file(os.path.join(root, file), bucket_name, os.path.join(root, file).lstrip('/'))
-
- # Upload the backup to the S3 bucket
- upload_to_s3('milvus-backup-bucket', 'backup')
-
- # Restore the collection from the backup
- url = 'http://milvus-backup.ic-shared-milvus.svc.cluster.local:8080/api/v1/restore'
- headers = {'Content-Type': 'application/json'}
- data = {
- "async": True,
- "collection_names": [
- "california_driver_handbook_1_0"
- ],
- "backup_name": "california_driver_handbook_1_0"
- }
-
- response = requests.post(url, headers=headers, json=data)
-
- client = MilvusClient(
- uri="http://vectordb-milvus.ic-shared-milvus.svc.cluster.local:19530",
- token="root:Milvus",
- db_name="default"
- )
-
- # Create the index
- index_params = client.prepare_index_params()
-
- index_params.add_index(
- field_name="vector",
- index_type="AUTOINDEX",
- metric_type="L2",
- params={}
- )
-
- client.create_index(
- collection_name='california_driver_handbook_1_0',
- index_params=index_params
- )
-
- client.load_collection(
- collection_name='california_driver_handbook_1_0'
- )
-
- EOF
-
- restartPolicy: Never
diff --git a/bootstrap/ic-shared-minio/create-buckets.yaml b/bootstrap/ic-shared-minio/create-buckets.yaml
deleted file mode 100644
index b243c959..00000000
--- a/bootstrap/ic-shared-minio/create-buckets.yaml
+++ /dev/null
@@ -1,68 +0,0 @@
----
-apiVersion: batch/v1
-kind: Job
-metadata:
- name: create-buckets
- annotations:
- argocd.argoproj.io/sync-wave: "3"
- argocd.argoproj.io/hook: Sync
- argocd.argoproj.io/hook-delete-policy: BeforeHookCreation
-spec:
- backoffLimit: 4
- template:
- spec:
- serviceAccount: minio-manage
- serviceAccountName: minio-manage
- initContainers:
- - name: wait-for-minio
- image: image-registry.openshift-image-registry.svc:5000/openshift/tools:latest
- imagePullPolicy: IfNotPresent
- command: ["/bin/bash"]
- args:
- - -ec
- - |-
- echo -n "Waiting for minio pod in ic-shared-minio namespace"
- while [ -z "$(oc get pod -n ic-shared-minio -l app=minio -o name 2>/dev/null)" ]; do
- echo -n '.'
- sleep 1
- done
- echo "Minio pod is running in ic-shared-minio namespace"
- containers:
- - name: add-model
- image: image-registry.openshift-image-registry.svc:5000/redhat-ods-applications/s2i-generic-data-science-notebook:1.2
- imagePullPolicy: IfNotPresent
- command: ["/bin/bash"]
- args:
- - -ec
- - |-
- curl -LO https://rhods-public.s3.amazonaws.com/demo-models/ic-models/accident/accident_detect.onnx
-
- cat << 'EOF' | python3
- import boto3, os
-
- s3 = boto3.client("s3",
- endpoint_url=os.getenv("AWS_S3_ENDPOINT"),
- aws_access_key_id=os.getenv("AWS_ACCESS_KEY_ID"),
- aws_secret_access_key=os.getenv("AWS_SECRET_ACCESS_KEY"))
-
- # Create user buckets
- for i in range(1, 101):
- bucket_name = f"user{i}"
- if bucket_name not in [bu["Name"] for bu in s3.list_buckets()["Buckets"]]:
- s3.create_bucket(Bucket=bucket_name)
-
- # Create the models bucket
- models_bucket_name = "models"
- if models_bucket_name not in [bu["Name"] for bu in s3.list_buckets()["Buckets"]]:
- s3.create_bucket(Bucket=models_bucket_name)
-
- # uploading to minio
- filename = "accident_detect.onnx"
- with open(filename, "rb") as f:
- s3.upload_fileobj(f, "models", f'accident/{filename}')
-
- EOF
- envFrom:
- - secretRef:
- name: aws-connection-minio
- restartPolicy: Never
diff --git a/bootstrap/ic-shared-minio/create-data-connection.yml b/bootstrap/ic-shared-minio/create-data-connection.yml
deleted file mode 100644
index 14cc7af3..00000000
--- a/bootstrap/ic-shared-minio/create-data-connection.yml
+++ /dev/null
@@ -1,55 +0,0 @@
----
-apiVersion: batch/v1
-kind: Job
-metadata:
- name: create-data-connection
- # generateName: create-dc-
- annotations:
- argocd.argoproj.io/sync-wave: "2"
- argocd.argoproj.io/hook: Sync
- argocd.argoproj.io/hook-delete-policy: BeforeHookCreation
-spec:
- backoffLimit: 4
- template:
- spec:
- serviceAccount: minio-manage
- serviceAccountName: minio-manage
- containers:
- - name: create-data-connection
- image: image-registry.openshift-image-registry.svc:5000/openshift/tools:latest
- imagePullPolicy: IfNotPresent
- command: ["/bin/bash"]
- args:
- - -ec
- - |-
- echo -n "Waiting for minio-root-user to exist"
- while [ -z "$(oc get secret -n ic-shared-minio minio-root-user -oname 2>/dev/null)" ]; do
- echo -n '.'
- sleep 1
- done; echo
- id=$(oc get secret -n ic-shared-minio minio-root-user -ogo-template='{{.data.MINIO_ROOT_USER|base64decode}}')
- secret=$(oc get secret -n ic-shared-minio minio-root-user -ogo-template='{{.data.MINIO_ROOT_PASSWORD|base64decode}}')
- echo "Minio Console : https://$(oc get route -n ic-shared-minio minio-console -ojsonpath='{.status.ingress[0].host}')/ "
- echo "Minio user: ${id}"
- echo "Minio pass: ${secret}"
- echo "Internal service url: http://minio.ic-shared-minio.svc.cluster.local:9000/"
- cat << EOF | oc apply -f-
- apiVersion: v1
- kind: Secret
- metadata:
- name: aws-connection-minio
- labels:
- opendatahub.io/dashboard: "true"
- opendatahub.io/managed: "true"
- annotations:
- opendatahub.io/connection-type: s3
- openshift.io/display-name: MinIO
- type: Opaque
- stringData:
- AWS_ACCESS_KEY_ID: ${id}
- AWS_SECRET_ACCESS_KEY: ${secret}
- AWS_DEFAULT_REGION: us
- AWS_S3_ENDPOINT: http://minio.ic-shared-minio.svc:9000
- AWS_S3_BUCKET: bucket-placeholder
- EOF
- restartPolicy: Never
diff --git a/bootstrap/ic-shared-minio/create-root-user-job.yml b/bootstrap/ic-shared-minio/create-root-user-job.yml
deleted file mode 100644
index 56aadfe9..00000000
--- a/bootstrap/ic-shared-minio/create-root-user-job.yml
+++ /dev/null
@@ -1,46 +0,0 @@
----
-apiVersion: batch/v1
-kind: Job
-metadata:
- name: create-minio-root-user
- annotations:
- argocd.argoproj.io/sync-wave: "1"
-spec:
- backoffLimit: 4
- template:
- spec:
- serviceAccount: minio-manage
- serviceAccountName: minio-manage
- containers:
- - name: create-minio-root-user
- image: image-registry.openshift-image-registry.svc:5000/openshift/tools:latest
- imagePullPolicy: IfNotPresent
- command: ["/bin/bash"]
- args:
- - -ec
- - |-
- if [ -n "$(oc get secret minio-root-user -oname 2>/dev/null)" ]; then
- echo "Secret already exists. Skipping." >&2
- exit 0
- fi
- genpass() {
- < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c"${1:-32}"
- }
- #id=$(genpass 16)
- #secret=$(genpass)
-
- # hard-code id and secret instead
- id="minio"
- secret="minio123"
-
- cat << EOF | oc apply -f-
- apiVersion: v1
- kind: Secret
- metadata:
- name: minio-root-user
- type: Opqaue
- stringData:
- MINIO_ROOT_USER: ${id}
- MINIO_ROOT_PASSWORD: ${secret}
- EOF
- restartPolicy: Never
diff --git a/bootstrap/ic-shared-minio/deployment.yml b/bootstrap/ic-shared-minio/deployment.yml
deleted file mode 100644
index 40e9f444..00000000
--- a/bootstrap/ic-shared-minio/deployment.yml
+++ /dev/null
@@ -1,53 +0,0 @@
----
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: minio
- labels:
- app: minio
- annotations:
- argocd.argoproj.io/sync-wave: "1"
-spec:
- replicas: 1
- selector:
- matchLabels:
- app: minio
- strategy:
- type: Recreate
- template:
- metadata:
- labels:
- app: minio
- spec:
- containers:
- - name: minio
- args:
- - minio server /data --console-address :9090
- command:
- - /bin/bash
- - -c
- image: quay.io/minio/minio:RELEASE.2023-06-19T19-52-50Z
- envFrom:
- - secretRef:
- name: minio-root-user
- ports:
- - containerPort: 9000
- protocol: TCP
- name: api
- - containerPort: 9090
- protocol: TCP
- name: console
- resources:
- requests:
- cpu: 200m
- memory: 1Gi
- limits:
- cpu: 2
- memory: 2Gi
- volumeMounts:
- - mountPath: /data
- name: minio
- volumes:
- - persistentVolumeClaim:
- claimName: minio
- name: minio
diff --git a/bootstrap/ic-shared-minio/kustomization.yml b/bootstrap/ic-shared-minio/kustomization.yml
deleted file mode 100644
index 26fe90dc..00000000
--- a/bootstrap/ic-shared-minio/kustomization.yml
+++ /dev/null
@@ -1,22 +0,0 @@
----
-apiVersion: kustomize.config.k8s.io/v1beta1
-kind: Kustomization
-
-namespace: ic-shared-minio
-
-commonLabels:
- component: minio
-
-resources:
-# wave 0
-- namespace.yml
-# wave 1
-- pvc.yml
-- serviceaccount.yml
-- create-root-user-job.yml
-- deployment.yml
-- service.yml
-- route.yml
-# wave 2
-- create-data-connection.yml
-- create-buckets.yaml
\ No newline at end of file
diff --git a/bootstrap/ic-shared-minio/namespace.yml b/bootstrap/ic-shared-minio/namespace.yml
deleted file mode 100644
index 043b2d7b..00000000
--- a/bootstrap/ic-shared-minio/namespace.yml
+++ /dev/null
@@ -1,11 +0,0 @@
----
-apiVersion: v1
-kind: Namespace
-metadata:
- name: ic-shared-minio
- labels:
- app: ic-shared-minio
- argocd.argoproj.io/managed-by: openshift-gitops
- annotations:
- openshift.io/display-name: "MinIO Object Storage"
- argocd.argoproj.io/sync-wave: "0"
diff --git a/bootstrap/ic-shared-minio/pvc.yml b/bootstrap/ic-shared-minio/pvc.yml
deleted file mode 100644
index 9e9c4d1a..00000000
--- a/bootstrap/ic-shared-minio/pvc.yml
+++ /dev/null
@@ -1,15 +0,0 @@
----
-apiVersion: v1
-kind: PersistentVolumeClaim
-metadata:
- name: minio
- labels:
- app: minio
- annotations:
- argocd.argoproj.io/sync-wave: "1"
-spec:
- accessModes:
- - ReadWriteOnce
- resources:
- requests:
- storage: 50Gi
diff --git a/bootstrap/ic-shared-minio/route.yml b/bootstrap/ic-shared-minio/route.yml
deleted file mode 100644
index 9a6409e4..00000000
--- a/bootstrap/ic-shared-minio/route.yml
+++ /dev/null
@@ -1,40 +0,0 @@
----
-apiVersion: route.openshift.io/v1
-kind: Route
-metadata:
- name: minio-console
- labels:
- app: minio
- annotations:
- argocd.argoproj.io/sync-wave: "1"
-spec:
- port:
- targetPort: console
- tls:
- insecureEdgeTerminationPolicy: Redirect
- termination: edge
- to:
- kind: Service
- name: minio
- weight: 100
- wildcardPolicy: None
----
-apiVersion: route.openshift.io/v1
-kind: Route
-metadata:
- name: minio-s3
- labels:
- app: minio
- annotations:
- argocd.argoproj.io/sync-wave: "1"
-spec:
- port:
- targetPort: api
- tls:
- insecureEdgeTerminationPolicy: Redirect
- termination: edge
- to:
- kind: Service
- name: minio
- weight: 100
- wildcardPolicy: None
diff --git a/bootstrap/ic-shared-minio/service.yml b/bootstrap/ic-shared-minio/service.yml
deleted file mode 100644
index cd6d54fb..00000000
--- a/bootstrap/ic-shared-minio/service.yml
+++ /dev/null
@@ -1,21 +0,0 @@
----
-apiVersion: v1
-kind: Service
-metadata:
- name: minio
- labels:
- app: minio
- annotations:
- argocd.argoproj.io/sync-wave: "1"
-spec:
- ports:
- - name: api
- port: 9000
- targetPort: api
- - name: console
- port: 9090
- targetPort: 9090
- selector:
- app: minio
- sessionAffinity: None
- type: ClusterIP
diff --git a/bootstrap/ic-shared-minio/serviceaccount.yml b/bootstrap/ic-shared-minio/serviceaccount.yml
deleted file mode 100644
index cdf61f7d..00000000
--- a/bootstrap/ic-shared-minio/serviceaccount.yml
+++ /dev/null
@@ -1,21 +0,0 @@
----
-apiVersion: v1
-kind: ServiceAccount
-metadata:
- name: minio-manage
- annotations:
- argocd.argoproj.io/sync-wave: "1"
----
-apiVersion: rbac.authorization.k8s.io/v1
-kind: RoleBinding
-metadata:
- name: minio-secrets
- annotations:
- argocd.argoproj.io/sync-wave: "1"
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: admin
-subjects:
-- kind: ServiceAccount
- name: minio-manage
diff --git a/bootstrap/ic-user-projects/create-projects-and-resources-job.yaml b/bootstrap/ic-user-projects/create-projects-and-resources-job.yaml
deleted file mode 100644
index e3b6868b..00000000
--- a/bootstrap/ic-user-projects/create-projects-and-resources-job.yaml
+++ /dev/null
@@ -1,526 +0,0 @@
-apiVersion: batch/v1
-kind: Job
-metadata:
- name: create-and-apply-resources
- namespace: ic-user-projects
- annotations:
- argocd.argoproj.io/sync-wave: "1"
- argocd.argoproj.io/hook: Sync
- argocd.argoproj.io/hook-delete-policy: BeforeHookCreation
- argocd.argoproj.io/compare-options: IgnoreExtraneous
-spec:
- backoffLimit: 4
- template:
- spec:
- serviceAccount: project-creator
- serviceAccountName: project-creator
- containers:
- - name: create-and-apply-resources
- image: image-registry.openshift-image-registry.svc:5000/openshift/tools:latest
- imagePullPolicy: IfNotPresent
- command: ["/bin/bash"]
- args:
- - -ec
- - |-
- # Get user count
- user_count=$(oc get namespaces | grep showroom | wc -l)
-
- echo -n 'Waiting for minio-root-user secret'
- while [ -z "\$(oc get secret -n ic-shared-minio minio-root-user -oname 2>/dev/null)" ]; do
- echo -n .
- sleep 5
- done; echo
-
- echo -n 'Waiting for rhods-dashboard route'
- while [ -z "\$(oc get route -n redhat-ods-applications rhods-dashboard -oname 2>/dev/null)" ]; do
- echo -n .
- sleep 5
- done; echo
-
- # Get needed variables
- MINIO_ROOT_USER=$(oc get secret minio-root-user -n ic-shared-minio -o template --template '{{.data.MINIO_ROOT_USER|base64decode}}')
- MINIO_ROOT_PASSWORD=$(oc get secret minio-root-user -n ic-shared-minio -o template --template '{{.data.MINIO_ROOT_PASSWORD|base64decode}}')
- MINIO_HOST=https://$(oc get route minio-s3 -n ic-shared-minio -o template --template '{{.spec.host}}')
- DASHBOARD_ROUTE=https://$(oc get route rhods-dashboard -n redhat-ods-applications -o jsonpath='{.spec.host}')
-
- # Define some variables
- WORKBENCH_NAME="my-workbench"
- WORKBENCH_IMAGE="ic-workbench:2.1.2"
- PIPELINE_ENGINE="Tekton"
-
- for i in $(seq 1 $user_count);
- do
- # Construct dynamic variables
- USER_NAME="user$i"
- USER_PROJECT="user$i"
-
- echo "Generating and apply resources for $USER_NAME..."
-
- # Create projects
- cat << EOF | oc apply -f-
- apiVersion: project.openshift.io/v1
- kind: Project
- metadata:
- annotations:
- openshift.io/description: ''
- openshift.io/display-name: $USER_PROJECT
- labels:
- kubernetes.io/metadata.name: $USER_PROJECT
- # modelmesh-enabled: 'true'
- opendatahub.io/dashboard: 'true'
- name: $USER_PROJECT
- spec:
- finalizers:
- - kubernetes
- EOF
-
- # Apply role bindings
- cat << EOF | oc apply -f-
- apiVersion: rbac.authorization.k8s.io/v1
- kind: RoleBinding
- metadata:
- name: admin
- namespace: $USER_PROJECT
- roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: admin
- subjects:
- - apiGroup: rbac.authorization.k8s.io
- kind: User
- name: $USER_NAME
- ---
- apiVersion: v1
- kind: ServiceAccount
- metadata:
- name: demo-setup
- namespace: $USER_PROJECT
- ---
- apiVersion: rbac.authorization.k8s.io/v1
- kind: RoleBinding
- metadata:
- name: demo-setup-edit
- namespace: $USER_PROJECT
- roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: edit
- subjects:
- - kind: ServiceAccount
- name: demo-setup
- ---
- kind: ClusterRoleBinding
- apiVersion: rbac.authorization.k8s.io/v1
- metadata:
- name: demo-setup-route-reader-binding-$USER_PROJECT
- subjects:
- - kind: ServiceAccount
- name: demo-setup
- namespace: $USER_PROJECT
- roleRef:
- kind: ClusterRole
- name: route-reader
- apiGroup: rbac.authorization.k8s.io
- ---
- kind: RoleBinding
- apiVersion: rbac.authorization.k8s.io/v1
- metadata:
- name: elyra-pipelines-$WORKBENCH_NAME
- namespace: $USER_PROJECT
- labels:
- opendatahub.io/dashboard: 'true'
- subjects:
- - kind: ServiceAccount
- name: $WORKBENCH_NAME
- roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: Role
- name: ds-pipeline-user-access-pipelines-definition
- EOF
-
- # Create Data Science Connections
- cat << EOF | oc apply -f-
- apiVersion: batch/v1
- kind: Job
- metadata:
- name: create-ds-connections
- namespace: $USER_PROJECT
- spec:
- selector: {}
- template:
- spec:
- containers:
- - args:
- - -ec
- - |-
- echo "Minio user: $MINIO_ROOT_USER"
- echo "Minio pass: $MINIO_ROOT_PASSWORD"
- echo "Internal service url: http://minio.ic-shared-minio.svc.cluster.local:9000/"
- cat << EOF | oc apply -f-
- apiVersion: v1
- kind: Secret
- metadata:
- name: aws-connection-shared-minio---pipelines
- labels:
- opendatahub.io/dashboard: "true"
- opendatahub.io/managed: "true"
- annotations:
- opendatahub.io/connection-type: s3
- openshift.io/display-name: Shared Minio - pipelines
- type: Opaque
- stringData:
- AWS_ACCESS_KEY_ID: $MINIO_ROOT_USER
- AWS_SECRET_ACCESS_KEY: $MINIO_ROOT_PASSWORD
- AWS_DEFAULT_REGION: us
- AWS_S3_ENDPOINT: http://minio.ic-shared-minio.svc:9000
- AWS_S3_BUCKET: $USER_NAME
- EOF
- command:
- - /bin/bash
- image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:95b359257a7716b5f8d3a672081a84600218d8f58ca720f46229f7bb893af2ab
- imagePullPolicy: IfNotPresent
- name: create-ds-connections
- restartPolicy: Never
- serviceAccount: demo-setup
- serviceAccountName: demo-setup
- EOF
-
- # Set up the pipeline server
- cat << EOF | oc apply -f-
- apiVersion: datasciencepipelinesapplications.opendatahub.io/v1alpha1
- kind: DataSciencePipelinesApplication
- metadata:
- finalizers:
- - datasciencepipelinesapplications.opendatahub.io/finalizer
- name: pipelines-definition
- namespace: $USER_PROJECT
- spec:
- apiServer:
- applyTektonCustomResource: true
- archiveLogs: false
- autoUpdatePipelineDefaultVersion: true
- collectMetrics: true
- dbConfigConMaxLifetimeSec: 120
- deploy: true
- enableOauth: true
- enableSamplePipeline: false
- injectDefaultScript: true
- stripEOF: true
- terminateStatus: Cancelled
- trackArtifacts: true
- database:
- mariaDB:
- deploy: true
- pipelineDBName: mlpipeline
- pvcSize: 10Gi
- username: mlpipeline
- objectStorage:
- externalStorage:
- bucket: $USER_NAME
- host: minio.ic-shared-minio.svc.cluster.local:9000
- port: ''
- s3CredentialsSecret:
- accessKey: AWS_ACCESS_KEY_ID
- secretKey: AWS_SECRET_ACCESS_KEY
- secretName: aws-connection-shared-minio---pipelines
- scheme: http
- secure: false
- persistenceAgent:
- deploy: true
- numWorkers: 2
- scheduledWorkflow:
- cronScheduleTimezone: UTC
- deploy: true
- EOF
-
- # Create the Elyra secret
- cat << EOF | oc apply -f-
- apiVersion: batch/v1
- kind: Job
- metadata:
- name: create-pipeline-secret
- namespace: $USER_PROJECT
- spec:
- selector: {}
- template:
- spec:
- containers:
- - args:
- - -ec
- - |-
- echo -n 'Waiting for ds-pipeline-pipelines-definition route'
- while ! oc get route ds-pipeline-pipelines-definition 2>/dev/null; do
- echo -n .
- sleep 5
- done; echo
-
- PIPELINE_ROUTE=https://\$(oc get route ds-pipeline-pipelines-definition -o jsonpath='{.spec.host}')
-
- cat << EOF | oc apply -f-
- apiVersion: v1
- kind: Secret
- metadata:
- name: ds-pipeline-config
- namespace: $USER_PROJECT
- stringData:
- odh_dsp.json: '{"display_name": "Data Science Pipeline", "metadata": {"tags": [],
- "display_name": "Data Science Pipeline", "engine": "$PIPELINE_ENGINE", "auth_type": "KUBERNETES_SERVICE_ACCOUNT_TOKEN",
- "api_endpoint": "\$PIPELINE_ROUTE",
- "public_api_endpoint": "$DASHBOARD_ROUTE/pipelineRuns/$USER_PROJECT/pipelineRun/view/",
- "cos_auth_type": "KUBERNETES_SECRET", "cos_secret": "aws-connection-shared-minio---pipelines",
- "cos_endpoint": "$MINIO_HOST", "cos_bucket": "$USER_NAME",
- "cos_username": "$MINIO_ROOT_USER", "cos_password": "$MINIO_ROOT_PASSWORD",
- "runtime_type": "KUBEFLOW_PIPELINES"}, "schema_name": "kfp"}'
- type: Opaque
- EOF
- command:
- - /bin/bash
- image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:95b359257a7716b5f8d3a672081a84600218d8f58ca720f46229f7bb893af2ab
- imagePullPolicy: IfNotPresent
- name: create-ds-connections
- restartPolicy: Never
- serviceAccount: demo-setup
- serviceAccountName: demo-setup
- EOF
-
- # Create the workbench PVC
- cat << EOF | oc apply -f-
- kind: PersistentVolumeClaim
- apiVersion: v1
- metadata:
- annotations:
- openshift.io/description: ''
- openshift.io/display-name: My Workbench
- volume.beta.kubernetes.io/storage-provisioner: openshift-storage.rbd.csi.ceph.com
- volume.kubernetes.io/storage-provisioner: openshift-storage.rbd.csi.ceph.com
- name: $WORKBENCH_NAME
- namespace: $USER_PROJECT
- finalizers:
- - kubernetes.io/pvc-protection
- labels:
- opendatahub.io/dashboard: 'true'
- spec:
- accessModes:
- - ReadWriteOnce
- resources:
- requests:
- storage: 5Gi
- storageClassName: ocs-storagecluster-ceph-rbd
- volumeMode: Filesystem
- EOF
-
- # Create the workbench
- cat << EOF | oc apply -f-
- apiVersion: kubeflow.org/v1
- kind: Notebook
- metadata:
- annotations:
- notebooks.opendatahub.io/inject-oauth: 'true'
- opendatahub.io/image-display-name: CUSTOM - Insurance Claim Processing Lab Workbench
- notebooks.opendatahub.io/oauth-logout-url: >-
- $DASHBOARD_ROUTE/projects/$USER_PROJECT?notebookLogout=$WORKBENCH_NAME
- opendatahub.io/accelerator-name: ''
- openshift.io/description: ''
- openshift.io/display-name: My Workbench
- notebooks.opendatahub.io/last-image-selection: '$WORKBENCH_IMAGE'
- notebooks.opendatahub.io/last-size-selection: Standard
- opendatahub.io/username: $USER_NAME
- name: $WORKBENCH_NAME
- namespace: $USER_PROJECT
- labels:
- app: $WORKBENCH_NAME
- opendatahub.io/dashboard: 'true'
- opendatahub.io/odh-managed: 'true'
- opendatahub.io/user: $USER_NAME
- spec:
- template:
- spec:
- affinity: {}
- containers:
- - resources:
- limits:
- cpu: '2'
- memory: 8Gi
- requests:
- cpu: '1'
- memory: 6Gi
- readinessProbe:
- failureThreshold: 3
- httpGet:
- path: /notebook/$USER_PROJECT/$WORKBENCH_NAME/api
- port: notebook-port
- scheme: HTTP
- initialDelaySeconds: 10
- periodSeconds: 5
- successThreshold: 1
- timeoutSeconds: 1
- name: $WORKBENCH_NAME
- livenessProbe:
- failureThreshold: 3
- httpGet:
- path: /notebook/$USER_PROJECT/$WORKBENCH_NAME/api
- port: notebook-port
- scheme: HTTP
- initialDelaySeconds: 10
- periodSeconds: 5
- successThreshold: 1
- timeoutSeconds: 1
- env:
- - name: NOTEBOOK_ARGS
- value: |-
- --ServerApp.port=8888
- --ServerApp.token=''
- --ServerApp.password=''
- --ServerApp.base_url=/notebook/$USER_PROJECT/$WORKBENCH_NAME
- --ServerApp.quit_button=False
- --ServerApp.tornado_settings={"user":"$USER_NAME","hub_host":"$DASHBOARD_ROUTE","hub_prefix":"/projects/$USER_PROJECT"}
- - name: JUPYTER_IMAGE
- value: >-
- image-registry.openshift-image-registry.svc:5000/redhat-ods-applications/$WORKBENCH_IMAGE
- ports:
- - containerPort: 8888
- name: notebook-port
- protocol: TCP
- imagePullPolicy: Always
- volumeMounts:
- - mountPath: /opt/app-root/src
- name: $WORKBENCH_NAME
- - mountPath: /opt/app-root/runtimes
- name: elyra-dsp-details
- - mountPath: /dev/shm
- name: shm
- image: >-
- image-registry.openshift-image-registry.svc:5000/redhat-ods-applications/$WORKBENCH_IMAGE
- workingDir: /opt/app-root/src
- - resources:
- limits:
- cpu: 100m
- memory: 64Mi
- requests:
- cpu: 100m
- memory: 64Mi
- readinessProbe:
- failureThreshold: 3
- httpGet:
- path: /oauth/healthz
- port: oauth-proxy
- scheme: HTTPS
- initialDelaySeconds: 5
- periodSeconds: 5
- successThreshold: 1
- timeoutSeconds: 1
- name: oauth-proxy
- livenessProbe:
- failureThreshold: 3
- httpGet:
- path: /oauth/healthz
- port: oauth-proxy
- scheme: HTTPS
- initialDelaySeconds: 30
- periodSeconds: 5
- successThreshold: 1
- timeoutSeconds: 1
- env:
- - name: NAMESPACE
- valueFrom:
- fieldRef:
- fieldPath: metadata.namespace
- ports:
- - containerPort: 8443
- name: oauth-proxy
- protocol: TCP
- imagePullPolicy: Always
- volumeMounts:
- - mountPath: /etc/oauth/config
- name: oauth-config
- - mountPath: /etc/tls/private
- name: tls-certificates
- image: >-
- registry.redhat.io/openshift4/ose-oauth-proxy@sha256:4bef31eb993feb6f1096b51b4876c65a6fb1f4401fee97fa4f4542b6b7c9bc46
- args:
- - '--provider=openshift'
- - '--https-address=:8443'
- - '--http-address='
- - '--openshift-service-account=$WORKBENCH_NAME'
- - '--cookie-secret-file=/etc/oauth/config/cookie_secret'
- - '--cookie-expire=24h0m0s'
- - '--tls-cert=/etc/tls/private/tls.crt'
- - '--tls-key=/etc/tls/private/tls.key'
- - '--upstream=http://localhost:8888'
- - '--upstream-ca=/var/run/secrets/kubernetes.io/serviceaccount/ca.crt'
- - '--email-domain=*'
- - '--skip-provider-button'
- - >-
- --openshift-sar={"verb":"get","resource":"notebooks","resourceAPIGroup":"kubeflow.org","resourceName":"$WORKBENCH_IMAGE","namespace":"$USER_PROJECT"}
- - >-
- --logout-url=$DASHBOARD_ROUTE/projects/$USER_PROJECT?notebookLogout=$WORKBENCH_IMAGE
- enableServiceLinks: false
- serviceAccountName: $WORKBENCH_NAME
- tolerations:
- - effect: NoSchedule
- key: notebooksonly
- operator: Exists
- volumes:
- - name: $WORKBENCH_NAME
- persistentVolumeClaim:
- claimName: $WORKBENCH_NAME
- - name: elyra-dsp-details
- secret:
- secretName: ds-pipeline-config
- - emptyDir:
- medium: Memory
- name: shm
- - name: oauth-config
- secret:
- defaultMode: 420
- secretName: $WORKBENCH_NAME-oauth-config
- - name: tls-certificates
- secret:
- defaultMode: 420
- secretName: $WORKBENCH_NAME-tls
- readyReplicas: 1
- EOF
-
- # Git clone job
- cat << EOF | oc apply -f-
- apiVersion: batch/v1
- kind: Job
- metadata:
- name: clone-repo
- namespace: $USER_PROJECT
- spec:
- backoffLimit: 4
- template:
- spec:
- serviceAccount: demo-setup
- serviceAccountName: demo-setup
- initContainers:
- - name: wait-for-workbench
- image: image-registry.openshift-image-registry.svc:5000/openshift/tools:latest
- imagePullPolicy: IfNotPresent
- command: ["/bin/bash"]
- args:
- - -ec
- - |-
- echo -n "Waiting for workbench pod in $USER_PROJECT namespace"
- while [ -z "\$(oc get pods -n $USER_PROJECT -l app=$WORKBENCH_NAME -o custom-columns=STATUS:.status.phase --no-headers | grep Running 2>/dev/null)" ]; do
- echo -n '.'
- sleep 1
- done
- echo "Workbench pod is running in $USER_PROJECT namespace"
- containers:
- - name: git-clone
- image: image-registry.openshift-image-registry.svc:5000/openshift/tools:latest
- imagePullPolicy: IfNotPresent
- command: ["/bin/bash"]
- args:
- - -ec
- - |-
- pod_name=\$(oc get pods --selector=app=$WORKBENCH_NAME -o jsonpath='{.items[0].metadata.name}') && oc exec \$pod_name -- git clone https://github.com/rh-aiservices-bu/parasol-insurance
- restartPolicy: Never
- EOF
-
- sleep 20
-
- done
- restartPolicy: Never
\ No newline at end of file
diff --git a/bootstrap/ic-user-projects/create-projects-and-resources.bash b/bootstrap/ic-user-projects/create-projects-and-resources.bash
deleted file mode 100644
index 537a496b..00000000
--- a/bootstrap/ic-user-projects/create-projects-and-resources.bash
+++ /dev/null
@@ -1,503 +0,0 @@
-#!/bin/bash
-# Get user count
-user_count=$(oc get namespaces | grep showroom | wc -l)
-
-echo -n 'Waiting for minio-root-user secret'
-while [ -z "\$(oc get secret -n ic-shared-minio minio-root-user -oname 2>/dev/null)" ]; do
- echo -n .
- sleep 5
-done; echo
-
-echo -n 'Waiting for rhods-dashboard route'
-while [ -z "\$(oc get route -n redhat-ods-applications rhods-dashboard -oname 2>/dev/null)" ]; do
- echo -n .
- sleep 5
-done; echo
-
-# Get needed variables
-MINIO_ROOT_USER=$(oc get secret minio-root-user -n ic-shared-minio -o template --template '{{.data.MINIO_ROOT_USER|base64decode}}')
-MINIO_ROOT_PASSWORD=$(oc get secret minio-root-user -n ic-shared-minio -o template --template '{{.data.MINIO_ROOT_PASSWORD|base64decode}}')
-MINIO_HOST=https://$(oc get route minio-s3 -n ic-shared-minio -o template --template '{{.spec.host}}')
-DASHBOARD_ROUTE=https://$(oc get route rhods-dashboard -n redhat-ods-applications -o jsonpath='{.spec.host}')
-
-# Define some variables
-WORKBENCH_NAME="my-workbench"
-WORKBENCH_IMAGE="ic-workbench:2.1.2"
-PIPELINE_ENGINE="Tekton"
-
-for i in $(seq 1 $user_count);
-do
-
-# Construct dynamic variables
-USER_NAME="user$i"
-USER_PROJECT="user$i"
-
-echo "Generating and apply resources for $USER_NAME..."
-
-# Create projects
-cat << EOF | oc apply -f-
-apiVersion: project.openshift.io/v1
-kind: Project
-metadata:
- annotations:
- openshift.io/description: ''
- openshift.io/display-name: $USER_PROJECT
- labels:
- kubernetes.io/metadata.name: $USER_PROJECT
- # modelmesh-enabled: 'true'
- opendatahub.io/dashboard: 'true'
- name: $USER_PROJECT
-spec:
- finalizers:
- - kubernetes
-EOF
-
-# Apply role bindings
-cat << EOF | oc apply -f-
-apiVersion: rbac.authorization.k8s.io/v1
-kind: RoleBinding
-metadata:
- name: admin
- namespace: $USER_PROJECT
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: admin
-subjects:
-- apiGroup: rbac.authorization.k8s.io
- kind: User
- name: $USER_NAME
----
-apiVersion: v1
-kind: ServiceAccount
-metadata:
- name: demo-setup
- namespace: $USER_PROJECT
----
-apiVersion: rbac.authorization.k8s.io/v1
-kind: RoleBinding
-metadata:
- name: demo-setup-edit
- namespace: $USER_PROJECT
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: edit
-subjects:
-- kind: ServiceAccount
- name: demo-setup
----
-kind: ClusterRoleBinding
-apiVersion: rbac.authorization.k8s.io/v1
-metadata:
- name: demo-setup-route-reader-binding-$USER_PROJECT
-subjects:
-- kind: ServiceAccount
- name: demo-setup
- namespace: $USER_PROJECT
-roleRef:
- kind: ClusterRole
- name: route-reader
- apiGroup: rbac.authorization.k8s.io
----
-kind: RoleBinding
-apiVersion: rbac.authorization.k8s.io/v1
-metadata:
- name: elyra-pipelines-$WORKBENCH_NAME
- namespace: $USER_PROJECT
- labels:
- opendatahub.io/dashboard: 'true'
-subjects:
- - kind: ServiceAccount
- name: $WORKBENCH_NAME
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: Role
- name: ds-pipeline-user-access-pipelines-definition
-EOF
-
-# Create Data Science Connections
-cat << EOF | oc apply -f-
-apiVersion: batch/v1
-kind: Job
-metadata:
- name: create-ds-connections
- namespace: $USER_PROJECT
-spec:
- selector: {}
- template:
- spec:
- containers:
- - args:
- - -ec
- - |-
- echo "Minio user: $MINIO_ROOT_USER"
- echo "Minio pass: $MINIO_ROOT_PASSWORD"
- echo "Internal service url: http://minio.ic-shared-minio.svc.cluster.local:9000/"
- cat << EOF | oc apply -f-
- apiVersion: v1
- kind: Secret
- metadata:
- name: aws-connection-shared-minio---pipelines
- labels:
- opendatahub.io/dashboard: "true"
- opendatahub.io/managed: "true"
- annotations:
- opendatahub.io/connection-type: s3
- openshift.io/display-name: Shared Minio - pipelines
- type: Opaque
- stringData:
- AWS_ACCESS_KEY_ID: $MINIO_ROOT_USER
- AWS_SECRET_ACCESS_KEY: $MINIO_ROOT_PASSWORD
- AWS_DEFAULT_REGION: us
- AWS_S3_ENDPOINT: http://minio.ic-shared-minio.svc:9000
- AWS_S3_BUCKET: $USER_NAME
- EOF
- command:
- - /bin/bash
- image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:95b359257a7716b5f8d3a672081a84600218d8f58ca720f46229f7bb893af2ab
- imagePullPolicy: IfNotPresent
- name: create-ds-connections
- restartPolicy: Never
- serviceAccount: demo-setup
- serviceAccountName: demo-setup
-EOF
-
-# Set up the pipeline server
-cat << EOF | oc apply -f-
-apiVersion: datasciencepipelinesapplications.opendatahub.io/v1alpha1
-kind: DataSciencePipelinesApplication
-metadata:
- finalizers:
- - datasciencepipelinesapplications.opendatahub.io/finalizer
- name: pipelines-definition
- namespace: $USER_PROJECT
-spec:
- apiServer:
- applyTektonCustomResource: true
- archiveLogs: false
- autoUpdatePipelineDefaultVersion: true
- collectMetrics: true
- dbConfigConMaxLifetimeSec: 120
- deploy: true
- enableOauth: true
- enableSamplePipeline: false
- injectDefaultScript: true
- stripEOF: true
- terminateStatus: Cancelled
- trackArtifacts: true
- database:
- mariaDB:
- deploy: true
- pipelineDBName: mlpipeline
- pvcSize: 10Gi
- username: mlpipeline
- objectStorage:
- externalStorage:
- bucket: $USER_NAME
- host: minio.ic-shared-minio.svc.cluster.local:9000
- port: ''
- s3CredentialsSecret:
- accessKey: AWS_ACCESS_KEY_ID
- secretKey: AWS_SECRET_ACCESS_KEY
- secretName: aws-connection-shared-minio---pipelines
- scheme: http
- secure: false
- persistenceAgent:
- deploy: true
- numWorkers: 2
- scheduledWorkflow:
- cronScheduleTimezone: UTC
- deploy: true
-EOF
-
-# Create the Elyra secret
-cat << EOF | oc apply -f-
-apiVersion: batch/v1
-kind: Job
-metadata:
- name: create-pipeline-secret
- namespace: $USER_PROJECT
-spec:
- selector: {}
- template:
- spec:
- containers:
- - args:
- - -ec
- - |-
- echo -n 'Waiting for ds-pipeline-pipelines-definition route'
- while ! oc get route ds-pipeline-pipelines-definition 2>/dev/null; do
- echo -n .
- sleep 5
- done; echo
-
- PIPELINE_ROUTE=https://\$(oc get route ds-pipeline-pipelines-definition -o jsonpath='{.spec.host}')
-
- cat << EOF | oc apply -f-
- apiVersion: v1
- kind: Secret
- metadata:
- name: ds-pipeline-config
- namespace: $USER_PROJECT
- stringData:
- odh_dsp.json: '{"display_name": "Data Science Pipeline", "metadata": {"tags": [],
- "display_name": "Data Science Pipeline", "engine": "$PIPELINE_ENGINE", "auth_type": "KUBERNETES_SERVICE_ACCOUNT_TOKEN",
- "api_endpoint": "\$PIPELINE_ROUTE",
- "public_api_endpoint": "$DASHBOARD_ROUTE/pipelineRuns/$USER_PROJECT/pipelineRun/view/",
- "cos_auth_type": "KUBERNETES_SECRET", "cos_secret": "aws-connection-shared-minio---pipelines",
- "cos_endpoint": "$MINIO_HOST", "cos_bucket": "$USER_NAME",
- "cos_username": "$MINIO_ROOT_USER", "cos_password": "$MINIO_ROOT_PASSWORD",
- "runtime_type": "KUBEFLOW_PIPELINES"}, "schema_name": "kfp"}'
- type: Opaque
- EOF
- command:
- - /bin/bash
- image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:95b359257a7716b5f8d3a672081a84600218d8f58ca720f46229f7bb893af2ab
- imagePullPolicy: IfNotPresent
- name: create-ds-connections
- restartPolicy: Never
- serviceAccount: demo-setup
- serviceAccountName: demo-setup
-EOF
-
-# Create the workbench PVC
-cat << EOF | oc apply -f-
-kind: PersistentVolumeClaim
-apiVersion: v1
-metadata:
- annotations:
- openshift.io/description: ''
- openshift.io/display-name: My Workbench
- volume.beta.kubernetes.io/storage-provisioner: openshift-storage.rbd.csi.ceph.com
- volume.kubernetes.io/storage-provisioner: openshift-storage.rbd.csi.ceph.com
- name: $WORKBENCH_NAME
- namespace: $USER_PROJECT
- finalizers:
- - kubernetes.io/pvc-protection
- labels:
- opendatahub.io/dashboard: 'true'
-spec:
- accessModes:
- - ReadWriteOnce
- resources:
- requests:
- storage: 5Gi
- storageClassName: ocs-storagecluster-ceph-rbd
- volumeMode: Filesystem
-EOF
-
-# Create the workbench
-cat << EOF | oc apply -f-
-apiVersion: kubeflow.org/v1
-kind: Notebook
-metadata:
- annotations:
- notebooks.opendatahub.io/inject-oauth: 'true'
- opendatahub.io/image-display-name: CUSTOM - Insurance Claim Processing Lab Workbench
- notebooks.opendatahub.io/oauth-logout-url: >-
- $DASHBOARD_ROUTE/projects/$USER_PROJECT?notebookLogout=$WORKBENCH_NAME
- opendatahub.io/accelerator-name: ''
- openshift.io/description: ''
- openshift.io/display-name: My Workbench
- notebooks.opendatahub.io/last-image-selection: '$WORKBENCH_IMAGE'
- notebooks.opendatahub.io/last-size-selection: Standard
- opendatahub.io/username: $USER_NAME
- name: $WORKBENCH_NAME
- namespace: $USER_PROJECT
- labels:
- app: $WORKBENCH_NAME
- opendatahub.io/dashboard: 'true'
- opendatahub.io/odh-managed: 'true'
- opendatahub.io/user: $USER_NAME
-spec:
- template:
- spec:
- affinity: {}
- containers:
- - resources:
- limits:
- cpu: '2'
- memory: 8Gi
- requests:
- cpu: '1'
- memory: 6Gi
- readinessProbe:
- failureThreshold: 3
- httpGet:
- path: /notebook/$USER_PROJECT/$WORKBENCH_NAME/api
- port: notebook-port
- scheme: HTTP
- initialDelaySeconds: 10
- periodSeconds: 5
- successThreshold: 1
- timeoutSeconds: 1
- name: $WORKBENCH_NAME
- livenessProbe:
- failureThreshold: 3
- httpGet:
- path: /notebook/$USER_PROJECT/$WORKBENCH_NAME/api
- port: notebook-port
- scheme: HTTP
- initialDelaySeconds: 10
- periodSeconds: 5
- successThreshold: 1
- timeoutSeconds: 1
- env:
- - name: NOTEBOOK_ARGS
- value: |-
- --ServerApp.port=8888
- --ServerApp.token=''
- --ServerApp.password=''
- --ServerApp.base_url=/notebook/$USER_PROJECT/$WORKBENCH_NAME
- --ServerApp.quit_button=False
- --ServerApp.tornado_settings={"user":"$USER_NAME","hub_host":"$DASHBOARD_ROUTE","hub_prefix":"/projects/$USER_PROJECT"}
- - name: JUPYTER_IMAGE
- value: >-
- image-registry.openshift-image-registry.svc:5000/redhat-ods-applications/$WORKBENCH_IMAGE
- ports:
- - containerPort: 8888
- name: notebook-port
- protocol: TCP
- imagePullPolicy: Always
- volumeMounts:
- - mountPath: /opt/app-root/src
- name: $WORKBENCH_NAME
- - mountPath: /opt/app-root/runtimes
- name: elyra-dsp-details
- - mountPath: /dev/shm
- name: shm
- image: >-
- image-registry.openshift-image-registry.svc:5000/redhat-ods-applications/$WORKBENCH_IMAGE
- workingDir: /opt/app-root/src
- - resources:
- limits:
- cpu: 100m
- memory: 64Mi
- requests:
- cpu: 100m
- memory: 64Mi
- readinessProbe:
- failureThreshold: 3
- httpGet:
- path: /oauth/healthz
- port: oauth-proxy
- scheme: HTTPS
- initialDelaySeconds: 5
- periodSeconds: 5
- successThreshold: 1
- timeoutSeconds: 1
- name: oauth-proxy
- livenessProbe:
- failureThreshold: 3
- httpGet:
- path: /oauth/healthz
- port: oauth-proxy
- scheme: HTTPS
- initialDelaySeconds: 30
- periodSeconds: 5
- successThreshold: 1
- timeoutSeconds: 1
- env:
- - name: NAMESPACE
- valueFrom:
- fieldRef:
- fieldPath: metadata.namespace
- ports:
- - containerPort: 8443
- name: oauth-proxy
- protocol: TCP
- imagePullPolicy: Always
- volumeMounts:
- - mountPath: /etc/oauth/config
- name: oauth-config
- - mountPath: /etc/tls/private
- name: tls-certificates
- image: >-
- registry.redhat.io/openshift4/ose-oauth-proxy@sha256:4bef31eb993feb6f1096b51b4876c65a6fb1f4401fee97fa4f4542b6b7c9bc46
- args:
- - '--provider=openshift'
- - '--https-address=:8443'
- - '--http-address='
- - '--openshift-service-account=$WORKBENCH_NAME'
- - '--cookie-secret-file=/etc/oauth/config/cookie_secret'
- - '--cookie-expire=24h0m0s'
- - '--tls-cert=/etc/tls/private/tls.crt'
- - '--tls-key=/etc/tls/private/tls.key'
- - '--upstream=http://localhost:8888'
- - '--upstream-ca=/var/run/secrets/kubernetes.io/serviceaccount/ca.crt'
- - '--email-domain=*'
- - '--skip-provider-button'
- - >-
- --openshift-sar={"verb":"get","resource":"notebooks","resourceAPIGroup":"kubeflow.org","resourceName":"$WORKBENCH_IMAGE","namespace":"$USER_PROJECT"}
- - >-
- --logout-url=$DASHBOARD_ROUTE/projects/$USER_PROJECT?notebookLogout=$WORKBENCH_IMAGE
- enableServiceLinks: false
- serviceAccountName: $WORKBENCH_NAME
- tolerations:
- - effect: NoSchedule
- key: notebooksonly
- operator: Exists
- volumes:
- - name: $WORKBENCH_NAME
- persistentVolumeClaim:
- claimName: $WORKBENCH_NAME
- - name: elyra-dsp-details
- secret:
- secretName: ds-pipeline-config
- - emptyDir:
- medium: Memory
- name: shm
- - name: oauth-config
- secret:
- defaultMode: 420
- secretName: $WORKBENCH_NAME-oauth-config
- - name: tls-certificates
- secret:
- defaultMode: 420
- secretName: $WORKBENCH_NAME-tls
- readyReplicas: 1
-EOF
-
-# Git clone job
-cat << EOF | oc apply -f-
-apiVersion: batch/v1
-kind: Job
-metadata:
- name: clone-repo
- namespace: $USER_PROJECT
-spec:
- backoffLimit: 4
- template:
- spec:
- serviceAccount: demo-setup
- serviceAccountName: demo-setup
- initContainers:
- - name: wait-for-workbench
- image: image-registry.openshift-image-registry.svc:5000/openshift/tools:latest
- imagePullPolicy: IfNotPresent
- command: ["/bin/bash"]
- args:
- - -ec
- - |-
- echo -n "Waiting for workbench pod in $USER_PROJECT namespace"
- while [ -z "\$(oc get pods -n $USER_PROJECT -l app=$WORKBENCH_NAME -o custom-columns=STATUS:.status.phase --no-headers | grep Running 2>/dev/null)" ]; do
- echo -n '.'
- sleep 1
- done
- echo "Workbench pod is running in $USER_PROJECT namespace"
- containers:
- - name: git-clone
- image: image-registry.openshift-image-registry.svc:5000/redhat-ods-applications/s2i-generic-data-science-notebook:1.2
- imagePullPolicy: IfNotPresent
- command: ["/bin/bash"]
- args:
- - -ec
- - |-
- pod_name=\$(oc get pods --selector=app=$WORKBENCH_NAME -o jsonpath='{.items[0].metadata.name}') && oc exec \$pod_name -- git clone https://github.com/rh-aiservices-bu/parasol-insurance
- restartPolicy: Never
-EOF
-
-sleep 20
-
-done
\ No newline at end of file
diff --git a/bootstrap/ic-user-projects/kustomization.yaml b/bootstrap/ic-user-projects/kustomization.yaml
deleted file mode 100644
index 80508f50..00000000
--- a/bootstrap/ic-user-projects/kustomization.yaml
+++ /dev/null
@@ -1,14 +0,0 @@
----
-apiVersion: kustomize.config.k8s.io/v1beta1
-kind: Kustomization
-
-namespace: ic-user-projects
-
-commonLabels:
- component: projects
-
-resources:
-# wave 0
-- project-manager.yaml
-# wave 1
-- create-projects-and-resources-job.yaml
\ No newline at end of file
diff --git a/bootstrap/ic-user-projects/project-manager.yaml b/bootstrap/ic-user-projects/project-manager.yaml
deleted file mode 100644
index 30605497..00000000
--- a/bootstrap/ic-user-projects/project-manager.yaml
+++ /dev/null
@@ -1,42 +0,0 @@
-apiVersion: v1
-kind: Namespace
-metadata:
- name: ic-user-projects
- labels:
- app: ic-user-projects
- argocd.argoproj.io/managed-by: openshift-gitops
- annotations:
- openshift.io/display-name: "Project Manager"
- argocd.argoproj.io/sync-wave: "0"
----
-apiVersion: v1
-kind: ServiceAccount
-metadata:
- name: project-creator
- namespace: ic-user-projects
----
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: project-creator-binding
-subjects:
-- kind: ServiceAccount
- name: project-creator
- namespace: ic-user-projects
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: cluster-admin
----
-kind: ClusterRole
-apiVersion: rbac.authorization.k8s.io/v1
-metadata:
- name: route-reader
-rules:
-- apiGroups: ["route.openshift.io"]
- resources: ["routes"]
- verbs: ["get", "list", "watch"]
-- apiGroups: [""]
- resources: ["secrets"]
- verbs: ["get", "list", "watch"]
----
\ No newline at end of file
diff --git a/bootstrap/ic-user-projects/tools/check-and-recreate-projects.sh b/bootstrap/ic-user-projects/tools/check-and-recreate-projects.sh
deleted file mode 100644
index 1f20611b..00000000
--- a/bootstrap/ic-user-projects/tools/check-and-recreate-projects.sh
+++ /dev/null
@@ -1,525 +0,0 @@
-#!/bin/bash
-user_count=$(oc get namespaces | grep showroom | wc -l)
-
-MINIO_ROOT_USER=$(oc get secret minio-root-user -n ic-shared-minio -o template --template '{{.data.MINIO_ROOT_USER|base64decode}}')
-MINIO_ROOT_PASSWORD=$(oc get secret minio-root-user -n ic-shared-minio -o template --template '{{.data.MINIO_ROOT_PASSWORD|base64decode}}')
-MINIO_HOST=https://$(oc get route minio-s3 -n ic-shared-minio -o template --template '{{.spec.host}}')
-DASHBOARD_ROUTE=https://$(oc get route rhods-dashboard -n redhat-ods-applications -o jsonpath='{.spec.host}')
-
-# Define some variables
-WORKBENCH_NAME="my-workbench"
-WORKBENCH_IMAGE="ic-workbench:2.1.2"
-PIPELINE_ENGINE="Tekton"
-projects_without_running_pods=()
-
-for i in $(seq 1 $user_count);
-do
-
-# Construct dynamic variables
-USER_NAME="user$i"
-USER_PROJECT="user$i"
-
-if [ -z "$(oc get pods -n $USER_PROJECT -l app=$WORKBENCH_NAME -o custom-columns=STATUS:.status.phase --no-headers | grep Running)" ]; then
- echo "$USER_PROJECT workbench is not running."
- projects_without_running_pods+=("$USER_PROJECT")
-fi
-
-done
-
-while true; do
- read -p "Do you want to recreate the above users? (y/n) " yn
- case $yn in
- [Yy]* ) break;;
- [Nn]* ) exit;;
- * ) echo "Please answer yes or no.";;
- esac
-done
-
-
-for USER_PROJECT in "${projects_without_running_pods[@]}";
-do
-
-# Assume username and user project is the same
-USER_NAME=$USER_PROJECT
-
-echo "Deleting user $USER_PROJECT..."
-oc delete project $USER_PROJECT
-echo "Waiting for project $USER_PROJECT to be deleted..."
-while oc get project "$USER_PROJECT" &> /dev/null; do
- echo -n '.'
- sleep 5
-done
-
-echo "Generating and apply resources for $USER_NAME..."
-
-# Create projects
-cat << EOF | oc apply -f-
-apiVersion: project.openshift.io/v1
-kind: Project
-metadata:
- annotations:
- openshift.io/description: ''
- openshift.io/display-name: $USER_PROJECT
- labels:
- kubernetes.io/metadata.name: $USER_PROJECT
- # modelmesh-enabled: 'true'
- opendatahub.io/dashboard: 'true'
- name: $USER_PROJECT
-spec:
- finalizers:
- - kubernetes
-EOF
-
-# Apply role bindings
-cat << EOF | oc apply -f-
-apiVersion: rbac.authorization.k8s.io/v1
-kind: RoleBinding
-metadata:
- name: admin
- namespace: $USER_PROJECT
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: admin
-subjects:
-- apiGroup: rbac.authorization.k8s.io
- kind: User
- name: $USER_NAME
----
-apiVersion: v1
-kind: ServiceAccount
-metadata:
- name: demo-setup
- namespace: $USER_PROJECT
----
-apiVersion: rbac.authorization.k8s.io/v1
-kind: RoleBinding
-metadata:
- name: demo-setup-edit
- namespace: $USER_PROJECT
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: edit
-subjects:
-- kind: ServiceAccount
- name: demo-setup
----
-kind: ClusterRoleBinding
-apiVersion: rbac.authorization.k8s.io/v1
-metadata:
- name: demo-setup-route-reader-binding-$USER_PROJECT
-subjects:
-- kind: ServiceAccount
- name: demo-setup
- namespace: $USER_PROJECT
-roleRef:
- kind: ClusterRole
- name: route-reader
- apiGroup: rbac.authorization.k8s.io
----
-kind: RoleBinding
-apiVersion: rbac.authorization.k8s.io/v1
-metadata:
- name: elyra-pipelines-$WORKBENCH_NAME
- namespace: $USER_PROJECT
- labels:
- opendatahub.io/dashboard: 'true'
-subjects:
- - kind: ServiceAccount
- name: $WORKBENCH_NAME
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: Role
- name: ds-pipeline-user-access-pipelines-definition
-EOF
-
-# Create Data Science Connections
-cat << EOF | oc apply -f-
-apiVersion: batch/v1
-kind: Job
-metadata:
- name: create-ds-connections
- namespace: $USER_PROJECT
-spec:
- selector: {}
- template:
- spec:
- containers:
- - args:
- - -ec
- - |-
- echo -n "Waiting for minio-root-user to exist"
- while [ -z "\$(oc get secret -n ic-shared-minio minio-root-user -oname 2>/dev/null)" ]; do
- echo -n '.'
- sleep 1
- done; echo
-
- echo "Minio user: $MINIO_ROOT_USER"
- echo "Minio pass: $MINIO_ROOT_PASSWORD"
- echo "Internal service url: http://minio.ic-shared-minio.svc.cluster.local:9000/"
- cat << EOF | oc apply -f-
- apiVersion: v1
- kind: Secret
- metadata:
- name: aws-connection-shared-minio---pipelines
- labels:
- opendatahub.io/dashboard: "true"
- opendatahub.io/managed: "true"
- annotations:
- opendatahub.io/connection-type: s3
- openshift.io/display-name: Shared Minio - pipelines
- type: Opaque
- stringData:
- AWS_ACCESS_KEY_ID: $MINIO_ROOT_USER
- AWS_SECRET_ACCESS_KEY: $MINIO_ROOT_PASSWORD
- AWS_DEFAULT_REGION: us
- AWS_S3_ENDPOINT: http://minio.ic-shared-minio.svc:9000
- AWS_S3_BUCKET: $USER_NAME
- EOF
- command:
- - /bin/bash
- image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:95b359257a7716b5f8d3a672081a84600218d8f58ca720f46229f7bb893af2ab
- imagePullPolicy: IfNotPresent
- name: create-ds-connections
- restartPolicy: Never
- serviceAccount: demo-setup
- serviceAccountName: demo-setup
-EOF
-
-# Set up the pipeline server
-cat << EOF | oc apply -f-
-apiVersion: datasciencepipelinesapplications.opendatahub.io/v1alpha1
-kind: DataSciencePipelinesApplication
-metadata:
- finalizers:
- - datasciencepipelinesapplications.opendatahub.io/finalizer
- name: pipelines-definition
- namespace: $USER_PROJECT
-spec:
- apiServer:
- applyTektonCustomResource: true
- archiveLogs: false
- autoUpdatePipelineDefaultVersion: true
- collectMetrics: true
- dbConfigConMaxLifetimeSec: 120
- deploy: true
- enableOauth: true
- enableSamplePipeline: false
- injectDefaultScript: true
- stripEOF: true
- terminateStatus: Cancelled
- trackArtifacts: true
- database:
- mariaDB:
- deploy: true
- pipelineDBName: mlpipeline
- pvcSize: 10Gi
- username: mlpipeline
- objectStorage:
- externalStorage:
- bucket: $USER_NAME
- host: minio.ic-shared-minio.svc.cluster.local:9000
- port: ''
- s3CredentialsSecret:
- accessKey: AWS_ACCESS_KEY_ID
- secretKey: AWS_SECRET_ACCESS_KEY
- secretName: aws-connection-shared-minio---pipelines
- scheme: http
- secure: false
- persistenceAgent:
- deploy: true
- numWorkers: 2
- scheduledWorkflow:
- cronScheduleTimezone: UTC
- deploy: true
-EOF
-
-# Create the Elyra secret
-cat << EOF | oc apply -f-
-apiVersion: batch/v1
-kind: Job
-metadata:
- name: create-pipeline-secret
- namespace: $USER_PROJECT
-spec:
- selector: {}
- template:
- spec:
- containers:
- - args:
- - -ec
- - |-
- echo -n 'Waiting for ds-pipeline-pipelines-definition route'
- while ! oc get route ds-pipeline-pipelines-definition 2>/dev/null; do
- echo -n .
- sleep 5
- done; echo
-
- PIPELINE_ROUTE=https://\$(oc get route ds-pipeline-pipelines-definition -o jsonpath='{.spec.host}')
-
- cat << EOF | oc apply -f-
- apiVersion: v1
- kind: Secret
- metadata:
- name: ds-pipeline-config
- namespace: $USER_PROJECT
- stringData:
- odh_dsp.json: '{"display_name": "Data Science Pipeline", "metadata": {"tags": [],
- "display_name": "Data Science Pipeline", "engine": "$PIPELINE_ENGINE", "auth_type": "KUBERNETES_SERVICE_ACCOUNT_TOKEN",
- "api_endpoint": "\$PIPELINE_ROUTE",
- "public_api_endpoint": "$DASHBOARD_ROUTE/pipelineRuns/$USER_PROJECT/pipelineRun/view/",
- "cos_auth_type": "KUBERNETES_SECRET", "cos_secret": "aws-connection-shared-minio---pipelines",
- "cos_endpoint": "$MINIO_HOST", "cos_bucket": "$USER_NAME",
- "cos_username": "$MINIO_ROOT_USER", "cos_password": "$MINIO_ROOT_PASSWORD",
- "runtime_type": "KUBEFLOW_PIPELINES"}, "schema_name": "kfp"}'
- type: Opaque
- EOF
- command:
- - /bin/bash
- image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:95b359257a7716b5f8d3a672081a84600218d8f58ca720f46229f7bb893af2ab
- imagePullPolicy: IfNotPresent
- name: create-ds-connections
- restartPolicy: Never
- serviceAccount: demo-setup
- serviceAccountName: demo-setup
-EOF
-
-# Create the workbench PVC
-cat << EOF | oc apply -f-
-kind: PersistentVolumeClaim
-apiVersion: v1
-metadata:
- annotations:
- openshift.io/description: ''
- openshift.io/display-name: My Workbench
- volume.beta.kubernetes.io/storage-provisioner: openshift-storage.rbd.csi.ceph.com
- volume.kubernetes.io/storage-provisioner: openshift-storage.rbd.csi.ceph.com
- name: $WORKBENCH_NAME
- namespace: $USER_PROJECT
- finalizers:
- - kubernetes.io/pvc-protection
- labels:
- opendatahub.io/dashboard: 'true'
-spec:
- accessModes:
- - ReadWriteOnce
- resources:
- requests:
- storage: 5Gi
- storageClassName: ocs-storagecluster-ceph-rbd
- volumeMode: Filesystem
-EOF
-
-# Create the workbench
-cat << EOF | oc apply -f-
-apiVersion: kubeflow.org/v1
-kind: Notebook
-metadata:
- annotations:
- notebooks.opendatahub.io/inject-oauth: 'true'
- opendatahub.io/image-display-name: CUSTOM - Insurance Claim Processing Lab Workbench
- notebooks.opendatahub.io/oauth-logout-url: >-
- $DASHBOARD_ROUTE/projects/$USER_PROJECT?notebookLogout=$WORKBENCH_NAME
- opendatahub.io/accelerator-name: ''
- openshift.io/description: ''
- openshift.io/display-name: My Workbench
- notebooks.opendatahub.io/last-image-selection: '$WORKBENCH_IMAGE'
- notebooks.opendatahub.io/last-size-selection: Standard
- opendatahub.io/username: $USER_NAME
- name: $WORKBENCH_NAME
- namespace: $USER_PROJECT
- labels:
- app: $WORKBENCH_NAME
- opendatahub.io/dashboard: 'true'
- opendatahub.io/odh-managed: 'true'
- opendatahub.io/user: $USER_NAME
-spec:
- template:
- spec:
- affinity: {}
- containers:
- - resources:
- limits:
- cpu: '2'
- memory: 8Gi
- requests:
- cpu: '1'
- memory: 6Gi
- readinessProbe:
- failureThreshold: 3
- httpGet:
- path: /notebook/$USER_PROJECT/$WORKBENCH_NAME/api
- port: notebook-port
- scheme: HTTP
- initialDelaySeconds: 10
- periodSeconds: 5
- successThreshold: 1
- timeoutSeconds: 1
- name: $WORKBENCH_NAME
- livenessProbe:
- failureThreshold: 3
- httpGet:
- path: /notebook/$USER_PROJECT/$WORKBENCH_NAME/api
- port: notebook-port
- scheme: HTTP
- initialDelaySeconds: 10
- periodSeconds: 5
- successThreshold: 1
- timeoutSeconds: 1
- env:
- - name: NOTEBOOK_ARGS
- value: |-
- --ServerApp.port=8888
- --ServerApp.token=''
- --ServerApp.password=''
- --ServerApp.base_url=/notebook/$USER_PROJECT/$WORKBENCH_NAME
- --ServerApp.quit_button=False
- --ServerApp.tornado_settings={"user":"$USER_NAME","hub_host":"$DASHBOARD_ROUTE","hub_prefix":"/projects/$USER_PROJECT"}
- - name: JUPYTER_IMAGE
- value: >-
- image-registry.openshift-image-registry.svc:5000/redhat-ods-applications/$WORKBENCH_IMAGE
- ports:
- - containerPort: 8888
- name: notebook-port
- protocol: TCP
- imagePullPolicy: Always
- volumeMounts:
- - mountPath: /opt/app-root/src
- name: $WORKBENCH_NAME
- - mountPath: /opt/app-root/runtimes
- name: elyra-dsp-details
- - mountPath: /dev/shm
- name: shm
- image: >-
- image-registry.openshift-image-registry.svc:5000/redhat-ods-applications/$WORKBENCH_IMAGE
- workingDir: /opt/app-root/src
- - resources:
- limits:
- cpu: 100m
- memory: 64Mi
- requests:
- cpu: 100m
- memory: 64Mi
- readinessProbe:
- failureThreshold: 3
- httpGet:
- path: /oauth/healthz
- port: oauth-proxy
- scheme: HTTPS
- initialDelaySeconds: 5
- periodSeconds: 5
- successThreshold: 1
- timeoutSeconds: 1
- name: oauth-proxy
- livenessProbe:
- failureThreshold: 3
- httpGet:
- path: /oauth/healthz
- port: oauth-proxy
- scheme: HTTPS
- initialDelaySeconds: 30
- periodSeconds: 5
- successThreshold: 1
- timeoutSeconds: 1
- env:
- - name: NAMESPACE
- valueFrom:
- fieldRef:
- fieldPath: metadata.namespace
- ports:
- - containerPort: 8443
- name: oauth-proxy
- protocol: TCP
- imagePullPolicy: Always
- volumeMounts:
- - mountPath: /etc/oauth/config
- name: oauth-config
- - mountPath: /etc/tls/private
- name: tls-certificates
- image: >-
- registry.redhat.io/openshift4/ose-oauth-proxy@sha256:4bef31eb993feb6f1096b51b4876c65a6fb1f4401fee97fa4f4542b6b7c9bc46
- args:
- - '--provider=openshift'
- - '--https-address=:8443'
- - '--http-address='
- - '--openshift-service-account=$WORKBENCH_NAME'
- - '--cookie-secret-file=/etc/oauth/config/cookie_secret'
- - '--cookie-expire=24h0m0s'
- - '--tls-cert=/etc/tls/private/tls.crt'
- - '--tls-key=/etc/tls/private/tls.key'
- - '--upstream=http://localhost:8888'
- - '--upstream-ca=/var/run/secrets/kubernetes.io/serviceaccount/ca.crt'
- - '--email-domain=*'
- - '--skip-provider-button'
- - >-
- --openshift-sar={"verb":"get","resource":"notebooks","resourceAPIGroup":"kubeflow.org","resourceName":"$WORKBENCH_IMAGE","namespace":"$USER_PROJECT"}
- - >-
- --logout-url=$DASHBOARD_ROUTE/projects/$USER_PROJECT?notebookLogout=$WORKBENCH_IMAGE
- enableServiceLinks: false
- serviceAccountName: $WORKBENCH_NAME
- tolerations:
- - effect: NoSchedule
- key: notebooksonly
- operator: Exists
- volumes:
- - name: $WORKBENCH_NAME
- persistentVolumeClaim:
- claimName: $WORKBENCH_NAME
- - name: elyra-dsp-details
- secret:
- secretName: ds-pipeline-config
- - emptyDir:
- medium: Memory
- name: shm
- - name: oauth-config
- secret:
- defaultMode: 420
- secretName: $WORKBENCH_NAME-oauth-config
- - name: tls-certificates
- secret:
- defaultMode: 420
- secretName: $WORKBENCH_NAME-tls
- readyReplicas: 1
-EOF
-
-# Git clone job
-cat << EOF | oc apply -f-
-apiVersion: batch/v1
-kind: Job
-metadata:
- name: clone-repo
- namespace: $USER_PROJECT
-spec:
- backoffLimit: 4
- template:
- spec:
- serviceAccount: demo-setup
- serviceAccountName: demo-setup
- initContainers:
- - name: wait-for-workbench
- image: image-registry.openshift-image-registry.svc:5000/openshift/tools:latest
- imagePullPolicy: IfNotPresent
- command: ["/bin/bash"]
- args:
- - -ec
- - |-
- echo -n "Waiting for workbench pod in $USER_PROJECT namespace"
- while [ -z "\$(oc get pods -n $USER_PROJECT -l app=$WORKBENCH_NAME -o custom-columns=STATUS:.status.phase --no-headers | grep Running 2>/dev/null)" ]; do
- echo -n '.'
- sleep 1
- done
- echo "Workbench pod is running in $USER_PROJECT namespace"
- containers:
- - name: git-clone
- image: image-registry.openshift-image-registry.svc:5000/openshift/tools:latest
- imagePullPolicy: IfNotPresent
- command: ["/bin/bash"]
- args:
- - -ec
- - |-
- pod_name=\$(oc get pods --selector=app=$WORKBENCH_NAME -o jsonpath='{.items[0].metadata.name}') && oc exec \$pod_name -- git clone https://github.com/rh-aiservices-bu/parasol-insurance
- restartPolicy: Never
-EOF
-
-done
\ No newline at end of file
diff --git a/bootstrap/ic-user-projects/tools/check-projects.sh b/bootstrap/ic-user-projects/tools/check-projects.sh
deleted file mode 100644
index ba34abe0..00000000
--- a/bootstrap/ic-user-projects/tools/check-projects.sh
+++ /dev/null
@@ -1,16 +0,0 @@
-user_count=$(oc get namespaces | grep showroom | wc -l)
-
-WORKBENCH_NAME="my-workbench"
-
-for i in $(seq 1 $user_count);
-do
-
-# Construct dynamic variables
-USER_NAME="user$i"
-USER_PROJECT="user$i"
-
-if [ -z "$(oc get pods -n $USER_PROJECT -l app=$WORKBENCH_NAME -o custom-columns=STATUS:.status.phase --no-headers | grep Running)" ]; then
- echo "$USER_PROJECT workbench is not running."
-fi
-
-done
\ No newline at end of file
diff --git a/bootstrap/ic-user-projects/tools/create-single-user-project.sh b/bootstrap/ic-user-projects/tools/create-single-user-project.sh
deleted file mode 100644
index 2dd5ec6d..00000000
--- a/bootstrap/ic-user-projects/tools/create-single-user-project.sh
+++ /dev/null
@@ -1,497 +0,0 @@
-#!/bin/bash
-while true; do
- echo "Creating an individual user..."
- read -p "Please enter the username: " USER_NAME
- read -p "Please enter the projectname: " USER_PROJECT
- echo ""
-
- read -p "Is this correct? (y/n) " yn
- case $yn in
- [Yy]* ) break;;
- [Nn]* ) ;;
- * ) echo "Please answer yes or no.";;
- esac
-done
-
-
-MINIO_ROOT_USER=$(oc get secret minio-root-user -n ic-shared-minio -o template --template '{{.data.MINIO_ROOT_USER|base64decode}}')
-MINIO_ROOT_PASSWORD=$(oc get secret minio-root-user -n ic-shared-minio -o template --template '{{.data.MINIO_ROOT_PASSWORD|base64decode}}')
-MINIO_HOST=https://$(oc get route minio-s3 -n ic-shared-minio -o template --template '{{.spec.host}}')
-DASHBOARD_ROUTE=https://$(oc get route rhods-dashboard -n redhat-ods-applications -o jsonpath='{.spec.host}')
-
-# Define some variables
-WORKBENCH_NAME="my-workbench"
-WORKBENCH_IMAGE="ic-workbench:2.1.2"
-PIPELINE_ENGINE="Tekton"
-
-echo "Generating and apply resources for $USER_NAME..."
-
-# Create projects
-cat << EOF | oc apply -f-
-apiVersion: project.openshift.io/v1
-kind: Project
-metadata:
- annotations:
- openshift.io/description: ''
- openshift.io/display-name: $USER_PROJECT
- labels:
- kubernetes.io/metadata.name: $USER_PROJECT
- # modelmesh-enabled: 'true'
- opendatahub.io/dashboard: 'true'
- name: $USER_PROJECT
-spec:
- finalizers:
- - kubernetes
-EOF
-
-# Apply role bindings
-cat << EOF | oc apply -f-
-apiVersion: rbac.authorization.k8s.io/v1
-kind: RoleBinding
-metadata:
- name: admin
- namespace: $USER_PROJECT
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: admin
-subjects:
-- apiGroup: rbac.authorization.k8s.io
- kind: User
- name: $USER_NAME
----
-apiVersion: v1
-kind: ServiceAccount
-metadata:
- name: demo-setup
- namespace: $USER_PROJECT
----
-apiVersion: rbac.authorization.k8s.io/v1
-kind: RoleBinding
-metadata:
- name: demo-setup-edit
- namespace: $USER_PROJECT
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: edit
-subjects:
-- kind: ServiceAccount
- name: demo-setup
----
-kind: ClusterRoleBinding
-apiVersion: rbac.authorization.k8s.io/v1
-metadata:
- name: demo-setup-route-reader-binding-$USER_PROJECT
-subjects:
-- kind: ServiceAccount
- name: demo-setup
- namespace: $USER_PROJECT
-roleRef:
- kind: ClusterRole
- name: route-reader
- apiGroup: rbac.authorization.k8s.io
----
-kind: RoleBinding
-apiVersion: rbac.authorization.k8s.io/v1
-metadata:
- name: elyra-pipelines-$WORKBENCH_NAME
- namespace: $USER_PROJECT
- labels:
- opendatahub.io/dashboard: 'true'
-subjects:
- - kind: ServiceAccount
- name: $WORKBENCH_NAME
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: Role
- name: ds-pipeline-user-access-pipelines-definition
-EOF
-
-# Create Data Science Connections
-cat << EOF | oc apply -f-
-apiVersion: batch/v1
-kind: Job
-metadata:
- name: create-ds-connections
- namespace: $USER_PROJECT
-spec:
- selector: {}
- template:
- spec:
- containers:
- - args:
- - -ec
- - |-
- echo -n "Waiting for minio-root-user to exist"
- while [ -z "\$(oc get secret -n ic-shared-minio minio-root-user -oname 2>/dev/null)" ]; do
- echo -n '.'
- sleep 1
- done; echo
-
- echo "Minio user: $MINIO_ROOT_USER"
- echo "Minio pass: $MINIO_ROOT_PASSWORD"
- echo "Internal service url: http://minio.ic-shared-minio.svc.cluster.local:9000/"
- cat << EOF | oc apply -f-
- apiVersion: v1
- kind: Secret
- metadata:
- name: aws-connection-shared-minio---pipelines
- labels:
- opendatahub.io/dashboard: "true"
- opendatahub.io/managed: "true"
- annotations:
- opendatahub.io/connection-type: s3
- openshift.io/display-name: Shared Minio - pipelines
- type: Opaque
- stringData:
- AWS_ACCESS_KEY_ID: $MINIO_ROOT_USER
- AWS_SECRET_ACCESS_KEY: $MINIO_ROOT_PASSWORD
- AWS_DEFAULT_REGION: us
- AWS_S3_ENDPOINT: http://minio.ic-shared-minio.svc:9000
- AWS_S3_BUCKET: $USER_NAME
- EOF
- command:
- - /bin/bash
- image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:95b359257a7716b5f8d3a672081a84600218d8f58ca720f46229f7bb893af2ab
- imagePullPolicy: IfNotPresent
- name: create-ds-connections
- restartPolicy: Never
- serviceAccount: demo-setup
- serviceAccountName: demo-setup
-EOF
-
-# Set up the pipeline server
-cat << EOF | oc apply -f-
-apiVersion: datasciencepipelinesapplications.opendatahub.io/v1alpha1
-kind: DataSciencePipelinesApplication
-metadata:
- finalizers:
- - datasciencepipelinesapplications.opendatahub.io/finalizer
- name: pipelines-definition
- namespace: $USER_PROJECT
-spec:
- apiServer:
- applyTektonCustomResource: true
- archiveLogs: false
- autoUpdatePipelineDefaultVersion: true
- collectMetrics: true
- dbConfigConMaxLifetimeSec: 120
- deploy: true
- enableOauth: true
- enableSamplePipeline: false
- injectDefaultScript: true
- stripEOF: true
- terminateStatus: Cancelled
- trackArtifacts: true
- database:
- mariaDB:
- deploy: true
- pipelineDBName: mlpipeline
- pvcSize: 10Gi
- username: mlpipeline
- objectStorage:
- externalStorage:
- bucket: $USER_NAME
- host: minio.ic-shared-minio.svc.cluster.local:9000
- port: ''
- s3CredentialsSecret:
- accessKey: AWS_ACCESS_KEY_ID
- secretKey: AWS_SECRET_ACCESS_KEY
- secretName: aws-connection-shared-minio---pipelines
- scheme: http
- secure: false
- persistenceAgent:
- deploy: true
- numWorkers: 2
- scheduledWorkflow:
- cronScheduleTimezone: UTC
- deploy: true
-EOF
-
-# Create the Elyra secret
-cat << EOF | oc apply -f-
-apiVersion: batch/v1
-kind: Job
-metadata:
- name: create-pipeline-secret
- namespace: $USER_PROJECT
-spec:
- selector: {}
- template:
- spec:
- containers:
- - args:
- - -ec
- - |-
- echo -n 'Waiting for ds-pipeline-pipelines-definition route'
- while ! oc get route ds-pipeline-pipelines-definition 2>/dev/null; do
- echo -n .
- sleep 5
- done; echo
-
- PIPELINE_ROUTE=https://\$(oc get route ds-pipeline-pipelines-definition -o jsonpath='{.spec.host}')
-
- cat << EOF | oc apply -f-
- apiVersion: v1
- kind: Secret
- metadata:
- name: ds-pipeline-config
- namespace: $USER_PROJECT
- stringData:
- odh_dsp.json: '{"display_name": "Data Science Pipeline", "metadata": {"tags": [],
- "display_name": "Data Science Pipeline", "engine": "$PIPELINE_ENGINE", "auth_type": "KUBERNETES_SERVICE_ACCOUNT_TOKEN",
- "api_endpoint": "\$PIPELINE_ROUTE",
- "public_api_endpoint": "$DASHBOARD_ROUTE/pipelineRuns/$USER_PROJECT/pipelineRun/view/",
- "cos_auth_type": "KUBERNETES_SECRET", "cos_secret": "aws-connection-shared-minio---pipelines",
- "cos_endpoint": "$MINIO_HOST", "cos_bucket": "$USER_NAME",
- "cos_username": "$MINIO_ROOT_USER", "cos_password": "$MINIO_ROOT_PASSWORD",
- "runtime_type": "KUBEFLOW_PIPELINES"}, "schema_name": "kfp"}'
- type: Opaque
- EOF
- command:
- - /bin/bash
- image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:95b359257a7716b5f8d3a672081a84600218d8f58ca720f46229f7bb893af2ab
- imagePullPolicy: IfNotPresent
- name: create-ds-connections
- restartPolicy: Never
- serviceAccount: demo-setup
- serviceAccountName: demo-setup
-EOF
-
-# Create the workbench PVC
-cat << EOF | oc apply -f-
-kind: PersistentVolumeClaim
-apiVersion: v1
-metadata:
- annotations:
- openshift.io/description: ''
- openshift.io/display-name: My Workbench
- volume.beta.kubernetes.io/storage-provisioner: openshift-storage.rbd.csi.ceph.com
- volume.kubernetes.io/storage-provisioner: openshift-storage.rbd.csi.ceph.com
- name: $WORKBENCH_NAME
- namespace: $USER_PROJECT
- finalizers:
- - kubernetes.io/pvc-protection
- labels:
- opendatahub.io/dashboard: 'true'
-spec:
- accessModes:
- - ReadWriteOnce
- resources:
- requests:
- storage: 5Gi
- storageClassName: ocs-storagecluster-ceph-rbd
- volumeMode: Filesystem
-EOF
-
-# Create the workbench
-cat << EOF | oc apply -f-
-apiVersion: kubeflow.org/v1
-kind: Notebook
-metadata:
- annotations:
- notebooks.opendatahub.io/inject-oauth: 'true'
- opendatahub.io/image-display-name: CUSTOM - Insurance Claim Processing Lab Workbench
- notebooks.opendatahub.io/oauth-logout-url: >-
- $DASHBOARD_ROUTE/projects/$USER_PROJECT?notebookLogout=$WORKBENCH_NAME
- opendatahub.io/accelerator-name: ''
- openshift.io/description: ''
- openshift.io/display-name: My Workbench
- notebooks.opendatahub.io/last-image-selection: '$WORKBENCH_IMAGE'
- notebooks.opendatahub.io/last-size-selection: Standard
- opendatahub.io/username: $USER_NAME
- name: $WORKBENCH_NAME
- namespace: $USER_PROJECT
- labels:
- app: $WORKBENCH_NAME
- opendatahub.io/dashboard: 'true'
- opendatahub.io/odh-managed: 'true'
- opendatahub.io/user: $USER_NAME
-spec:
- template:
- spec:
- affinity: {}
- containers:
- - resources:
- limits:
- cpu: '2'
- memory: 8Gi
- requests:
- cpu: '1'
- memory: 6Gi
- readinessProbe:
- failureThreshold: 3
- httpGet:
- path: /notebook/$USER_PROJECT/$WORKBENCH_NAME/api
- port: notebook-port
- scheme: HTTP
- initialDelaySeconds: 10
- periodSeconds: 5
- successThreshold: 1
- timeoutSeconds: 1
- name: $WORKBENCH_NAME
- livenessProbe:
- failureThreshold: 3
- httpGet:
- path: /notebook/$USER_PROJECT/$WORKBENCH_NAME/api
- port: notebook-port
- scheme: HTTP
- initialDelaySeconds: 10
- periodSeconds: 5
- successThreshold: 1
- timeoutSeconds: 1
- env:
- - name: NOTEBOOK_ARGS
- value: |-
- --ServerApp.port=8888
- --ServerApp.token=''
- --ServerApp.password=''
- --ServerApp.base_url=/notebook/$USER_PROJECT/$WORKBENCH_NAME
- --ServerApp.quit_button=False
- --ServerApp.tornado_settings={"user":"$USER_NAME","hub_host":"$DASHBOARD_ROUTE","hub_prefix":"/projects/$USER_PROJECT"}
- - name: JUPYTER_IMAGE
- value: >-
- image-registry.openshift-image-registry.svc:5000/redhat-ods-applications/$WORKBENCH_IMAGE
- ports:
- - containerPort: 8888
- name: notebook-port
- protocol: TCP
- imagePullPolicy: Always
- volumeMounts:
- - mountPath: /opt/app-root/src
- name: $WORKBENCH_NAME
- - mountPath: /opt/app-root/runtimes
- name: elyra-dsp-details
- - mountPath: /dev/shm
- name: shm
- image: >-
- image-registry.openshift-image-registry.svc:5000/redhat-ods-applications/$WORKBENCH_IMAGE
- workingDir: /opt/app-root/src
- - resources:
- limits:
- cpu: 100m
- memory: 64Mi
- requests:
- cpu: 100m
- memory: 64Mi
- readinessProbe:
- failureThreshold: 3
- httpGet:
- path: /oauth/healthz
- port: oauth-proxy
- scheme: HTTPS
- initialDelaySeconds: 5
- periodSeconds: 5
- successThreshold: 1
- timeoutSeconds: 1
- name: oauth-proxy
- livenessProbe:
- failureThreshold: 3
- httpGet:
- path: /oauth/healthz
- port: oauth-proxy
- scheme: HTTPS
- initialDelaySeconds: 30
- periodSeconds: 5
- successThreshold: 1
- timeoutSeconds: 1
- env:
- - name: NAMESPACE
- valueFrom:
- fieldRef:
- fieldPath: metadata.namespace
- ports:
- - containerPort: 8443
- name: oauth-proxy
- protocol: TCP
- imagePullPolicy: Always
- volumeMounts:
- - mountPath: /etc/oauth/config
- name: oauth-config
- - mountPath: /etc/tls/private
- name: tls-certificates
- image: >-
- registry.redhat.io/openshift4/ose-oauth-proxy@sha256:4bef31eb993feb6f1096b51b4876c65a6fb1f4401fee97fa4f4542b6b7c9bc46
- args:
- - '--provider=openshift'
- - '--https-address=:8443'
- - '--http-address='
- - '--openshift-service-account=$WORKBENCH_NAME'
- - '--cookie-secret-file=/etc/oauth/config/cookie_secret'
- - '--cookie-expire=24h0m0s'
- - '--tls-cert=/etc/tls/private/tls.crt'
- - '--tls-key=/etc/tls/private/tls.key'
- - '--upstream=http://localhost:8888'
- - '--upstream-ca=/var/run/secrets/kubernetes.io/serviceaccount/ca.crt'
- - '--email-domain=*'
- - '--skip-provider-button'
- - >-
- --openshift-sar={"verb":"get","resource":"notebooks","resourceAPIGroup":"kubeflow.org","resourceName":"$WORKBENCH_IMAGE","namespace":"$USER_PROJECT"}
- - >-
- --logout-url=$DASHBOARD_ROUTE/projects/$USER_PROJECT?notebookLogout=$WORKBENCH_IMAGE
- enableServiceLinks: false
- serviceAccountName: $WORKBENCH_NAME
- tolerations:
- - effect: NoSchedule
- key: notebooksonly
- operator: Exists
- volumes:
- - name: $WORKBENCH_NAME
- persistentVolumeClaim:
- claimName: $WORKBENCH_NAME
- - name: elyra-dsp-details
- secret:
- secretName: ds-pipeline-config
- - emptyDir:
- medium: Memory
- name: shm
- - name: oauth-config
- secret:
- defaultMode: 420
- secretName: $WORKBENCH_NAME-oauth-config
- - name: tls-certificates
- secret:
- defaultMode: 420
- secretName: $WORKBENCH_NAME-tls
- readyReplicas: 1
-EOF
-
-# Git clone job
-cat << EOF | oc apply -f-
-apiVersion: batch/v1
-kind: Job
-metadata:
- name: clone-repo
- namespace: $USER_PROJECT
-spec:
- backoffLimit: 4
- template:
- spec:
- serviceAccount: demo-setup
- serviceAccountName: demo-setup
- initContainers:
- - name: wait-for-workbench
- image: image-registry.openshift-image-registry.svc:5000/openshift/tools:latest
- imagePullPolicy: IfNotPresent
- command: ["/bin/bash"]
- args:
- - -ec
- - |-
- echo -n "Waiting for workbench pod in $USER_PROJECT namespace"
- while [ -z "\$(oc get pods -n $USER_PROJECT -l app=$WORKBENCH_NAME -o custom-columns=STATUS:.status.phase --no-headers | grep Running 2>/dev/null)" ]; do
- echo -n '.'
- sleep 1
- done
- echo "Workbench pod is running in $USER_PROJECT namespace"
- containers:
- - name: git-clone
- image: image-registry.openshift-image-registry.svc:5000/openshift/tools:latest
- imagePullPolicy: IfNotPresent
- command: ["/bin/bash"]
- args:
- - -ec
- - |-
- pod_name=\$(oc get pods --selector=app=$WORKBENCH_NAME -o jsonpath='{.items[0].metadata.name}') && oc exec \$pod_name -- git clone https://github.com/rh-aiservices-bu/parasol-insurance
- restartPolicy: Never
-EOF
diff --git a/bootstrap/milvus-backup-image/Containerfile b/bootstrap/milvus-backup-image/Containerfile
deleted file mode 100644
index 3afe94bd..00000000
--- a/bootstrap/milvus-backup-image/Containerfile
+++ /dev/null
@@ -1,16 +0,0 @@
-FROM --platform=linux/amd64 registry.access.redhat.com/ubi9:latest
-ARG MILVUS_BACKUP_VERSION=v0.4.12
-
-USER 0
-
-RUN curl -LO https://github.com/zilliztech/milvus-backup/releases/download/${MILVUS_BACKUP_VERSION}/milvus-backup_Linux_x86_64.tar.gz && \
- tar -zxvf milvus-backup_Linux_x86_64.tar.gz && \
- mv milvus-backup /usr/local/bin/milvus-backup && \
- rm -rf milvus-backup_Linux_x86_64.tar.gz && \
- mkdir -p /var/log/milvus-backup && \
- chown -R 1001:0 /var/log/milvus-backup && \
- chmod -R g=u /var/log/milvus-backup
-
-USER 1001
-
-ENTRYPOINT ["/usr/local/bin/milvus-backup"]
diff --git a/bootstrap/workbench-image/Containerfile b/bootstrap/workbench-image/Containerfile
deleted file mode 100644
index c8d03325..00000000
--- a/bootstrap/workbench-image/Containerfile
+++ /dev/null
@@ -1,93 +0,0 @@
-FROM quay.io/sclorg/python-311-c9s:c9s
-
-###########################
-# Deploy OS Packages #
-###########################
-
-USER 0
-
-WORKDIR /opt/app-root/bin/
-
-COPY --chown=1001:0 os-ide/os-packages.txt ./os-ide/os-packages.txt
-
-RUN echo "tsflags=nodocs" | tee -a /etc/yum.conf && \
- yum -y update && \
- yum install -y yum-utils && \
- yum-config-manager --enable crb && \
- yum install -y https://download.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm && \
- yum install -y $(cat os-ide/os-packages.txt) && \
- rm -f os-ide/os-packages.txt && \
- yum -y clean all --enablerepo='*' && \
- rm -rf /var/cache/dnf && \
- find /var/log -type f -name "*.log" -exec rm -f {} \;
-
-#############################################
-# End of OS Packages #
-#############################################
-
-######################################
-# Deploy Python packages and Jupyter #
-######################################
-
-USER 1001
-
-WORKDIR /opt/app-root/bin
-
-# Copy packages list
-COPY --chown=1001:0 requirements.txt ./
-
-# Copy notebook launcher and utils
-COPY --chown=1001:0 utils utils/
-COPY --chown=1001:0 start-notebook.sh ./
-
-# Copy Elyra setup to utils so that it's sourced at startup
-COPY --chown=1001:0 setup-elyra.sh ./utils/
-
-# Install packages and cleanup
-# (all commands are chained to minimize layer size)
-RUN echo "Installing softwares and packages" && \
- # Install Python packages \
- pip install --no-cache-dir --no-dependencies -r requirements.txt && \
- # setup path for runtime configuration \
- mkdir /opt/app-root/runtimes && \
- # switch to Data Science Pipeline \
- cp utils/pipeline-flow.svg /opt/app-root/lib/python3.11/site-packages/elyra/static/icons/kubeflow.svg && \
- sed -i "s/Kubeflow Pipelines/Data Science/g" /opt/app-root/lib/python3.11/site-packages/elyra/pipeline/runtime_type.py && \
- sed -i "s/Kubeflow Pipelines/Data Science Pipelines/g" /opt/app-root/lib/python3.11/site-packages/elyra/metadata/schemas/kfp.json && \
- sed -i "s/kubeflow-service/data-science-pipeline-service/g" /opt/app-root/lib/python3.11/site-packages/elyra/metadata/schemas/kfp.json && \
- sed -i "s/\"default\": \"Argo\",/\"default\": \"Tekton\",/g" /opt/app-root/lib/python3.11/site-packages/elyra/metadata/schemas/kfp.json && \
- # Workaround for passing ssl_sa_cert and to ensure that Elyra redirects to a correct pipeline run URL \
- patch /opt/app-root/lib/python3.11/site-packages/elyra/pipeline/kfp/kfp_authentication.py -i utils/kfp_authentication.patch && \
- patch /opt/app-root/lib/python3.11/site-packages/elyra/pipeline/kfp/processor_kfp.py -i utils/processor_kfp.patch && \
- # switch to Data Science Pipeline in component catalog \
- DIR_COMPONENT="/opt/app-root/lib/python3.11/site-packages/elyra/metadata/schemas/local-directory-catalog.json" && \
- FILE_COMPONENT="/opt/app-root/lib/python3.11/site-packages/elyra/metadata/schemas/local-file-catalog.json" && \
- URL_COMPONENT="/opt/app-root/lib/python3.11/site-packages/elyra/metadata/schemas/url-catalog.json" && \
- tmp=$(mktemp) && \
- jq '.properties.metadata.properties.runtime_type = input' $DIR_COMPONENT utils/component_runtime.json > "$tmp" && mv "$tmp" $DIR_COMPONENT && \
- jq '.properties.metadata.properties.runtime_type = input' $FILE_COMPONENT utils/component_runtime.json > "$tmp" && mv "$tmp" $FILE_COMPONENT && \
- jq '.properties.metadata.properties.runtime_type = input' $URL_COMPONENT utils/component_runtime.json > "$tmp" && mv "$tmp" $URL_COMPONENT && \
- sed -i "s/metadata.metadata.runtime_type/\"DATA_SCIENCE_PIPELINES\"/g" /opt/app-root/share/jupyter/labextensions/@elyra/pipeline-editor-extension/static/lib_index_js.*.js && \
- # Remove Elyra logo from JupyterLab because this is not a pure Elyra image \
- sed -i "s/widget\.id === \x27jp-MainLogo\x27/widget\.id === \x27jp-MainLogo\x27 \&\& false/" /opt/app-root/share/jupyter/labextensions/@elyra/theme-extension/static/lib_index_js.*.js && \
- # Replace Notebook's launcher, "(ipykernel)" with Python's version 3.x.y \
- sed -i -e "s/Python.*/$(python --version | cut -d '.' -f-2)\",/" /opt/app-root/share/jupyter/kernels/python3/kernel.json && \
- # Remove default Elyra runtime-images \
- rm /opt/app-root/share/jupyter/metadata/runtime-images/*.json && \
- # Fix permissions to support pip in OpenShift environments \
- chmod -R g+w /opt/app-root/lib/python3.11/site-packages && \
- fix-permissions /opt/app-root -P
-
-# Copy Elyra runtime-images definitions and set the version
-COPY --chown=1001:0 runtime-images/ /opt/app-root/share/jupyter/metadata/runtime-images/
-RUN sed -i "s/RELEASE/2023c/" /opt/app-root/share/jupyter/metadata/runtime-images/*.json
-
-# Jupyter Server config to allow hidden files/folders in explorer. Ref: https://jupyterlab.readthedocs.io/en/latest/user/files.html#displaying-hidden-files
-# Jupyter Lab config to hide disabled exporters (WebPDF, Qtpdf, Qtpng)
-COPY --chown=1001:0 etc/ /opt/app-root/etc/jupyter/
-
-WORKDIR /opt/app-root/src
-
-ENTRYPOINT ["start-notebook.sh"]
-
-
diff --git a/bootstrap/workbench-image/Pipfile b/bootstrap/workbench-image/Pipfile
deleted file mode 100644
index 20b5468b..00000000
--- a/bootstrap/workbench-image/Pipfile
+++ /dev/null
@@ -1,65 +0,0 @@
-[[source]]
-url = "https://pypi.org/simple"
-verify_ssl = true
-name = "pypi"
-
-[[source]]
-url = "https://download.pytorch.org/whl/cpu"
-verify_ssl = false
-name = "pytorch"
-
-[dev-packages]
-
-[packages]
-# Basic datascience packages and useful extensions
-boto3 = "~=1.34.65"
-kubernetes = "~=25.3.0" # Fixed by kfp@1.8.22 needed by elyra@3.15.0
-matplotlib = "~=3.8.3"
-numpy = "~=1.26.4"
-pandas = "~=2.2.1"
-plotly = "~=5.20.0"
-scikit-learn = "~=1.4.1.post1"
-scipy = "~=1.12.0"
-
-# PyTorch
-torch = {version = "==2.2.2+cpu", index = "pytorch"}
-
-# LLM section - Langchain
-langchain = "==0.1.12"
-openai = "==1.14.1"
-text_generation = "==0.6.1"
-sentence_transformers = "==2.6.1"
-pymilvus = "==2.3.7"
-einops = "==0.7.0"
-
-# Image recognition section - YOLO
-Flask = "~=3.0.2"
-gunicorn = "~=21.2.0"
-onnx = "~=1.15.0"
-onnxruntime = "~=1.17.1"
-opencv-python-headless = "~=4.9.0.80"
-ultralytics = "~=8.1.29"
-
-
-# Base packages
-pip = "~=24.0"
-setuptools = "~=69.2.0"
-wheel = "~=0.43.0"
-
-# JupyterLab packages
-elyra-pipeline-editor-extension = "~=3.15.0"
-elyra-python-editor-extension = "~=3.15.0"
-elyra-code-snippet-extension = "~=3.15.0"
-kfp-tekton = "<1.6.0"
-jupyterlab = "~=3.6.7"
-jupyter-bokeh = "~=3.0.7"
-jupyter-resource-usage = "~=1.0.2"
-jupyter-server-proxy = "~=4.1.2"
-jupyter-server-terminals = "~=0.5.3"
-jupyterlab-git = "~=0.44.0"
-jupyterlab-lsp = "~=4.3.0"
-jupyterlab-widgets = "~=3.0.10"
-nbdime = "~=3.2.1"
-
-[requires]
-python_version = "3.11"
\ No newline at end of file
diff --git a/bootstrap/workbench-image/Pipfile.lock b/bootstrap/workbench-image/Pipfile.lock
deleted file mode 100644
index 8a86fdaf..00000000
--- a/bootstrap/workbench-image/Pipfile.lock
+++ /dev/null
@@ -1,4511 +0,0 @@
-{
- "_meta": {
- "hash": {
- "sha256": "9cf200e3d33e0cd3794a36c1d93bdfef5fcc60361bb60ab5b32763aef76d94dc"
- },
- "pipfile-spec": 6,
- "requires": {
- "python_version": "3.11"
- },
- "sources": [
- {
- "name": "pypi",
- "url": "https://pypi.org/simple",
- "verify_ssl": true
- },
- {
- "name": "pytorch",
- "url": "https://download.pytorch.org/whl/cpu",
- "verify_ssl": false
- }
- ]
- },
- "default": {
- "absl-py": {
- "hashes": [
- "sha256:0d3fe606adfa4f7db64792dd4c7aee4ee0c38ab75dfd353b7a83ed3e957fcb47",
- "sha256:d2c244d01048ba476e7c080bd2c6df5e141d211de80223460d5b3b8a2a58433d"
- ],
- "markers": "python_version >= '3.6'",
- "version": "==1.4.0"
- },
- "aiofiles": {
- "hashes": [
- "sha256:1142fa8e80dbae46bb6339573ad4c8c0841358f79c6eb50a493dceca14621bad",
- "sha256:9107f1ca0b2a5553987a94a3c9959fe5b491fdf731389aa5b7b1bd0733e32de6"
- ],
- "markers": "python_version >= '3.7' and python_version < '4.0'",
- "version": "==22.1.0"
- },
- "aiohttp": {
- "hashes": [
- "sha256:0605cc2c0088fcaae79f01c913a38611ad09ba68ff482402d3410bf59039bfb8",
- "sha256:0a158704edf0abcac8ac371fbb54044f3270bdbc93e254a82b6c82be1ef08f3c",
- "sha256:0cbf56238f4bbf49dab8c2dc2e6b1b68502b1e88d335bea59b3f5b9f4c001475",
- "sha256:1732102949ff6087589408d76cd6dea656b93c896b011ecafff418c9661dc4ed",
- "sha256:18f634d540dd099c262e9f887c8bbacc959847cfe5da7a0e2e1cf3f14dbf2daf",
- "sha256:239f975589a944eeb1bad26b8b140a59a3a320067fb3cd10b75c3092405a1372",
- "sha256:2faa61a904b83142747fc6a6d7ad8fccff898c849123030f8e75d5d967fd4a81",
- "sha256:320e8618eda64e19d11bdb3bd04ccc0a816c17eaecb7e4945d01deee2a22f95f",
- "sha256:38d80498e2e169bc61418ff36170e0aad0cd268da8b38a17c4cf29d254a8b3f1",
- "sha256:3916c8692dbd9d55c523374a3b8213e628424d19116ac4308e434dbf6d95bbdd",
- "sha256:393c7aba2b55559ef7ab791c94b44f7482a07bf7640d17b341b79081f5e5cd1a",
- "sha256:3b7b30258348082826d274504fbc7c849959f1989d86c29bc355107accec6cfb",
- "sha256:3fcb4046d2904378e3aeea1df51f697b0467f2aac55d232c87ba162709478c46",
- "sha256:4109adee842b90671f1b689901b948f347325045c15f46b39797ae1bf17019de",
- "sha256:4558e5012ee03d2638c681e156461d37b7a113fe13970d438d95d10173d25f78",
- "sha256:45731330e754f5811c314901cebdf19dd776a44b31927fa4b4dbecab9e457b0c",
- "sha256:4715a9b778f4293b9f8ae7a0a7cef9829f02ff8d6277a39d7f40565c737d3771",
- "sha256:471f0ef53ccedec9995287f02caf0c068732f026455f07db3f01a46e49d76bbb",
- "sha256:4d3ebb9e1316ec74277d19c5f482f98cc65a73ccd5430540d6d11682cd857430",
- "sha256:4ff550491f5492ab5ed3533e76b8567f4b37bd2995e780a1f46bca2024223233",
- "sha256:52c27110f3862a1afbcb2af4281fc9fdc40327fa286c4625dfee247c3ba90156",
- "sha256:55b39c8684a46e56ef8c8d24faf02de4a2b2ac60d26cee93bc595651ff545de9",
- "sha256:5a7ee16aab26e76add4afc45e8f8206c95d1d75540f1039b84a03c3b3800dd59",
- "sha256:5ca51eadbd67045396bc92a4345d1790b7301c14d1848feaac1d6a6c9289e888",
- "sha256:5d6b3f1fabe465e819aed2c421a6743d8debbde79b6a8600739300630a01bf2c",
- "sha256:60cdbd56f4cad9f69c35eaac0fbbdf1f77b0ff9456cebd4902f3dd1cf096464c",
- "sha256:6380c039ec52866c06d69b5c7aad5478b24ed11696f0e72f6b807cfb261453da",
- "sha256:639d0042b7670222f33b0028de6b4e2fad6451462ce7df2af8aee37dcac55424",
- "sha256:66331d00fb28dc90aa606d9a54304af76b335ae204d1836f65797d6fe27f1ca2",
- "sha256:67c3119f5ddc7261d47163ed86d760ddf0e625cd6246b4ed852e82159617b5fb",
- "sha256:694d828b5c41255e54bc2dddb51a9f5150b4eefa9886e38b52605a05d96566e8",
- "sha256:6ae79c1bc12c34082d92bf9422764f799aee4746fd7a392db46b7fd357d4a17a",
- "sha256:702e2c7c187c1a498a4e2b03155d52658fdd6fda882d3d7fbb891a5cf108bb10",
- "sha256:714d4e5231fed4ba2762ed489b4aec07b2b9953cf4ee31e9871caac895a839c0",
- "sha256:7b179eea70833c8dee51ec42f3b4097bd6370892fa93f510f76762105568cf09",
- "sha256:7f64cbd44443e80094309875d4f9c71d0401e966d191c3d469cde4642bc2e031",
- "sha256:82a6a97d9771cb48ae16979c3a3a9a18b600a8505b1115cfe354dfb2054468b4",
- "sha256:84dabd95154f43a2ea80deffec9cb44d2e301e38a0c9d331cc4aa0166fe28ae3",
- "sha256:8676e8fd73141ded15ea586de0b7cda1542960a7b9ad89b2b06428e97125d4fa",
- "sha256:88e311d98cc0bf45b62fc46c66753a83445f5ab20038bcc1b8a1cc05666f428a",
- "sha256:8b4f72fbb66279624bfe83fd5eb6aea0022dad8eec62b71e7bf63ee1caadeafe",
- "sha256:8c64a6dc3fe5db7b1b4d2b5cb84c4f677768bdc340611eca673afb7cf416ef5a",
- "sha256:8cf142aa6c1a751fcb364158fd710b8a9be874b81889c2bd13aa8893197455e2",
- "sha256:8d1964eb7617907c792ca00b341b5ec3e01ae8c280825deadbbd678447b127e1",
- "sha256:93e22add827447d2e26d67c9ac0161756007f152fdc5210277d00a85f6c92323",
- "sha256:9c69e77370cce2d6df5d12b4e12bdcca60c47ba13d1cbbc8645dd005a20b738b",
- "sha256:9dbc053ac75ccc63dc3a3cc547b98c7258ec35a215a92bd9f983e0aac95d3d5b",
- "sha256:9e3a1ae66e3d0c17cf65c08968a5ee3180c5a95920ec2731f53343fac9bad106",
- "sha256:a6ea1a5b409a85477fd8e5ee6ad8f0e40bf2844c270955e09360418cfd09abac",
- "sha256:a81b1143d42b66ffc40a441379387076243ef7b51019204fd3ec36b9f69e77d6",
- "sha256:ad7f2919d7dac062f24d6f5fe95d401597fbb015a25771f85e692d043c9d7832",
- "sha256:afc52b8d969eff14e069a710057d15ab9ac17cd4b6753042c407dcea0e40bf75",
- "sha256:b3df71da99c98534be076196791adca8819761f0bf6e08e07fd7da25127150d6",
- "sha256:c088c4d70d21f8ca5c0b8b5403fe84a7bc8e024161febdd4ef04575ef35d474d",
- "sha256:c26959ca7b75ff768e2776d8055bf9582a6267e24556bb7f7bd29e677932be72",
- "sha256:c413016880e03e69d166efb5a1a95d40f83d5a3a648d16486592c49ffb76d0db",
- "sha256:c6021d296318cb6f9414b48e6a439a7f5d1f665464da507e8ff640848ee2a58a",
- "sha256:c671dc117c2c21a1ca10c116cfcd6e3e44da7fcde37bf83b2be485ab377b25da",
- "sha256:c7a4b7a6cf5b6eb11e109a9755fd4fda7d57395f8c575e166d363b9fc3ec4678",
- "sha256:c8a02fbeca6f63cb1f0475c799679057fc9268b77075ab7cf3f1c600e81dd46b",
- "sha256:cd2adf5c87ff6d8b277814a28a535b59e20bfea40a101db6b3bdca7e9926bc24",
- "sha256:d1469f228cd9ffddd396d9948b8c9cd8022b6d1bf1e40c6f25b0fb90b4f893ed",
- "sha256:d153f652a687a8e95ad367a86a61e8d53d528b0530ef382ec5aaf533140ed00f",
- "sha256:d5ab8e1f6bee051a4bf6195e38a5c13e5e161cb7bad83d8854524798bd9fcd6e",
- "sha256:da00da442a0e31f1c69d26d224e1efd3a1ca5bcbf210978a2ca7426dfcae9f58",
- "sha256:da22dab31d7180f8c3ac7c7635f3bcd53808f374f6aa333fe0b0b9e14b01f91a",
- "sha256:e0ae53e33ee7476dd3d1132f932eeb39bf6125083820049d06edcdca4381f342",
- "sha256:e7a6a8354f1b62e15d48e04350f13e726fa08b62c3d7b8401c0a1314f02e3558",
- "sha256:e9a3d838441bebcf5cf442700e3963f58b5c33f015341f9ea86dcd7d503c07e2",
- "sha256:edea7d15772ceeb29db4aff55e482d4bcfb6ae160ce144f2682de02f6d693551",
- "sha256:f22eb3a6c1080d862befa0a89c380b4dafce29dc6cd56083f630073d102eb595",
- "sha256:f26383adb94da5e7fb388d441bf09c61e5e35f455a3217bfd790c6b6bc64b2ee",
- "sha256:f3c2890ca8c59ee683fd09adf32321a40fe1cf164e3387799efb2acebf090c11",
- "sha256:f64fd07515dad67f24b6ea4a66ae2876c01031de91c93075b8093f07c0a2d93d",
- "sha256:fcde4c397f673fdec23e6b05ebf8d4751314fa7c24f93334bf1f1364c1c69ac7",
- "sha256:ff84aeb864e0fac81f676be9f4685f0527b660f1efdc40dcede3c251ef1e867f"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==3.9.5"
- },
- "aiosignal": {
- "hashes": [
- "sha256:54cd96e15e1649b75d6c87526a6ff0b6c1b0dd3459f43d9ca11d48c339b68cfc",
- "sha256:f8376fb07dd1e86a584e4fcdec80b36b7f81aac666ebc724e2c090300dd83b17"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==1.3.1"
- },
- "aiosqlite": {
- "hashes": [
- "sha256:36a1deaca0cac40ebe32aac9977a6e2bbc7f5189f23f4a54d5908986729e5bd6",
- "sha256:6d35c8c256637f4672f843c31021464090805bf925385ac39473fb16eaaca3d7"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==0.20.0"
- },
- "anyio": {
- "hashes": [
- "sha256:048e05d0f6caeed70d731f3db756d35dcc1f35747c8c403364a8332c630441b8",
- "sha256:f75253795a87df48568485fd18cdd2a3fa5c4f7c5be8e5e36637733fce06fed6"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==4.3.0"
- },
- "argon2-cffi": {
- "hashes": [
- "sha256:879c3e79a2729ce768ebb7d36d4609e3a78a4ca2ec3a9f12286ca057e3d0db08",
- "sha256:c670642b78ba29641818ab2e68bd4e6a78ba53b7eff7b4c3815ae16abf91c7ea"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==23.1.0"
- },
- "argon2-cffi-bindings": {
- "hashes": [
- "sha256:20ef543a89dee4db46a1a6e206cd015360e5a75822f76df533845c3cbaf72670",
- "sha256:2c3e3cc67fdb7d82c4718f19b4e7a87123caf8a93fde7e23cf66ac0337d3cb3f",
- "sha256:3b9ef65804859d335dc6b31582cad2c5166f0c3e7975f324d9ffaa34ee7e6583",
- "sha256:3e385d1c39c520c08b53d63300c3ecc28622f076f4c2b0e6d7e796e9f6502194",
- "sha256:58ed19212051f49a523abb1dbe954337dc82d947fb6e5a0da60f7c8471a8476c",
- "sha256:5e00316dabdaea0b2dd82d141cc66889ced0cdcbfa599e8b471cf22c620c329a",
- "sha256:603ca0aba86b1349b147cab91ae970c63118a0f30444d4bc80355937c950c082",
- "sha256:6a22ad9800121b71099d0fb0a65323810a15f2e292f2ba450810a7316e128ee5",
- "sha256:8cd69c07dd875537a824deec19f978e0f2078fdda07fd5c42ac29668dda5f40f",
- "sha256:93f9bf70084f97245ba10ee36575f0c3f1e7d7724d67d8e5b08e61787c320ed7",
- "sha256:9524464572e12979364b7d600abf96181d3541da11e23ddf565a32e70bd4dc0d",
- "sha256:b2ef1c30440dbbcba7a5dc3e319408b59676e2e039e2ae11a8775ecf482b192f",
- "sha256:b746dba803a79238e925d9046a63aa26bf86ab2a2fe74ce6b009a1c3f5c8f2ae",
- "sha256:bb89ceffa6c791807d1305ceb77dbfacc5aa499891d2c55661c6459651fc39e3",
- "sha256:bd46088725ef7f58b5a1ef7ca06647ebaf0eb4baff7d1d0d177c6cc8744abd86",
- "sha256:ccb949252cb2ab3a08c02024acb77cfb179492d5701c7cbdbfd776124d4d2367",
- "sha256:d4966ef5848d820776f5f562a7d45fdd70c2f330c961d0d745b784034bd9f48d",
- "sha256:e415e3f62c8d124ee16018e491a009937f8cf7ebf5eb430ffc5de21b900dad93",
- "sha256:ed2937d286e2ad0cc79a7087d3c272832865f779430e0cc2b4f3718d3159b0cb",
- "sha256:f1152ac548bd5b8bcecfb0b0371f082037e47128653df2e8ba6e914d384f3c3e",
- "sha256:f9f8b450ed0547e3d473fdc8612083fd08dd2120d6ac8f73828df9b7d45bb351"
- ],
- "markers": "python_version >= '3.6'",
- "version": "==21.2.0"
- },
- "arrow": {
- "hashes": [
- "sha256:c728b120ebc00eb84e01882a6f5e7927a53960aa990ce7dd2b10f39005a67f80",
- "sha256:d4540617648cb5f895730f1ad8c82a65f2dad0166f57b75f3ca54759c4d67a85"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==1.3.0"
- },
- "astroid": {
- "hashes": [
- "sha256:951798f922990137ac090c53af473db7ab4e70c770e6d7fae0cec59f74411819",
- "sha256:ac248253bfa4bd924a0de213707e7ebeeb3138abeb48d798784ead1e56d419d4"
- ],
- "markers": "python_full_version >= '3.8.0'",
- "version": "==3.1.0"
- },
- "asttokens": {
- "hashes": [
- "sha256:051ed49c3dcae8913ea7cd08e46a606dba30b79993209636c4875bc1d637bc24",
- "sha256:b03869718ba9a6eb027e134bfdf69f38a236d681c83c160d510768af11254ba0"
- ],
- "version": "==2.4.1"
- },
- "attrs": {
- "hashes": [
- "sha256:935dc3b529c262f6cf76e50877d35a4bd3c1de194fd41f47a2b7ae8f19971f30",
- "sha256:99b87a485a5820b23b879f04c2305b44b951b502fd64be915879d77a7e8fc6f1"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==23.2.0"
- },
- "autopep8": {
- "hashes": [
- "sha256:067959ca4a07b24dbd5345efa8325f5f58da4298dab0dde0443d5ed765de80cb",
- "sha256:2913064abd97b3419d1cc83ea71f042cb821f87e45b9c88cad5ad3c4ea87fe0c"
- ],
- "markers": "python_version >= '3.6'",
- "version": "==2.0.4"
- },
- "azure-core": {
- "hashes": [
- "sha256:26273a254131f84269e8ea4464f3560c731f29c0c1f69ac99010845f239c1a8f",
- "sha256:7c5ee397e48f281ec4dd773d67a0a47a0962ed6fa833036057f9ea067f688e74"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==1.30.1"
- },
- "azure-storage-blob": {
- "hashes": [
- "sha256:13e16ba42fc54ac2c7e8f976062173a5c82b9ec0594728e134aac372965a11b0",
- "sha256:c5530dc51c21c9564e4eb706cd499befca8819b10dd89716d3fc90d747556243"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==12.19.1"
- },
- "babel": {
- "hashes": [
- "sha256:6919867db036398ba21eb5c7a0f6b28ab8cbc3ae7a73a44ebe34ae74a4e7d363",
- "sha256:efb1a25b7118e67ce3a259bed20545c29cb68be8ad2c784c83689981b7a57287"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==2.14.0"
- },
- "beautifulsoup4": {
- "hashes": [
- "sha256:74e3d1928edc070d21748185c46e3fb33490f22f52a3addee9aee0f4f7781051",
- "sha256:b80878c9f40111313e55da8ba20bdba06d8fa3969fc68304167741bbf9e082ed"
- ],
- "markers": "python_full_version >= '3.6.0'",
- "version": "==4.12.3"
- },
- "black": {
- "hashes": [
- "sha256:1bb9ca06e556a09f7f7177bc7cb604e5ed2d2df1e9119e4f7d2f1f7071c32e5d",
- "sha256:21f9407063ec71c5580b8ad975653c66508d6a9f57bd008bb8691d273705adcd",
- "sha256:4396ca365a4310beef84d446ca5016f671b10f07abdba3e4e4304218d2c71d33",
- "sha256:44d99dfdf37a2a00a6f7a8dcbd19edf361d056ee51093b2445de7ca09adac965",
- "sha256:5cd5b4f76056cecce3e69b0d4c228326d2595f506797f40b9233424e2524c070",
- "sha256:64578cf99b6b46a6301bc28bdb89f9d6f9b592b1c5837818a177c98525dbe397",
- "sha256:64e60a7edd71fd542a10a9643bf369bfd2644de95ec71e86790b063aa02ff745",
- "sha256:652e55bb722ca026299eb74e53880ee2315b181dfdd44dca98e43448620ddec1",
- "sha256:6644f97a7ef6f401a150cca551a1ff97e03c25d8519ee0bbc9b0058772882665",
- "sha256:6ad001a9ddd9b8dfd1b434d566be39b1cd502802c8d38bbb1ba612afda2ef436",
- "sha256:71d998b73c957444fb7c52096c3843875f4b6b47a54972598741fe9a7f737fcb",
- "sha256:74eb9b5420e26b42c00a3ff470dc0cd144b80a766128b1771d07643165e08d0e",
- "sha256:75a2d0b4f5eb81f7eebc31f788f9830a6ce10a68c91fbe0fade34fff7a2836e6",
- "sha256:7852b05d02b5b9a8c893ab95863ef8986e4dda29af80bbbda94d7aee1abf8702",
- "sha256:7f2966b9b2b3b7104fca9d75b2ee856fe3fdd7ed9e47c753a4bb1a675f2caab8",
- "sha256:8e5537f456a22cf5cfcb2707803431d2feeb82ab3748ade280d6ccd0b40ed2e8",
- "sha256:d4e71cdebdc8efeb6deaf5f2deb28325f8614d48426bed118ecc2dcaefb9ebf3",
- "sha256:dae79397f367ac8d7adb6c779813328f6d690943f64b32983e896bcccd18cbad",
- "sha256:e3a3a092b8b756c643fe45f4624dbd5a389f770a4ac294cf4d0fce6af86addaf",
- "sha256:eb949f56a63c5e134dfdca12091e98ffb5fd446293ebae123d10fc1abad00b9e",
- "sha256:f07b69fda20578367eaebbd670ff8fc653ab181e1ff95d84497f9fa20e7d0641",
- "sha256:f95cece33329dc4aa3b0e1a771c41075812e46cf3d6e3f1dfe3d91ff09826ed2"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==24.4.0"
- },
- "bleach": {
- "hashes": [
- "sha256:0a31f1837963c41d46bbf1331b8778e1308ea0791db03cc4e7357b97cf42a8fe",
- "sha256:3225f354cfc436b9789c66c4ee030194bee0568fbf9cbdad3bc8b5c26c5f12b6"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==6.1.0"
- },
- "blinker": {
- "hashes": [
- "sha256:c3f865d4d54db7abc53758a01601cf343fe55b84c1de4e3fa910e420b438d5b9",
- "sha256:e6820ff6fa4e4d1d8e2747c2283749c3f547e4fee112b98555cdcdae32996182"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==1.7.0"
- },
- "bokeh": {
- "hashes": [
- "sha256:1e3c502a0a8205338fc74dadbfa321f8a0965441b39501e36796a47b4017b642",
- "sha256:d824961e4265367b0750ce58b07e564ad0b83ca64b335521cd3421e9b9f10d89"
- ],
- "markers": "python_version >= '3.9'",
- "version": "==3.4.1"
- },
- "boto3": {
- "hashes": [
- "sha256:b709dbf8d5c241a86406b0634461b9c8a7a7934ca35502347c2d1d6b8a97ab8a",
- "sha256:c630597a4d8018dc5ca364176104f10d3c96ef21009d28b398090822d49a57f1"
- ],
- "index": "pypi",
- "markers": "python_version >= '3.8'",
- "version": "==1.34.87"
- },
- "botocore": {
- "hashes": [
- "sha256:854c6de3c34fa6836f57cc4427651e57b7cfe90f297a60e4cc686886cb47140c",
- "sha256:a3a4d857f0941d98a1e5ce8cd64c39062271fea0be4d9f3d0d6aff6cb58123b9"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==1.34.87"
- },
- "cachetools": {
- "hashes": [
- "sha256:0abad1021d3f8325b2fc1d2e9c8b9c9d57b04c3932657a72465447332c24d945",
- "sha256:ba29e2dfa0b8b556606f097407ed1aa62080ee108ab0dc5ec9d6a723a007d105"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==5.3.3"
- },
- "certifi": {
- "hashes": [
- "sha256:0569859f95fc761b18b45ef421b1290a0f65f147e92a1e5eb3e635f9a5e4e66f",
- "sha256:dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1"
- ],
- "markers": "python_version >= '3.6'",
- "version": "==2024.2.2"
- },
- "cffi": {
- "hashes": [
- "sha256:0c9ef6ff37e974b73c25eecc13952c55bceed9112be2d9d938ded8e856138bcc",
- "sha256:131fd094d1065b19540c3d72594260f118b231090295d8c34e19a7bbcf2e860a",
- "sha256:1b8ebc27c014c59692bb2664c7d13ce7a6e9a629be20e54e7271fa696ff2b417",
- "sha256:2c56b361916f390cd758a57f2e16233eb4f64bcbeee88a4881ea90fca14dc6ab",
- "sha256:2d92b25dbf6cae33f65005baf472d2c245c050b1ce709cc4588cdcdd5495b520",
- "sha256:31d13b0f99e0836b7ff893d37af07366ebc90b678b6664c955b54561fc36ef36",
- "sha256:32c68ef735dbe5857c810328cb2481e24722a59a2003018885514d4c09af9743",
- "sha256:3686dffb02459559c74dd3d81748269ffb0eb027c39a6fc99502de37d501faa8",
- "sha256:582215a0e9adbe0e379761260553ba11c58943e4bbe9c36430c4ca6ac74b15ed",
- "sha256:5b50bf3f55561dac5438f8e70bfcdfd74543fd60df5fa5f62d94e5867deca684",
- "sha256:5bf44d66cdf9e893637896c7faa22298baebcd18d1ddb6d2626a6e39793a1d56",
- "sha256:6602bc8dc6f3a9e02b6c22c4fc1e47aa50f8f8e6d3f78a5e16ac33ef5fefa324",
- "sha256:673739cb539f8cdaa07d92d02efa93c9ccf87e345b9a0b556e3ecc666718468d",
- "sha256:68678abf380b42ce21a5f2abde8efee05c114c2fdb2e9eef2efdb0257fba1235",
- "sha256:68e7c44931cc171c54ccb702482e9fc723192e88d25a0e133edd7aff8fcd1f6e",
- "sha256:6b3d6606d369fc1da4fd8c357d026317fbb9c9b75d36dc16e90e84c26854b088",
- "sha256:748dcd1e3d3d7cd5443ef03ce8685043294ad6bd7c02a38d1bd367cfd968e000",
- "sha256:7651c50c8c5ef7bdb41108b7b8c5a83013bfaa8a935590c5d74627c047a583c7",
- "sha256:7b78010e7b97fef4bee1e896df8a4bbb6712b7f05b7ef630f9d1da00f6444d2e",
- "sha256:7e61e3e4fa664a8588aa25c883eab612a188c725755afff6289454d6362b9673",
- "sha256:80876338e19c951fdfed6198e70bc88f1c9758b94578d5a7c4c91a87af3cf31c",
- "sha256:8895613bcc094d4a1b2dbe179d88d7fb4a15cee43c052e8885783fac397d91fe",
- "sha256:88e2b3c14bdb32e440be531ade29d3c50a1a59cd4e51b1dd8b0865c54ea5d2e2",
- "sha256:8f8e709127c6c77446a8c0a8c8bf3c8ee706a06cd44b1e827c3e6a2ee6b8c098",
- "sha256:9cb4a35b3642fc5c005a6755a5d17c6c8b6bcb6981baf81cea8bfbc8903e8ba8",
- "sha256:9f90389693731ff1f659e55c7d1640e2ec43ff725cc61b04b2f9c6d8d017df6a",
- "sha256:a09582f178759ee8128d9270cd1344154fd473bb77d94ce0aeb2a93ebf0feaf0",
- "sha256:a6a14b17d7e17fa0d207ac08642c8820f84f25ce17a442fd15e27ea18d67c59b",
- "sha256:a72e8961a86d19bdb45851d8f1f08b041ea37d2bd8d4fd19903bc3083d80c896",
- "sha256:abd808f9c129ba2beda4cfc53bde801e5bcf9d6e0f22f095e45327c038bfe68e",
- "sha256:ac0f5edd2360eea2f1daa9e26a41db02dd4b0451b48f7c318e217ee092a213e9",
- "sha256:b29ebffcf550f9da55bec9e02ad430c992a87e5f512cd63388abb76f1036d8d2",
- "sha256:b2ca4e77f9f47c55c194982e10f058db063937845bb2b7a86c84a6cfe0aefa8b",
- "sha256:b7be2d771cdba2942e13215c4e340bfd76398e9227ad10402a8767ab1865d2e6",
- "sha256:b84834d0cf97e7d27dd5b7f3aca7b6e9263c56308ab9dc8aae9784abb774d404",
- "sha256:b86851a328eedc692acf81fb05444bdf1891747c25af7529e39ddafaf68a4f3f",
- "sha256:bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0",
- "sha256:c0f31130ebc2d37cdd8e44605fb5fa7ad59049298b3f745c74fa74c62fbfcfc4",
- "sha256:c6a164aa47843fb1b01e941d385aab7215563bb8816d80ff3a363a9f8448a8dc",
- "sha256:d8a9d3ebe49f084ad71f9269834ceccbf398253c9fac910c4fd7053ff1386936",
- "sha256:db8e577c19c0fda0beb7e0d4e09e0ba74b1e4c092e0e40bfa12fe05b6f6d75ba",
- "sha256:dc9b18bf40cc75f66f40a7379f6a9513244fe33c0e8aa72e2d56b0196a7ef872",
- "sha256:e09f3ff613345df5e8c3667da1d918f9149bd623cd9070c983c013792a9a62eb",
- "sha256:e4108df7fe9b707191e55f33efbcb2d81928e10cea45527879a4749cbe472614",
- "sha256:e6024675e67af929088fda399b2094574609396b1decb609c55fa58b028a32a1",
- "sha256:e70f54f1796669ef691ca07d046cd81a29cb4deb1e5f942003f401c0c4a2695d",
- "sha256:e715596e683d2ce000574bae5d07bd522c781a822866c20495e52520564f0969",
- "sha256:e760191dd42581e023a68b758769e2da259b5d52e3103c6060ddc02c9edb8d7b",
- "sha256:ed86a35631f7bfbb28e108dd96773b9d5a6ce4811cf6ea468bb6a359b256b1e4",
- "sha256:ee07e47c12890ef248766a6e55bd38ebfb2bb8edd4142d56db91b21ea68b7627",
- "sha256:fa3a0128b152627161ce47201262d3140edb5a5c3da88d73a1b790a959126956",
- "sha256:fcc8eb6d5902bb1cf6dc4f187ee3ea80a1eba0a89aba40a5cb20a5087d961357"
- ],
- "markers": "platform_python_implementation != 'PyPy'",
- "version": "==1.16.0"
- },
- "charset-normalizer": {
- "hashes": [
- "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027",
- "sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087",
- "sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786",
- "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8",
- "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09",
- "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185",
- "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574",
- "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e",
- "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519",
- "sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898",
- "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269",
- "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3",
- "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f",
- "sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6",
- "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8",
- "sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a",
- "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73",
- "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc",
- "sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714",
- "sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2",
- "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc",
- "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce",
- "sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d",
- "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e",
- "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6",
- "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269",
- "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96",
- "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d",
- "sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a",
- "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4",
- "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77",
- "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d",
- "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0",
- "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed",
- "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068",
- "sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac",
- "sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25",
- "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8",
- "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab",
- "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26",
- "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2",
- "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db",
- "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f",
- "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5",
- "sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99",
- "sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c",
- "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d",
- "sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811",
- "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa",
- "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a",
- "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03",
- "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b",
- "sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04",
- "sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c",
- "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001",
- "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458",
- "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389",
- "sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99",
- "sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985",
- "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537",
- "sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238",
- "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f",
- "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d",
- "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796",
- "sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a",
- "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143",
- "sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8",
- "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c",
- "sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5",
- "sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5",
- "sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711",
- "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4",
- "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6",
- "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c",
- "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7",
- "sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4",
- "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b",
- "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae",
- "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12",
- "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c",
- "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae",
- "sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8",
- "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887",
- "sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b",
- "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4",
- "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f",
- "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5",
- "sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33",
- "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519",
- "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561"
- ],
- "markers": "python_full_version >= '3.7.0'",
- "version": "==3.3.2"
- },
- "click": {
- "hashes": [
- "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28",
- "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==8.1.7"
- },
- "cloudpickle": {
- "hashes": [
- "sha256:61f594d1f4c295fa5cd9014ceb3a1fc4a70b0de1164b94fbc2d854ccba056f9f",
- "sha256:d89684b8de9e34a2a43b3460fbca07d09d6e25ce858df4d5a44240403b6178f5"
- ],
- "markers": "python_version >= '3.6'",
- "version": "==2.2.1"
- },
- "colorama": {
- "hashes": [
- "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44",
- "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"
- ],
- "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6'",
- "version": "==0.4.6"
- },
- "coloredlogs": {
- "hashes": [
- "sha256:612ee75c546f53e92e70049c9dbfcc18c935a2b9a53b66085ce9ef6a6e5c0934",
- "sha256:7c991aa71a4577af2f82600d8f8f3a89f936baeaf9b50a9c197da014e5bf16b0"
- ],
- "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'",
- "version": "==15.0.1"
- },
- "comm": {
- "hashes": [
- "sha256:3fd7a84065306e07bea1773df6eb8282de51ba82f77c72f9c85716ab11fe980e",
- "sha256:e6fb86cb70ff661ee8c9c14e7d36d6de3b4066f1441be4063df9c5009f0a64d3"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==0.2.2"
- },
- "contourpy": {
- "hashes": [
- "sha256:00e5388f71c1a0610e6fe56b5c44ab7ba14165cdd6d695429c5cd94021e390b2",
- "sha256:10a37ae557aabf2509c79715cd20b62e4c7c28b8cd62dd7d99e5ed3ce28c3fd9",
- "sha256:11959f0ce4a6f7b76ec578576a0b61a28bdc0696194b6347ba3f1c53827178b9",
- "sha256:187fa1d4c6acc06adb0fae5544c59898ad781409e61a926ac7e84b8f276dcef4",
- "sha256:1a07fc092a4088ee952ddae19a2b2a85757b923217b7eed584fdf25f53a6e7ce",
- "sha256:1cac0a8f71a041aa587410424ad46dfa6a11f6149ceb219ce7dd48f6b02b87a7",
- "sha256:1d59e739ab0e3520e62a26c60707cc3ab0365d2f8fecea74bfe4de72dc56388f",
- "sha256:2855c8b0b55958265e8b5888d6a615ba02883b225f2227461aa9127c578a4922",
- "sha256:2e785e0f2ef0d567099b9ff92cbfb958d71c2d5b9259981cd9bee81bd194c9a4",
- "sha256:309be79c0a354afff9ff7da4aaed7c3257e77edf6c1b448a779329431ee79d7e",
- "sha256:39f3ecaf76cd98e802f094e0d4fbc6dc9c45a8d0c4d185f0f6c2234e14e5f75b",
- "sha256:457499c79fa84593f22454bbd27670227874cd2ff5d6c84e60575c8b50a69619",
- "sha256:49e70d111fee47284d9dd867c9bb9a7058a3c617274900780c43e38d90fe1205",
- "sha256:4c75507d0a55378240f781599c30e7776674dbaf883a46d1c90f37e563453480",
- "sha256:4c863140fafc615c14a4bf4efd0f4425c02230eb8ef02784c9a156461e62c965",
- "sha256:4d8908b3bee1c889e547867ca4cdc54e5ab6be6d3e078556814a22457f49423c",
- "sha256:5b9eb0ca724a241683c9685a484da9d35c872fd42756574a7cfbf58af26677fd",
- "sha256:6022cecf8f44e36af10bd9118ca71f371078b4c168b6e0fab43d4a889985dbb5",
- "sha256:6150ffa5c767bc6332df27157d95442c379b7dce3a38dff89c0f39b63275696f",
- "sha256:62828cada4a2b850dbef89c81f5a33741898b305db244904de418cc957ff05dc",
- "sha256:7b4182299f251060996af5249c286bae9361fa8c6a9cda5efc29fe8bfd6062ec",
- "sha256:94b34f32646ca0414237168d68a9157cb3889f06b096612afdd296003fdd32fd",
- "sha256:9ce6889abac9a42afd07a562c2d6d4b2b7134f83f18571d859b25624a331c90b",
- "sha256:9cffe0f850e89d7c0012a1fb8730f75edd4320a0a731ed0c183904fe6ecfc3a9",
- "sha256:a12a813949e5066148712a0626895c26b2578874e4cc63160bb007e6df3436fe",
- "sha256:a1eea9aecf761c661d096d39ed9026574de8adb2ae1c5bd7b33558af884fb2ce",
- "sha256:a31f94983fecbac95e58388210427d68cd30fe8a36927980fab9c20062645609",
- "sha256:ac58bdee53cbeba2ecad824fa8159493f0bf3b8ea4e93feb06c9a465d6c87da8",
- "sha256:af3f4485884750dddd9c25cb7e3915d83c2db92488b38ccb77dd594eac84c4a0",
- "sha256:b33d2bc4f69caedcd0a275329eb2198f560b325605810895627be5d4b876bf7f",
- "sha256:b59c0ffceff8d4d3996a45f2bb6f4c207f94684a96bf3d9728dbb77428dd8cb8",
- "sha256:bb6834cbd983b19f06908b45bfc2dad6ac9479ae04abe923a275b5f48f1a186b",
- "sha256:bd3db01f59fdcbce5b22afad19e390260d6d0222f35a1023d9adc5690a889364",
- "sha256:bd7c23df857d488f418439686d3b10ae2fbf9bc256cd045b37a8c16575ea1040",
- "sha256:c2528d60e398c7c4c799d56f907664673a807635b857df18f7ae64d3e6ce2d9f",
- "sha256:d31a63bc6e6d87f77d71e1abbd7387ab817a66733734883d1fc0021ed9bfa083",
- "sha256:d4492d82b3bc7fbb7e3610747b159869468079fe149ec5c4d771fa1f614a14df",
- "sha256:ddcb8581510311e13421b1f544403c16e901c4e8f09083c881fab2be80ee31ba",
- "sha256:e1d59258c3c67c865435d8fbeb35f8c59b8bef3d6f46c1f29f6123556af28445",
- "sha256:eb3315a8a236ee19b6df481fc5f997436e8ade24a9f03dfdc6bd490fea20c6da",
- "sha256:ef2b055471c0eb466033760a521efb9d8a32b99ab907fc8358481a1dd29e3bd3",
- "sha256:ef5adb9a3b1d0c645ff694f9bca7702ec2c70f4d734f9922ea34de02294fdf72",
- "sha256:f32c38afb74bd98ce26de7cc74a67b40afb7b05aae7b42924ea990d51e4dac02",
- "sha256:fe0ccca550bb8e5abc22f530ec0466136379c01321fd94f30a22231e8a48d985"
- ],
- "markers": "python_version >= '3.9'",
- "version": "==1.2.1"
- },
- "cryptography": {
- "hashes": [
- "sha256:0270572b8bd2c833c3981724b8ee9747b3ec96f699a9665470018594301439ee",
- "sha256:111a0d8553afcf8eb02a4fea6ca4f59d48ddb34497aa8706a6cf536f1a5ec576",
- "sha256:16a48c23a62a2f4a285699dba2e4ff2d1cff3115b9df052cdd976a18856d8e3d",
- "sha256:1b95b98b0d2af784078fa69f637135e3c317091b615cd0905f8b8a087e86fa30",
- "sha256:1f71c10d1e88467126f0efd484bd44bca5e14c664ec2ede64c32f20875c0d413",
- "sha256:2424ff4c4ac7f6b8177b53c17ed5d8fa74ae5955656867f5a8affaca36a27abb",
- "sha256:2bce03af1ce5a5567ab89bd90d11e7bbdff56b8af3acbbec1faded8f44cb06da",
- "sha256:329906dcc7b20ff3cad13c069a78124ed8247adcac44b10bea1130e36caae0b4",
- "sha256:37dd623507659e08be98eec89323469e8c7b4c1407c85112634ae3dbdb926fdd",
- "sha256:3eaafe47ec0d0ffcc9349e1708be2aaea4c6dd4978d76bf6eb0cb2c13636c6fc",
- "sha256:5e6275c09d2badf57aea3afa80d975444f4be8d3bc58f7f80d2a484c6f9485c8",
- "sha256:6fe07eec95dfd477eb9530aef5bead34fec819b3aaf6c5bd6d20565da607bfe1",
- "sha256:7367d7b2eca6513681127ebad53b2582911d1736dc2ffc19f2c3ae49997496bc",
- "sha256:7cde5f38e614f55e28d831754e8a3bacf9ace5d1566235e39d91b35502d6936e",
- "sha256:9481ffe3cf013b71b2428b905c4f7a9a4f76ec03065b05ff499bb5682a8d9ad8",
- "sha256:98d8dc6d012b82287f2c3d26ce1d2dd130ec200c8679b6213b3c73c08b2b7940",
- "sha256:a011a644f6d7d03736214d38832e030d8268bcff4a41f728e6030325fea3e400",
- "sha256:a2913c5375154b6ef2e91c10b5720ea6e21007412f6437504ffea2109b5a33d7",
- "sha256:a30596bae9403a342c978fb47d9b0ee277699fa53bbafad14706af51fe543d16",
- "sha256:b03c2ae5d2f0fc05f9a2c0c997e1bc18c8229f392234e8a0194f202169ccd278",
- "sha256:b6cd2203306b63e41acdf39aa93b86fb566049aeb6dc489b70e34bcd07adca74",
- "sha256:b7ffe927ee6531c78f81aa17e684e2ff617daeba7f189f911065b2ea2d526dec",
- "sha256:b8cac287fafc4ad485b8a9b67d0ee80c66bf3574f655d3b97ef2e1082360faf1",
- "sha256:ba334e6e4b1d92442b75ddacc615c5476d4ad55cc29b15d590cc6b86efa487e2",
- "sha256:ba3e4a42397c25b7ff88cdec6e2a16c2be18720f317506ee25210f6d31925f9c",
- "sha256:c41fb5e6a5fe9ebcd58ca3abfeb51dffb5d83d6775405305bfa8715b76521922",
- "sha256:cd2030f6650c089aeb304cf093f3244d34745ce0cfcc39f20c6fbfe030102e2a",
- "sha256:cd65d75953847815962c84a4654a84850b2bb4aed3f26fadcc1c13892e1e29f6",
- "sha256:e4985a790f921508f36f81831817cbc03b102d643b5fcb81cd33df3fa291a1a1",
- "sha256:e807b3188f9eb0eaa7bbb579b462c5ace579f1cedb28107ce8b48a9f7ad3679e",
- "sha256:f12764b8fffc7a123f641d7d049d382b73f96a34117e0b637b80643169cec8ac",
- "sha256:f8837fe1d6ac4a8052a9a8ddab256bc006242696f03368a4009be7ee3075cdb7"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==42.0.5"
- },
- "cycler": {
- "hashes": [
- "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30",
- "sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==0.12.1"
- },
- "dataclasses-json": {
- "hashes": [
- "sha256:73696ebf24936560cca79a2430cbc4f3dd23ac7bf46ed17f38e5e5e7657a6377",
- "sha256:f90578b8a3177f7552f4e1a6e535e84293cd5da421fcce0642d49c0d7bdf8df2"
- ],
- "markers": "python_version >= '3.7' and python_version < '4.0'",
- "version": "==0.6.4"
- },
- "debugpy": {
- "hashes": [
- "sha256:016a9fcfc2c6b57f939673c874310d8581d51a0fe0858e7fac4e240c5eb743cb",
- "sha256:0de56aba8249c28a300bdb0672a9b94785074eb82eb672db66c8144fff673146",
- "sha256:1a9fe0829c2b854757b4fd0a338d93bc17249a3bf69ecf765c61d4c522bb92a8",
- "sha256:28acbe2241222b87e255260c76741e1fbf04fdc3b6d094fcf57b6c6f75ce1242",
- "sha256:3a79c6f62adef994b2dbe9fc2cc9cc3864a23575b6e387339ab739873bea53d0",
- "sha256:3bda0f1e943d386cc7a0e71bfa59f4137909e2ed947fb3946c506e113000f741",
- "sha256:3ebb70ba1a6524d19fa7bb122f44b74170c447d5746a503e36adc244a20ac539",
- "sha256:58911e8521ca0c785ac7a0539f1e77e0ce2df753f786188f382229278b4cdf23",
- "sha256:6df9aa9599eb05ca179fb0b810282255202a66835c6efb1d112d21ecb830ddd3",
- "sha256:7a3afa222f6fd3d9dfecd52729bc2e12c93e22a7491405a0ecbf9e1d32d45b39",
- "sha256:7eb7bd2b56ea3bedb009616d9e2f64aab8fc7000d481faec3cd26c98a964bcdd",
- "sha256:92116039b5500633cc8d44ecc187abe2dfa9b90f7a82bbf81d079fcdd506bae9",
- "sha256:a2e658a9630f27534e63922ebf655a6ab60c370f4d2fc5c02a5b19baf4410ace",
- "sha256:bfb20cb57486c8e4793d41996652e5a6a885b4d9175dd369045dad59eaacea42",
- "sha256:caad2846e21188797a1f17fc09c31b84c7c3c23baf2516fed5b40b378515bbf0",
- "sha256:d915a18f0597ef685e88bb35e5d7ab968964b7befefe1aaea1eb5b2640b586c7",
- "sha256:dda73bf69ea479c8577a0448f8c707691152e6c4de7f0c4dec5a4bc11dee516e",
- "sha256:e38beb7992b5afd9d5244e96ad5fa9135e94993b0c551ceebf3fe1a5d9beb234",
- "sha256:edcc9f58ec0fd121a25bc950d4578df47428d72e1a0d66c07403b04eb93bcf98",
- "sha256:efd3fdd3f67a7e576dd869c184c5dd71d9aaa36ded271939da352880c012e703",
- "sha256:f696d6be15be87aef621917585f9bb94b1dc9e8aced570db1b8a6fc14e8f9b42",
- "sha256:fd97ed11a4c7f6d042d320ce03d83b20c3fb40da892f994bc041bbc415d7a099"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==1.8.1"
- },
- "decorator": {
- "hashes": [
- "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330",
- "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186"
- ],
- "markers": "python_version >= '3.5'",
- "version": "==5.1.1"
- },
- "defusedxml": {
- "hashes": [
- "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69",
- "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61"
- ],
- "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'",
- "version": "==0.7.1"
- },
- "deprecated": {
- "hashes": [
- "sha256:6fac8b097794a90302bdbb17b9b815e732d3c4720583ff1b198499d78470466c",
- "sha256:e5323eb936458dccc2582dc6f9c322c852a775a27065ff2b0c4970b9d53d01b3"
- ],
- "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",
- "version": "==1.2.14"
- },
- "deprecation": {
- "hashes": [
- "sha256:72b3bde64e5d778694b0cf68178aed03d15e15477116add3fb773e581f9518ff",
- "sha256:a10811591210e1fb0e768a8c25517cabeabcba6f0bf96564f8ff45189f90b14a"
- ],
- "version": "==2.1.0"
- },
- "dill": {
- "hashes": [
- "sha256:3ebe3c479ad625c4553aca177444d89b486b1d84982eeacded644afc0cf797ca",
- "sha256:c36ca9ffb54365bdd2f8eb3eff7d2a21237f8452b57ace88b1ac615b7e815bd7"
- ],
- "markers": "python_version >= '3.11'",
- "version": "==0.3.8"
- },
- "distro": {
- "hashes": [
- "sha256:2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed",
- "sha256:7bffd925d65168f85027d8da9af6bddab658135b840670a223589bc0c8ef02b2"
- ],
- "markers": "python_version >= '3.6'",
- "version": "==1.9.0"
- },
- "docstring-parser": {
- "hashes": [
- "sha256:538beabd0af1e2db0146b6bd3caa526c35a34d61af9fd2887f3a8a27a739aa6e",
- "sha256:bf0a1387354d3691d102edef7ec124f219ef639982d096e26e3b60aeffa90637"
- ],
- "markers": "python_version >= '3.6' and python_version < '4.0'",
- "version": "==0.16"
- },
- "docstring-to-markdown": {
- "hashes": [
- "sha256:27afb3faedba81e34c33521c32bbd258d7fbb79eedf7d29bc4e81080e854aec0",
- "sha256:e146114d9c50c181b1d25505054a8d0f7a476837f0da2c19f07e06eaed52b73d"
- ],
- "markers": "python_version >= '3.6'",
- "version": "==0.15"
- },
- "einops": {
- "hashes": [
- "sha256:0f3096f26b914f465f6ff3c66f5478f9a5e380bb367ffc6493a68143fbbf1fd1",
- "sha256:b2b04ad6081a3b227080c9bf5e3ace7160357ff03043cd66cc5b2319eb7031d1"
- ],
- "index": "pypi",
- "markers": "python_version >= '3.8'",
- "version": "==0.7.0"
- },
- "elyra-code-snippet-extension": {
- "hashes": [
- "sha256:4ab1377d9fa2977656b064ca0e7a6d23b2db0702ce481e3a17210c1c59ad5c6b",
- "sha256:db0a972e61c0ec2d36de2716e4adabcee6f642bdd2194e8bfb558a98538e6cf9"
- ],
- "index": "pypi",
- "version": "==3.15.0"
- },
- "elyra-pipeline-editor-extension": {
- "hashes": [
- "sha256:0ea70c688857d8c15624203aee37516949909b67f26813b46da1a992f1a002ef",
- "sha256:ad9df20e7a4563e331d70bde3446c2458513a7683a91e3e912dc8adfdeb0e0bf"
- ],
- "index": "pypi",
- "version": "==3.15.0"
- },
- "elyra-python-editor-extension": {
- "hashes": [
- "sha256:1f7e427551d59c0dcf4cc3939010b74d9690868c9c70114a76e0c258cbbee05d",
- "sha256:da11e4ef4df684e7e1e81ef790ddf4160937b318b1a3d9e730991ffffd173af0"
- ],
- "index": "pypi",
- "version": "==3.15.0"
- },
- "elyra-server": {
- "hashes": [
- "sha256:616e2cb2f283279d6f1d8d48f70590ba9025248090fb85490c0b0f3446e57dc9",
- "sha256:6fa62a4384d1fa4966925c19d320026c05674700a135075a81d4a3e5421a605c"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==3.15.0"
- },
- "entrypoints": {
- "hashes": [
- "sha256:b706eddaa9218a19ebcd67b56818f05bb27589b1ca9e8d797b74affad4ccacd4",
- "sha256:f174b5ff827504fd3cd97cc3f8649f3693f51538c7e4bdf3ef002c8429d42f9f"
- ],
- "markers": "python_version >= '3.6'",
- "version": "==0.4"
- },
- "environs": {
- "hashes": [
- "sha256:1e549569a3de49c05f856f40bce86979e7d5ffbbc4398e7f338574c220189124",
- "sha256:a76307b36fbe856bdca7ee9161e6c466fd7fcffc297109a118c59b54e27e30c9"
- ],
- "markers": "python_version >= '3.6'",
- "version": "==9.5.0"
- },
- "executing": {
- "hashes": [
- "sha256:35afe2ce3affba8ee97f2d69927fa823b08b472b7b994e36a52a964b93d16147",
- "sha256:eac49ca94516ccc753f9fb5ce82603156e590b27525a8bc32cce8ae302eb61bc"
- ],
- "markers": "python_version >= '3.5'",
- "version": "==2.0.1"
- },
- "fastjsonschema": {
- "hashes": [
- "sha256:3672b47bc94178c9f23dbb654bf47440155d4db9df5f7bc47643315f9c405cd0",
- "sha256:e3126a94bdc4623d3de4485f8d468a12f02a67921315ddc87836d6e456dc789d"
- ],
- "version": "==2.19.1"
- },
- "filelock": {
- "hashes": [
- "sha256:404e5e9253aa60ad457cae1be07c0f0ca90a63931200a47d9b6a6af84fd7b45f",
- "sha256:d13f466618bfde72bd2c18255e269f72542c6e70e7bac83a0232d6b1cc5c8cf4"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==3.13.4"
- },
- "fire": {
- "hashes": [
- "sha256:54ec5b996ecdd3c0309c800324a0703d6da512241bc73b553db959d98de0aa66"
- ],
- "version": "==0.6.0"
- },
- "flake8": {
- "hashes": [
- "sha256:33f96621059e65eec474169085dc92bf26e7b2d47366b70be2f67ab80dc25132",
- "sha256:a6dfbb75e03252917f2473ea9653f7cd799c3064e54d4c8140044c5c065f53c3"
- ],
- "version": "==7.0.0"
- },
- "flask": {
- "hashes": [
- "sha256:34e815dfaa43340d1d15a5c3a02b8476004037eb4840b34910c6e21679d288f3",
- "sha256:ceb27b0af3823ea2737928a4d99d125a06175b8512c445cbd9a9ce200ef76842"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==3.0.3"
- },
- "flatbuffers": {
- "hashes": [
- "sha256:8dbdec58f935f3765e4f7f3cf635ac3a77f83568138d6a2311f524ec96364812",
- "sha256:de2ec5b203f21441716617f38443e0a8ebf3d25bf0d9c0bb0ce68fa00ad546a4"
- ],
- "version": "==24.3.25"
- },
- "fonttools": {
- "hashes": [
- "sha256:0118ef998a0699a96c7b28457f15546815015a2710a1b23a7bf6c1be60c01636",
- "sha256:0d145976194a5242fdd22df18a1b451481a88071feadf251221af110ca8f00ce",
- "sha256:0e19bd9e9964a09cd2433a4b100ca7f34e34731e0758e13ba9a1ed6e5468cc0f",
- "sha256:0f08c901d3866a8905363619e3741c33f0a83a680d92a9f0e575985c2634fcc1",
- "sha256:1250e818b5f8a679ad79660855528120a8f0288f8f30ec88b83db51515411fcc",
- "sha256:15c94eeef6b095831067f72c825eb0e2d48bb4cea0647c1b05c981ecba2bf39f",
- "sha256:1621ee57da887c17312acc4b0e7ac30d3a4fb0fec6174b2e3754a74c26bbed1e",
- "sha256:180194c7fe60c989bb627d7ed5011f2bef1c4d36ecf3ec64daec8302f1ae0716",
- "sha256:278e50f6b003c6aed19bae2242b364e575bcb16304b53f2b64f6551b9c000e15",
- "sha256:32b17504696f605e9e960647c5f64b35704782a502cc26a37b800b4d69ff3c77",
- "sha256:3bee3f3bd9fa1d5ee616ccfd13b27ca605c2b4270e45715bd2883e9504735034",
- "sha256:4060acc2bfa2d8e98117828a238889f13b6f69d59f4f2d5857eece5277b829ba",
- "sha256:54dcf21a2f2d06ded676e3c3f9f74b2bafded3a8ff12f0983160b13e9f2fb4a7",
- "sha256:56fc244f2585d6c00b9bcc59e6593e646cf095a96fe68d62cd4da53dd1287b55",
- "sha256:599bdb75e220241cedc6faebfafedd7670335d2e29620d207dd0378a4e9ccc5a",
- "sha256:5f6bc991d1610f5c3bbe997b0233cbc234b8e82fa99fc0b2932dc1ca5e5afec0",
- "sha256:60a3409c9112aec02d5fb546f557bca6efa773dcb32ac147c6baf5f742e6258b",
- "sha256:68b3fb7775a923be73e739f92f7e8a72725fd333eab24834041365d2278c3671",
- "sha256:76f1777d8b3386479ffb4a282e74318e730014d86ce60f016908d9801af9ca2a",
- "sha256:806e7912c32a657fa39d2d6eb1d3012d35f841387c8fc6cf349ed70b7c340039",
- "sha256:84d7751f4468dd8cdd03ddada18b8b0857a5beec80bce9f435742abc9a851a74",
- "sha256:865a58b6e60b0938874af0968cd0553bcd88e0b2cb6e588727117bd099eef836",
- "sha256:8ac27f436e8af7779f0bb4d5425aa3535270494d3bc5459ed27de3f03151e4c2",
- "sha256:8b4850fa2ef2cfbc1d1f689bc159ef0f45d8d83298c1425838095bf53ef46308",
- "sha256:8b5ad456813d93b9c4b7ee55302208db2b45324315129d85275c01f5cb7e61a2",
- "sha256:8e2f1a4499e3b5ee82c19b5ee57f0294673125c65b0a1ff3764ea1f9db2f9ef5",
- "sha256:9696fe9f3f0c32e9a321d5268208a7cc9205a52f99b89479d1b035ed54c923f1",
- "sha256:96a48e137c36be55e68845fc4284533bda2980f8d6f835e26bca79d7e2006438",
- "sha256:a8feca65bab31479d795b0d16c9a9852902e3a3c0630678efb0b2b7941ea9c74",
- "sha256:aefa011207ed36cd280babfaa8510b8176f1a77261833e895a9d96e57e44802f",
- "sha256:b2b92381f37b39ba2fc98c3a45a9d6383bfc9916a87d66ccb6553f7bdd129097",
- "sha256:b3c61423f22165541b9403ee39874dcae84cd57a9078b82e1dce8cb06b07fa2e",
- "sha256:b5b48a1121117047d82695d276c2af2ee3a24ffe0f502ed581acc2673ecf1037",
- "sha256:c18b49adc721a7d0b8dfe7c3130c89b8704baf599fb396396d07d4aa69b824a1",
- "sha256:c5b8cab0c137ca229433570151b5c1fc6af212680b58b15abd797dcdd9dd5051",
- "sha256:c7e91abdfae1b5c9e3a543f48ce96013f9a08c6c9668f1e6be0beabf0a569c1b",
- "sha256:cadf4e12a608ef1d13e039864f484c8a968840afa0258b0b843a0556497ea9ed",
- "sha256:dc0673361331566d7a663d7ce0f6fdcbfbdc1f59c6e3ed1165ad7202ca183c68",
- "sha256:de7c29bdbdd35811f14493ffd2534b88f0ce1b9065316433b22d63ca1cd21f14",
- "sha256:e9d9298be7a05bb4801f558522adbe2feea1b0b103d5294ebf24a92dd49b78e5",
- "sha256:ee1af4be1c5afe4c96ca23badd368d8dc75f611887fb0c0dac9f71ee5d6f110e",
- "sha256:f7e89853d8bea103c8e3514b9f9dc86b5b4120afb4583b57eb10dfa5afbe0936"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==4.51.0"
- },
- "fqdn": {
- "hashes": [
- "sha256:105ed3677e767fb5ca086a0c1f4bb66ebc3c100be518f0e0d755d9eae164d89f",
- "sha256:3a179af3761e4df6eb2e026ff9e1a3033d3587bf980a0b1b2e1e5d08d7358014"
- ],
- "version": "==1.5.1"
- },
- "frozenlist": {
- "hashes": [
- "sha256:04ced3e6a46b4cfffe20f9ae482818e34eba9b5fb0ce4056e4cc9b6e212d09b7",
- "sha256:0633c8d5337cb5c77acbccc6357ac49a1770b8c487e5b3505c57b949b4b82e98",
- "sha256:068b63f23b17df8569b7fdca5517edef76171cf3897eb68beb01341131fbd2ad",
- "sha256:0c250a29735d4f15321007fb02865f0e6b6a41a6b88f1f523ca1596ab5f50bd5",
- "sha256:1979bc0aeb89b33b588c51c54ab0161791149f2461ea7c7c946d95d5f93b56ae",
- "sha256:1a4471094e146b6790f61b98616ab8e44f72661879cc63fa1049d13ef711e71e",
- "sha256:1b280e6507ea8a4fa0c0a7150b4e526a8d113989e28eaaef946cc77ffd7efc0a",
- "sha256:1d0ce09d36d53bbbe566fe296965b23b961764c0bcf3ce2fa45f463745c04701",
- "sha256:20b51fa3f588ff2fe658663db52a41a4f7aa6c04f6201449c6c7c476bd255c0d",
- "sha256:23b2d7679b73fe0e5a4560b672a39f98dfc6f60df63823b0a9970525325b95f6",
- "sha256:23b701e65c7b36e4bf15546a89279bd4d8675faabc287d06bbcfac7d3c33e1e6",
- "sha256:2471c201b70d58a0f0c1f91261542a03d9a5e088ed3dc6c160d614c01649c106",
- "sha256:27657df69e8801be6c3638054e202a135c7f299267f1a55ed3a598934f6c0d75",
- "sha256:29acab3f66f0f24674b7dc4736477bcd4bc3ad4b896f5f45379a67bce8b96868",
- "sha256:32453c1de775c889eb4e22f1197fe3bdfe457d16476ea407472b9442e6295f7a",
- "sha256:3a670dc61eb0d0eb7080890c13de3066790f9049b47b0de04007090807c776b0",
- "sha256:3e0153a805a98f5ada7e09826255ba99fb4f7524bb81bf6b47fb702666484ae1",
- "sha256:410478a0c562d1a5bcc2f7ea448359fcb050ed48b3c6f6f4f18c313a9bdb1826",
- "sha256:442acde1e068288a4ba7acfe05f5f343e19fac87bfc96d89eb886b0363e977ec",
- "sha256:48f6a4533887e189dae092f1cf981f2e3885175f7a0f33c91fb5b7b682b6bab6",
- "sha256:4f57dab5fe3407b6c0c1cc907ac98e8a189f9e418f3b6e54d65a718aaafe3950",
- "sha256:4f9c515e7914626b2a2e1e311794b4c35720a0be87af52b79ff8e1429fc25f19",
- "sha256:55fdc093b5a3cb41d420884cdaf37a1e74c3c37a31f46e66286d9145d2063bd0",
- "sha256:5667ed53d68d91920defdf4035d1cdaa3c3121dc0b113255124bcfada1cfa1b8",
- "sha256:590344787a90ae57d62511dd7c736ed56b428f04cd8c161fcc5e7232c130c69a",
- "sha256:5a7d70357e7cee13f470c7883a063aae5fe209a493c57d86eb7f5a6f910fae09",
- "sha256:5c3894db91f5a489fc8fa6a9991820f368f0b3cbdb9cd8849547ccfab3392d86",
- "sha256:5c849d495bf5154cd8da18a9eb15db127d4dba2968d88831aff6f0331ea9bd4c",
- "sha256:64536573d0a2cb6e625cf309984e2d873979709f2cf22839bf2d61790b448ad5",
- "sha256:693945278a31f2086d9bf3df0fe8254bbeaef1fe71e1351c3bd730aa7d31c41b",
- "sha256:6db4667b187a6742b33afbbaf05a7bc551ffcf1ced0000a571aedbb4aa42fc7b",
- "sha256:6eb73fa5426ea69ee0e012fb59cdc76a15b1283d6e32e4f8dc4482ec67d1194d",
- "sha256:722e1124aec435320ae01ee3ac7bec11a5d47f25d0ed6328f2273d287bc3abb0",
- "sha256:7268252af60904bf52c26173cbadc3a071cece75f873705419c8681f24d3edea",
- "sha256:74fb4bee6880b529a0c6560885fce4dc95936920f9f20f53d99a213f7bf66776",
- "sha256:780d3a35680ced9ce682fbcf4cb9c2bad3136eeff760ab33707b71db84664e3a",
- "sha256:82e8211d69a4f4bc360ea22cd6555f8e61a1bd211d1d5d39d3d228b48c83a897",
- "sha256:89aa2c2eeb20957be2d950b85974b30a01a762f3308cd02bb15e1ad632e22dc7",
- "sha256:8aefbba5f69d42246543407ed2461db31006b0f76c4e32dfd6f42215a2c41d09",
- "sha256:96ec70beabbd3b10e8bfe52616a13561e58fe84c0101dd031dc78f250d5128b9",
- "sha256:9750cc7fe1ae3b1611bb8cfc3f9ec11d532244235d75901fb6b8e42ce9229dfe",
- "sha256:9acbb16f06fe7f52f441bb6f413ebae6c37baa6ef9edd49cdd567216da8600cd",
- "sha256:9d3e0c25a2350080e9319724dede4f31f43a6c9779be48021a7f4ebde8b2d742",
- "sha256:a06339f38e9ed3a64e4c4e43aec7f59084033647f908e4259d279a52d3757d09",
- "sha256:a0cb6f11204443f27a1628b0e460f37fb30f624be6051d490fa7d7e26d4af3d0",
- "sha256:a7496bfe1da7fb1a4e1cc23bb67c58fab69311cc7d32b5a99c2007b4b2a0e932",
- "sha256:a828c57f00f729620a442881cc60e57cfcec6842ba38e1b19fd3e47ac0ff8dc1",
- "sha256:a9b2de4cf0cdd5bd2dee4c4f63a653c61d2408055ab77b151c1957f221cabf2a",
- "sha256:b46c8ae3a8f1f41a0d2ef350c0b6e65822d80772fe46b653ab6b6274f61d4a49",
- "sha256:b7e3ed87d4138356775346e6845cccbe66cd9e207f3cd11d2f0b9fd13681359d",
- "sha256:b7f2f9f912dca3934c1baec2e4585a674ef16fe00218d833856408c48d5beee7",
- "sha256:ba60bb19387e13597fb059f32cd4d59445d7b18b69a745b8f8e5db0346f33480",
- "sha256:beee944ae828747fd7cb216a70f120767fc9f4f00bacae8543c14a6831673f89",
- "sha256:bfa4a17e17ce9abf47a74ae02f32d014c5e9404b6d9ac7f729e01562bbee601e",
- "sha256:c037a86e8513059a2613aaba4d817bb90b9d9b6b69aace3ce9c877e8c8ed402b",
- "sha256:c302220494f5c1ebeb0912ea782bcd5e2f8308037b3c7553fad0e48ebad6ad82",
- "sha256:c6321c9efe29975232da3bd0af0ad216800a47e93d763ce64f291917a381b8eb",
- "sha256:c757a9dd70d72b076d6f68efdbb9bc943665ae954dad2801b874c8c69e185068",
- "sha256:c99169d4ff810155ca50b4da3b075cbde79752443117d89429595c2e8e37fed8",
- "sha256:c9c92be9fd329ac801cc420e08452b70e7aeab94ea4233a4804f0915c14eba9b",
- "sha256:cc7b01b3754ea68a62bd77ce6020afaffb44a590c2289089289363472d13aedb",
- "sha256:db9e724bebd621d9beca794f2a4ff1d26eed5965b004a97f1f1685a173b869c2",
- "sha256:dca69045298ce5c11fd539682cff879cc1e664c245d1c64da929813e54241d11",
- "sha256:dd9b1baec094d91bf36ec729445f7769d0d0cf6b64d04d86e45baf89e2b9059b",
- "sha256:e02a0e11cf6597299b9f3bbd3f93d79217cb90cfd1411aec33848b13f5c656cc",
- "sha256:e6a20a581f9ce92d389a8c7d7c3dd47c81fd5d6e655c8dddf341e14aa48659d0",
- "sha256:e7004be74cbb7d9f34553a5ce5fb08be14fb33bc86f332fb71cbe5216362a497",
- "sha256:e774d53b1a477a67838a904131c4b0eef6b3d8a651f8b138b04f748fccfefe17",
- "sha256:edb678da49d9f72c9f6c609fbe41a5dfb9a9282f9e6a2253d5a91e0fc382d7c0",
- "sha256:f146e0911cb2f1da549fc58fc7bcd2b836a44b79ef871980d605ec392ff6b0d2",
- "sha256:f56e2333dda1fe0f909e7cc59f021eba0d2307bc6f012a1ccf2beca6ba362439",
- "sha256:f9a3ea26252bd92f570600098783d1371354d89d5f6b7dfd87359d669f2109b5",
- "sha256:f9aa1878d1083b276b0196f2dfbe00c9b7e752475ed3b682025ff20c1c1f51ac",
- "sha256:fb3c2db03683b5767dedb5769b8a40ebb47d6f7f45b1b3e3b4b51ec8ad9d9825",
- "sha256:fbeb989b5cc29e8daf7f976b421c220f1b8c731cbf22b9130d8815418ea45887",
- "sha256:fde5bd59ab5357e3853313127f4d3565fc7dad314a74d7b5d43c22c6a5ed2ced",
- "sha256:fe1a06da377e3a1062ae5fe0926e12b84eceb8a50b350ddca72dc85015873f74"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==1.4.1"
- },
- "fsspec": {
- "hashes": [
- "sha256:918d18d41bf73f0e2b261824baeb1b124bcf771767e3a26425cd7dec3332f512",
- "sha256:f39780e282d7d117ffb42bb96992f8a90795e4d0fb0f661a70ca39fe9c43ded9"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==2024.3.1"
- },
- "gitdb": {
- "hashes": [
- "sha256:81a3407ddd2ee8df444cbacea00e2d038e40150acfa3001696fe0dcf1d3adfa4",
- "sha256:bf5421126136d6d0af55bc1e7c1af1c397a34f5b7bd79e776cd3e89785c2b04b"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==4.0.11"
- },
- "gitpython": {
- "hashes": [
- "sha256:35f314a9f878467f5453cc1fee295c3e18e52f1b99f10f6cf5b1682e968a9e7c",
- "sha256:eec7ec56b92aad751f9912a73404bc02ba212a23adb2c7098ee668417051a1ff"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==3.1.43"
- },
- "google-api-core": {
- "hashes": [
- "sha256:5a63aa102e0049abe85b5b88cb9409234c1f70afcda21ce1e40b285b9629c1d6",
- "sha256:62d97417bfc674d6cef251e5c4d639a9655e00c45528c4364fbfebb478ce72a9"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==2.18.0"
- },
- "google-api-python-client": {
- "hashes": [
- "sha256:1b4bd42a46321e13c0542a9e4d96fa05d73626f07b39f83a73a947d70ca706a9",
- "sha256:7e0a1a265c8d3088ee1987778c72683fcb376e32bada8d7767162bd9c503fd9b"
- ],
- "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",
- "version": "==1.12.11"
- },
- "google-auth": {
- "hashes": [
- "sha256:672dff332d073227550ffc7457868ac4218d6c500b155fe6cc17d2b13602c360",
- "sha256:d452ad095688cd52bae0ad6fafe027f6a6d6f560e810fec20914e17a09526415"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==2.29.0"
- },
- "google-auth-httplib2": {
- "hashes": [
- "sha256:38aa7badf48f974f1eb9861794e9c0cb2a0511a4ec0679b1f886d108f5640e05",
- "sha256:b65a0a2123300dd71281a7bf6e64d65a0759287df52729bdd1ae2e47dc311a3d"
- ],
- "version": "==0.2.0"
- },
- "google-cloud-core": {
- "hashes": [
- "sha256:9b7749272a812bde58fff28868d0c5e2f585b82f37e09a1f6ed2d4d10f134073",
- "sha256:a9e6a4422b9ac5c29f79a0ede9485473338e2ce78d91f2370c01e730eab22e61"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==2.4.1"
- },
- "google-cloud-storage": {
- "hashes": [
- "sha256:91a06b96fb79cf9cdfb4e759f178ce11ea885c79938f89590344d079305f5852",
- "sha256:dda485fa503710a828d01246bd16ce9db0823dc51bbca742ce96a6817d58669f"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==2.16.0"
- },
- "google-crc32c": {
- "hashes": [
- "sha256:024894d9d3cfbc5943f8f230e23950cd4906b2fe004c72e29b209420a1e6b05a",
- "sha256:02c65b9817512edc6a4ae7c7e987fea799d2e0ee40c53ec573a692bee24de876",
- "sha256:02ebb8bf46c13e36998aeaad1de9b48f4caf545e91d14041270d9dca767b780c",
- "sha256:07eb3c611ce363c51a933bf6bd7f8e3878a51d124acfc89452a75120bc436289",
- "sha256:1034d91442ead5a95b5aaef90dbfaca8633b0247d1e41621d1e9f9db88c36298",
- "sha256:116a7c3c616dd14a3de8c64a965828b197e5f2d121fedd2f8c5585c547e87b02",
- "sha256:19e0a019d2c4dcc5e598cd4a4bc7b008546b0358bd322537c74ad47a5386884f",
- "sha256:1c7abdac90433b09bad6c43a43af253e688c9cfc1c86d332aed13f9a7c7f65e2",
- "sha256:1e986b206dae4476f41bcec1faa057851f3889503a70e1bdb2378d406223994a",
- "sha256:272d3892a1e1a2dbc39cc5cde96834c236d5327e2122d3aaa19f6614531bb6eb",
- "sha256:278d2ed7c16cfc075c91378c4f47924c0625f5fc84b2d50d921b18b7975bd210",
- "sha256:2ad40e31093a4af319dadf503b2467ccdc8f67c72e4bcba97f8c10cb078207b5",
- "sha256:2e920d506ec85eb4ba50cd4228c2bec05642894d4c73c59b3a2fe20346bd00ee",
- "sha256:3359fc442a743e870f4588fcf5dcbc1bf929df1fad8fb9905cd94e5edb02e84c",
- "sha256:37933ec6e693e51a5b07505bd05de57eee12f3e8c32b07da7e73669398e6630a",
- "sha256:398af5e3ba9cf768787eef45c803ff9614cc3e22a5b2f7d7ae116df8b11e3314",
- "sha256:3b747a674c20a67343cb61d43fdd9207ce5da6a99f629c6e2541aa0e89215bcd",
- "sha256:461665ff58895f508e2866824a47bdee72497b091c730071f2b7575d5762ab65",
- "sha256:4c6fdd4fccbec90cc8a01fc00773fcd5fa28db683c116ee3cb35cd5da9ef6c37",
- "sha256:5829b792bf5822fd0a6f6eb34c5f81dd074f01d570ed7f36aa101d6fc7a0a6e4",
- "sha256:596d1f98fc70232fcb6590c439f43b350cb762fb5d61ce7b0e9db4539654cc13",
- "sha256:5ae44e10a8e3407dbe138984f21e536583f2bba1be9491239f942c2464ac0894",
- "sha256:635f5d4dd18758a1fbd1049a8e8d2fee4ffed124462d837d1a02a0e009c3ab31",
- "sha256:64e52e2b3970bd891309c113b54cf0e4384762c934d5ae56e283f9a0afcd953e",
- "sha256:66741ef4ee08ea0b2cc3c86916ab66b6aef03768525627fd6a1b34968b4e3709",
- "sha256:67b741654b851abafb7bc625b6d1cdd520a379074e64b6a128e3b688c3c04740",
- "sha256:6ac08d24c1f16bd2bf5eca8eaf8304812f44af5cfe5062006ec676e7e1d50afc",
- "sha256:6f998db4e71b645350b9ac28a2167e6632c239963ca9da411523bb439c5c514d",
- "sha256:72218785ce41b9cfd2fc1d6a017dc1ff7acfc4c17d01053265c41a2c0cc39b8c",
- "sha256:74dea7751d98034887dbd821b7aae3e1d36eda111d6ca36c206c44478035709c",
- "sha256:759ce4851a4bb15ecabae28f4d2e18983c244eddd767f560165563bf9aefbc8d",
- "sha256:77e2fd3057c9d78e225fa0a2160f96b64a824de17840351b26825b0848022906",
- "sha256:7c074fece789b5034b9b1404a1f8208fc2d4c6ce9decdd16e8220c5a793e6f61",
- "sha256:7c42c70cd1d362284289c6273adda4c6af8039a8ae12dc451dcd61cdabb8ab57",
- "sha256:7f57f14606cd1dd0f0de396e1e53824c371e9544a822648cd76c034d209b559c",
- "sha256:83c681c526a3439b5cf94f7420471705bbf96262f49a6fe546a6db5f687a3d4a",
- "sha256:8485b340a6a9e76c62a7dce3c98e5f102c9219f4cfbf896a00cf48caf078d438",
- "sha256:84e6e8cd997930fc66d5bb4fde61e2b62ba19d62b7abd7a69920406f9ecca946",
- "sha256:89284716bc6a5a415d4eaa11b1726d2d60a0cd12aadf5439828353662ede9dd7",
- "sha256:8b87e1a59c38f275c0e3676fc2ab6d59eccecfd460be267ac360cc31f7bcde96",
- "sha256:8f24ed114432de109aa9fd317278518a5af2d31ac2ea6b952b2f7782b43da091",
- "sha256:98cb4d057f285bd80d8778ebc4fde6b4d509ac3f331758fb1528b733215443ae",
- "sha256:998679bf62b7fb599d2878aa3ed06b9ce688b8974893e7223c60db155f26bd8d",
- "sha256:9ba053c5f50430a3fcfd36f75aff9caeba0440b2d076afdb79a318d6ca245f88",
- "sha256:9c99616c853bb585301df6de07ca2cadad344fd1ada6d62bb30aec05219c45d2",
- "sha256:a1fd716e7a01f8e717490fbe2e431d2905ab8aa598b9b12f8d10abebb36b04dd",
- "sha256:a2355cba1f4ad8b6988a4ca3feed5bff33f6af2d7f134852cf279c2aebfde541",
- "sha256:b1f8133c9a275df5613a451e73f36c2aea4fe13c5c8997e22cf355ebd7bd0728",
- "sha256:b8667b48e7a7ef66afba2c81e1094ef526388d35b873966d8a9a447974ed9178",
- "sha256:ba1eb1843304b1e5537e1fca632fa894d6f6deca8d6389636ee5b4797affb968",
- "sha256:be82c3c8cfb15b30f36768797a640e800513793d6ae1724aaaafe5bf86f8f346",
- "sha256:c02ec1c5856179f171e032a31d6f8bf84e5a75c45c33b2e20a3de353b266ebd8",
- "sha256:c672d99a345849301784604bfeaeba4db0c7aae50b95be04dd651fd2a7310b93",
- "sha256:c6c777a480337ac14f38564ac88ae82d4cd238bf293f0a22295b66eb89ffced7",
- "sha256:cae0274952c079886567f3f4f685bcaf5708f0a23a5f5216fdab71f81a6c0273",
- "sha256:cd67cf24a553339d5062eff51013780a00d6f97a39ca062781d06b3a73b15462",
- "sha256:d3515f198eaa2f0ed49f8819d5732d70698c3fa37384146079b3799b97667a94",
- "sha256:d5280312b9af0976231f9e317c20e4a61cd2f9629b7bfea6a693d1878a264ebd",
- "sha256:de06adc872bcd8c2a4e0dc51250e9e65ef2ca91be023b9d13ebd67c2ba552e1e",
- "sha256:e1674e4307fa3024fc897ca774e9c7562c957af85df55efe2988ed9056dc4e57",
- "sha256:e2096eddb4e7c7bdae4bd69ad364e55e07b8316653234a56552d9c988bd2d61b",
- "sha256:e560628513ed34759456a416bf86b54b2476c59144a9138165c9a1575801d0d9",
- "sha256:edfedb64740750e1a3b16152620220f51d58ff1b4abceb339ca92e934775c27a",
- "sha256:f13cae8cc389a440def0c8c52057f37359014ccbc9dc1f0827936bcd367c6100",
- "sha256:f314013e7dcd5cf45ab1945d92e713eec788166262ae8deb2cfacd53def27325",
- "sha256:f583edb943cf2e09c60441b910d6a20b4d9d626c75a36c8fcac01a6c96c01183",
- "sha256:fd8536e902db7e365f49e7d9029283403974ccf29b13fc7028b97e2295b33556",
- "sha256:fe70e325aa68fa4b5edf7d1a4b6f691eb04bbccac0ace68e34820d283b5f80d4"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==1.5.0"
- },
- "google-resumable-media": {
- "hashes": [
- "sha256:5f18f5fa9836f4b083162064a1c2c98c17239bfda9ca50ad970ccf905f3e625b",
- "sha256:79543cfe433b63fd81c0844b7803aba1bb8950b47bedf7d980c38fa123937e08"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==2.7.0"
- },
- "googleapis-common-protos": {
- "hashes": [
- "sha256:17ad01b11d5f1d0171c06d3ba5c04c54474e883b66b949722b4938ee2694ef4e",
- "sha256:ae45f75702f7c08b541f750854a678bd8f534a1a6bace6afe975f1d0a82d6632"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==1.63.0"
- },
- "greenlet": {
- "hashes": [
- "sha256:01bc7ea167cf943b4c802068e178bbf70ae2e8c080467070d01bfa02f337ee67",
- "sha256:0448abc479fab28b00cb472d278828b3ccca164531daab4e970a0458786055d6",
- "sha256:086152f8fbc5955df88382e8a75984e2bb1c892ad2e3c80a2508954e52295257",
- "sha256:098d86f528c855ead3479afe84b49242e174ed262456c342d70fc7f972bc13c4",
- "sha256:149e94a2dd82d19838fe4b2259f1b6b9957d5ba1b25640d2380bea9c5df37676",
- "sha256:1551a8195c0d4a68fac7a4325efac0d541b48def35feb49d803674ac32582f61",
- "sha256:15d79dd26056573940fcb8c7413d84118086f2ec1a8acdfa854631084393efcc",
- "sha256:1996cb9306c8595335bb157d133daf5cf9f693ef413e7673cb07e3e5871379ca",
- "sha256:1a7191e42732df52cb5f39d3527217e7ab73cae2cb3694d241e18f53d84ea9a7",
- "sha256:1ea188d4f49089fc6fb283845ab18a2518d279c7cd9da1065d7a84e991748728",
- "sha256:1f672519db1796ca0d8753f9e78ec02355e862d0998193038c7073045899f305",
- "sha256:2516a9957eed41dd8f1ec0c604f1cdc86758b587d964668b5b196a9db5bfcde6",
- "sha256:2797aa5aedac23af156bbb5a6aa2cd3427ada2972c828244eb7d1b9255846379",
- "sha256:2dd6e660effd852586b6a8478a1d244b8dc90ab5b1321751d2ea15deb49ed414",
- "sha256:3ddc0f794e6ad661e321caa8d2f0a55ce01213c74722587256fb6566049a8b04",
- "sha256:3ed7fb269f15dc662787f4119ec300ad0702fa1b19d2135a37c2c4de6fadfd4a",
- "sha256:419b386f84949bf0e7c73e6032e3457b82a787c1ab4a0e43732898a761cc9dbf",
- "sha256:43374442353259554ce33599da8b692d5aa96f8976d567d4badf263371fbe491",
- "sha256:52f59dd9c96ad2fc0d5724107444f76eb20aaccb675bf825df6435acb7703559",
- "sha256:57e8974f23e47dac22b83436bdcf23080ade568ce77df33159e019d161ce1d1e",
- "sha256:5b51e85cb5ceda94e79d019ed36b35386e8c37d22f07d6a751cb659b180d5274",
- "sha256:649dde7de1a5eceb258f9cb00bdf50e978c9db1b996964cd80703614c86495eb",
- "sha256:64d7675ad83578e3fc149b617a444fab8efdafc9385471f868eb5ff83e446b8b",
- "sha256:68834da854554926fbedd38c76e60c4a2e3198c6fbed520b106a8986445caaf9",
- "sha256:6b66c9c1e7ccabad3a7d037b2bcb740122a7b17a53734b7d72a344ce39882a1b",
- "sha256:70fb482fdf2c707765ab5f0b6655e9cfcf3780d8d87355a063547b41177599be",
- "sha256:7170375bcc99f1a2fbd9c306f5be8764eaf3ac6b5cb968862cad4c7057756506",
- "sha256:73a411ef564e0e097dbe7e866bb2dda0f027e072b04da387282b02c308807405",
- "sha256:77457465d89b8263bca14759d7c1684df840b6811b2499838cc5b040a8b5b113",
- "sha256:7f362975f2d179f9e26928c5b517524e89dd48530a0202570d55ad6ca5d8a56f",
- "sha256:81bb9c6d52e8321f09c3d165b2a78c680506d9af285bfccbad9fb7ad5a5da3e5",
- "sha256:881b7db1ebff4ba09aaaeae6aa491daeb226c8150fc20e836ad00041bcb11230",
- "sha256:894393ce10ceac937e56ec00bb71c4c2f8209ad516e96033e4b3b1de270e200d",
- "sha256:99bf650dc5d69546e076f413a87481ee1d2d09aaaaaca058c9251b6d8c14783f",
- "sha256:9da2bd29ed9e4f15955dd1595ad7bc9320308a3b766ef7f837e23ad4b4aac31a",
- "sha256:afaff6cf5200befd5cec055b07d1c0a5a06c040fe5ad148abcd11ba6ab9b114e",
- "sha256:b1b5667cced97081bf57b8fa1d6bfca67814b0afd38208d52538316e9422fc61",
- "sha256:b37eef18ea55f2ffd8f00ff8fe7c8d3818abd3e25fb73fae2ca3b672e333a7a6",
- "sha256:b542be2440edc2d48547b5923c408cbe0fc94afb9f18741faa6ae970dbcb9b6d",
- "sha256:b7dcbe92cc99f08c8dd11f930de4d99ef756c3591a5377d1d9cd7dd5e896da71",
- "sha256:b7f009caad047246ed379e1c4dbcb8b020f0a390667ea74d2387be2998f58a22",
- "sha256:bba5387a6975598857d86de9eac14210a49d554a77eb8261cc68b7d082f78ce2",
- "sha256:c5e1536de2aad7bf62e27baf79225d0d64360d4168cf2e6becb91baf1ed074f3",
- "sha256:c5ee858cfe08f34712f548c3c363e807e7186f03ad7a5039ebadb29e8c6be067",
- "sha256:c9db1c18f0eaad2f804728c67d6c610778456e3e1cc4ab4bbd5eeb8e6053c6fc",
- "sha256:d353cadd6083fdb056bb46ed07e4340b0869c305c8ca54ef9da3421acbdf6881",
- "sha256:d46677c85c5ba00a9cb6f7a00b2bfa6f812192d2c9f7d9c4f6a55b60216712f3",
- "sha256:d4d1ac74f5c0c0524e4a24335350edad7e5f03b9532da7ea4d3c54d527784f2e",
- "sha256:d73a9fe764d77f87f8ec26a0c85144d6a951a6c438dfe50487df5595c6373eac",
- "sha256:da70d4d51c8b306bb7a031d5cff6cc25ad253affe89b70352af5f1cb68e74b53",
- "sha256:daf3cb43b7cf2ba96d614252ce1684c1bccee6b2183a01328c98d36fcd7d5cb0",
- "sha256:dca1e2f3ca00b84a396bc1bce13dd21f680f035314d2379c4160c98153b2059b",
- "sha256:dd4f49ae60e10adbc94b45c0b5e6a179acc1736cf7a90160b404076ee283cf83",
- "sha256:e1f145462f1fa6e4a4ae3c0f782e580ce44d57c8f2c7aae1b6fa88c0b2efdb41",
- "sha256:e3391d1e16e2a5a1507d83e4a8b100f4ee626e8eca43cf2cadb543de69827c4c",
- "sha256:fcd2469d6a2cf298f198f0487e0a5b1a47a42ca0fa4dfd1b6862c999f018ebbf",
- "sha256:fd096eb7ffef17c456cfa587523c5f92321ae02427ff955bebe9e3c63bc9f0da",
- "sha256:fe754d231288e1e64323cfad462fcee8f0288654c10bdf4f603a39ed923bef33"
- ],
- "markers": "platform_machine == 'aarch64' or (platform_machine == 'ppc64le' or (platform_machine == 'x86_64' or (platform_machine == 'amd64' or (platform_machine == 'AMD64' or (platform_machine == 'win32' or platform_machine == 'WIN32')))))",
- "version": "==3.0.3"
- },
- "grpcio": {
- "hashes": [
- "sha256:073f959c6f570797272f4ee9464a9997eaf1e98c27cb680225b82b53390d61e6",
- "sha256:0fd3b3968ffe7643144580f260f04d39d869fcc2cddb745deef078b09fd2b328",
- "sha256:1434ca77d6fed4ea312901122dc8da6c4389738bf5788f43efb19a838ac03ead",
- "sha256:1c30bb23a41df95109db130a6cc1b974844300ae2e5d68dd4947aacba5985aa5",
- "sha256:20e7a4f7ded59097c84059d28230907cd97130fa74f4a8bfd1d8e5ba18c81491",
- "sha256:2199165a1affb666aa24adf0c97436686d0a61bc5fc113c037701fb7c7fceb96",
- "sha256:297eef542156d6b15174a1231c2493ea9ea54af8d016b8ca7d5d9cc65cfcc444",
- "sha256:2aef56e85901c2397bd557c5ba514f84de1f0ae5dd132f5d5fed042858115951",
- "sha256:30943b9530fe3620e3b195c03130396cd0ee3a0d10a66c1bee715d1819001eaf",
- "sha256:3b36a2c6d4920ba88fa98075fdd58ff94ebeb8acc1215ae07d01a418af4c0253",
- "sha256:428d699c8553c27e98f4d29fdc0f0edc50e9a8a7590bfd294d2edb0da7be3629",
- "sha256:43e636dc2ce9ece583b3e2ca41df5c983f4302eabc6d5f9cd04f0562ee8ec1ae",
- "sha256:452ca5b4afed30e7274445dd9b441a35ece656ec1600b77fff8c216fdf07df43",
- "sha256:467a7d31554892eed2aa6c2d47ded1079fc40ea0b9601d9f79204afa8902274b",
- "sha256:4b44d7e39964e808b071714666a812049765b26b3ea48c4434a3b317bac82f14",
- "sha256:4c86343cf9ff7b2514dd229bdd88ebba760bd8973dac192ae687ff75e39ebfab",
- "sha256:5208a57eae445ae84a219dfd8b56e04313445d146873117b5fa75f3245bc1390",
- "sha256:5ff21e000ff2f658430bde5288cb1ac440ff15c0d7d18b5fb222f941b46cb0d2",
- "sha256:675997222f2e2f22928fbba640824aebd43791116034f62006e19730715166c0",
- "sha256:676e4a44e740deaba0f4d95ba1d8c5c89a2fcc43d02c39f69450b1fa19d39590",
- "sha256:6e306b97966369b889985a562ede9d99180def39ad42c8014628dd3cc343f508",
- "sha256:6fd9584bf1bccdfff1512719316efa77be235469e1e3295dce64538c4773840b",
- "sha256:705a68a973c4c76db5d369ed573fec3367d7d196673fa86614b33d8c8e9ebb08",
- "sha256:74d7d9fa97809c5b892449b28a65ec2bfa458a4735ddad46074f9f7d9550ad13",
- "sha256:77c8a317f0fd5a0a2be8ed5cbe5341537d5c00bb79b3bb27ba7c5378ba77dbca",
- "sha256:79a050889eb8d57a93ed21d9585bb63fca881666fc709f5d9f7f9372f5e7fd03",
- "sha256:7db16dd4ea1b05ada504f08d0dca1cd9b926bed3770f50e715d087c6f00ad748",
- "sha256:83f2292ae292ed5a47cdcb9821039ca8e88902923198f2193f13959360c01860",
- "sha256:87c9224acba0ad8bacddf427a1c2772e17ce50b3042a789547af27099c5f751d",
- "sha256:8a97a681e82bc11a42d4372fe57898d270a2707f36c45c6676e49ce0d5c41353",
- "sha256:9073513ec380434eb8d21970e1ab3161041de121f4018bbed3146839451a6d8e",
- "sha256:90bdd76b3f04bdb21de5398b8a7c629676c81dfac290f5f19883857e9371d28c",
- "sha256:91229d7203f1ef0ab420c9b53fe2ca5c1fbeb34f69b3bc1b5089466237a4a134",
- "sha256:92f88ca1b956eb8427a11bb8b4a0c0b2b03377235fc5102cb05e533b8693a415",
- "sha256:95ae3e8e2c1b9bf671817f86f155c5da7d49a2289c5cf27a319458c3e025c320",
- "sha256:9e30be89a75ee66aec7f9e60086fadb37ff8c0ba49a022887c28c134341f7179",
- "sha256:a48edde788b99214613e440fce495bbe2b1e142a7f214cce9e0832146c41e324",
- "sha256:a7152fa6e597c20cb97923407cf0934e14224af42c2b8d915f48bc3ad2d9ac18",
- "sha256:a9c7b71211f066908e518a2ef7a5e211670761651039f0d6a80d8d40054047df",
- "sha256:b0571a5aef36ba9177e262dc88a9240c866d903a62799e44fd4aae3f9a2ec17e",
- "sha256:b0fb2d4801546598ac5cd18e3ec79c1a9af8b8f2a86283c55a5337c5aeca4b1b",
- "sha256:b10241250cb77657ab315270b064a6c7f1add58af94befa20687e7c8d8603ae6",
- "sha256:b87efe4a380887425bb15f220079aa8336276398dc33fce38c64d278164f963d",
- "sha256:b98f43fcdb16172dec5f4b49f2fece4b16a99fd284d81c6bbac1b3b69fcbe0ff",
- "sha256:c193109ca4070cdcaa6eff00fdb5a56233dc7610216d58fb81638f89f02e4968",
- "sha256:c826f93050c73e7769806f92e601e0efdb83ec8d7c76ddf45d514fee54e8e619",
- "sha256:d020cfa595d1f8f5c6b343530cd3ca16ae5aefdd1e832b777f9f0eb105f5b139",
- "sha256:d6a478581b1a1a8fdf3318ecb5f4d0cda41cacdffe2b527c23707c9c1b8fdb55",
- "sha256:de2ad69c9a094bf37c1102b5744c9aec6cf74d2b635558b779085d0263166454",
- "sha256:e278eafb406f7e1b1b637c2cf51d3ad45883bb5bd1ca56bc05e4fc135dfdaa65",
- "sha256:e381fe0c2aa6c03b056ad8f52f8efca7be29fb4d9ae2f8873520843b6039612a",
- "sha256:e61e76020e0c332a98290323ecfec721c9544f5b739fab925b6e8cbe1944cf19",
- "sha256:f897c3b127532e6befdcf961c415c97f320d45614daf84deba0a54e64ea2457b",
- "sha256:fb464479934778d7cc5baf463d959d361954d6533ad34c3a4f1d267e86ee25fd"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==1.60.0"
- },
- "gunicorn": {
- "hashes": [
- "sha256:3213aa5e8c24949e792bcacfc176fef362e7aac80b76c56f6b5122bf350722f0",
- "sha256:88ec8bff1d634f98e61b9f65bc4bf3cd918a90806c6f5c48bc5603849ec81033"
- ],
- "index": "pypi",
- "markers": "python_version >= '3.5'",
- "version": "==21.2.0"
- },
- "h11": {
- "hashes": [
- "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d",
- "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==0.14.0"
- },
- "httpcore": {
- "hashes": [
- "sha256:34a38e2f9291467ee3b44e89dd52615370e152954ba21721378a87b2960f7a61",
- "sha256:421f18bac248b25d310f3cacd198d55b8e6125c107797b609ff9b7a6ba7991b5"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==1.0.5"
- },
- "httplib2": {
- "hashes": [
- "sha256:14ae0a53c1ba8f3d37e9e27cf37eabb0fb9980f435ba405d546948b009dd64dc",
- "sha256:d7a10bc5ef5ab08322488bde8c726eeee5c8618723fdb399597ec58f3d82df81"
- ],
- "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",
- "version": "==0.22.0"
- },
- "httpx": {
- "hashes": [
- "sha256:71d5465162c13681bff01ad59b2cc68dd838ea1f10e51574bac27103f00c91a5",
- "sha256:a0cb88a46f32dc874e04ee956e4c2764aba2aa228f650b06788ba6bda2962ab5"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==0.27.0"
- },
- "huggingface-hub": {
- "hashes": [
- "sha256:32e9a9a6843c92f253ff9ca16b9985def4d80a93fb357af5353f770ef74a81be",
- "sha256:3429e25f38ccb834d310804a3b711e7e4953db5a9e420cc147a5e194ca90fd17"
- ],
- "markers": "python_full_version >= '3.8.0'",
- "version": "==0.22.2"
- },
- "humanfriendly": {
- "hashes": [
- "sha256:1697e1a8a8f550fd43c2865cd84542fc175a61dcb779b6fee18cf6b6ccba1477",
- "sha256:6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2288ddc"
- ],
- "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'",
- "version": "==10.0"
- },
- "idna": {
- "hashes": [
- "sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc",
- "sha256:82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0"
- ],
- "markers": "python_version >= '3.5'",
- "version": "==3.7"
- },
- "importlib-metadata": {
- "hashes": [
- "sha256:30962b96c0c223483ed6cc7280e7f0199feb01a0e40cfae4d4450fc6fab1f570",
- "sha256:b78938b926ee8d5f020fc4772d487045805a55ddbad2ecf21c6d60938dc7fcd2"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==7.1.0"
- },
- "ipykernel": {
- "hashes": [
- "sha256:1181e653d95c6808039c509ef8e67c4126b3b3af7781496c7cbfb5ed938a27da",
- "sha256:3d44070060f9475ac2092b760123fadf105d2e2493c24848b6691a7c4f42af5c"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==6.29.4"
- },
- "ipython": {
- "hashes": [
- "sha256:07232af52a5ba146dc3372c7bf52a0f890a23edf38d77caef8d53f9cdc2584c1",
- "sha256:7468edaf4f6de3e1b912e57f66c241e6fd3c7099f2ec2136e239e142e800274d"
- ],
- "markers": "python_version >= '3.10'",
- "version": "==8.23.0"
- },
- "ipython-genutils": {
- "hashes": [
- "sha256:72dd37233799e619666c9f639a9da83c34013a73e8bbc79a7a6348d93c61fab8",
- "sha256:eb2e116e75ecef9d4d228fdc66af54269afa26ab4463042e33785b887c628ba8"
- ],
- "version": "==0.2.0"
- },
- "ipywidgets": {
- "hashes": [
- "sha256:bbe43850d79fb5e906b14801d6c01402857996864d1e5b6fa62dd2ee35559f60",
- "sha256:d0b9b41e49bae926a866e613a39b0f0097745d2b9f1f3dd406641b4a57ec42c9"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==8.1.2"
- },
- "isodate": {
- "hashes": [
- "sha256:0751eece944162659049d35f4f549ed815792b38793f07cf73381c1c87cbed96",
- "sha256:48c5881de7e8b0a0d648cb024c8062dc84e7b840ed81e864c7614fd3c127bde9"
- ],
- "version": "==0.6.1"
- },
- "isoduration": {
- "hashes": [
- "sha256:ac2f9015137935279eac671f94f89eb00584f940f5dc49462a0c4ee692ba1bd9",
- "sha256:b2904c2a4228c3d44f409c8ae8e2370eb21a26f7ac2ec5446df141dde3452042"
- ],
- "version": "==20.11.0"
- },
- "isort": {
- "hashes": [
- "sha256:48fdfcb9face5d58a4f6dde2e72a1fb8dcaf8ab26f95ab49fab84c2ddefb0109",
- "sha256:8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6"
- ],
- "markers": "python_full_version >= '3.8.0'",
- "version": "==5.13.2"
- },
- "itsdangerous": {
- "hashes": [
- "sha256:c6242fc49e35958c8b15141343aa660db5fc54d4f13a1db01a3f5891b98700ef",
- "sha256:e0050c0b7da1eea53ffaf149c0cfbb5c6e2e2b69c4bef22c81fa6eb73e5f6173"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==2.2.0"
- },
- "jedi": {
- "hashes": [
- "sha256:cf0496f3651bc65d7174ac1b7d043eff454892c708a87d1b683e57b569927ffd",
- "sha256:e983c654fe5c02867aef4cdfce5a2fbb4a50adc0af145f70504238f18ef5e7e0"
- ],
- "markers": "python_version >= '3.6'",
- "version": "==0.19.1"
- },
- "jinja2": {
- "hashes": [
- "sha256:7d6d50dd97d52cbc355597bd845fabfbac3f551e1f99619e39a35ce8c370b5fa",
- "sha256:ac8bd6544d4bb2c9792bf3a159e80bba8fda7f07e81bc3aed565432d5925ba90"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==3.1.3"
- },
- "jmespath": {
- "hashes": [
- "sha256:02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980",
- "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==1.0.1"
- },
- "joblib": {
- "hashes": [
- "sha256:1eb0dc091919cd384490de890cb5dfd538410a6d4b3b54eef09fb8c50b409b1c",
- "sha256:42942470d4062537be4d54c83511186da1fc14ba354961a2114da91efa9a4ed7"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==1.4.0"
- },
- "json5": {
- "hashes": [
- "sha256:34ed7d834b1341a86987ed52f3f76cd8ee184394906b6e22a1e0deb9ab294e8f",
- "sha256:548e41b9be043f9426776f05df8635a00fe06104ea51ed24b67f908856e151ae"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==0.9.25"
- },
- "jsonpatch": {
- "hashes": [
- "sha256:0ae28c0cd062bbd8b8ecc26d7d164fbbea9652a1a3693f3b956c1eae5145dade",
- "sha256:9fcd4009c41e6d12348b4a0ff2563ba56a2923a7dfee731d004e212e1ee5030c"
- ],
- "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6'",
- "version": "==1.33"
- },
- "jsonpointer": {
- "hashes": [
- "sha256:15d51bba20eea3165644553647711d150376234112651b4f1811022aecad7d7a",
- "sha256:585cee82b70211fa9e6043b7bb89db6e1aa49524340dde8ad6b63206ea689d88"
- ],
- "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6'",
- "version": "==2.4"
- },
- "jsonschema": {
- "extras": [
- "format-nongpl"
- ],
- "hashes": [
- "sha256:7996507afae316306f9e2290407761157c6f78002dcf7419acb99822143d1c6f",
- "sha256:85727c00279f5fa6bedbe6238d2aa6403bedd8b4864ab11207d07df3cc1b2ee5"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==4.21.1"
- },
- "jsonschema-specifications": {
- "hashes": [
- "sha256:48a76787b3e70f5ed53f1160d2b81f586e4ca6d1548c5de7085d1682674764cc",
- "sha256:87e4fdf3a94858b8a2ba2778d9ba57d8a9cafca7c7489c46ba0d30a8bc6a9c3c"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==2023.12.1"
- },
- "jupyter-bokeh": {
- "hashes": [
- "sha256:2da8c3ddc734d15737bf06126d9e31e84d30f18ac3da3a3f95be40a95a054c87",
- "sha256:676d74bd8b95c7467d5e7ea1c954b306c7768b7bfa2bb3dd32e64efdf7dc09ee"
- ],
- "index": "pypi",
- "markers": "python_version >= '3.8'",
- "version": "==3.0.7"
- },
- "jupyter-client": {
- "hashes": [
- "sha256:214668aaea208195f4c13d28eb272ba79f945fc0cf3f11c7092c20b2ca1980e7",
- "sha256:52be28e04171f07aed8f20e1616a5a552ab9fee9cbbe6c1896ae170c3880d392"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==7.4.9"
- },
- "jupyter-core": {
- "hashes": [
- "sha256:4f7315d2f6b4bcf2e3e7cb6e46772eba760ae459cd1f59d29eb57b0a01bd7409",
- "sha256:aa5f8d32bbf6b431ac830496da7392035d6f61b4f54872f15c4bd2a9c3f536d9"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==5.7.2"
- },
- "jupyter-events": {
- "hashes": [
- "sha256:4b72130875e59d57716d327ea70d3ebc3af1944d3717e5a498b8a06c6c159960",
- "sha256:670b8229d3cc882ec782144ed22e0d29e1c2d639263f92ca8383e66682845e22"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==0.10.0"
- },
- "jupyter-lsp": {
- "hashes": [
- "sha256:45fbddbd505f3fbfb0b6cb2f1bc5e15e83ab7c79cd6e89416b248cb3c00c11da",
- "sha256:793147a05ad446f809fd53ef1cd19a9f5256fd0a2d6b7ce943a982cb4f545001"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==2.2.5"
- },
- "jupyter-packaging": {
- "hashes": [
- "sha256:9d9b2b63b97ffd67a8bc5391c32a421bc415b264a32c99e4d8d8dd31daae9cf4",
- "sha256:c1a376b23bcaced6dfc9ab0e924b015ce11552a1a5bccf783c6476957c538348"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==0.12.3"
- },
- "jupyter-resource-usage": {
- "hashes": [
- "sha256:20babc5a63fd53724b12e50b9046ca07784fb56004c39d0442990116fb925a4b",
- "sha256:e3253eb959fc0ac970bb269c8fc8a9e0b170ffafd0073067ee6d17210d411df1"
- ],
- "index": "pypi",
- "markers": "python_version >= '3.8'",
- "version": "==1.0.2"
- },
- "jupyter-server": {
- "hashes": [
- "sha256:659154cea512083434fd7c93b7fe0897af7a2fd0b9dd4749282b42eaac4ae677",
- "sha256:fb6be52c713e80e004fac34b35a0990d6d36ba06fd0a2b2ed82b899143a64210"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==2.14.0"
- },
- "jupyter-server-fileid": {
- "hashes": [
- "sha256:76a2fbcea6950968485dcd509c2d6ac417ca11e61ab1ad447a475f0878ca808f",
- "sha256:ffb11460ca5f8567644f6120b25613fca8e3f3048b38d14c6e3fe1902f314a9b"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==0.9.2"
- },
- "jupyter-server-mathjax": {
- "hashes": [
- "sha256:416389dde2010df46d5fbbb7adb087a5607111070af65a1445391040f2babb5e",
- "sha256:bb1e6b6dc0686c1fe386a22b5886163db548893a99c2810c36399e9c4ca23943"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==0.2.6"
- },
- "jupyter-server-proxy": {
- "hashes": [
- "sha256:6fd8ce88a0100e637b48f1d3aa32f09672bcb2813dc057d70567f0a40b1237f5",
- "sha256:f97bd0c6bbba4931d8ae22bef872703c9785fc1258c4bc196955e2bd034f3eaa"
- ],
- "index": "pypi",
- "markers": "python_version >= '3.8'",
- "version": "==4.1.2"
- },
- "jupyter-server-terminals": {
- "hashes": [
- "sha256:41ee0d7dc0ebf2809c668e0fc726dfaf258fcd3e769568996ca731b6194ae9aa",
- "sha256:5ae0295167220e9ace0edcfdb212afd2b01ee8d179fe6f23c899590e9b8a5269"
- ],
- "index": "pypi",
- "markers": "python_version >= '3.8'",
- "version": "==0.5.3"
- },
- "jupyter-server-ydoc": {
- "hashes": [
- "sha256:969a3a1a77ed4e99487d60a74048dc9fa7d3b0dcd32e60885d835bbf7ba7be11",
- "sha256:a6fe125091792d16c962cc3720c950c2b87fcc8c3ecf0c54c84e9a20b814526c"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==0.8.0"
- },
- "jupyter-ydoc": {
- "hashes": [
- "sha256:5759170f112c70320a84217dd98d287699076ae65a7f88d458d57940a9f2b882",
- "sha256:5a02ca7449f0d875f73e8cb8efdf695dddef15a8e71378b1f4eda6b7c90f5382"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==0.2.5"
- },
- "jupyterlab": {
- "hashes": [
- "sha256:2fadeaec161b0d1aec19f17721d8b803aef1d267f89c8b636b703be14f435c8f",
- "sha256:d92d57d402f53922bca5090654843aa08e511290dff29fdb0809eafbbeb6df98"
- ],
- "index": "pypi",
- "markers": "python_version >= '3.7'",
- "version": "==3.6.7"
- },
- "jupyterlab-git": {
- "hashes": [
- "sha256:aebf62ee52b40d64850b582b5740c929dc6043b6fd2d7b50749196468409cb18",
- "sha256:eb00bceebdfcfaefd266bcbe8a50f8a7eff32315def56f6548a4ad99cc4a5d8d"
- ],
- "index": "pypi",
- "markers": "python_version >= '3.7'",
- "version": "==0.44.0"
- },
- "jupyterlab-lsp": {
- "hashes": [
- "sha256:59138222feed50613ae44f1d6147aa9b135f5289c4c4a01a8779b9826cd85a57",
- "sha256:64173ee0b04eeeeb1c0b0d6cc0e13842e7bee7b9e820d5a516f532375ffbe98e"
- ],
- "index": "pypi",
- "markers": "python_version >= '3.8'",
- "version": "==4.3.0"
- },
- "jupyterlab-pygments": {
- "hashes": [
- "sha256:721aca4d9029252b11cfa9d185e5b5af4d54772bb8072f9b7036f4170054d35d",
- "sha256:841a89020971da1d8693f1a99997aefc5dc424bb1b251fd6322462a1b8842780"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==0.3.0"
- },
- "jupyterlab-server": {
- "hashes": [
- "sha256:54622cbd330526a385ee0c1fdccdff3a1e7219bf3e864a335284a1270a1973df",
- "sha256:9b3ba91cf2837f7f124fca36d63f3ca80ace2bed4898a63dd47e6598c1ab006f"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==2.26.0"
- },
- "jupyterlab-widgets": {
- "hashes": [
- "sha256:04f2ac04976727e4f9d0fa91cdc2f1ab860f965e504c29dbd6a65c882c9d04c0",
- "sha256:dd61f3ae7a5a7f80299e14585ce6cf3d6925a96c9103c978eda293197730cb64"
- ],
- "index": "pypi",
- "markers": "python_version >= '3.7'",
- "version": "==3.0.10"
- },
- "kfp": {
- "hashes": [
- "sha256:3d300cb0f6d5bb303c1197f4d2740f2f27ab1fa6fd6aaa6dd8e72cfa85a72989"
- ],
- "markers": "python_full_version >= '3.6.1'",
- "version": "==1.8.22"
- },
- "kfp-pipeline-spec": {
- "hashes": [
- "sha256:4cefae00ac50145cf862127202a8b8a783ed7504c773d7d7c517bd115283be25"
- ],
- "markers": "python_full_version >= '3.7.0'",
- "version": "==0.1.16"
- },
- "kfp-server-api": {
- "hashes": [
- "sha256:482d71765ba57c003164dbb980a8cb1a18d234b578d064dc88dbeb3e4c7ab6de"
- ],
- "version": "==1.8.5"
- },
- "kfp-tekton": {
- "hashes": [
- "sha256:cbd116898e359c7a3ad1f1f02e3f8f9612e893139a95ec152c371f3d984725ba"
- ],
- "index": "pypi",
- "markers": "python_full_version >= '3.6.1'",
- "version": "==1.5.10"
- },
- "kiwisolver": {
- "hashes": [
- "sha256:00bd361b903dc4bbf4eb165f24d1acbee754fce22ded24c3d56eec268658a5cf",
- "sha256:040c1aebeda72197ef477a906782b5ab0d387642e93bda547336b8957c61022e",
- "sha256:05703cf211d585109fcd72207a31bb170a0f22144d68298dc5e61b3c946518af",
- "sha256:06f54715b7737c2fecdbf140d1afb11a33d59508a47bf11bb38ecf21dc9ab79f",
- "sha256:0dc9db8e79f0036e8173c466d21ef18e1befc02de8bf8aa8dc0813a6dc8a7046",
- "sha256:0f114aa76dc1b8f636d077979c0ac22e7cd8f3493abbab152f20eb8d3cda71f3",
- "sha256:11863aa14a51fd6ec28688d76f1735f8f69ab1fabf388851a595d0721af042f5",
- "sha256:11c7de8f692fc99816e8ac50d1d1aef4f75126eefc33ac79aac02c099fd3db71",
- "sha256:11d011a7574eb3b82bcc9c1a1d35c1d7075677fdd15de527d91b46bd35e935ee",
- "sha256:146d14bebb7f1dc4d5fbf74f8a6cb15ac42baadee8912eb84ac0b3b2a3dc6ac3",
- "sha256:15568384086b6df3c65353820a4473575dbad192e35010f622c6ce3eebd57af9",
- "sha256:19df6e621f6d8b4b9c4d45f40a66839294ff2bb235e64d2178f7522d9170ac5b",
- "sha256:1b04139c4236a0f3aff534479b58f6f849a8b351e1314826c2d230849ed48985",
- "sha256:210ef2c3a1f03272649aff1ef992df2e724748918c4bc2d5a90352849eb40bea",
- "sha256:2270953c0d8cdab5d422bee7d2007f043473f9d2999631c86a223c9db56cbd16",
- "sha256:2400873bccc260b6ae184b2b8a4fec0e4082d30648eadb7c3d9a13405d861e89",
- "sha256:2a40773c71d7ccdd3798f6489aaac9eee213d566850a9533f8d26332d626b82c",
- "sha256:2c5674c4e74d939b9d91dda0fae10597ac7521768fec9e399c70a1f27e2ea2d9",
- "sha256:3195782b26fc03aa9c6913d5bad5aeb864bdc372924c093b0f1cebad603dd712",
- "sha256:31a82d498054cac9f6d0b53d02bb85811185bcb477d4b60144f915f3b3126342",
- "sha256:32d5cf40c4f7c7b3ca500f8985eb3fb3a7dfc023215e876f207956b5ea26632a",
- "sha256:346f5343b9e3f00b8db8ba359350eb124b98c99efd0b408728ac6ebf38173958",
- "sha256:378a214a1e3bbf5ac4a8708304318b4f890da88c9e6a07699c4ae7174c09a68d",
- "sha256:39b42c68602539407884cf70d6a480a469b93b81b7701378ba5e2328660c847a",
- "sha256:3a2b053a0ab7a3960c98725cfb0bf5b48ba82f64ec95fe06f1d06c99b552e130",
- "sha256:3aba7311af82e335dd1e36ffff68aaca609ca6290c2cb6d821a39aa075d8e3ff",
- "sha256:3cd32d6c13807e5c66a7cbb79f90b553642f296ae4518a60d8d76243b0ad2898",
- "sha256:3edd2fa14e68c9be82c5b16689e8d63d89fe927e56debd6e1dbce7a26a17f81b",
- "sha256:4c380469bd3f970ef677bf2bcba2b6b0b4d5c75e7a020fb863ef75084efad66f",
- "sha256:4e66e81a5779b65ac21764c295087de82235597a2293d18d943f8e9e32746265",
- "sha256:53abb58632235cd154176ced1ae8f0d29a6657aa1aa9decf50b899b755bc2b93",
- "sha256:5794cf59533bc3f1b1c821f7206a3617999db9fbefc345360aafe2e067514929",
- "sha256:59415f46a37f7f2efeec758353dd2eae1b07640d8ca0f0c42548ec4125492635",
- "sha256:59ec7b7c7e1a61061850d53aaf8e93db63dce0c936db1fda2658b70e4a1be709",
- "sha256:59edc41b24031bc25108e210c0def6f6c2191210492a972d585a06ff246bb79b",
- "sha256:5a580c91d686376f0f7c295357595c5a026e6cbc3d77b7c36e290201e7c11ecb",
- "sha256:5b94529f9b2591b7af5f3e0e730a4e0a41ea174af35a4fd067775f9bdfeee01a",
- "sha256:5c7b3b3a728dc6faf3fc372ef24f21d1e3cee2ac3e9596691d746e5a536de920",
- "sha256:5c90ae8c8d32e472be041e76f9d2f2dbff4d0b0be8bd4041770eddb18cf49a4e",
- "sha256:5e7139af55d1688f8b960ee9ad5adafc4ac17c1c473fe07133ac092310d76544",
- "sha256:5ff5cf3571589b6d13bfbfd6bcd7a3f659e42f96b5fd1c4830c4cf21d4f5ef45",
- "sha256:620ced262a86244e2be10a676b646f29c34537d0d9cc8eb26c08f53d98013390",
- "sha256:6512cb89e334e4700febbffaaa52761b65b4f5a3cf33f960213d5656cea36a77",
- "sha256:6c08e1312a9cf1074d17b17728d3dfce2a5125b2d791527f33ffbe805200a355",
- "sha256:6c3bd3cde54cafb87d74d8db50b909705c62b17c2099b8f2e25b461882e544ff",
- "sha256:6ef7afcd2d281494c0a9101d5c571970708ad911d028137cd558f02b851c08b4",
- "sha256:7269d9e5f1084a653d575c7ec012ff57f0c042258bf5db0954bf551c158466e7",
- "sha256:72d40b33e834371fd330fb1472ca19d9b8327acb79a5821d4008391db8e29f20",
- "sha256:74d1b44c6cfc897df648cc9fdaa09bc3e7679926e6f96df05775d4fb3946571c",
- "sha256:74db36e14a7d1ce0986fa104f7d5637aea5c82ca6326ed0ec5694280942d1162",
- "sha256:763773d53f07244148ccac5b084da5adb90bfaee39c197554f01b286cf869228",
- "sha256:76c6a5964640638cdeaa0c359382e5703e9293030fe730018ca06bc2010c4437",
- "sha256:76d9289ed3f7501012e05abb8358bbb129149dbd173f1f57a1bf1c22d19ab7cc",
- "sha256:7931d8f1f67c4be9ba1dd9c451fb0eeca1a25b89e4d3f89e828fe12a519b782a",
- "sha256:7b8b454bac16428b22560d0a1cf0a09875339cab69df61d7805bf48919415901",
- "sha256:7e5bab140c309cb3a6ce373a9e71eb7e4873c70c2dda01df6820474f9889d6d4",
- "sha256:83d78376d0d4fd884e2c114d0621624b73d2aba4e2788182d286309ebdeed770",
- "sha256:852542f9481f4a62dbb5dd99e8ab7aedfeb8fb6342349a181d4036877410f525",
- "sha256:85267bd1aa8880a9c88a8cb71e18d3d64d2751a790e6ca6c27b8ccc724bcd5ad",
- "sha256:88a2df29d4724b9237fc0c6eaf2a1adae0cdc0b3e9f4d8e7dc54b16812d2d81a",
- "sha256:88b9f257ca61b838b6f8094a62418421f87ac2a1069f7e896c36a7d86b5d4c29",
- "sha256:8ab3919a9997ab7ef2fbbed0cc99bb28d3c13e6d4b1ad36e97e482558a91be90",
- "sha256:92dea1ffe3714fa8eb6a314d2b3c773208d865a0e0d35e713ec54eea08a66250",
- "sha256:9407b6a5f0d675e8a827ad8742e1d6b49d9c1a1da5d952a67d50ef5f4170b18d",
- "sha256:9408acf3270c4b6baad483865191e3e582b638b1654a007c62e3efe96f09a9a3",
- "sha256:955e8513d07a283056b1396e9a57ceddbd272d9252c14f154d450d227606eb54",
- "sha256:9db8ea4c388fdb0f780fe91346fd438657ea602d58348753d9fb265ce1bca67f",
- "sha256:9eaa8b117dc8337728e834b9c6e2611f10c79e38f65157c4c38e9400286f5cb1",
- "sha256:a51a263952b1429e429ff236d2f5a21c5125437861baeed77f5e1cc2d2c7c6da",
- "sha256:a6aa6315319a052b4ee378aa171959c898a6183f15c1e541821c5c59beaa0238",
- "sha256:aa12042de0171fad672b6c59df69106d20d5596e4f87b5e8f76df757a7c399aa",
- "sha256:aaf7be1207676ac608a50cd08f102f6742dbfc70e8d60c4db1c6897f62f71523",
- "sha256:b0157420efcb803e71d1b28e2c287518b8808b7cf1ab8af36718fd0a2c453eb0",
- "sha256:b3f7e75f3015df442238cca659f8baa5f42ce2a8582727981cbfa15fee0ee205",
- "sha256:b9098e0049e88c6a24ff64545cdfc50807818ba6c1b739cae221bbbcbc58aad3",
- "sha256:ba55dce0a9b8ff59495ddd050a0225d58bd0983d09f87cfe2b6aec4f2c1234e4",
- "sha256:bb86433b1cfe686da83ce32a9d3a8dd308e85c76b60896d58f082136f10bffac",
- "sha256:bbea0db94288e29afcc4c28afbf3a7ccaf2d7e027489c449cf7e8f83c6346eb9",
- "sha256:bbf1d63eef84b2e8c89011b7f2235b1e0bf7dacc11cac9431fc6468e99ac77fb",
- "sha256:c7940c1dc63eb37a67721b10d703247552416f719c4188c54e04334321351ced",
- "sha256:c9bf3325c47b11b2e51bca0824ea217c7cd84491d8ac4eefd1e409705ef092bd",
- "sha256:cdc8a402aaee9a798b50d8b827d7ecf75edc5fb35ea0f91f213ff927c15f4ff0",
- "sha256:ceec1a6bc6cab1d6ff5d06592a91a692f90ec7505d6463a88a52cc0eb58545da",
- "sha256:cfe6ab8da05c01ba6fbea630377b5da2cd9bcbc6338510116b01c1bc939a2c18",
- "sha256:d099e745a512f7e3bbe7249ca835f4d357c586d78d79ae8f1dcd4d8adeb9bda9",
- "sha256:d0ef46024e6a3d79c01ff13801cb19d0cad7fd859b15037aec74315540acc276",
- "sha256:d2e5a98f0ec99beb3c10e13b387f8db39106d53993f498b295f0c914328b1333",
- "sha256:da4cfb373035def307905d05041c1d06d8936452fe89d464743ae7fb8371078b",
- "sha256:da802a19d6e15dffe4b0c24b38b3af68e6c1a68e6e1d8f30148c83864f3881db",
- "sha256:dced8146011d2bc2e883f9bd68618b8247387f4bbec46d7392b3c3b032640126",
- "sha256:dfdd7c0b105af050eb3d64997809dc21da247cf44e63dc73ff0fd20b96be55a9",
- "sha256:e368f200bbc2e4f905b8e71eb38b3c04333bddaa6a2464a6355487b02bb7fb09",
- "sha256:e391b1f0a8a5a10ab3b9bb6afcfd74f2175f24f8975fb87ecae700d1503cdee0",
- "sha256:e57e563a57fb22a142da34f38acc2fc1a5c864bc29ca1517a88abc963e60d6ec",
- "sha256:e5d706eba36b4c4d5bc6c6377bb6568098765e990cfc21ee16d13963fab7b3e7",
- "sha256:ec20916e7b4cbfb1f12380e46486ec4bcbaa91a9c448b97023fde0d5bbf9e4ff",
- "sha256:f1d072c2eb0ad60d4c183f3fb44ac6f73fb7a8f16a2694a91f988275cbf352f9",
- "sha256:f846c260f483d1fd217fe5ed7c173fb109efa6b1fc8381c8b7552c5781756192",
- "sha256:f91de7223d4c7b793867797bacd1ee53bfe7359bd70d27b7b58a04efbb9436c8",
- "sha256:faae4860798c31530dd184046a900e652c95513796ef51a12bc086710c2eec4d",
- "sha256:fc579bf0f502e54926519451b920e875f433aceb4624a3646b3252b5caa9e0b6",
- "sha256:fcc700eadbbccbf6bc1bcb9dbe0786b4b1cb91ca0dcda336eef5c2beed37b797",
- "sha256:fd32ea360bcbb92d28933fc05ed09bffcb1704ba3fc7942e81db0fd4f81a7892",
- "sha256:fdb7adb641a0d13bdcd4ef48e062363d8a9ad4a182ac7647ec88f695e719ae9f"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==1.4.5"
- },
- "kubernetes": {
- "hashes": [
- "sha256:213befbb4e5aed95f94950c7eed0c2322fc5a2f8f40932e58d28fdd42d90836c",
- "sha256:eb42333dad0bb5caf4e66460c6a4a1a36f0f057a040f35018f6c05a699baed86"
- ],
- "index": "pypi",
- "markers": "python_version >= '3.6'",
- "version": "==25.3.0"
- },
- "langchain": {
- "hashes": [
- "sha256:5f612761ba548b81748ed8dc70535e8de0531445415028a82de3fd8255bfa8a3",
- "sha256:b4dd1760e2d035daefad08af60a209b96b729ee45492d34e3e127e553a471034"
- ],
- "index": "pypi",
- "markers": "python_version < '4.0' and python_full_version >= '3.8.1'",
- "version": "==0.1.12"
- },
- "langchain-community": {
- "hashes": [
- "sha256:830f0d5f4ff9638b99ca01820c26abfa4b65fa705ef89b5ce55ac9aa3a7d83af",
- "sha256:bb56dbc1ef11ca09f258468e11368781adda9219e144073e30cda69496d342b2"
- ],
- "markers": "python_version < '4.0' and python_full_version >= '3.8.1'",
- "version": "==0.0.33"
- },
- "langchain-core": {
- "hashes": [
- "sha256:d8772dccef95fc97bfa2dcd19412e620ebe14def1f0e218374971f6e30a46a49",
- "sha256:e313975d9ae2926342e6f2ad760338d31f18b1223e9b8b4dc408daeeade46a83"
- ],
- "markers": "python_version < '4.0' and python_full_version >= '3.8.1'",
- "version": "==0.1.44"
- },
- "langchain-text-splitters": {
- "hashes": [
- "sha256:ac459fa98799f5117ad5425a9330b21961321e30bc19a2a2f9f761ddadd62aa1",
- "sha256:f5b802f873f5ff6a8b9259ff34d53ed989666ef4e1582e6d1adb3b5520e3839a"
- ],
- "markers": "python_version < '4.0' and python_full_version >= '3.8.1'",
- "version": "==0.0.1"
- },
- "langsmith": {
- "hashes": [
- "sha256:2f8967e2aaaed8881efe6f346590681243b315af8ba8a037d969c299d42071d3",
- "sha256:9cd21cd0928123b2bd2363f03515cb1f6a833d9a9f00420240d5132861d15fcc"
- ],
- "markers": "python_version < '4.0' and python_full_version >= '3.8.1'",
- "version": "==0.1.48"
- },
- "markdown-it-py": {
- "hashes": [
- "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1",
- "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==3.0.0"
- },
- "markupsafe": {
- "hashes": [
- "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf",
- "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff",
- "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f",
- "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3",
- "sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532",
- "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f",
- "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617",
- "sha256:2d2d793e36e230fd32babe143b04cec8a8b3eb8a3122d2aceb4a371e6b09b8df",
- "sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4",
- "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906",
- "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f",
- "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4",
- "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8",
- "sha256:4096e9de5c6fdf43fb4f04c26fb114f61ef0bf2e5604b6ee3019d51b69e8c371",
- "sha256:4275d846e41ecefa46e2015117a9f491e57a71ddd59bbead77e904dc02b1bed2",
- "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465",
- "sha256:4f11aa001c540f62c6166c7726f71f7573b52c68c31f014c25cc7901deea0b52",
- "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6",
- "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169",
- "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad",
- "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2",
- "sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0",
- "sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029",
- "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f",
- "sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a",
- "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced",
- "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5",
- "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c",
- "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf",
- "sha256:7b2e5a267c855eea6b4283940daa6e88a285f5f2a67f2220203786dfa59b37e9",
- "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb",
- "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad",
- "sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3",
- "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1",
- "sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46",
- "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc",
- "sha256:a549b9c31bec33820e885335b451286e2969a2d9e24879f83fe904a5ce59d70a",
- "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee",
- "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900",
- "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5",
- "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea",
- "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f",
- "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5",
- "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e",
- "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a",
- "sha256:c8b29db45f8fe46ad280a7294f5c3ec36dbac9491f2d1c17345be8e69cc5928f",
- "sha256:ce409136744f6521e39fd8e2a24c53fa18ad67aa5bc7c2cf83645cce5b5c4e50",
- "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a",
- "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b",
- "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4",
- "sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff",
- "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2",
- "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46",
- "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b",
- "sha256:ec6a563cff360b50eed26f13adc43e61bc0c04d94b8be985e6fb24b81f6dcfdf",
- "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5",
- "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5",
- "sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab",
- "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd",
- "sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==2.1.5"
- },
- "marshmallow": {
- "hashes": [
- "sha256:4e65e9e0d80fc9e609574b9983cf32579f305c718afb30d7233ab818571768c3",
- "sha256:f085493f79efb0644f270a9bf2892843142d80d7174bbbd2f3713f2a589dc633"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==3.21.1"
- },
- "matplotlib": {
- "hashes": [
- "sha256:1c13f041a7178f9780fb61cc3a2b10423d5e125480e4be51beaf62b172413b67",
- "sha256:232ce322bfd020a434caaffbd9a95333f7c2491e59cfc014041d95e38ab90d1c",
- "sha256:493e9f6aa5819156b58fce42b296ea31969f2aab71c5b680b4ea7a3cb5c07d94",
- "sha256:50bac6e4d77e4262c4340d7a985c30912054745ec99756ce213bfbc3cb3808eb",
- "sha256:606e3b90897554c989b1e38a258c626d46c873523de432b1462f295db13de6f9",
- "sha256:6209e5c9aaccc056e63b547a8152661324404dd92340a6e479b3a7f24b42a5d0",
- "sha256:6485ac1f2e84676cff22e693eaa4fbed50ef5dc37173ce1f023daef4687df616",
- "sha256:6addbd5b488aedb7f9bc19f91cd87ea476206f45d7116fcfe3d31416702a82fa",
- "sha256:72f9322712e4562e792b2961971891b9fbbb0e525011e09ea0d1f416c4645661",
- "sha256:7a6769f58ce51791b4cb8b4d7642489df347697cd3e23d88266aaaee93b41d9a",
- "sha256:8080d5081a86e690d7688ffa542532e87f224c38a6ed71f8fbed34dd1d9fedae",
- "sha256:843cbde2f0946dadd8c5c11c6d91847abd18ec76859dc319362a0964493f0ba6",
- "sha256:8aac397d5e9ec158960e31c381c5ffc52ddd52bd9a47717e2a694038167dffea",
- "sha256:8f65c9f002d281a6e904976007b2d46a1ee2bcea3a68a8c12dda24709ddc9106",
- "sha256:90df07db7b599fe7035d2f74ab7e438b656528c68ba6bb59b7dc46af39ee48ef",
- "sha256:9bb0189011785ea794ee827b68777db3ca3f93f3e339ea4d920315a0e5a78d54",
- "sha256:a0e47eda4eb2614300fc7bb4657fced3e83d6334d03da2173b09e447418d499f",
- "sha256:abc9d838f93583650c35eca41cfcec65b2e7cb50fd486da6f0c49b5e1ed23014",
- "sha256:ac24233e8f2939ac4fd2919eed1e9c0871eac8057666070e94cbf0b33dd9c338",
- "sha256:b12ba985837e4899b762b81f5b2845bd1a28f4fdd1a126d9ace64e9c4eb2fb25",
- "sha256:b7a2a253d3b36d90c8993b4620183b55665a429da8357a4f621e78cd48b2b30b",
- "sha256:c7064120a59ce6f64103c9cefba8ffe6fba87f2c61d67c401186423c9a20fd35",
- "sha256:c89ee9314ef48c72fe92ce55c4e95f2f39d70208f9f1d9db4e64079420d8d732",
- "sha256:cc4ccdc64e3039fc303defd119658148f2349239871db72cd74e2eeaa9b80b71",
- "sha256:ce1edd9f5383b504dbc26eeea404ed0a00656c526638129028b758fd43fc5f10",
- "sha256:ecd79298550cba13a43c340581a3ec9c707bd895a6a061a78fa2524660482fc0",
- "sha256:f51c4c869d4b60d769f7b4406eec39596648d9d70246428745a681c327a8ad30",
- "sha256:fb44f53af0a62dc80bba4443d9b27f2fde6acfdac281d95bc872dc148a6509cc"
- ],
- "index": "pypi",
- "markers": "python_version >= '3.9'",
- "version": "==3.8.4"
- },
- "matplotlib-inline": {
- "hashes": [
- "sha256:8423b23ec666be3d16e16b60bdd8ac4e86e840ebd1dd11a30b9f117f2fa0ab90",
- "sha256:df192d39a4ff8f21b1895d72e6a13f5fcc5099f00fa84384e0ea28c2cc0653ca"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==0.1.7"
- },
- "mccabe": {
- "hashes": [
- "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325",
- "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e"
- ],
- "version": "==0.7.0"
- },
- "mdurl": {
- "hashes": [
- "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8",
- "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==0.1.2"
- },
- "minio": {
- "hashes": [
- "sha256:59d8906e2da248a9caac34d4958a859cc3a44abbe6447910c82b5abfa9d6a2e1",
- "sha256:ed9176c96d4271cb1022b9ecb8a538b1e55b32ae06add6de16425cab99ef2304"
- ],
- "version": "==7.2.5"
- },
- "mistune": {
- "hashes": [
- "sha256:71481854c30fdbc938963d3605b72501f5c10a9320ecd412c121c163a1c7d205",
- "sha256:fc7f93ded930c92394ef2cb6f04a8aabab4117a91449e72dcc8dfa646a508be8"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==3.0.2"
- },
- "mpmath": {
- "hashes": [
- "sha256:7a28eb2a9774d00c7bc92411c19a89209d5da7c4c9a9e227be8330a23a25b91f",
- "sha256:a0b2b9fe80bbcd81a6647ff13108738cfb482d481d826cc0e02f5b35e5c88d2c"
- ],
- "version": "==1.3.0"
- },
- "multidict": {
- "hashes": [
- "sha256:01265f5e40f5a17f8241d52656ed27192be03bfa8764d88e8220141d1e4b3556",
- "sha256:0275e35209c27a3f7951e1ce7aaf93ce0d163b28948444bec61dd7badc6d3f8c",
- "sha256:04bde7a7b3de05732a4eb39c94574db1ec99abb56162d6c520ad26f83267de29",
- "sha256:04da1bb8c8dbadf2a18a452639771951c662c5ad03aefe4884775454be322c9b",
- "sha256:09a892e4a9fb47331da06948690ae38eaa2426de97b4ccbfafbdcbe5c8f37ff8",
- "sha256:0d63c74e3d7ab26de115c49bffc92cc77ed23395303d496eae515d4204a625e7",
- "sha256:107c0cdefe028703fb5dafe640a409cb146d44a6ae201e55b35a4af8e95457dd",
- "sha256:141b43360bfd3bdd75f15ed811850763555a251e38b2405967f8e25fb43f7d40",
- "sha256:14c2976aa9038c2629efa2c148022ed5eb4cb939e15ec7aace7ca932f48f9ba6",
- "sha256:19fe01cea168585ba0f678cad6f58133db2aa14eccaf22f88e4a6dccadfad8b3",
- "sha256:1d147090048129ce3c453f0292e7697d333db95e52616b3793922945804a433c",
- "sha256:1d9ea7a7e779d7a3561aade7d596649fbecfa5c08a7674b11b423783217933f9",
- "sha256:215ed703caf15f578dca76ee6f6b21b7603791ae090fbf1ef9d865571039ade5",
- "sha256:21fd81c4ebdb4f214161be351eb5bcf385426bf023041da2fd9e60681f3cebae",
- "sha256:220dd781e3f7af2c2c1053da9fa96d9cf3072ca58f057f4c5adaaa1cab8fc442",
- "sha256:228b644ae063c10e7f324ab1ab6b548bdf6f8b47f3ec234fef1093bc2735e5f9",
- "sha256:29bfeb0dff5cb5fdab2023a7a9947b3b4af63e9c47cae2a10ad58394b517fddc",
- "sha256:2f4848aa3baa109e6ab81fe2006c77ed4d3cd1e0ac2c1fbddb7b1277c168788c",
- "sha256:2faa5ae9376faba05f630d7e5e6be05be22913782b927b19d12b8145968a85ea",
- "sha256:2ffc42c922dbfddb4a4c3b438eb056828719f07608af27d163191cb3e3aa6cc5",
- "sha256:37b15024f864916b4951adb95d3a80c9431299080341ab9544ed148091b53f50",
- "sha256:3cc2ad10255f903656017363cd59436f2111443a76f996584d1077e43ee51182",
- "sha256:3d25f19500588cbc47dc19081d78131c32637c25804df8414463ec908631e453",
- "sha256:403c0911cd5d5791605808b942c88a8155c2592e05332d2bf78f18697a5fa15e",
- "sha256:411bf8515f3be9813d06004cac41ccf7d1cd46dfe233705933dd163b60e37600",
- "sha256:425bf820055005bfc8aa9a0b99ccb52cc2f4070153e34b701acc98d201693733",
- "sha256:435a0984199d81ca178b9ae2c26ec3d49692d20ee29bc4c11a2a8d4514c67eda",
- "sha256:4a6a4f196f08c58c59e0b8ef8ec441d12aee4125a7d4f4fef000ccb22f8d7241",
- "sha256:4cc0ef8b962ac7a5e62b9e826bd0cd5040e7d401bc45a6835910ed699037a461",
- "sha256:51d035609b86722963404f711db441cf7134f1889107fb171a970c9701f92e1e",
- "sha256:53689bb4e102200a4fafa9de9c7c3c212ab40a7ab2c8e474491914d2305f187e",
- "sha256:55205d03e8a598cfc688c71ca8ea5f66447164efff8869517f175ea632c7cb7b",
- "sha256:5c0631926c4f58e9a5ccce555ad7747d9a9f8b10619621f22f9635f069f6233e",
- "sha256:5cb241881eefd96b46f89b1a056187ea8e9ba14ab88ba632e68d7a2ecb7aadf7",
- "sha256:60d698e8179a42ec85172d12f50b1668254628425a6bd611aba022257cac1386",
- "sha256:612d1156111ae11d14afaf3a0669ebf6c170dbb735e510a7438ffe2369a847fd",
- "sha256:6214c5a5571802c33f80e6c84713b2c79e024995b9c5897f794b43e714daeec9",
- "sha256:6939c95381e003f54cd4c5516740faba40cf5ad3eeff460c3ad1d3e0ea2549bf",
- "sha256:69db76c09796b313331bb7048229e3bee7928eb62bab5e071e9f7fcc4879caee",
- "sha256:6bf7a982604375a8d49b6cc1b781c1747f243d91b81035a9b43a2126c04766f5",
- "sha256:766c8f7511df26d9f11cd3a8be623e59cca73d44643abab3f8c8c07620524e4a",
- "sha256:76c0de87358b192de7ea9649beb392f107dcad9ad27276324c24c91774ca5271",
- "sha256:76f067f5121dcecf0d63a67f29080b26c43c71a98b10c701b0677e4a065fbd54",
- "sha256:7901c05ead4b3fb75113fb1dd33eb1253c6d3ee37ce93305acd9d38e0b5f21a4",
- "sha256:79660376075cfd4b2c80f295528aa6beb2058fd289f4c9252f986751a4cd0496",
- "sha256:79a6d2ba910adb2cbafc95dad936f8b9386e77c84c35bc0add315b856d7c3abb",
- "sha256:7afcdd1fc07befad18ec4523a782cde4e93e0a2bf71239894b8d61ee578c1319",
- "sha256:7be7047bd08accdb7487737631d25735c9a04327911de89ff1b26b81745bd4e3",
- "sha256:7c6390cf87ff6234643428991b7359b5f59cc15155695deb4eda5c777d2b880f",
- "sha256:7df704ca8cf4a073334e0427ae2345323613e4df18cc224f647f251e5e75a527",
- "sha256:85f67aed7bb647f93e7520633d8f51d3cbc6ab96957c71272b286b2f30dc70ed",
- "sha256:896ebdcf62683551312c30e20614305f53125750803b614e9e6ce74a96232604",
- "sha256:92d16a3e275e38293623ebf639c471d3e03bb20b8ebb845237e0d3664914caef",
- "sha256:99f60d34c048c5c2fabc766108c103612344c46e35d4ed9ae0673d33c8fb26e8",
- "sha256:9fe7b0653ba3d9d65cbe7698cca585bf0f8c83dbbcc710db9c90f478e175f2d5",
- "sha256:a3145cb08d8625b2d3fee1b2d596a8766352979c9bffe5d7833e0503d0f0b5e5",
- "sha256:aeaf541ddbad8311a87dd695ed9642401131ea39ad7bc8cf3ef3967fd093b626",
- "sha256:b55358304d7a73d7bdf5de62494aaf70bd33015831ffd98bc498b433dfe5b10c",
- "sha256:b82cc8ace10ab5bd93235dfaab2021c70637005e1ac787031f4d1da63d493c1d",
- "sha256:c0868d64af83169e4d4152ec612637a543f7a336e4a307b119e98042e852ad9c",
- "sha256:c1c1496e73051918fcd4f58ff2e0f2f3066d1c76a0c6aeffd9b45d53243702cc",
- "sha256:c9bf56195c6bbd293340ea82eafd0071cb3d450c703d2c93afb89f93b8386ccc",
- "sha256:cbebcd5bcaf1eaf302617c114aa67569dd3f090dd0ce8ba9e35e9985b41ac35b",
- "sha256:cd6c8fca38178e12c00418de737aef1261576bd1b6e8c6134d3e729a4e858b38",
- "sha256:ceb3b7e6a0135e092de86110c5a74e46bda4bd4fbfeeb3a3bcec79c0f861e450",
- "sha256:cf590b134eb70629e350691ecca88eac3e3b8b3c86992042fb82e3cb1830d5e1",
- "sha256:d3eb1ceec286eba8220c26f3b0096cf189aea7057b6e7b7a2e60ed36b373b77f",
- "sha256:d65f25da8e248202bd47445cec78e0025c0fe7582b23ec69c3b27a640dd7a8e3",
- "sha256:d6f6d4f185481c9669b9447bf9d9cf3b95a0e9df9d169bbc17e363b7d5487755",
- "sha256:d84a5c3a5f7ce6db1f999fb9438f686bc2e09d38143f2d93d8406ed2dd6b9226",
- "sha256:d946b0a9eb8aaa590df1fe082cee553ceab173e6cb5b03239716338629c50c7a",
- "sha256:dce1c6912ab9ff5f179eaf6efe7365c1f425ed690b03341911bf4939ef2f3046",
- "sha256:de170c7b4fe6859beb8926e84f7d7d6c693dfe8e27372ce3b76f01c46e489fcf",
- "sha256:e02021f87a5b6932fa6ce916ca004c4d441509d33bbdbeca70d05dff5e9d2479",
- "sha256:e030047e85cbcedbfc073f71836d62dd5dadfbe7531cae27789ff66bc551bd5e",
- "sha256:e0e79d91e71b9867c73323a3444724d496c037e578a0e1755ae159ba14f4f3d1",
- "sha256:e4428b29611e989719874670fd152b6625500ad6c686d464e99f5aaeeaca175a",
- "sha256:e4972624066095e52b569e02b5ca97dbd7a7ddd4294bf4e7247d52635630dd83",
- "sha256:e7be68734bd8c9a513f2b0cfd508802d6609da068f40dc57d4e3494cefc92929",
- "sha256:e8e94e6912639a02ce173341ff62cc1201232ab86b8a8fcc05572741a5dc7d93",
- "sha256:ea1456df2a27c73ce51120fa2f519f1bea2f4a03a917f4a43c8707cf4cbbae1a",
- "sha256:ebd8d160f91a764652d3e51ce0d2956b38efe37c9231cd82cfc0bed2e40b581c",
- "sha256:eca2e9d0cc5a889850e9bbd68e98314ada174ff6ccd1129500103df7a94a7a44",
- "sha256:edd08e6f2f1a390bf137080507e44ccc086353c8e98c657e666c017718561b89",
- "sha256:f285e862d2f153a70586579c15c44656f888806ed0e5b56b64489afe4a2dbfba",
- "sha256:f2a1dee728b52b33eebff5072817176c172050d44d67befd681609b4746e1c2e",
- "sha256:f7e301075edaf50500f0b341543c41194d8df3ae5caf4702f2095f3ca73dd8da",
- "sha256:fb616be3538599e797a2017cccca78e354c767165e8858ab5116813146041a24",
- "sha256:fce28b3c8a81b6b36dfac9feb1de115bab619b3c13905b419ec71d03a3fc1423",
- "sha256:fe5d7785250541f7f5019ab9cba2c71169dc7d74d0f45253f8313f436458a4ef"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==6.0.5"
- },
- "mypy-extensions": {
- "hashes": [
- "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d",
- "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"
- ],
- "markers": "python_version >= '3.5'",
- "version": "==1.0.0"
- },
- "nbclassic": {
- "hashes": [
- "sha256:0ae11eb2319455d805596bf320336cda9554b41d99ab9a3c31bf8180bffa30e3",
- "sha256:f99e4769b4750076cd4235c044b61232110733322384a94a63791d2e7beacc66"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==1.0.0"
- },
- "nbclient": {
- "hashes": [
- "sha256:4b3f1b7dba531e498449c4db4f53da339c91d449dc11e9af3a43b4eb5c5abb09",
- "sha256:f13e3529332a1f1f81d82a53210322476a168bb7090a0289c795fe9cc11c9d3f"
- ],
- "markers": "python_full_version >= '3.8.0'",
- "version": "==0.10.0"
- },
- "nbconvert": {
- "hashes": [
- "sha256:a6733b78ce3d47c3f85e504998495b07e6ea9cf9bf6ec1c98dda63ec6ad19142",
- "sha256:ddeff14beeeedf3dd0bc506623e41e4507e551736de59df69a91f86700292b3b"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==7.16.3"
- },
- "nbdime": {
- "hashes": [
- "sha256:31409a30f848ffc6b32540697e82d5a0a1b84dcc32716ca74e78bcc4b457c453",
- "sha256:a99fed2399fd939e2e577db4bb6e957aac860af4cf583044b723cc9a448c644e"
- ],
- "index": "pypi",
- "markers": "python_version >= '3.6'",
- "version": "==3.2.1"
- },
- "nbformat": {
- "hashes": [
- "sha256:322168b14f937a5d11362988ecac2a4952d3d8e3a2cbeb2319584631226d5b3a",
- "sha256:3b48d6c8fbca4b299bf3982ea7db1af21580e4fec269ad087b9e81588891200b"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==5.10.4"
- },
- "nest-asyncio": {
- "hashes": [
- "sha256:6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe",
- "sha256:87af6efd6b5e897c81050477ef65c62e2b2f35d51703cae01aff2905b1852e1c"
- ],
- "markers": "python_version >= '3.5'",
- "version": "==1.6.0"
- },
- "networkx": {
- "hashes": [
- "sha256:0c127d8b2f4865f59ae9cb8aafcd60b5c70f3241ebd66f7defad7c4ab90126c9",
- "sha256:28575580c6ebdaf4505b22c6256a2b9de86b316dc63ba9e93abde3d78dfdbcf2"
- ],
- "markers": "python_version >= '3.10'",
- "version": "==3.3"
- },
- "notebook": {
- "hashes": [
- "sha256:b4625a4b7a597839dd3156b140d5ba2c7123761f98245a3290f67a8b8ee048d9",
- "sha256:c1e2eb2e3b6079a0552a04974883a48d04c3c05792170d64a4b23d707d453181"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==6.5.6"
- },
- "notebook-shim": {
- "hashes": [
- "sha256:411a5be4e9dc882a074ccbcae671eda64cceb068767e9a3419096986560e1cef",
- "sha256:b4b2cfa1b65d98307ca24361f5b30fe785b53c3fd07b7a47e89acb5e6ac638cb"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==0.2.4"
- },
- "numpy": {
- "hashes": [
- "sha256:03a8c78d01d9781b28a6989f6fa1bb2c4f2d51201cf99d3dd875df6fbd96b23b",
- "sha256:08beddf13648eb95f8d867350f6a018a4be2e5ad54c8d8caed89ebca558b2818",
- "sha256:1af303d6b2210eb850fcf03064d364652b7120803a0b872f5211f5234b399f20",
- "sha256:1dda2e7b4ec9dd512f84935c5f126c8bd8b9f2fc001e9f54af255e8c5f16b0e0",
- "sha256:2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010",
- "sha256:2e4ee3380d6de9c9ec04745830fd9e2eccb3e6cf790d39d7b98ffd19b0dd754a",
- "sha256:3373d5d70a5fe74a2c1bb6d2cfd9609ecf686d47a2d7b1d37a8f3b6bf6003aea",
- "sha256:47711010ad8555514b434df65f7d7b076bb8261df1ca9bb78f53d3b2db02e95c",
- "sha256:4c66707fabe114439db9068ee468c26bbdf909cac0fb58686a42a24de1760c71",
- "sha256:50193e430acfc1346175fcbdaa28ffec49947a06918b7b92130744e81e640110",
- "sha256:52b8b60467cd7dd1e9ed082188b4e6bb35aa5cdd01777621a1658910745b90be",
- "sha256:60dedbb91afcbfdc9bc0b1f3f402804070deed7392c23eb7a7f07fa857868e8a",
- "sha256:62b8e4b1e28009ef2846b4c7852046736bab361f7aeadeb6a5b89ebec3c7055a",
- "sha256:666dbfb6ec68962c033a450943ded891bed2d54e6755e35e5835d63f4f6931d5",
- "sha256:675d61ffbfa78604709862923189bad94014bef562cc35cf61d3a07bba02a7ed",
- "sha256:679b0076f67ecc0138fd2ede3a8fd196dddc2ad3254069bcb9faf9a79b1cebcd",
- "sha256:7349ab0fa0c429c82442a27a9673fc802ffdb7c7775fad780226cb234965e53c",
- "sha256:7ab55401287bfec946ced39700c053796e7cc0e3acbef09993a9ad2adba6ca6e",
- "sha256:7e50d0a0cc3189f9cb0aeb3a6a6af18c16f59f004b866cd2be1c14b36134a4a0",
- "sha256:95a7476c59002f2f6c590b9b7b998306fba6a5aa646b1e22ddfeaf8f78c3a29c",
- "sha256:96ff0b2ad353d8f990b63294c8986f1ec3cb19d749234014f4e7eb0112ceba5a",
- "sha256:9fad7dcb1aac3c7f0584a5a8133e3a43eeb2fe127f47e3632d43d677c66c102b",
- "sha256:9ff0f4f29c51e2803569d7a51c2304de5554655a60c5d776e35b4a41413830d0",
- "sha256:a354325ee03388678242a4d7ebcd08b5c727033fcff3b2f536aea978e15ee9e6",
- "sha256:a4abb4f9001ad2858e7ac189089c42178fcce737e4169dc61321660f1a96c7d2",
- "sha256:ab47dbe5cc8210f55aa58e4805fe224dac469cde56b9f731a4c098b91917159a",
- "sha256:afedb719a9dcfc7eaf2287b839d8198e06dcd4cb5d276a3df279231138e83d30",
- "sha256:b3ce300f3644fb06443ee2222c2201dd3a89ea6040541412b8fa189341847218",
- "sha256:b97fe8060236edf3662adfc2c633f56a08ae30560c56310562cb4f95500022d5",
- "sha256:bfe25acf8b437eb2a8b2d49d443800a5f18508cd811fea3181723922a8a82b07",
- "sha256:cd25bcecc4974d09257ffcd1f098ee778f7834c3ad767fe5db785be9a4aa9cb2",
- "sha256:d209d8969599b27ad20994c8e41936ee0964e6da07478d6c35016bc386b66ad4",
- "sha256:d5241e0a80d808d70546c697135da2c613f30e28251ff8307eb72ba696945764",
- "sha256:edd8b5fe47dab091176d21bb6de568acdd906d1887a4584a15a9a96a1dca06ef",
- "sha256:f870204a840a60da0b12273ef34f7051e98c3b5961b61b0c2c1be6dfd64fbcd3",
- "sha256:ffa75af20b44f8dba823498024771d5ac50620e6915abac414251bd971b4529f"
- ],
- "index": "pypi",
- "markers": "python_version >= '3.9'",
- "version": "==1.26.4"
- },
- "oauthlib": {
- "hashes": [
- "sha256:8139f29aac13e25d502680e9e19963e83f16838d48a0d71c287fe40e7067fbca",
- "sha256:9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918"
- ],
- "markers": "python_version >= '3.6'",
- "version": "==3.2.2"
- },
- "onnx": {
- "hashes": [
- "sha256:0aee26b6f7f7da7e840de75ad9195a77a147d0662c94eaa6483be13ba468ffc1",
- "sha256:17dcfb86a8c6bdc3971443c29b023dd9c90ff1d15d8baecee0747a6b7f74e650",
- "sha256:1fdf8a3ff75abc2b32c83bf27fb7c18d6b976c9c537263fadd82b9560fe186fa",
- "sha256:233ffdb5ca8cc2d960b10965a763910c0830b64b450376da59207f454701f343",
- "sha256:2bf2de9bef64792e5b8080c678023ac7d2b9e05d79a3e17e92cf6a4a624831d2",
- "sha256:3f472bbe5cb670a0a4a4db08f41fde69b187a009d0cb628f964840d3f83524e9",
- "sha256:49cebebd0020a4b12c1dd0909d426631212ef28606d7e4d49463d36abe7639ad",
- "sha256:51cacb6aafba308aaf462252ced562111f6991cdc7bc57a6c554c3519453a8ff",
- "sha256:51fa79c9ea9af033638ec51f9177b8e76c55fad65bb83ea96ee88fafade18ee7",
- "sha256:60a3e28747e305cd2e766e6a53a0a6d952cf9e72005ec6023ce5e07666676a4e",
- "sha256:6b5c798d9e0907eaf319e3d3e7c89a2ed9a854bcb83da5fefb6d4c12d5e90721",
- "sha256:763e55c26e8de3a2dce008d55ae81b27fa8fb4acbb01a29b9f3c01f200c4d676",
- "sha256:95d7a3e2d79d371e272e39ae3f7547e0b116d0c7f774a4004e97febe6c93507f",
- "sha256:96ed899fe6000edc05bb2828863d3841cfddd5a7cf04c1a771f112e94de75d9f",
- "sha256:9a9cfbb5e5d5d88f89d0dfc9df5fb858899db874e1d5ed21e76c481f3cafc90d",
- "sha256:a4f774ff50092fe19bd8f46b2c9b27b1d30fbd700c22abde48a478142d464322",
- "sha256:b18461a7d38f286618ca2a6e78062a2a9c634ce498e631e708a8041b00094825",
- "sha256:b2b0e7f3938f2d994c34616bfb8b4b1cebbc4a0398483344fe5e9f2fe95175e6",
- "sha256:b2d5e802837629fc9c86f19448d19dd04d206578328bce202aeb3d4bedab43c4",
- "sha256:baf6ef6c93b3b843edb97a8d5b3d229a1301984f3f8dee859c29634d2083e6f9",
- "sha256:ca4ebc4f47109bfb12c8c9e83dd99ec5c9f07d2e5f05976356c6ccdce3552010",
- "sha256:d8a7c94d2ebead8f739fdb70d1ce5a71726f4e17b3e5b8ad64455ea1b2801a85",
- "sha256:ef4d9eb44b111e69e4534f3233fc2c13d1e26920d24ae4359d513bd54694bc6d",
- "sha256:f1ad3d77fc2f4b4296f0ac2c8cadd8c1dcf765fc586b737462d3a0fe8f7c696a",
- "sha256:f277d4861729f5253a51fa41ce91bfec1c4574ee41b5637056b43500917295ce"
- ],
- "index": "pypi",
- "markers": "python_version >= '3.8'",
- "version": "==1.15.0"
- },
- "onnxruntime": {
- "hashes": [
- "sha256:0962a4d0f5acebf62e1f0bf69b6e0adf16649115d8de854c1460e79972324d68",
- "sha256:23da8469049b9759082e22c41a444f44a520a9c874b084711b6343672879f50b",
- "sha256:26e950cf0333cf114a155f9142e71da344d2b08dfe202763a403ae81cc02ebd1",
- "sha256:2949730215af3f9289008b2e31e9bbef952012a77035b911c4977edea06f3f9e",
- "sha256:2f823d5eb4807007f3da7b27ca972263df6a1836e6f327384eb266274c53d05d",
- "sha256:351bf5a1140dcc43bfb8d3d1a230928ee61fcd54b0ea664c8e9a889a8e3aa515",
- "sha256:3ff2dc012bd930578aff5232afd2905bf16620815f36783a941aafabf94b3702",
- "sha256:4395ba86e3c1e93c794a00619ef1aec597ab78f5a5039f3c6d2e9d0695c0a734",
- "sha256:468ccb8a0faa25c681a41787b1594bf4448b0252d3efc8b62fd8b2411754340f",
- "sha256:570760ca53a74cdd751ee49f13de70d1384dcf73d9888b8deac0917023ccda6d",
- "sha256:57a3de15778da8d6cc43fbf6cf038e1e746146300b5f0b1fbf01f6f795dc6440",
- "sha256:58672cf20293a1b8a277a5c6c55383359fcdf6119b2f14df6ce3b140f5001c39",
- "sha256:5a335c76f9c002a8586c7f38bc20fe4b3725ced21f8ead835c3e4e507e42b2ab",
- "sha256:6c7555a49008f403fb3b19204671efb94187c5085976ae526cb625f6ede317bc",
- "sha256:77c318178d9c16e9beadd9a4070d8aaa9f57382c3f509b01709f0f010e583b99",
- "sha256:8f56a86fbd0ddc8f22696ddeda0677b041381f4168a2ca06f712ef6ec6050d6d",
- "sha256:9d87b68bf931ac527b2d3c094ead66bb4381bac4298b65f46c54fe4d1e255865",
- "sha256:a058b39801baefe454eeb8acf3ada298c55a06a4896fafc224c02d79e9037f60",
- "sha256:a94b600b7af50e922d44b95a57981e3e35103c6e3693241a03d3ca204740bbda",
- "sha256:b66b23f9109e78ff2791628627a26f65cd335dcc5fbd67ff60162733a2f7aded",
- "sha256:bdf354c04344ec38564fc22394e1fe08aa6d70d790df00159205a0055c4a4d3f",
- "sha256:cf6c37483782e4785019b56e26224a25e9b9a35b849d0169ce69189867a22bb1",
- "sha256:d86dde9c0bb435d709e51bd25991c9fe5b9a5b168df45ce119769edc4d198b15",
- "sha256:e0ae39f5452278cd349520c296e7de3e90d62dc5b0157c6868e2748d7f28b871",
- "sha256:e8cd90c1c17d13d47b89ab076471e07fb85467c01dcd87a8b8b5cdfbcb40aa51"
- ],
- "index": "pypi",
- "version": "==1.17.3"
- },
- "openai": {
- "hashes": [
- "sha256:1fab5dd623cdc0c7c6e7da5d8d11fa6900f94191c2dfb6510d7eac33195fa175",
- "sha256:f9322b0bf3b82bbd06930fad535369a023f35a3a96d3ef0b827644a15d7aae97"
- ],
- "index": "pypi",
- "markers": "python_full_version >= '3.7.1'",
- "version": "==1.14.1"
- },
- "opencv-python": {
- "hashes": [
- "sha256:1a9f0e6267de3a1a1db0c54213d022c7c8b5b9ca4b580e80bdc58516c922c9e1",
- "sha256:3f16f08e02b2a2da44259c7cc712e779eff1dd8b55fdb0323e8cab09548086c0",
- "sha256:71dfb9555ccccdd77305fc3dcca5897fbf0cf28b297c51ee55e079c065d812a3",
- "sha256:7b34a52e9da36dda8c151c6394aed602e4b17fa041df0b9f5b93ae10b0fcca2a",
- "sha256:7e5f7aa4486651a6ebfa8ed4b594b65bd2d2f41beeb4241a3e4b1b85acbbbadb",
- "sha256:dcf000c36dd1651118a2462257e3a9e76db789a78432e1f303c7bac54f63ef6c",
- "sha256:e4088cab82b66a3b37ffc452976b14a3c599269c247895ae9ceb4066d8188a57"
- ],
- "markers": "python_version >= '3.6'",
- "version": "==4.9.0.80"
- },
- "opencv-python-headless": {
- "hashes": [
- "sha256:11e3849d83e6651d4e7699aadda9ec7ed7c38957cbbcb99db074f2a2d2de9670",
- "sha256:2ea8a2edc4db87841991b2fbab55fc07b97ecb602e0f47d5d485bd75cee17c1a",
- "sha256:57ce2865e8fec431c6f97a81e9faaf23fa5be61011d0a75ccf47a3c0d65fa73d",
- "sha256:71a4cd8cf7c37122901d8e81295db7fb188730e33a0e40039a4e59c1030b0958",
- "sha256:976656362d68d9f40a5c66f83901430538002465f7db59142784f3893918f3df",
- "sha256:a8056c2cb37cd65dfcdf4153ca16f7362afcf3a50d600d6bb69c660fc61ee29c",
- "sha256:e0ee54e27be493e8f7850847edae3128e18b540dac1d7b2e4001b8944e11e1c6"
- ],
- "index": "pypi",
- "markers": "python_version >= '3.6'",
- "version": "==4.9.0.80"
- },
- "orjson": {
- "hashes": [
- "sha256:01234249ba19c6ab1eb0b8be89f13ea21218b2d72d496ef085cfd37e1bae9dd8",
- "sha256:03a3ca0b3ed52bed1a869163a4284e8a7b0be6a0359d521e467cdef7e8e8a3ee",
- "sha256:2567bc928ed3c3fcd90998009e8835de7c7dc59aabcf764b8374d36044864f3b",
- "sha256:27d610df96ac18ace4931411d489637d20ab3b8f63562b0531bba16011998db0",
- "sha256:27ff69c620a4fff33267df70cfd21e0097c2a14216e72943bd5414943e376d77",
- "sha256:2b230ec35f188f003f5b543644ae486b2998f6afa74ee3a98fc8ed2e45960afc",
- "sha256:2cf29b4b74f585225196944dffdebd549ad2af6da9e80db7115984103fb18a96",
- "sha256:2e900863691d327758be14e2a491931605bd0aded3a21beb6ce133889830b659",
- "sha256:31ff6a222ea362b87bf21ff619598a4dc1106aaafaea32b1c4876d692891ec27",
- "sha256:4ae10753e7511d359405aadcbf96556c86e9dbf3a948d26c2c9f9a150c52b091",
- "sha256:4ce98cac60b7bb56457bdd2ed7f0d5d7f242d291fdc0ca566c83fa721b52e92d",
- "sha256:50ca42b40d5a442a9e22eece8cf42ba3d7cd4cd0f2f20184b4d7682894f05eec",
- "sha256:5252146b3172d75c8a6d27ebca59c9ee066ffc5a277050ccec24821e68742fdf",
- "sha256:53521542a6db1411b3bfa1b24ddce18605a3abdc95a28a67b33f9145f26aa8f2",
- "sha256:536429bb02791a199d976118b95014ad66f74c58b7644d21061c54ad284e00f4",
- "sha256:57c294d73825c6b7f30d11c9e5900cfec9a814893af7f14efbe06b8d0f25fba9",
- "sha256:5be608c3972ed902e0143a5b8776d81ac1059436915d42defe5c6ae97b3137a4",
- "sha256:5d1d169461726f271ab31633cf0e7e7353417e16fb69256a4f8ecb3246a78d6e",
- "sha256:79244b1456e5846d44e9846534bd9e3206712936d026ea8e6a55a7374d2c0694",
- "sha256:7dfed3c3e9b9199fb9c3355b9c7e4649b65f639e50ddf50efdf86b45c6de04b5",
- "sha256:813905e111318acb356bb8029014c77b4c647f8b03f314e7b475bd9ce6d1a8ce",
- "sha256:8a884fbf81a3cc22d264ba780920d4885442144e6acaa1411921260416ac9a54",
- "sha256:8af7c68b01b876335cccfb4eee0beef2b5b6eae1945d46a09a7c24c9faac7a77",
- "sha256:8ec2fc456d53ea4a47768f622bb709be68acd455b0c6be57e91462259741c4f3",
- "sha256:915abfb2e528677b488a06eba173e9d7706a20fdfe9cdb15890b74ef9791b85e",
- "sha256:9813f43da955197d36a7365eb99bed42b83680801729ab2487fef305b9ced866",
- "sha256:9e00495b18304173ac843b5c5fbea7b6f7968564d0d49bef06bfaeca4b656f4e",
- "sha256:a1b130c20b116f413caf6059c651ad32215c28500dce9cd029a334a2d84aa66f",
- "sha256:a2c6a85c92d0e494c1ae117befc93cf8e7bca2075f7fe52e32698da650b2c6d1",
- "sha256:a51fd55d4486bc5293b7a400f9acd55a2dc3b5fc8420d5ffe9b1d6bb1a056a5e",
- "sha256:a883b28d73370df23ed995c466b4f6c708c1f7a9bdc400fe89165c96c7603204",
- "sha256:aa76c4fe147fd162107ce1692c39f7189180cfd3a27cfbc2ab5643422812da8e",
- "sha256:ab6ecbd6fe57785ebc86ee49e183f37d45f91b46fc601380c67c5c5e9c0014a2",
- "sha256:b01d701decd75ae092e5f36f7b88a1e7a1d3bb7c9b9d7694de850fb155578d5a",
- "sha256:b1aa2f127ac546e123283e437cc90b5ecce754a22306c7700b11035dad4ccf85",
- "sha256:b345a3d6953628df2f42502297f6c1e1b475cfbf6268013c94c5ac80e8abc04c",
- "sha256:b5028981ba393f443d8fed9049211b979cadc9d0afecf162832f5a5b152c6297",
- "sha256:caa7395ef51af4190d2c70a364e2f42138e0e5fcb4bc08bc9b76997659b27dab",
- "sha256:d229564e72cfc062e6481a91977a5165c5a0fdce11ddc19ced8471847a67c517",
- "sha256:d31f9a709e6114492136e87c7c6da5e21dfedebefa03af85f3ad72656c493ae9",
- "sha256:d751efaa8a49ae15cbebdda747a62a9ae521126e396fda8143858419f3b03610",
- "sha256:d7f11dbacfa9265ec76b4019efffabaabba7a7ebf14078f6b4df9b51c3c9a8ea",
- "sha256:d89e5ed68593226c31c76ab4de3e0d35c760bfd3fbf0a74c4b2be1383a1bf123",
- "sha256:dab5f802d52b182163f307d2b1f727d30b1762e1923c64c9c56dd853f9671a49",
- "sha256:e852a83d7803d3406135fb7a57cf0c1e4a3e73bac80ec621bd32f01c653849c5",
- "sha256:ebc58693464146506fde0c4eb1216ff6d4e40213e61f7d40e2f0dde9b2f21650",
- "sha256:ec917b768e2b34b7084cb6c68941f6de5812cc26c6f1a9fecb728e36a3deb9e8",
- "sha256:f02c06cee680b1b3a8727ec26c36f4b3c0c9e2b26339d64471034d16f74f4ef5",
- "sha256:fb5bc4caa2c192077fdb02dce4e5ef8639e7f20bec4e3a834346693907362932",
- "sha256:fd78ec55179545c108174ba19c1795ced548d6cac4d80d014163033c047ca4ea",
- "sha256:fe3fd4a36eff9c63d25503b439531d21828da9def0059c4f472e3845a081aa0b"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==3.10.1"
- },
- "overrides": {
- "hashes": [
- "sha256:55158fa3d93b98cc75299b1e67078ad9003ca27945c76162c1c0766d6f91820a",
- "sha256:c7ed9d062f78b8e4c1a7b70bd8796b35ead4d9f510227ef9c5dc7626c60d7e49"
- ],
- "markers": "python_version >= '3.6'",
- "version": "==7.7.0"
- },
- "packaging": {
- "hashes": [
- "sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5",
- "sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==23.2"
- },
- "pandas": {
- "hashes": [
- "sha256:001910ad31abc7bf06f49dcc903755d2f7f3a9186c0c040b827e522e9cef0863",
- "sha256:0ca6377b8fca51815f382bd0b697a0814c8bda55115678cbc94c30aacbb6eff2",
- "sha256:0cace394b6ea70c01ca1595f839cf193df35d1575986e484ad35c4aeae7266c1",
- "sha256:1cb51fe389360f3b5a4d57dbd2848a5f033350336ca3b340d1c53a1fad33bcad",
- "sha256:2925720037f06e89af896c70bca73459d7e6a4be96f9de79e2d440bd499fe0db",
- "sha256:3e374f59e440d4ab45ca2fffde54b81ac3834cf5ae2cdfa69c90bc03bde04d76",
- "sha256:40ae1dffb3967a52203105a077415a86044a2bea011b5f321c6aa64b379a3f51",
- "sha256:43498c0bdb43d55cb162cdc8c06fac328ccb5d2eabe3cadeb3529ae6f0517c32",
- "sha256:4abfe0be0d7221be4f12552995e58723c7422c80a659da13ca382697de830c08",
- "sha256:58b84b91b0b9f4bafac2a0ac55002280c094dfc6402402332c0913a59654ab2b",
- "sha256:640cef9aa381b60e296db324337a554aeeb883ead99dc8f6c18e81a93942f5f4",
- "sha256:66b479b0bd07204e37583c191535505410daa8df638fd8e75ae1b383851fe921",
- "sha256:696039430f7a562b74fa45f540aca068ea85fa34c244d0deee539cb6d70aa288",
- "sha256:6d2123dc9ad6a814bcdea0f099885276b31b24f7edf40f6cdbc0912672e22eee",
- "sha256:8635c16bf3d99040fdf3ca3db669a7250ddf49c55dc4aa8fe0ae0fa8d6dcc1f0",
- "sha256:873d13d177501a28b2756375d59816c365e42ed8417b41665f346289adc68d24",
- "sha256:8e5a0b00e1e56a842f922e7fae8ae4077aee4af0acb5ae3622bd4b4c30aedf99",
- "sha256:8e90497254aacacbc4ea6ae5e7a8cd75629d6ad2b30025a4a8b09aa4faf55151",
- "sha256:9057e6aa78a584bc93a13f0a9bf7e753a5e9770a30b4d758b8d5f2a62a9433cd",
- "sha256:90c6fca2acf139569e74e8781709dccb6fe25940488755716d1d354d6bc58bce",
- "sha256:92fd6b027924a7e178ac202cfbe25e53368db90d56872d20ffae94b96c7acc57",
- "sha256:9dfde2a0ddef507a631dc9dc4af6a9489d5e2e740e226ad426a05cabfbd7c8ef",
- "sha256:9e79019aba43cb4fda9e4d983f8e88ca0373adbb697ae9c6c43093218de28b54",
- "sha256:a77e9d1c386196879aa5eb712e77461aaee433e54c68cf253053a73b7e49c33a",
- "sha256:c7adfc142dac335d8c1e0dcbd37eb8617eac386596eb9e1a1b77791cf2498238",
- "sha256:d187d355ecec3629624fccb01d104da7d7f391db0311145817525281e2804d23",
- "sha256:ddf818e4e6c7c6f4f7c8a12709696d193976b591cc7dc50588d3d1a6b5dc8772",
- "sha256:e9b79011ff7a0f4b1d6da6a61aa1aa604fb312d6647de5bad20013682d1429ce",
- "sha256:eee3a87076c0756de40b05c5e9a6069c035ba43e8dd71c379e68cab2c20f16ad"
- ],
- "index": "pypi",
- "markers": "python_version >= '3.9'",
- "version": "==2.2.2"
- },
- "pandocfilters": {
- "hashes": [
- "sha256:002b4a555ee4ebc03f8b66307e287fa492e4a77b4ea14d3f934328297bb4939e",
- "sha256:93be382804a9cdb0a7267585f157e5d1731bbe5545a85b268d6f5fe6232de2bc"
- ],
- "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",
- "version": "==1.5.1"
- },
- "papermill": {
- "hashes": [
- "sha256:c42303afb92e482a60ae1df2577be59a5b7a64c5cd52d37c74c7f74e36085708",
- "sha256:ea7b70c0553f56fe91b0fa9cc5e17012cd699320a8b015373e7870c5e6086c72"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==2.5.0"
- },
- "parso": {
- "hashes": [
- "sha256:a418670a20291dacd2dddc80c377c5c3791378ee1e8d12bffc35420643d43f18",
- "sha256:eb3a7b58240fb99099a345571deecc0f9540ea5f4dd2fe14c2a99d6b281ab92d"
- ],
- "markers": "python_version >= '3.6'",
- "version": "==0.8.4"
- },
- "pathspec": {
- "hashes": [
- "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08",
- "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==0.12.1"
- },
- "pexpect": {
- "hashes": [
- "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523",
- "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f"
- ],
- "version": "==4.9.0"
- },
- "pillow": {
- "hashes": [
- "sha256:048ad577748b9fa4a99a0548c64f2cb8d672d5bf2e643a739ac8faff1164238c",
- "sha256:048eeade4c33fdf7e08da40ef402e748df113fd0b4584e32c4af74fe78baaeb2",
- "sha256:0ba26351b137ca4e0db0342d5d00d2e355eb29372c05afd544ebf47c0956ffeb",
- "sha256:0ea2a783a2bdf2a561808fe4a7a12e9aa3799b701ba305de596bc48b8bdfce9d",
- "sha256:1530e8f3a4b965eb6a7785cf17a426c779333eb62c9a7d1bbcf3ffd5bf77a4aa",
- "sha256:16563993329b79513f59142a6b02055e10514c1a8e86dca8b48a893e33cf91e3",
- "sha256:19aeb96d43902f0a783946a0a87dbdad5c84c936025b8419da0a0cd7724356b1",
- "sha256:1a1d1915db1a4fdb2754b9de292642a39a7fb28f1736699527bb649484fb966a",
- "sha256:1b87bd9d81d179bd8ab871603bd80d8645729939f90b71e62914e816a76fc6bd",
- "sha256:1dfc94946bc60ea375cc39cff0b8da6c7e5f8fcdc1d946beb8da5c216156ddd8",
- "sha256:2034f6759a722da3a3dbd91a81148cf884e91d1b747992ca288ab88c1de15999",
- "sha256:261ddb7ca91fcf71757979534fb4c128448b5b4c55cb6152d280312062f69599",
- "sha256:2ed854e716a89b1afcedea551cd85f2eb2a807613752ab997b9974aaa0d56936",
- "sha256:3102045a10945173d38336f6e71a8dc71bcaeed55c3123ad4af82c52807b9375",
- "sha256:339894035d0ede518b16073bdc2feef4c991ee991a29774b33e515f1d308e08d",
- "sha256:412444afb8c4c7a6cc11a47dade32982439925537e483be7c0ae0cf96c4f6a0b",
- "sha256:4203efca580f0dd6f882ca211f923168548f7ba334c189e9eab1178ab840bf60",
- "sha256:45ebc7b45406febf07fef35d856f0293a92e7417ae7933207e90bf9090b70572",
- "sha256:4b5ec25d8b17217d635f8935dbc1b9aa5907962fae29dff220f2659487891cd3",
- "sha256:4c8e73e99da7db1b4cad7f8d682cf6abad7844da39834c288fbfa394a47bbced",
- "sha256:4e6f7d1c414191c1199f8996d3f2282b9ebea0945693fb67392c75a3a320941f",
- "sha256:4eaa22f0d22b1a7e93ff0a596d57fdede2e550aecffb5a1ef1106aaece48e96b",
- "sha256:50b8eae8f7334ec826d6eeffaeeb00e36b5e24aa0b9df322c247539714c6df19",
- "sha256:50fd3f6b26e3441ae07b7c979309638b72abc1a25da31a81a7fbd9495713ef4f",
- "sha256:51243f1ed5161b9945011a7360e997729776f6e5d7005ba0c6879267d4c5139d",
- "sha256:5d512aafa1d32efa014fa041d38868fda85028e3f930a96f85d49c7d8ddc0383",
- "sha256:5f77cf66e96ae734717d341c145c5949c63180842a545c47a0ce7ae52ca83795",
- "sha256:6b02471b72526ab8a18c39cb7967b72d194ec53c1fd0a70b050565a0f366d355",
- "sha256:6fb1b30043271ec92dc65f6d9f0b7a830c210b8a96423074b15c7bc999975f57",
- "sha256:7161ec49ef0800947dc5570f86568a7bb36fa97dd09e9827dc02b718c5643f09",
- "sha256:72d622d262e463dfb7595202d229f5f3ab4b852289a1cd09650362db23b9eb0b",
- "sha256:74d28c17412d9caa1066f7a31df8403ec23d5268ba46cd0ad2c50fb82ae40462",
- "sha256:78618cdbccaa74d3f88d0ad6cb8ac3007f1a6fa5c6f19af64b55ca170bfa1edf",
- "sha256:793b4e24db2e8742ca6423d3fde8396db336698c55cd34b660663ee9e45ed37f",
- "sha256:798232c92e7665fe82ac085f9d8e8ca98826f8e27859d9a96b41d519ecd2e49a",
- "sha256:81d09caa7b27ef4e61cb7d8fbf1714f5aec1c6b6c5270ee53504981e6e9121ad",
- "sha256:8ab74c06ffdab957d7670c2a5a6e1a70181cd10b727cd788c4dd9005b6a8acd9",
- "sha256:8eb0908e954d093b02a543dc963984d6e99ad2b5e36503d8a0aaf040505f747d",
- "sha256:90b9e29824800e90c84e4022dd5cc16eb2d9605ee13f05d47641eb183cd73d45",
- "sha256:9797a6c8fe16f25749b371c02e2ade0efb51155e767a971c61734b1bf6293994",
- "sha256:9d2455fbf44c914840c793e89aa82d0e1763a14253a000743719ae5946814b2d",
- "sha256:9d3bea1c75f8c53ee4d505c3e67d8c158ad4df0d83170605b50b64025917f338",
- "sha256:9e2ec1e921fd07c7cda7962bad283acc2f2a9ccc1b971ee4b216b75fad6f0463",
- "sha256:9e91179a242bbc99be65e139e30690e081fe6cb91a8e77faf4c409653de39451",
- "sha256:a0eaa93d054751ee9964afa21c06247779b90440ca41d184aeb5d410f20ff591",
- "sha256:a2c405445c79c3f5a124573a051062300936b0281fee57637e706453e452746c",
- "sha256:aa7e402ce11f0885305bfb6afb3434b3cd8f53b563ac065452d9d5654c7b86fd",
- "sha256:aff76a55a8aa8364d25400a210a65ff59d0168e0b4285ba6bf2bd83cf675ba32",
- "sha256:b09b86b27a064c9624d0a6c54da01c1beaf5b6cadfa609cf63789b1d08a797b9",
- "sha256:b14f16f94cbc61215115b9b1236f9c18403c15dd3c52cf629072afa9d54c1cbf",
- "sha256:b50811d664d392f02f7761621303eba9d1b056fb1868c8cdf4231279645c25f5",
- "sha256:b7bc2176354defba3edc2b9a777744462da2f8e921fbaf61e52acb95bafa9828",
- "sha256:c78e1b00a87ce43bb37642c0812315b411e856a905d58d597750eb79802aaaa3",
- "sha256:c83341b89884e2b2e55886e8fbbf37c3fa5efd6c8907124aeb72f285ae5696e5",
- "sha256:ca2870d5d10d8726a27396d3ca4cf7976cec0f3cb706debe88e3a5bd4610f7d2",
- "sha256:ccce24b7ad89adb5a1e34a6ba96ac2530046763912806ad4c247356a8f33a67b",
- "sha256:cd5e14fbf22a87321b24c88669aad3a51ec052eb145315b3da3b7e3cc105b9a2",
- "sha256:ce49c67f4ea0609933d01c0731b34b8695a7a748d6c8d186f95e7d085d2fe475",
- "sha256:d33891be6df59d93df4d846640f0e46f1a807339f09e79a8040bc887bdcd7ed3",
- "sha256:d3b2348a78bc939b4fed6552abfd2e7988e0f81443ef3911a4b8498ca084f6eb",
- "sha256:d886f5d353333b4771d21267c7ecc75b710f1a73d72d03ca06df49b09015a9ef",
- "sha256:d93480005693d247f8346bc8ee28c72a2191bdf1f6b5db469c096c0c867ac015",
- "sha256:dc1a390a82755a8c26c9964d457d4c9cbec5405896cba94cf51f36ea0d855002",
- "sha256:dd78700f5788ae180b5ee8902c6aea5a5726bac7c364b202b4b3e3ba2d293170",
- "sha256:e46f38133e5a060d46bd630faa4d9fa0202377495df1f068a8299fd78c84de84",
- "sha256:e4b878386c4bf293578b48fc570b84ecfe477d3b77ba39a6e87150af77f40c57",
- "sha256:f0d0591a0aeaefdaf9a5e545e7485f89910c977087e7de2b6c388aec32011e9f",
- "sha256:fdcbb4068117dfd9ce0138d068ac512843c52295ed996ae6dd1faf537b6dbc27",
- "sha256:ff61bfd9253c3915e6d41c651d5f962da23eda633cf02262990094a18a55371a"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==10.3.0"
- },
- "pip": {
- "hashes": [
- "sha256:ba0d021a166865d2265246961bec0152ff124de910c5cc39f1156ce3fa7c69dc",
- "sha256:ea9bd1a847e8c5774a5777bb398c19e80bcd4e2aa16a4b301b718fe6f593aba2"
- ],
- "index": "pypi",
- "markers": "python_version >= '3.7'",
- "version": "==24.0"
- },
- "platformdirs": {
- "hashes": [
- "sha256:0614df2a2f37e1a662acbd8e2b25b92ccf8632929bc6d43467e17fe89c75e068",
- "sha256:ef0cc731df711022c174543cb70a9b5bd22e5a9337c8624ef2c2ceb8ddad8768"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==4.2.0"
- },
- "plotly": {
- "hashes": [
- "sha256:837a9c8aa90f2c0a2f0d747b82544d014dc2a2bdde967b5bb1da25b53932d1a9",
- "sha256:bf901c805d22032cfa534b2ff7c5aa6b0659e037f19ec1e0cca7f585918b5c89"
- ],
- "index": "pypi",
- "markers": "python_version >= '3.8'",
- "version": "==5.20.0"
- },
- "pluggy": {
- "hashes": [
- "sha256:7db9f7b503d67d1c5b95f59773ebb58a8c1c288129a88665838012cfb07b8981",
- "sha256:8c85c2876142a764e5b7548e7d9a0e0ddb46f5185161049a79b7e974454223be"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==1.4.0"
- },
- "prometheus-client": {
- "hashes": [
- "sha256:287629d00b147a32dcb2be0b9df905da599b2d82f80377083ec8463309a4bb89",
- "sha256:cde524a85bce83ca359cc837f28b8c0db5cac7aa653a588fd7e84ba061c329e7"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==0.20.0"
- },
- "prompt-toolkit": {
- "hashes": [
- "sha256:3527b7af26106cbc65a040bcc84839a3566ec1b051bb0bfe953631e704b0ff7d",
- "sha256:a11a29cb3bf0a28a387fe5122cdb649816a957cd9261dcedf8c9f1fef33eacf6"
- ],
- "markers": "python_full_version >= '3.7.0'",
- "version": "==3.0.43"
- },
- "proto-plus": {
- "hashes": [
- "sha256:89075171ef11988b3fa157f5dbd8b9cf09d65fffee97e29ce403cd8defba19d2",
- "sha256:a829c79e619e1cf632de091013a4173deed13a55f326ef84f05af6f50ff4c82c"
- ],
- "markers": "python_version >= '3.6'",
- "version": "==1.23.0"
- },
- "protobuf": {
- "hashes": [
- "sha256:03038ac1cfbc41aa21f6afcbcd357281d7521b4157926f30ebecc8d4ea59dcb7",
- "sha256:28545383d61f55b57cf4df63eebd9827754fd2dc25f80c5253f9184235db242c",
- "sha256:2e3427429c9cffebf259491be0af70189607f365c2f41c7c3764af6f337105f2",
- "sha256:398a9e0c3eaceb34ec1aee71894ca3299605fa8e761544934378bbc6c97de23b",
- "sha256:44246bab5dd4b7fbd3c0c80b6f16686808fab0e4aca819ade6e8d294a29c7050",
- "sha256:447d43819997825d4e71bf5769d869b968ce96848b6479397e29fc24c4a5dfe9",
- "sha256:67a3598f0a2dcbc58d02dd1928544e7d88f764b47d4a286202913f0b2801c2e7",
- "sha256:74480f79a023f90dc6e18febbf7b8bac7508420f2006fabd512013c0c238f454",
- "sha256:819559cafa1a373b7096a482b504ae8a857c89593cf3a25af743ac9ecbd23480",
- "sha256:899dc660cd599d7352d6f10d83c95df430a38b410c1b66b407a6b29265d66469",
- "sha256:8c0c984a1b8fef4086329ff8dd19ac77576b384079247c770f29cc8ce3afa06c",
- "sha256:9aae4406ea63d825636cc11ffb34ad3379335803216ee3a856787bcf5ccc751e",
- "sha256:a7ca6d488aa8ff7f329d4c545b2dbad8ac31464f1d8b1c87ad1346717731e4db",
- "sha256:b6cc7ba72a8850621bfec987cb72623e703b7fe2b9127a161ce61e61558ad905",
- "sha256:bf01b5720be110540be4286e791db73f84a2b721072a3711efff6c324cdf074b",
- "sha256:c02ce36ec760252242a33967d51c289fd0e1c0e6e5cc9397e2279177716add86",
- "sha256:d9e4432ff660d67d775c66ac42a67cf2453c27cb4d738fc22cb53b5d84c135d4",
- "sha256:daa564862dd0d39c00f8086f88700fdbe8bc717e993a21e90711acfed02f2402",
- "sha256:de78575669dddf6099a8a0f46a27e82a1783c557ccc38ee620ed8cc96d3be7d7",
- "sha256:e64857f395505ebf3d2569935506ae0dfc4a15cb80dc25261176c784662cdcc4",
- "sha256:f4bd856d702e5b0d96a00ec6b307b0f51c1982c2bf9c0052cf9019e9a544ba99",
- "sha256:f4c42102bc82a51108e449cbb32b19b180022941c727bac0cfd50170341f16ee"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==3.20.3"
- },
- "psutil": {
- "hashes": [
- "sha256:02615ed8c5ea222323408ceba16c60e99c3f91639b07da6373fb7e6539abc56d",
- "sha256:05806de88103b25903dff19bb6692bd2e714ccf9e668d050d144012055cbca73",
- "sha256:26bd09967ae00920df88e0352a91cff1a78f8d69b3ecabbfe733610c0af486c8",
- "sha256:27cc40c3493bb10de1be4b3f07cae4c010ce715290a5be22b98493509c6299e2",
- "sha256:36f435891adb138ed3c9e58c6af3e2e6ca9ac2f365efe1f9cfef2794e6c93b4e",
- "sha256:50187900d73c1381ba1454cf40308c2bf6f34268518b3f36a9b663ca87e65e36",
- "sha256:611052c4bc70432ec770d5d54f64206aa7203a101ec273a0cd82418c86503bb7",
- "sha256:6be126e3225486dff286a8fb9a06246a5253f4c7c53b475ea5f5ac934e64194c",
- "sha256:7d79560ad97af658a0f6adfef8b834b53f64746d45b403f225b85c5c2c140eee",
- "sha256:8cb6403ce6d8e047495a701dc7c5bd788add903f8986d523e3e20b98b733e421",
- "sha256:8db4c1b57507eef143a15a6884ca10f7c73876cdf5d51e713151c1236a0e68cf",
- "sha256:aee678c8720623dc456fa20659af736241f575d79429a0e5e9cf88ae0605cc81",
- "sha256:bc56c2a1b0d15aa3eaa5a60c9f3f8e3e565303b465dbf57a1b730e7a2b9844e0",
- "sha256:bd1184ceb3f87651a67b2708d4c3338e9b10c5df903f2e3776b62303b26cb631",
- "sha256:d06016f7f8625a1825ba3732081d77c94589dca78b7a3fc072194851e88461a4",
- "sha256:d16bbddf0693323b8c6123dd804100241da461e41d6e332fb0ba6058f630f8c8"
- ],
- "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'",
- "version": "==5.9.8"
- },
- "ptyprocess": {
- "hashes": [
- "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35",
- "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220"
- ],
- "version": "==0.7.0"
- },
- "pure-eval": {
- "hashes": [
- "sha256:01eaab343580944bc56080ebe0a674b39ec44a945e6d09ba7db3cb8cec289350",
- "sha256:2b45320af6dfaa1750f543d714b6d1c520a1688dec6fd24d339063ce0aaa9ac3"
- ],
- "version": "==0.2.2"
- },
- "py-cpuinfo": {
- "hashes": [
- "sha256:3cdbbf3fac90dc6f118bfd64384f309edeadd902d7c8fb17f02ffa1fc3f49690",
- "sha256:859625bc251f64e21f077d099d4162689c762b5d6a4c3c97553d56241c9674d5"
- ],
- "version": "==9.0.0"
- },
- "pyarrow": {
- "hashes": [
- "sha256:033b7cad32198754d93465dcfb71d0ba7cb7cd5c9afd7052cab7214676eec38b",
- "sha256:06c2bb2a98bc792f040bef31ad3e9be6a63d0cb39189227c08a7d955db96816e",
- "sha256:23c6753ed4f6adb8461e7c383e418391b8d8453c5d67e17f416c3a5d5709afbd",
- "sha256:248723e4ed3255fcd73edcecc209744d58a9ca852e4cf3d2577811b6d4b59818",
- "sha256:25335e6f1f07fdaa026a61c758ee7d19ce824a866b27bba744348fa73bb5a440",
- "sha256:28f3016958a8e45a1069303a4a4f6a7d4910643fc08adb1e2e4a7ff056272ad3",
- "sha256:290e36a59a0993e9a5224ed2fb3e53375770f07379a0ea03ee2fce2e6d30b423",
- "sha256:29850d050379d6e8b5a693098f4de7fd6a2bea4365bfd073d7c57c57b95041ee",
- "sha256:2d4f905209de70c0eb5b2de6763104d5a9a37430f137678edfb9a675bac9cd98",
- "sha256:3a4f240852b302a7af4646c8bfe9950c4691a419847001178662a98915fd7ee7",
- "sha256:3e6d459c0c22f0b9c810a3917a1de3ee704b021a5fb8b3bacf968eece6df098f",
- "sha256:3ff3bdfe6f1b81ca5b73b70a8d482d37a766433823e0c21e22d1d7dde76ca33f",
- "sha256:4e7d9cfb5a1e648e172428c7a42b744610956f3b70f524aa3a6c02a448ba853e",
- "sha256:58922e4bfece8b02abf7159f1f53a8f4d9f8e08f2d988109126c17c3bb261f22",
- "sha256:5f8bc839ea36b1f99984c78e06e7a06054693dc2af8920f6fb416b5bca9944e4",
- "sha256:6669799a1d4ca9da9c7e06ef48368320f5856f36f9a4dd31a11839dda3f6cc8c",
- "sha256:7167107d7fb6dcadb375b4b691b7e316f4368f39f6f45405a05535d7ad5e5058",
- "sha256:88b340f0a1d05b5ccc3d2d986279045655b1fe8e41aba6ca44ea28da0d1455d8",
- "sha256:89722cb64286ab3d4daf168386f6968c126057b8c7ec3ef96302e81d8cdb8ae4",
- "sha256:8bd2baa5fe531571847983f36a30ddbf65261ef23e496862ece83bdceb70420d",
- "sha256:8c1faf2482fb89766e79745670cbca04e7018497d85be9242d5350cba21357e1",
- "sha256:90adb99e8ce5f36fbecbbc422e7dcbcbed07d985eed6062e459e23f9e71fd197",
- "sha256:90f19e976d9c3d8e73c80be84ddbe2f830b6304e4c576349d9360e335cd627fc",
- "sha256:9c9bc803cb3b7bfacc1e96ffbfd923601065d9d3f911179d81e72d99fd74a3d9",
- "sha256:a22366249bf5fd40ddacc4f03cd3160f2d7c247692945afb1899bab8a140ddfb",
- "sha256:ad2459bf1f22b6a5cdcc27ebfd99307d5526b62d217b984b9f5c974651398832",
- "sha256:adccc81d3dc0478ea0b498807b39a8d41628fa9210729b2f718b78cb997c7c91",
- "sha256:b116e7fd7889294cbd24eb90cd9bdd3850be3738d61297855a71ac3b8124ee38",
- "sha256:c2a335198f886b07e4b5ea16d08ee06557e07db54a8400cc0d03c7f6a22f785f",
- "sha256:cd0ba387705044b3ac77b1b317165c0498299b08261d8122c96051024f953cd5",
- "sha256:e85241b44cc3d365ef950432a1b3bd44ac54626f37b2e3a0cc89c20e45dfd8bf",
- "sha256:eaa8f96cecf32da508e6c7f69bb8401f03745c050c1dd42ec2596f2e98deecac",
- "sha256:f3d77463dee7e9f284ef42d341689b459a63ff2e75cee2b9302058d0d98fe142",
- "sha256:f5e81dfb4e519baa6b4c80410421528c214427e77ca0ea9461eb4097c328fa33",
- "sha256:f639c059035011db8c0497e541a8a45d98a58dbe34dc8fadd0ef128f2cee46e5",
- "sha256:f7a197f3670606a960ddc12adbe8075cea5f707ad7bf0dffa09637fdbb89f76c"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==15.0.2"
- },
- "pyasn1": {
- "hashes": [
- "sha256:3a35ab2c4b5ef98e17dfdec8ab074046fbda76e281c5a706ccd82328cfc8f64c",
- "sha256:cca4bb0f2df5504f02f6f8a775b6e416ff9b0b3b16f7ee80b5a3153d9b804473"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==0.6.0"
- },
- "pyasn1-modules": {
- "hashes": [
- "sha256:831dbcea1b177b28c9baddf4c6d1013c24c3accd14a1873fffaa6a2e905f17b6",
- "sha256:be04f15b66c206eed667e0bb5ab27e2b1855ea54a842e5037738099e8ca4ae0b"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==0.4.0"
- },
- "pycodestyle": {
- "hashes": [
- "sha256:41ba0e7afc9752dfb53ced5489e89f8186be00e599e712660695b7a75ff2663f",
- "sha256:44fe31000b2d866f2e41841b18528a505fbd7fef9017b04eff4e2648a0fadc67"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==2.11.1"
- },
- "pycparser": {
- "hashes": [
- "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6",
- "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==2.22"
- },
- "pycryptodome": {
- "hashes": [
- "sha256:06d6de87c19f967f03b4cf9b34e538ef46e99a337e9a61a77dbe44b2cbcf0690",
- "sha256:09609209ed7de61c2b560cc5c8c4fbf892f8b15b1faf7e4cbffac97db1fffda7",
- "sha256:210ba1b647837bfc42dd5a813cdecb5b86193ae11a3f5d972b9a0ae2c7e9e4b4",
- "sha256:2a1250b7ea809f752b68e3e6f3fd946b5939a52eaeea18c73bdab53e9ba3c2dd",
- "sha256:2ab6ab0cb755154ad14e507d1df72de9897e99fd2d4922851a276ccc14f4f1a5",
- "sha256:3427d9e5310af6680678f4cce149f54e0bb4af60101c7f2c16fdf878b39ccccc",
- "sha256:3cd3ef3aee1079ae44afaeee13393cf68b1058f70576b11439483e34f93cf818",
- "sha256:405002eafad114a2f9a930f5db65feef7b53c4784495dd8758069b89baf68eab",
- "sha256:417a276aaa9cb3be91f9014e9d18d10e840a7a9b9a9be64a42f553c5b50b4d1d",
- "sha256:4401564ebf37dfde45d096974c7a159b52eeabd9969135f0426907db367a652a",
- "sha256:49a4c4dc60b78ec41d2afa392491d788c2e06edf48580fbfb0dd0f828af49d25",
- "sha256:5601c934c498cd267640b57569e73793cb9a83506f7c73a8ec57a516f5b0b091",
- "sha256:6e0e4a987d38cfc2e71b4a1b591bae4891eeabe5fa0f56154f576e26287bfdea",
- "sha256:76658f0d942051d12a9bd08ca1b6b34fd762a8ee4240984f7c06ddfb55eaf15a",
- "sha256:76cb39afede7055127e35a444c1c041d2e8d2f1f9c121ecef573757ba4cd2c3c",
- "sha256:8d6b98d0d83d21fb757a182d52940d028564efe8147baa9ce0f38d057104ae72",
- "sha256:9b3ae153c89a480a0ec402e23db8d8d84a3833b65fa4b15b81b83be9d637aab9",
- "sha256:a60fedd2b37b4cb11ccb5d0399efe26db9e0dd149016c1cc6c8161974ceac2d6",
- "sha256:ac1c7c0624a862f2e53438a15c9259d1655325fc2ec4392e66dc46cdae24d044",
- "sha256:acae12b9ede49f38eb0ef76fdec2df2e94aad85ae46ec85be3648a57f0a7db04",
- "sha256:acc2614e2e5346a4a4eab6e199203034924313626f9620b7b4b38e9ad74b7e0c",
- "sha256:acf6e43fa75aca2d33e93409f2dafe386fe051818ee79ee8a3e21de9caa2ac9e",
- "sha256:baee115a9ba6c5d2709a1e88ffe62b73ecc044852a925dcb67713a288c4ec70f",
- "sha256:c18b381553638414b38705f07d1ef0a7cf301bc78a5f9bc17a957eb19446834b",
- "sha256:d29daa681517f4bc318cd8a23af87e1f2a7bad2fe361e8aa29c77d652a065de4",
- "sha256:d5954acfe9e00bc83ed9f5cb082ed22c592fbbef86dc48b907238be64ead5c33",
- "sha256:ec0bb1188c1d13426039af8ffcb4dbe3aad1d7680c35a62d8eaf2a529b5d3d4f",
- "sha256:ec1f93feb3bb93380ab0ebf8b859e8e5678c0f010d2d78367cf6bc30bfeb148e",
- "sha256:f0e6d631bae3f231d3634f91ae4da7a960f7ff87f2865b2d2b831af1dfb04e9a",
- "sha256:f35d6cee81fa145333137009d9c8ba90951d7d77b67c79cbe5f03c7eb74d8fe2",
- "sha256:f47888542a0633baff535a04726948e876bf1ed880fddb7c10a736fa99146ab3",
- "sha256:fb3b87461fa35afa19c971b0a2b7456a7b1db7b4eba9a8424666104925b78128"
- ],
- "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'",
- "version": "==3.20.0"
- },
- "pydantic": {
- "hashes": [
- "sha256:005655cabc29081de8243126e036f2065bd7ea5b9dff95fde6d2c642d39755de",
- "sha256:0d142fa1b8f2f0ae11ddd5e3e317dcac060b951d605fda26ca9b234b92214986",
- "sha256:22ed12ee588b1df028a2aa5d66f07bf8f8b4c8579c2e96d5a9c1f96b77f3bb55",
- "sha256:2746189100c646682eff0bce95efa7d2e203420d8e1c613dc0c6b4c1d9c1fde4",
- "sha256:28e552a060ba2740d0d2aabe35162652c1459a0b9069fe0db7f4ee0e18e74d58",
- "sha256:3287e1614393119c67bd4404f46e33ae3be3ed4cd10360b48d0a4459f420c6a3",
- "sha256:3350f527bb04138f8aff932dc828f154847fbdc7a1a44c240fbfff1b57f49a12",
- "sha256:3453685ccd7140715e05f2193d64030101eaad26076fad4e246c1cc97e1bb30d",
- "sha256:394f08750bd8eaad714718812e7fab615f873b3cdd0b9d84e76e51ef3b50b6b7",
- "sha256:4e316e54b5775d1eb59187f9290aeb38acf620e10f7fd2f776d97bb788199e53",
- "sha256:50f1666a9940d3d68683c9d96e39640f709d7a72ff8702987dab1761036206bb",
- "sha256:51d405b42f1b86703555797270e4970a9f9bd7953f3990142e69d1037f9d9e51",
- "sha256:584f2d4c98ffec420e02305cf675857bae03c9d617fcfdc34946b1160213a948",
- "sha256:5e09c19df304b8123938dc3c53d3d3be6ec74b9d7d0d80f4f4b5432ae16c2022",
- "sha256:676ed48f2c5bbad835f1a8ed8a6d44c1cd5a21121116d2ac40bd1cd3619746ed",
- "sha256:67f1a1fb467d3f49e1708a3f632b11c69fccb4e748a325d5a491ddc7b5d22383",
- "sha256:6a51a1dd4aa7b3f1317f65493a182d3cff708385327c1c82c81e4a9d6d65b2e4",
- "sha256:6bd7030c9abc80134087d8b6e7aa957e43d35714daa116aced57269a445b8f7b",
- "sha256:75279d3cac98186b6ebc2597b06bcbc7244744f6b0b44a23e4ef01e5683cc0d2",
- "sha256:7ac9237cd62947db00a0d16acf2f3e00d1ae9d3bd602b9c415f93e7a9fc10528",
- "sha256:7ea210336b891f5ea334f8fc9f8f862b87acd5d4a0cbc9e3e208e7aa1775dabf",
- "sha256:82790d4753ee5d00739d6cb5cf56bceb186d9d6ce134aca3ba7befb1eedbc2c8",
- "sha256:92229f73400b80c13afcd050687f4d7e88de9234d74b27e6728aa689abcf58cc",
- "sha256:9bea1f03b8d4e8e86702c918ccfd5d947ac268f0f0cc6ed71782e4b09353b26f",
- "sha256:a980a77c52723b0dc56640ced396b73a024d4b74f02bcb2d21dbbac1debbe9d0",
- "sha256:af9850d98fc21e5bc24ea9e35dd80a29faf6462c608728a110c0a30b595e58b7",
- "sha256:bbc6989fad0c030bd70a0b6f626f98a862224bc2b1e36bfc531ea2facc0a340c",
- "sha256:be51dd2c8596b25fe43c0a4a59c2bee4f18d88efb8031188f9e7ddc6b469cf44",
- "sha256:c365ad9c394f9eeffcb30a82f4246c0006417f03a7c0f8315d6211f25f7cb654",
- "sha256:c3d5731a120752248844676bf92f25a12f6e45425e63ce22e0849297a093b5b0",
- "sha256:ca832e124eda231a60a041da4f013e3ff24949d94a01154b137fc2f2a43c3ffb",
- "sha256:d207d5b87f6cbefbdb1198154292faee8017d7495a54ae58db06762004500d00",
- "sha256:d31ee5b14a82c9afe2bd26aaa405293d4237d0591527d9129ce36e58f19f95c1",
- "sha256:d3b5c4cbd0c9cb61bbbb19ce335e1f8ab87a811f6d589ed52b0254cf585d709c",
- "sha256:d573082c6ef99336f2cb5b667b781d2f776d4af311574fb53d908517ba523c22",
- "sha256:e49db944fad339b2ccb80128ffd3f8af076f9f287197a480bf1e4ca053a866f0"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==1.10.15"
- },
- "pydocstyle": {
- "hashes": [
- "sha256:118762d452a49d6b05e194ef344a55822987a462831ade91ec5c06fd2169d019",
- "sha256:7ce43f0c0ac87b07494eb9c0b462c0b73e6ff276807f204d6b53edc72b7e44e1"
- ],
- "version": "==6.3.0"
- },
- "pyflakes": {
- "hashes": [
- "sha256:1c61603ff154621fb2a9172037d84dca3500def8c8b630657d1701f026f8af3f",
- "sha256:84b5be138a2dfbb40689ca07e2152deb896a65c3a3e24c251c5c62489568074a"
- ],
- "version": "==3.2.0"
- },
- "pygithub": {
- "hashes": [
- "sha256:0148d7347a1cdeed99af905077010aef81a4dad988b0ba51d4108bf66b443f7e",
- "sha256:65b499728be3ce7b0cd2cd760da3b32f0f4d7bc55e5e0677617f90f6564e793e"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==2.3.0"
- },
- "pygments": {
- "hashes": [
- "sha256:b27c2826c47d0f3219f29554824c30c5e8945175d888647acd804ddd04af846c",
- "sha256:da46cec9fd2de5be3a8a784f434e4c4ab670b4ff54d605c4c2717e9d49c4c367"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==2.17.2"
- },
- "pyjwt": {
- "extras": [
- "crypto"
- ],
- "hashes": [
- "sha256:57e28d156e3d5c10088e0c68abb90bfac3df82b40a71bd0daa20c65ccd5c23de",
- "sha256:59127c392cc44c2da5bb3192169a91f429924e17aff6534d70fdc02ab3e04320"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==2.8.0"
- },
- "pylint": {
- "hashes": [
- "sha256:507a5b60953874766d8a366e8e8c7af63e058b26345cfcb5f91f89d987fd6b74",
- "sha256:6a69beb4a6f63debebaab0a3477ecd0f559aa726af4954fc948c51f7a2549e23"
- ],
- "version": "==3.1.0"
- },
- "pymilvus": {
- "hashes": [
- "sha256:37d5a360d671c6fe23fe1dd4e6b41af6e4b6d6488ad8e43a06afe23d02f98272",
- "sha256:b8df5b8db3a82209c33b7211e0b9ef4a63ee00cb2976ccb1e9f5b92a2c2d5b82"
- ],
- "index": "pypi",
- "markers": "python_version >= '3.8'",
- "version": "==2.3.7"
- },
- "pynacl": {
- "hashes": [
- "sha256:06b8f6fa7f5de8d5d2f7573fe8c863c051225a27b61e6860fd047b1775807858",
- "sha256:0c84947a22519e013607c9be43706dd42513f9e6ae5d39d3613ca1e142fba44d",
- "sha256:20f42270d27e1b6a29f54032090b972d97f0a1b0948cc52392041ef7831fee93",
- "sha256:401002a4aaa07c9414132aaed7f6836ff98f59277a234704ff66878c2ee4a0d1",
- "sha256:52cb72a79269189d4e0dc537556f4740f7f0a9ec41c1322598799b0bdad4ef92",
- "sha256:61f642bf2378713e2c2e1de73444a3778e5f0a38be6fee0fe532fe30060282ff",
- "sha256:8ac7448f09ab85811607bdd21ec2464495ac8b7c66d146bf545b0f08fb9220ba",
- "sha256:a36d4a9dda1f19ce6e03c9a784a2921a4b726b02e1c736600ca9c22029474394",
- "sha256:a422368fc821589c228f4c49438a368831cb5bbc0eab5ebe1d7fac9dded6567b",
- "sha256:e46dae94e34b085175f8abb3b0aaa7da40767865ac82c928eeb9e57e1ea8a543"
- ],
- "markers": "python_version >= '3.6'",
- "version": "==1.5.0"
- },
- "pyparsing": {
- "hashes": [
- "sha256:a1bac0ce561155ecc3ed78ca94d3c9378656ad4c94c1270de543f621420f94ad",
- "sha256:f9db75911801ed778fe61bb643079ff86601aca99fcae6345aa67292038fb742"
- ],
- "markers": "python_full_version >= '3.6.8'",
- "version": "==3.1.2"
- },
- "python-dateutil": {
- "hashes": [
- "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3",
- "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"
- ],
- "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",
- "version": "==2.9.0.post0"
- },
- "python-dotenv": {
- "hashes": [
- "sha256:e324ee90a023d808f1959c46bcbc04446a10ced277783dc6ee09987c37ec10ca",
- "sha256:f7b63ef50f1b690dddf550d03497b66d609393b40b564ed0d674909a68ebf16a"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==1.0.1"
- },
- "python-json-logger": {
- "hashes": [
- "sha256:23e7ec02d34237c5aa1e29a070193a4ea87583bb4e7f8fd06d3de8264c4b2e1c",
- "sha256:f380b826a991ebbe3de4d897aeec42760035ac760345e57b812938dc8b35e2bd"
- ],
- "markers": "python_version >= '3.6'",
- "version": "==2.0.7"
- },
- "python-lsp-jsonrpc": {
- "hashes": [
- "sha256:4688e453eef55cd952bff762c705cedefa12055c0aec17a06f595bcc002cc912",
- "sha256:7339c2e9630ae98903fdaea1ace8c47fba0484983794d6aafd0bd8989be2b03c"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==1.1.2"
- },
- "python-lsp-server": {
- "extras": [
- "all"
- ],
- "hashes": [
- "sha256:278cb41ea69ca9f84ec99d4edc96ff5f2f9e795d240771dc46dc1653f56ddfe3",
- "sha256:89edd6fb3f7852e4bf5a3d1d95ea41484d1a28fa94b6e3cbff12b9db123b8e86"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==1.11.0"
- },
- "pytoolconfig": {
- "extras": [
- "global"
- ],
- "hashes": [
- "sha256:51e6bd1a6f108238ae6aab6a65e5eed5e75d456be1c2bf29b04e5c1e7d7adbae",
- "sha256:5d8cea8ae1996938ec3eaf44567bbc5ef1bc900742190c439a44a704d6e1b62b"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==1.3.1"
- },
- "pytz": {
- "hashes": [
- "sha256:2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812",
- "sha256:328171f4e3623139da4983451950b28e95ac706e13f3f2630a879749e7a8b319"
- ],
- "version": "==2024.1"
- },
- "pyyaml": {
- "hashes": [
- "sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5",
- "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc",
- "sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df",
- "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741",
- "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206",
- "sha256:18aeb1bf9a78867dc38b259769503436b7c72f7a1f1f4c93ff9a17de54319b27",
- "sha256:1d4c7e777c441b20e32f52bd377e0c409713e8bb1386e1099c2415f26e479595",
- "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62",
- "sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98",
- "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696",
- "sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290",
- "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9",
- "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d",
- "sha256:49a183be227561de579b4a36efbb21b3eab9651dd81b1858589f796549873dd6",
- "sha256:4fb147e7a67ef577a588a0e2c17b6db51dda102c71de36f8549b6816a96e1867",
- "sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47",
- "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486",
- "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6",
- "sha256:596106435fa6ad000c2991a98fa58eeb8656ef2325d7e158344fb33864ed87e3",
- "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007",
- "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938",
- "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0",
- "sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c",
- "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735",
- "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d",
- "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28",
- "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4",
- "sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba",
- "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8",
- "sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef",
- "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5",
- "sha256:afd7e57eddb1a54f0f1a974bc4391af8bcce0b444685d936840f125cf046d5bd",
- "sha256:b1275ad35a5d18c62a7220633c913e1b42d44b46ee12554e5fd39c70a243d6a3",
- "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0",
- "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515",
- "sha256:baa90d3f661d43131ca170712d903e6295d1f7a0f595074f151c0aed377c9b9c",
- "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c",
- "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924",
- "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34",
- "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43",
- "sha256:c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859",
- "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673",
- "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54",
- "sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a",
- "sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b",
- "sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab",
- "sha256:f22ac1c3cac4dbc50079e965eba2c1058622631e526bd9afd45fedd49ba781fa",
- "sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c",
- "sha256:fca0e3a251908a499833aa292323f32437106001d436eca0e6e7833256674585",
- "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d",
- "sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f"
- ],
- "markers": "python_version >= '3.6'",
- "version": "==6.0.1"
- },
- "pyzmq": {
- "hashes": [
- "sha256:0108358dab8c6b27ff6b985c2af4b12665c1bc659648284153ee501000f5c107",
- "sha256:07bec1a1b22dacf718f2c0e71b49600bb6a31a88f06527dfd0b5aababe3fa3f7",
- "sha256:0e8f482c44ccb5884bf3f638f29bea0f8dc68c97e38b2061769c4cb697f6140d",
- "sha256:0ec91f1bad66f3ee8c6deb65fa1fe418e8ad803efedd69c35f3b5502f43bd1dc",
- "sha256:0f14cffd32e9c4c73da66db97853a6aeceaac34acdc0fae9e5bbc9370281864c",
- "sha256:15975747462ec49fdc863af906bab87c43b2491403ab37a6d88410635786b0f4",
- "sha256:1724117bae69e091309ffb8255412c4651d3f6355560d9af312d547f6c5bc8b8",
- "sha256:1a7c280185c4da99e0cc06c63bdf91f5b0b71deb70d8717f0ab870a43e376db8",
- "sha256:1b7928bb7580736ffac5baf814097be342ba08d3cfdfb48e52773ec959572287",
- "sha256:2032d9cb994ce3b4cba2b8dfae08c7e25bc14ba484c770d4d3be33c27de8c45b",
- "sha256:20e7eeb1166087db636c06cae04a1ef59298627f56fb17da10528ab52a14c87f",
- "sha256:216f5d7dbb67166759e59b0479bca82b8acf9bed6015b526b8eb10143fb08e77",
- "sha256:28b119ba97129d3001673a697b7cce47fe6de1f7255d104c2f01108a5179a066",
- "sha256:3104f4b084ad5d9c0cb87445cc8cfd96bba710bef4a66c2674910127044df209",
- "sha256:3e6192dbcefaaa52ed81be88525a54a445f4b4fe2fffcae7fe40ebb58bd06bfd",
- "sha256:42d4f97b9795a7aafa152a36fe2ad44549b83a743fd3e77011136def512e6c2a",
- "sha256:44e706bac34e9f50779cb8c39f10b53a4d15aebb97235643d3112ac20bd577b4",
- "sha256:47b11a729d61a47df56346283a4a800fa379ae6a85870d5a2e1e4956c828eedc",
- "sha256:4854f9edc5208f63f0841c0c667260ae8d6846cfa233c479e29fdc85d42ebd58",
- "sha256:48f721f070726cd2a6e44f3c33f8ee4b24188e4b816e6dd8ba542c8c3bb5b246",
- "sha256:52afb0ac962963fff30cf1be775bc51ae083ef4c1e354266ab20e5382057dd62",
- "sha256:54d8b9c5e288362ec8595c1d98666d36f2070fd0c2f76e2b3c60fbad9bd76227",
- "sha256:5bd3d7dfd9cd058eb68d9a905dec854f86649f64d4ddf21f3ec289341386c44b",
- "sha256:613010b5d17906c4367609e6f52e9a2595e35d5cc27d36ff3f1b6fa6e954d944",
- "sha256:624321120f7e60336be8ec74a172ae7fba5c3ed5bf787cc85f7e9986c9e0ebc2",
- "sha256:65c94410b5a8355cfcf12fd600a313efee46ce96a09e911ea92cf2acf6708804",
- "sha256:6640f83df0ae4ae1104d4c62b77e9ef39be85ebe53f636388707d532bee2b7b8",
- "sha256:687700f8371643916a1d2c61f3fdaa630407dd205c38afff936545d7b7466066",
- "sha256:77c2713faf25a953c69cf0f723d1b7dd83827b0834e6c41e3fb3bbc6765914a1",
- "sha256:78068e8678ca023594e4a0ab558905c1033b2d3e806a0ad9e3094e231e115a33",
- "sha256:7a23ccc1083c260fa9685c93e3b170baba45aeed4b524deb3f426b0c40c11639",
- "sha256:7abddb2bd5489d30ffeb4b93a428130886c171b4d355ccd226e83254fcb6b9ef",
- "sha256:80093b595921eed1a2cead546a683b9e2ae7f4a4592bb2ab22f70d30174f003a",
- "sha256:8242543c522d84d033fe79be04cb559b80d7eb98ad81b137ff7e0a9020f00ace",
- "sha256:838812c65ed5f7c2bd11f7b098d2e5d01685a3f6d1f82849423b570bae698c00",
- "sha256:83ea1a398f192957cb986d9206ce229efe0ee75e3c6635baff53ddf39bd718d5",
- "sha256:8421aa8c9b45ea608c205db9e1c0c855c7e54d0e9c2c2f337ce024f6843cab3b",
- "sha256:858375573c9225cc8e5b49bfac846a77b696b8d5e815711b8d4ba3141e6e8879",
- "sha256:86de64468cad9c6d269f32a6390e210ca5ada568c7a55de8e681ca3b897bb340",
- "sha256:87f7ac99b15270db8d53f28c3c7b968612993a90a5cf359da354efe96f5372b4",
- "sha256:8bad8210ad4df68c44ff3685cca3cda448ee46e20d13edcff8909eba6ec01ca4",
- "sha256:8bb4af15f305056e95ca1bd086239b9ebc6ad55e9f49076d27d80027f72752f6",
- "sha256:8c78bfe20d4c890cb5580a3b9290f700c570e167d4cdcc55feec07030297a5e3",
- "sha256:8f3f3154fde2b1ff3aa7b4f9326347ebc89c8ef425ca1db8f665175e6d3bd42f",
- "sha256:94010bd61bc168c103a5b3b0f56ed3b616688192db7cd5b1d626e49f28ff51b3",
- "sha256:941fab0073f0a54dc33d1a0460cb04e0d85893cb0c5e1476c785000f8b359409",
- "sha256:9dca7c3956b03b7663fac4d150f5e6d4f6f38b2462c1e9afd83bcf7019f17913",
- "sha256:a180dbd5ea5d47c2d3b716d5c19cc3fb162d1c8db93b21a1295d69585bfddac1",
- "sha256:a2712aee7b3834ace51738c15d9ee152cc5a98dc7d57dd93300461b792ab7b43",
- "sha256:a435ef8a3bd95c8a2d316d6e0ff70d0db524f6037411652803e118871d703333",
- "sha256:abb756147314430bee5d10919b8493c0ccb109ddb7f5dfd2fcd7441266a25b75",
- "sha256:abe6eb10122f0d746a0d510c2039ae8edb27bc9af29f6d1b05a66cc2401353ff",
- "sha256:acbd0a6d61cc954b9f535daaa9ec26b0a60a0d4353c5f7c1438ebc88a359a47e",
- "sha256:ae08ac90aa8fa14caafc7a6251bd218bf6dac518b7bff09caaa5e781119ba3f2",
- "sha256:ae61446166983c663cee42c852ed63899e43e484abf080089f771df4b9d272ef",
- "sha256:afe1f3bc486d0ce40abb0a0c9adb39aed3bbac36ebdc596487b0cceba55c21c1",
- "sha256:b946da90dc2799bcafa682692c1d2139b2a96ec3c24fa9fc6f5b0da782675330",
- "sha256:b947e264f0e77d30dcbccbb00f49f900b204b922eb0c3a9f0afd61aaa1cedc3d",
- "sha256:bb5635c851eef3a7a54becde6da99485eecf7d068bd885ac8e6d173c4ecd68b0",
- "sha256:bcbebd369493d68162cddb74a9c1fcebd139dfbb7ddb23d8f8e43e6c87bac3a6",
- "sha256:c31805d2c8ade9b11feca4674eee2b9cce1fec3e8ddb7bbdd961a09dc76a80ea",
- "sha256:c8840f064b1fb377cffd3efeaad2b190c14d4c8da02316dae07571252d20b31f",
- "sha256:ccb94342d13e3bf3ffa6e62f95b5e3f0bc6bfa94558cb37f4b3d09d6feb536ff",
- "sha256:d66689e840e75221b0b290b0befa86f059fb35e1ee6443bce51516d4d61b6b99",
- "sha256:dabf1a05318d95b1537fd61d9330ef4313ea1216eea128a17615038859da3b3b",
- "sha256:db03704b3506455d86ec72c3358a779e9b1d07b61220dfb43702b7b668edcd0d",
- "sha256:de4217b9eb8b541cf2b7fde4401ce9d9a411cc0af85d410f9d6f4333f43640be",
- "sha256:df0841f94928f8af9c7a1f0aaaffba1fb74607af023a152f59379c01c53aee58",
- "sha256:dfb992dbcd88d8254471760879d48fb20836d91baa90f181c957122f9592b3dc",
- "sha256:e7e66b4e403c2836ac74f26c4b65d8ac0ca1eef41dfcac2d013b7482befaad83",
- "sha256:e8012bce6836d3f20a6c9599f81dfa945f433dab4dbd0c4917a6fb1f998ab33d",
- "sha256:f01de4ec083daebf210531e2cca3bdb1608dbbbe00a9723e261d92087a1f6ebc",
- "sha256:f0d945a85b70da97ae86113faf9f1b9294efe66bd4a5d6f82f2676d567338b66",
- "sha256:fa0ae3275ef706c0309556061185dd0e4c4cd3b7d6f67ae617e4e677c7a41e2e"
- ],
- "markers": "python_version >= '3.6'",
- "version": "==24.0.1"
- },
- "referencing": {
- "hashes": [
- "sha256:5773bd84ef41799a5a8ca72dc34590c041eb01bf9aa02632b4a973fb0181a844",
- "sha256:d53ae300ceddd3169f1ffa9caf2cb7b769e92657e4fafb23d34b93679116dfd4"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==0.34.0"
- },
- "regex": {
- "hashes": [
- "sha256:00169caa125f35d1bca6045d65a662af0202704489fada95346cfa092ec23f39",
- "sha256:03576e3a423d19dda13e55598f0fd507b5d660d42c51b02df4e0d97824fdcae3",
- "sha256:03e68f44340528111067cecf12721c3df4811c67268b897fbe695c95f860ac42",
- "sha256:0534b034fba6101611968fae8e856c1698da97ce2efb5c2b895fc8b9e23a5834",
- "sha256:08dea89f859c3df48a440dbdcd7b7155bc675f2fa2ec8c521d02dc69e877db70",
- "sha256:0a38d151e2cdd66d16dab550c22f9521ba79761423b87c01dae0a6e9add79c0d",
- "sha256:0c8290b44d8b0af4e77048646c10c6e3aa583c1ca67f3b5ffb6e06cf0c6f0f89",
- "sha256:10188fe732dec829c7acca7422cdd1bf57d853c7199d5a9e96bb4d40db239c73",
- "sha256:1210365faba7c2150451eb78ec5687871c796b0f1fa701bfd2a4a25420482d26",
- "sha256:12f6a3f2f58bb7344751919a1876ee1b976fe08b9ffccb4bbea66f26af6017b9",
- "sha256:159dc4e59a159cb8e4e8f8961eb1fa5d58f93cb1acd1701d8aff38d45e1a84a6",
- "sha256:20b7a68444f536365af42a75ccecb7ab41a896a04acf58432db9e206f4e525d6",
- "sha256:23cff1b267038501b179ccbbd74a821ac4a7192a1852d1d558e562b507d46013",
- "sha256:2c72608e70f053643437bd2be0608f7f1c46d4022e4104d76826f0839199347a",
- "sha256:3399dd8a7495bbb2bacd59b84840eef9057826c664472e86c91d675d007137f5",
- "sha256:34422d5a69a60b7e9a07a690094e824b66f5ddc662a5fc600d65b7c174a05f04",
- "sha256:370c68dc5570b394cbaadff50e64d705f64debed30573e5c313c360689b6aadc",
- "sha256:3a1018e97aeb24e4f939afcd88211ace472ba566efc5bdf53fd8fd7f41fa7170",
- "sha256:3d5ac5234fb5053850d79dd8eb1015cb0d7d9ed951fa37aa9e6249a19aa4f336",
- "sha256:4313ab9bf6a81206c8ac28fdfcddc0435299dc88cad12cc6305fd0e78b81f9e4",
- "sha256:445ca8d3c5a01309633a0c9db57150312a181146315693273e35d936472df912",
- "sha256:479595a4fbe9ed8f8f72c59717e8cf222da2e4c07b6ae5b65411e6302af9708e",
- "sha256:4918fd5f8b43aa7ec031e0fef1ee02deb80b6afd49c85f0790be1dc4ce34cb50",
- "sha256:4aba818dcc7263852aabb172ec27b71d2abca02a593b95fa79351b2774eb1d2b",
- "sha256:4e819a806420bc010489f4e741b3036071aba209f2e0989d4750b08b12a9343f",
- "sha256:4facc913e10bdba42ec0aee76d029aedda628161a7ce4116b16680a0413f658a",
- "sha256:549c3584993772e25f02d0656ac48abdda73169fe347263948cf2b1cead622f3",
- "sha256:5c02fcd2bf45162280613d2e4a1ca3ac558ff921ae4e308ecb307650d3a6ee51",
- "sha256:5f580c651a72b75c39e311343fe6875d6f58cf51c471a97f15a938d9fe4e0d37",
- "sha256:62120ed0de69b3649cc68e2965376048793f466c5a6c4370fb27c16c1beac22d",
- "sha256:6295004b2dd37b0835ea5c14a33e00e8cfa3c4add4d587b77287825f3418d310",
- "sha256:65436dce9fdc0aeeb0a0effe0839cb3d6a05f45aa45a4d9f9c60989beca78b9c",
- "sha256:684008ec44ad275832a5a152f6e764bbe1914bea10968017b6feaecdad5736e0",
- "sha256:684e52023aec43bdf0250e843e1fdd6febbe831bd9d52da72333fa201aaa2335",
- "sha256:6cc38067209354e16c5609b66285af17a2863a47585bcf75285cab33d4c3b8df",
- "sha256:6f2f017c5be19984fbbf55f8af6caba25e62c71293213f044da3ada7091a4455",
- "sha256:743deffdf3b3481da32e8a96887e2aa945ec6685af1cfe2bcc292638c9ba2f48",
- "sha256:7571f19f4a3fd00af9341c7801d1ad1967fc9c3f5e62402683047e7166b9f2b4",
- "sha256:7731728b6568fc286d86745f27f07266de49603a6fdc4d19c87e8c247be452af",
- "sha256:785c071c982dce54d44ea0b79cd6dfafddeccdd98cfa5f7b86ef69b381b457d9",
- "sha256:78fddb22b9ef810b63ef341c9fcf6455232d97cfe03938cbc29e2672c436670e",
- "sha256:7bb966fdd9217e53abf824f437a5a2d643a38d4fd5fd0ca711b9da683d452969",
- "sha256:7cbc5d9e8a1781e7be17da67b92580d6ce4dcef5819c1b1b89f49d9678cc278c",
- "sha256:803b8905b52de78b173d3c1e83df0efb929621e7b7c5766c0843704d5332682f",
- "sha256:80b696e8972b81edf0af2a259e1b2a4a661f818fae22e5fa4fa1a995fb4a40fd",
- "sha256:81500ed5af2090b4a9157a59dbc89873a25c33db1bb9a8cf123837dcc9765047",
- "sha256:89ec7f2c08937421bbbb8b48c54096fa4f88347946d4747021ad85f1b3021b3c",
- "sha256:8ba6745440b9a27336443b0c285d705ce73adb9ec90e2f2004c64d95ab5a7598",
- "sha256:8c91e1763696c0eb66340c4df98623c2d4e77d0746b8f8f2bee2c6883fd1fe18",
- "sha256:8d015604ee6204e76569d2f44e5a210728fa917115bef0d102f4107e622b08d5",
- "sha256:8d1f86f3f4e2388aa3310b50694ac44daefbd1681def26b4519bd050a398dc5a",
- "sha256:8f83b6fd3dc3ba94d2b22717f9c8b8512354fd95221ac661784df2769ea9bba9",
- "sha256:8fc6976a3395fe4d1fbeb984adaa8ec652a1e12f36b56ec8c236e5117b585427",
- "sha256:904c883cf10a975b02ab3478bce652f0f5346a2c28d0a8521d97bb23c323cc8b",
- "sha256:911742856ce98d879acbea33fcc03c1d8dc1106234c5e7d068932c945db209c0",
- "sha256:91797b98f5e34b6a49f54be33f72e2fb658018ae532be2f79f7c63b4ae225145",
- "sha256:95399831a206211d6bc40224af1c635cb8790ddd5c7493e0bd03b85711076a53",
- "sha256:956b58d692f235cfbf5b4f3abd6d99bf102f161ccfe20d2fd0904f51c72c4c66",
- "sha256:98c1165f3809ce7774f05cb74e5408cd3aa93ee8573ae959a97a53db3ca3180d",
- "sha256:9ab40412f8cd6f615bfedea40c8bf0407d41bf83b96f6fc9ff34976d6b7037fd",
- "sha256:9df1bfef97db938469ef0a7354b2d591a2d438bc497b2c489471bec0e6baf7c4",
- "sha256:a01fe2305e6232ef3e8f40bfc0f0f3a04def9aab514910fa4203bafbc0bb4682",
- "sha256:a70b51f55fd954d1f194271695821dd62054d949efd6368d8be64edd37f55c86",
- "sha256:a7ccdd1c4a3472a7533b0a7aa9ee34c9a2bef859ba86deec07aff2ad7e0c3b94",
- "sha256:b340cccad138ecb363324aa26893963dcabb02bb25e440ebdf42e30963f1a4e0",
- "sha256:b74586dd0b039c62416034f811d7ee62810174bb70dffcca6439f5236249eb09",
- "sha256:b9d320b3bf82a39f248769fc7f188e00f93526cc0fe739cfa197868633d44701",
- "sha256:ba2336d6548dee3117520545cfe44dc28a250aa091f8281d28804aa8d707d93d",
- "sha256:ba8122e3bb94ecda29a8de4cf889f600171424ea586847aa92c334772d200331",
- "sha256:bd727ad276bb91928879f3aa6396c9a1d34e5e180dce40578421a691eeb77f47",
- "sha256:c21fc21a4c7480479d12fd8e679b699f744f76bb05f53a1d14182b31f55aac76",
- "sha256:c2d0e7cbb6341e830adcbfa2479fdeebbfbb328f11edd6b5675674e7a1e37730",
- "sha256:c2ef6f7990b6e8758fe48ad08f7e2f66c8f11dc66e24093304b87cae9037bb4a",
- "sha256:c4ed75ea6892a56896d78f11006161eea52c45a14994794bcfa1654430984b22",
- "sha256:cccc79a9be9b64c881f18305a7c715ba199e471a3973faeb7ba84172abb3f317",
- "sha256:d0800631e565c47520aaa04ae38b96abc5196fe8b4aa9bd864445bd2b5848a7a",
- "sha256:d2da13568eff02b30fd54fccd1e042a70fe920d816616fda4bf54ec705668d81",
- "sha256:d61ae114d2a2311f61d90c2ef1358518e8f05eafda76eaf9c772a077e0b465ec",
- "sha256:d83c2bc678453646f1a18f8db1e927a2d3f4935031b9ad8a76e56760461105dd",
- "sha256:dd5acc0a7d38fdc7a3a6fd3ad14c880819008ecb3379626e56b163165162cc46",
- "sha256:df79012ebf6f4efb8d307b1328226aef24ca446b3ff8d0e30202d7ebcb977a8c",
- "sha256:e0a2df336d1135a0b3a67f3bbf78a75f69562c1199ed9935372b82215cddd6e2",
- "sha256:e2f142b45c6fed48166faeb4303b4b58c9fcd827da63f4cf0a123c3480ae11fb",
- "sha256:e697e1c0238133589e00c244a8b676bc2cfc3ab4961318d902040d099fec7483",
- "sha256:e757d475953269fbf4b441207bb7dbdd1c43180711b6208e129b637792ac0b93",
- "sha256:e87ab229332ceb127a165612d839ab87795972102cb9830e5f12b8c9a5c1b508",
- "sha256:ea355eb43b11764cf799dda62c658c4d2fdb16af41f59bb1ccfec517b60bcb07",
- "sha256:ec7e0043b91115f427998febaa2beb82c82df708168b35ece3accb610b91fac1",
- "sha256:eeaa0b5328b785abc344acc6241cffde50dc394a0644a968add75fcefe15b9d4",
- "sha256:f2d80a6749724b37853ece57988b39c4e79d2b5fe2869a86e8aeae3bbeef9eb0",
- "sha256:fa454d26f2e87ad661c4f0c5a5fe4cf6aab1e307d1b94f16ffdfcb089ba685c0",
- "sha256:fb83cc090eac63c006871fd24db5e30a1f282faa46328572661c0a24a2323a08",
- "sha256:fd80d1280d473500d8086d104962a82d77bfbf2b118053824b7be28cd5a79ea5"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==2024.4.16"
- },
- "requests": {
- "hashes": [
- "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f",
- "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==2.31.0"
- },
- "requests-oauthlib": {
- "hashes": [
- "sha256:7dd8a5c40426b779b0868c404bdef9768deccf22749cde15852df527e6269b36",
- "sha256:b3dffaebd884d8cd778494369603a9e7b58d29111bf6b41bdc2dcd87203af4e9"
- ],
- "markers": "python_version >= '3.4'",
- "version": "==2.0.0"
- },
- "requests-toolbelt": {
- "hashes": [
- "sha256:18565aa58116d9951ac39baa288d3adb5b3ff975c4f25eee78555d89e8f247f7",
- "sha256:62e09f7ff5ccbda92772a29f394a49c3ad6cb181d568b1337626b2abb628a63d"
- ],
- "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",
- "version": "==0.10.1"
- },
- "rfc3339-validator": {
- "hashes": [
- "sha256:138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b",
- "sha256:24f6ec1eda14ef823da9e36ec7113124b39c04d50a4d3d3a3c2859577e7791fa"
- ],
- "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'",
- "version": "==0.1.4"
- },
- "rfc3986-validator": {
- "hashes": [
- "sha256:2f235c432ef459970b4306369336b9d5dbdda31b510ca1e327636e01f528bfa9",
- "sha256:3d44bde7921b3b9ec3ae4e3adca370438eccebc676456449b145d533b240d055"
- ],
- "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'",
- "version": "==0.1.1"
- },
- "rich": {
- "hashes": [
- "sha256:4edbae314f59eb482f54e9e30bf00d33350aaa94f4bfcd4e9e3110e64d0d7222",
- "sha256:9be308cb1fe2f1f57d67ce99e95af38a1e2bc71ad9813b0e247cf7ffbcc3a432"
- ],
- "markers": "python_full_version >= '3.7.0'",
- "version": "==13.7.1"
- },
- "rope": {
- "hashes": [
- "sha256:51437d2decc8806cd5e9dd1fd9c1306a6d9075ecaf78d191af85fc1dfface880",
- "sha256:b435a0c0971244fdcd8741676a9fae697ae614c20cc36003678a7782f25c0d6c"
- ],
- "version": "==1.13.0"
- },
- "rpds-py": {
- "hashes": [
- "sha256:01e36a39af54a30f28b73096dd39b6802eddd04c90dbe161c1b8dbe22353189f",
- "sha256:044a3e61a7c2dafacae99d1e722cc2d4c05280790ec5a05031b3876809d89a5c",
- "sha256:08231ac30a842bd04daabc4d71fddd7e6d26189406d5a69535638e4dcb88fe76",
- "sha256:08f9ad53c3f31dfb4baa00da22f1e862900f45908383c062c27628754af2e88e",
- "sha256:0ab39c1ba9023914297dd88ec3b3b3c3f33671baeb6acf82ad7ce883f6e8e157",
- "sha256:0af039631b6de0397ab2ba16eaf2872e9f8fca391b44d3d8cac317860a700a3f",
- "sha256:0b8612cd233543a3781bc659c731b9d607de65890085098986dfd573fc2befe5",
- "sha256:11a8c85ef4a07a7638180bf04fe189d12757c696eb41f310d2426895356dcf05",
- "sha256:1374f4129f9bcca53a1bba0bb86bf78325a0374577cf7e9e4cd046b1e6f20e24",
- "sha256:1d4acf42190d449d5e89654d5c1ed3a4f17925eec71f05e2a41414689cda02d1",
- "sha256:1d9a5be316c15ffb2b3c405c4ff14448c36b4435be062a7f578ccd8b01f0c4d8",
- "sha256:1df3659d26f539ac74fb3b0c481cdf9d725386e3552c6fa2974f4d33d78e544b",
- "sha256:22806714311a69fd0af9b35b7be97c18a0fc2826e6827dbb3a8c94eac6cf7eeb",
- "sha256:2644e47de560eb7bd55c20fc59f6daa04682655c58d08185a9b95c1970fa1e07",
- "sha256:2e6d75ab12b0bbab7215e5d40f1e5b738aa539598db27ef83b2ec46747df90e1",
- "sha256:30f43887bbae0d49113cbaab729a112251a940e9b274536613097ab8b4899cf6",
- "sha256:34b18ba135c687f4dac449aa5157d36e2cbb7c03cbea4ddbd88604e076aa836e",
- "sha256:36b3ee798c58ace201289024b52788161e1ea133e4ac93fba7d49da5fec0ef9e",
- "sha256:39514da80f971362f9267c600b6d459bfbbc549cffc2cef8e47474fddc9b45b1",
- "sha256:39f5441553f1c2aed4de4377178ad8ff8f9d733723d6c66d983d75341de265ab",
- "sha256:3a96e0c6a41dcdba3a0a581bbf6c44bb863f27c541547fb4b9711fd8cf0ffad4",
- "sha256:3f26b5bd1079acdb0c7a5645e350fe54d16b17bfc5e71f371c449383d3342e17",
- "sha256:41ef53e7c58aa4ef281da975f62c258950f54b76ec8e45941e93a3d1d8580594",
- "sha256:42821446ee7a76f5d9f71f9e33a4fb2ffd724bb3e7f93386150b61a43115788d",
- "sha256:43fbac5f22e25bee1d482c97474f930a353542855f05c1161fd804c9dc74a09d",
- "sha256:4457a94da0d5c53dc4b3e4de1158bdab077db23c53232f37a3cb7afdb053a4e3",
- "sha256:465a3eb5659338cf2a9243e50ad9b2296fa15061736d6e26240e713522b6235c",
- "sha256:482103aed1dfe2f3b71a58eff35ba105289b8d862551ea576bd15479aba01f66",
- "sha256:4832d7d380477521a8c1644bbab6588dfedea5e30a7d967b5fb75977c45fd77f",
- "sha256:4901165d170a5fde6f589acb90a6b33629ad1ec976d4529e769c6f3d885e3e80",
- "sha256:5307def11a35f5ae4581a0b658b0af8178c65c530e94893345bebf41cc139d33",
- "sha256:5417558f6887e9b6b65b4527232553c139b57ec42c64570569b155262ac0754f",
- "sha256:56a737287efecafc16f6d067c2ea0117abadcd078d58721f967952db329a3e5c",
- "sha256:586f8204935b9ec884500498ccc91aa869fc652c40c093bd9e1471fbcc25c022",
- "sha256:5b4e7d8d6c9b2e8ee2d55c90b59c707ca59bc30058269b3db7b1f8df5763557e",
- "sha256:5ddcba87675b6d509139d1b521e0c8250e967e63b5909a7e8f8944d0f90ff36f",
- "sha256:618a3d6cae6ef8ec88bb76dd80b83cfe415ad4f1d942ca2a903bf6b6ff97a2da",
- "sha256:635dc434ff724b178cb192c70016cc0ad25a275228f749ee0daf0eddbc8183b1",
- "sha256:661d25cbffaf8cc42e971dd570d87cb29a665f49f4abe1f9e76be9a5182c4688",
- "sha256:66e6a3af5a75363d2c9a48b07cb27c4ea542938b1a2e93b15a503cdfa8490795",
- "sha256:67071a6171e92b6da534b8ae326505f7c18022c6f19072a81dcf40db2638767c",
- "sha256:685537e07897f173abcf67258bee3c05c374fa6fff89d4c7e42fb391b0605e98",
- "sha256:69e64831e22a6b377772e7fb337533c365085b31619005802a79242fee620bc1",
- "sha256:6b0817e34942b2ca527b0e9298373e7cc75f429e8da2055607f4931fded23e20",
- "sha256:6c81e5f372cd0dc5dc4809553d34f832f60a46034a5f187756d9b90586c2c307",
- "sha256:6d7faa6f14017c0b1e69f5e2c357b998731ea75a442ab3841c0dbbbfe902d2c4",
- "sha256:6ef0befbb5d79cf32d0266f5cff01545602344eda89480e1dd88aca964260b18",
- "sha256:6ef687afab047554a2d366e112dd187b62d261d49eb79b77e386f94644363294",
- "sha256:7223a2a5fe0d217e60a60cdae28d6949140dde9c3bcc714063c5b463065e3d66",
- "sha256:77f195baa60a54ef9d2de16fbbfd3ff8b04edc0c0140a761b56c267ac11aa467",
- "sha256:793968759cd0d96cac1e367afd70c235867831983f876a53389ad869b043c948",
- "sha256:7bd339195d84439cbe5771546fe8a4e8a7a045417d8f9de9a368c434e42a721e",
- "sha256:7cd863afe7336c62ec78d7d1349a2f34c007a3cc6c2369d667c65aeec412a5b1",
- "sha256:7f2facbd386dd60cbbf1a794181e6aa0bd429bd78bfdf775436020172e2a23f0",
- "sha256:84ffab12db93b5f6bad84c712c92060a2d321b35c3c9960b43d08d0f639d60d7",
- "sha256:8c8370641f1a7f0e0669ddccca22f1da893cef7628396431eb445d46d893e5cd",
- "sha256:8db715ebe3bb7d86d77ac1826f7d67ec11a70dbd2376b7cc214199360517b641",
- "sha256:8e8916ae4c720529e18afa0b879473049e95949bf97042e938530e072fde061d",
- "sha256:8f03bccbd8586e9dd37219bce4d4e0d3ab492e6b3b533e973fa08a112cb2ffc9",
- "sha256:8f2fc11e8fe034ee3c34d316d0ad8808f45bc3b9ce5857ff29d513f3ff2923a1",
- "sha256:923d39efa3cfb7279a0327e337a7958bff00cc447fd07a25cddb0a1cc9a6d2da",
- "sha256:93df1de2f7f7239dc9cc5a4a12408ee1598725036bd2dedadc14d94525192fc3",
- "sha256:998e33ad22dc7ec7e030b3df701c43630b5bc0d8fbc2267653577e3fec279afa",
- "sha256:99f70b740dc04d09e6b2699b675874367885217a2e9f782bdf5395632ac663b7",
- "sha256:9a00312dea9310d4cb7dbd7787e722d2e86a95c2db92fbd7d0155f97127bcb40",
- "sha256:9d54553c1136b50fd12cc17e5b11ad07374c316df307e4cfd6441bea5fb68496",
- "sha256:9dbbeb27f4e70bfd9eec1be5477517365afe05a9b2c441a0b21929ee61048124",
- "sha256:a1ce3ba137ed54f83e56fb983a5859a27d43a40188ba798993812fed73c70836",
- "sha256:a34d557a42aa28bd5c48a023c570219ba2593bcbbb8dc1b98d8cf5d529ab1434",
- "sha256:a5f446dd5055667aabaee78487f2b5ab72e244f9bc0b2ffebfeec79051679984",
- "sha256:ad36cfb355e24f1bd37cac88c112cd7730873f20fb0bdaf8ba59eedf8216079f",
- "sha256:aec493917dd45e3c69d00a8874e7cbed844efd935595ef78a0f25f14312e33c6",
- "sha256:b316144e85316da2723f9d8dc75bada12fa58489a527091fa1d5a612643d1a0e",
- "sha256:b34ae4636dfc4e76a438ab826a0d1eed2589ca7d9a1b2d5bb546978ac6485461",
- "sha256:b34b7aa8b261c1dbf7720b5d6f01f38243e9b9daf7e6b8bc1fd4657000062f2c",
- "sha256:bc362ee4e314870a70f4ae88772d72d877246537d9f8cb8f7eacf10884862432",
- "sha256:bed88b9a458e354014d662d47e7a5baafd7ff81c780fd91584a10d6ec842cb73",
- "sha256:c0013fe6b46aa496a6749c77e00a3eb07952832ad6166bd481c74bda0dcb6d58",
- "sha256:c0b5dcf9193625afd8ecc92312d6ed78781c46ecbf39af9ad4681fc9f464af88",
- "sha256:c4325ff0442a12113a6379af66978c3fe562f846763287ef66bdc1d57925d337",
- "sha256:c463ed05f9dfb9baebef68048aed8dcdc94411e4bf3d33a39ba97e271624f8f7",
- "sha256:c8362467a0fdeccd47935f22c256bec5e6abe543bf0d66e3d3d57a8fb5731863",
- "sha256:cd5bf1af8efe569654bbef5a3e0a56eca45f87cfcffab31dd8dde70da5982475",
- "sha256:cf1ea2e34868f6fbf070e1af291c8180480310173de0b0c43fc38a02929fc0e3",
- "sha256:d62dec4976954a23d7f91f2f4530852b0c7608116c257833922a896101336c51",
- "sha256:d68c93e381010662ab873fea609bf6c0f428b6d0bb00f2c6939782e0818d37bf",
- "sha256:d7c36232a90d4755b720fbd76739d8891732b18cf240a9c645d75f00639a9024",
- "sha256:dd18772815d5f008fa03d2b9a681ae38d5ae9f0e599f7dda233c439fcaa00d40",
- "sha256:ddc2f4dfd396c7bfa18e6ce371cba60e4cf9d2e5cdb71376aa2da264605b60b9",
- "sha256:e003b002ec72c8d5a3e3da2989c7d6065b47d9eaa70cd8808b5384fbb970f4ec",
- "sha256:e32a92116d4f2a80b629778280103d2a510a5b3f6314ceccd6e38006b5e92dcb",
- "sha256:e4461d0f003a0aa9be2bdd1b798a041f177189c1a0f7619fe8c95ad08d9a45d7",
- "sha256:e541ec6f2ec456934fd279a3120f856cd0aedd209fc3852eca563f81738f6861",
- "sha256:e546e768d08ad55b20b11dbb78a745151acbd938f8f00d0cfbabe8b0199b9880",
- "sha256:ea7d4a99f3b38c37eac212dbd6ec42b7a5ec51e2c74b5d3223e43c811609e65f",
- "sha256:ed4eb745efbff0a8e9587d22a84be94a5eb7d2d99c02dacf7bd0911713ed14dd",
- "sha256:f8a2f084546cc59ea99fda8e070be2fd140c3092dc11524a71aa8f0f3d5a55ca",
- "sha256:fcb25daa9219b4cf3a0ab24b0eb9a5cc8949ed4dc72acb8fa16b7e1681aa3c58",
- "sha256:fdea4952db2793c4ad0bdccd27c1d8fdd1423a92f04598bc39425bcc2b8ee46e"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==0.18.0"
- },
- "rsa": {
- "hashes": [
- "sha256:90260d9058e514786967344d0ef75fa8727eed8a7d2e43ce9f4bcf1b536174f7",
- "sha256:e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21"
- ],
- "markers": "python_version >= '3.6' and python_version < '4'",
- "version": "==4.9"
- },
- "s3transfer": {
- "hashes": [
- "sha256:5683916b4c724f799e600f41dd9e10a9ff19871bf87623cc8f491cb4f5fa0a19",
- "sha256:ceb252b11bcf87080fb7850a224fb6e05c8a776bab8f2b64b7f25b969464839d"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==0.10.1"
- },
- "safetensors": {
- "hashes": [
- "sha256:018b691383026a2436a22b648873ed11444a364324e7088b99cd2503dd828400",
- "sha256:01e4b22e3284cd866edeabe4f4d896229495da457229408d2e1e4810c5187121",
- "sha256:01feb3089e5932d7e662eda77c3ecc389f97c0883c4a12b5cfdc32b589a811c3",
- "sha256:02318f01e332cc23ffb4f6716e05a492c5f18b1d13e343c49265149396284a44",
- "sha256:02ef3a24face643456020536591fbd3c717c5abaa2737ec428ccbbc86dffa7a4",
- "sha256:03a4447c784917c9bf01d8f2ac5080bc15c41692202cd5f406afba16629e84d6",
- "sha256:084fc436e317f83f7071fc6a62ca1c513b2103db325cd09952914b50f51cf78f",
- "sha256:0bf4f9d6323d9f86eef5567eabd88f070691cf031d4c0df27a40d3b4aaee755b",
- "sha256:0d52c958dc210265157573f81d34adf54e255bc2b59ded6218500c9b15a750eb",
- "sha256:0d5ffc6a80f715c30af253e0e288ad1cd97a3d0086c9c87995e5093ebc075e50",
- "sha256:0d9cd8e1560dfc514b6d7859247dc6a86ad2f83151a62c577428d5102d872721",
- "sha256:0dd37306546b58d3043eb044c8103a02792cc024b51d1dd16bd3dd1f334cb3ed",
- "sha256:1139eb436fd201c133d03c81209d39ac57e129f5e74e34bb9ab60f8d9b726270",
- "sha256:19bbdf95de2cf64f25cd614c5236c8b06eb2cfa47cbf64311f4b5d80224623a3",
- "sha256:1ab6527a20586d94291c96e00a668fa03f86189b8a9defa2cdd34a1a01acc7d5",
- "sha256:1b89381517891a7bb7d1405d828b2bf5d75528299f8231e9346b8eba092227f9",
- "sha256:1f598b713cc1a4eb31d3b3203557ac308acf21c8f41104cdd74bf640c6e538e3",
- "sha256:22d21760dc6ebae42e9c058d75aa9907d9f35e38f896e3c69ba0e7b213033856",
- "sha256:22f3b5d65e440cec0de8edaa672efa888030802e11c09b3d6203bff60ebff05a",
- "sha256:2a0deb16a1d3ea90c244ceb42d2c6c276059616be21a19ac7101aa97da448faf",
- "sha256:2a1f4430cc0c9d6afa01214a4b3919d0a029637df8e09675ceef1ca3f0dfa0df",
- "sha256:2d603846a8585b9432a0fd415db1d4c57c0f860eb4aea21f92559ff9902bae4d",
- "sha256:2f85fc50c4e07a21e95c24e07460fe6f7e2859d0ce88092838352b798ce711c2",
- "sha256:309b10dbcab63269ecbf0e2ca10ce59223bb756ca5d431ce9c9eeabd446569da",
- "sha256:3615a96dd2dcc30eb66d82bc76cda2565f4f7bfa89fcb0e31ba3cea8a1a9ecbb",
- "sha256:38e2a8666178224a51cca61d3cb4c88704f696eac8f72a49a598a93bbd8a4af9",
- "sha256:393e6e391467d1b2b829c77e47d726f3b9b93630e6a045b1d1fca67dc78bf632",
- "sha256:3f9cdca09052f585e62328c1c2923c70f46814715c795be65f0b93f57ec98a02",
- "sha256:41a727a7f5e6ad9f1db6951adee21bbdadc632363d79dc434876369a17de6ad6",
- "sha256:420a98f593ff9930f5822560d14c395ccbc57342ddff3b463bc0b3d6b1951550",
- "sha256:446e9fe52c051aeab12aac63d1017e0f68a02a92a027b901c4f8e931b24e5397",
- "sha256:455d538aa1aae4a8b279344a08136d3f16334247907b18a5c3c7fa88ef0d3c46",
- "sha256:4f9bac020faba7f5dc481e881b14b6425265feabb5bfc552551d21189c0eddc3",
- "sha256:53c4879b9c6bd7cd25d114ee0ef95420e2812e676314300624594940a8d6a91f",
- "sha256:5757e4688f20df083e233b47de43845d1adb7e17b6cf7da5f8444416fc53828d",
- "sha256:585c9ae13a205807b63bef8a37994f30c917ff800ab8a1ca9c9b5d73024f97ee",
- "sha256:5d07cbca5b99babb692d76d8151bec46f461f8ad8daafbfd96b2fca40cadae65",
- "sha256:5fc6775529fb9f0ce2266edd3e5d3f10aab068e49f765e11f6f2a63b5367021d",
- "sha256:622afd28968ef3e9786562d352659a37de4481a4070f4ebac883f98c5836563e",
- "sha256:6f9568f380f513a60139971169c4a358b8731509cc19112369902eddb33faa4d",
- "sha256:70a5319ef409e7f88686a46607cbc3c428271069d8b770076feaf913664a07ac",
- "sha256:74707624b81f1b7f2b93f5619d4a9f00934d5948005a03f2c1845ffbfff42212",
- "sha256:7c4fa560ebd4522adddb71dcd25d09bf211b5634003f015a4b815b7647d62ebe",
- "sha256:7de32d0d34b6623bb56ca278f90db081f85fb9c5d327e3c18fd23ac64f465768",
- "sha256:840b7ac0eff5633e1d053cc9db12fdf56b566e9403b4950b2dc85393d9b88d67",
- "sha256:840caf38d86aa7014fe37ade5d0d84e23dcfbc798b8078015831996ecbc206a3",
- "sha256:8651c7299cbd8b4161a36cd6a322fa07d39cd23535b144d02f1c1972d0c62f3c",
- "sha256:868ad1b6fc41209ab6bd12f63923e8baeb1a086814cb2e81a65ed3d497e0cf8f",
- "sha256:88887f69f7a00cf02b954cdc3034ffb383b2303bc0ab481d4716e2da51ddc10e",
- "sha256:89f9f17b0dacb913ed87d57afbc8aad85ea42c1085bd5de2f20d83d13e9fc4b2",
- "sha256:8c496c5401c1b9c46d41a7688e8ff5b0310a3b9bae31ce0f0ae870e1ea2b8caf",
- "sha256:8cf18888606dad030455d18f6c381720e57fc6a4170ee1966adb7ebc98d4d6a3",
- "sha256:8d22c1a10dff3f64d0d68abb8298a3fd88ccff79f408a3e15b3e7f637ef5c980",
- "sha256:90964917f5b0fa0fa07e9a051fbef100250c04d150b7026ccbf87a34a54012e0",
- "sha256:9bfb92f82574d9e58401d79c70c716985dc049b635fef6eecbb024c79b2c46ad",
- "sha256:9c6ad011c1b4e3acff058d6b090f1da8e55a332fbf84695cf3100c649cc452d1",
- "sha256:a11c374eb63a9c16c5ed146457241182f310902bd2a9c18255781bb832b6748b",
- "sha256:a7cef55929dcbef24af3eb40bedec35d82c3c2fa46338bb13ecf3c5720af8a61",
- "sha256:a844cdb5d7cbc22f5f16c7e2a0271170750763c4db08381b7f696dbd2c78a361",
- "sha256:ae7613a119a71a497d012ccc83775c308b9c1dab454806291427f84397d852fd",
- "sha256:b1648568667f820b8c48317c7006221dc40aced1869908c187f493838a1362bc",
- "sha256:b1e31be7945f66be23f4ec1682bb47faa3df34cb89fc68527de6554d3c4258a4",
- "sha256:b277482120df46e27a58082df06a15aebda4481e30a1c21eefd0921ae7e03f65",
- "sha256:b7ffba80aa49bd09195145a7fd233a7781173b422eeb995096f2b30591639517",
- "sha256:b852e47eb08475c2c1bd8131207b405793bfc20d6f45aff893d3baaad449ed14",
- "sha256:bb4f8c5d0358a31e9a08daeebb68f5e161cdd4018855426d3f0c23bb51087055",
- "sha256:bbae3b4b9d997971431c346edbfe6e41e98424a097860ee872721e176040a893",
- "sha256:befdf0167ad626f22f6aac6163477fcefa342224a22f11fdd05abb3995c1783c",
- "sha256:c0acbe31340ab150423347e5b9cc595867d814244ac14218932a5cf1dd38eb39",
- "sha256:c41e1893d1206aa7054029681778d9a58b3529d4c807002c156d58426c225173",
- "sha256:c59d51f182c729f47e841510b70b967b0752039f79f1de23bcdd86462a9b09ee",
- "sha256:cd6fff9e56df398abc5866b19a32124815b656613c1c5ec0f9350906fd798aac",
- "sha256:cdd0a3b5da66e7f377474599814dbf5cbf135ff059cc73694de129b58a5e8a2c",
- "sha256:cf476bca34e1340ee3294ef13e2c625833f83d096cfdf69a5342475602004f95",
- "sha256:d0dd4a1db09db2dba0f94d15addc7e7cd3a7b0d393aa4c7518c39ae7374623c3",
- "sha256:d1456f814655b224d4bf6e7915c51ce74e389b413be791203092b7ff78c936dd",
- "sha256:d14d30c25897b2bf19b6fb5ff7e26cc40006ad53fd4a88244fdf26517d852dd7",
- "sha256:d244bcafeb1bc06d47cfee71727e775bca88a8efda77a13e7306aae3813fa7e4",
- "sha256:d8815b5e1dac85fc534a97fd339e12404db557878c090f90442247e87c8aeaea",
- "sha256:d88b33980222085dd6001ae2cad87c6068e0991d4f5ccf44975d216db3b57376",
- "sha256:d8c5093206ef4b198600ae484230402af6713dab1bd5b8e231905d754022bec7",
- "sha256:d9c289f140a9ae4853fc2236a2ffc9a9f2d5eae0cb673167e0f1b8c18c0961ac",
- "sha256:dcf5705cab159ce0130cd56057f5f3425023c407e170bca60b4868048bae64fd",
- "sha256:e011cc162503c19f4b1fd63dfcddf73739c7a243a17dac09b78e57a00983ab35",
- "sha256:e066e8861eef6387b7c772344d1fe1f9a72800e04ee9a54239d460c400c72aab",
- "sha256:e0b2104df1579d6ba9052c0ae0e3137c9698b2d85b0645507e6fd1813b70931a",
- "sha256:e375d975159ac534c7161269de24ddcd490df2157b55c1a6eeace6cbb56903f0",
- "sha256:e4119532cd10dba04b423e0f86aecb96cfa5a602238c0aa012f70c3a40c44b50",
- "sha256:e7dbbde64b6c534548696808a0e01276d28ea5773bc9a2dfb97a88cd3dffe3df",
- "sha256:e9afd5358719f1b2cf425fad638fc3c887997d6782da317096877e5b15b2ce93",
- "sha256:ec4b52ce9a396260eb9731eb6aea41a7320de22ed73a1042c2230af0212758ce",
- "sha256:edb5698a7bc282089f64c96c477846950358a46ede85a1c040e0230344fdde10",
- "sha256:ee463219d9ec6c2be1d331ab13a8e0cd50d2f32240a81d498266d77d07b7e71e",
- "sha256:efcc860be094b8d19ac61b452ec635c7acb9afa77beb218b1d7784c6d41fe8ad",
- "sha256:f5e6883af9a68c0028f70a4c19d5a6ab6238a379be36ad300a22318316c00cb0",
- "sha256:f9650713b2cfa9537a2baf7dd9fee458b24a0aaaa6cafcea8bdd5fb2b8efdc34",
- "sha256:faefeb3b81bdfb4e5a55b9bbdf3d8d8753f65506e1d67d03f5c851a6c87150e9",
- "sha256:fb9c65bd82f9ef3ce4970dc19ee86be5f6f93d032159acf35e663c6bea02b237",
- "sha256:fe746d03ed8d193674a26105e4f0fe6c726f5bb602ffc695b409eaf02f04763d",
- "sha256:fef5d70683643618244a4f5221053567ca3e77c2531e42ad48ae05fae909f542"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==0.4.3"
- },
- "scikit-learn": {
- "hashes": [
- "sha256:1d0b25d9c651fd050555aadd57431b53d4cf664e749069da77f3d52c5ad14b3b",
- "sha256:36f0ea5d0f693cb247a073d21a4123bdf4172e470e6d163c12b74cbb1536cf38",
- "sha256:426d258fddac674fdf33f3cb2d54d26f49406e2599dbf9a32b4d1696091d4256",
- "sha256:44c62f2b124848a28fd695db5bc4da019287abf390bfce602ddc8aa1ec186aae",
- "sha256:45dee87ac5309bb82e3ea633955030df9bbcb8d2cdb30383c6cd483691c546cc",
- "sha256:49d64ef6cb8c093d883e5a36c4766548d974898d378e395ba41a806d0e824db8",
- "sha256:5460a1a5b043ae5ae4596b3126a4ec33ccba1b51e7ca2c5d36dac2169f62ab1d",
- "sha256:5cd7b524115499b18b63f0c96f4224eb885564937a0b3477531b2b63ce331904",
- "sha256:671e2f0c3f2c15409dae4f282a3a619601fa824d2c820e5b608d9d775f91780c",
- "sha256:68b8404841f944a4a1459b07198fa2edd41a82f189b44f3e1d55c104dbc2e40c",
- "sha256:81bf5d8bbe87643103334032dd82f7419bc8c8d02a763643a6b9a5c7288c5054",
- "sha256:8539a41b3d6d1af82eb629f9c57f37428ff1481c1e34dddb3b9d7af8ede67ac5",
- "sha256:87440e2e188c87db80ea4023440923dccbd56fbc2d557b18ced00fef79da0727",
- "sha256:90378e1747949f90c8f385898fff35d73193dfcaec3dd75d6b542f90c4e89755",
- "sha256:b0203c368058ab92efc6168a1507d388d41469c873e96ec220ca8e74079bf62e",
- "sha256:c97a50b05c194be9146d61fe87dbf8eac62b203d9e87a3ccc6ae9aed2dfaf361",
- "sha256:d36d0bc983336bbc1be22f9b686b50c964f593c8a9a913a792442af9bf4f5e68",
- "sha256:d762070980c17ba3e9a4a1e043ba0518ce4c55152032f1af0ca6f39b376b5928",
- "sha256:d9993d5e78a8148b1d0fdf5b15ed92452af5581734129998c26f481c46586d68",
- "sha256:daa1c471d95bad080c6e44b4946c9390a4842adc3082572c20e4f8884e39e959",
- "sha256:ff4effe5a1d4e8fed260a83a163f7dbf4f6087b54528d8880bab1d1377bd78be"
- ],
- "index": "pypi",
- "markers": "python_version >= '3.9'",
- "version": "==1.4.2"
- },
- "scipy": {
- "hashes": [
- "sha256:196ebad3a4882081f62a5bf4aeb7326aa34b110e533aab23e4374fcccb0890dc",
- "sha256:408c68423f9de16cb9e602528be4ce0d6312b05001f3de61fe9ec8b1263cad08",
- "sha256:4bf5abab8a36d20193c698b0f1fc282c1d083c94723902c447e5d2f1780936a3",
- "sha256:4c1020cad92772bf44b8e4cdabc1df5d87376cb219742549ef69fc9fd86282dd",
- "sha256:5adfad5dbf0163397beb4aca679187d24aec085343755fcdbdeb32b3679f254c",
- "sha256:5e32847e08da8d895ce09d108a494d9eb78974cf6de23063f93306a3e419960c",
- "sha256:6546dc2c11a9df6926afcbdd8a3edec28566e4e785b915e849348c6dd9f3f490",
- "sha256:730badef9b827b368f351eacae2e82da414e13cf8bd5051b4bdfd720271a5371",
- "sha256:75ea2a144096b5e39402e2ff53a36fecfd3b960d786b7efd3c180e29c39e53f2",
- "sha256:78e4402e140879387187f7f25d91cc592b3501a2e51dfb320f48dfb73565f10b",
- "sha256:8b8066bce124ee5531d12a74b617d9ac0ea59245246410e19bca549656d9a40a",
- "sha256:8bee4993817e204d761dba10dbab0774ba5a8612e57e81319ea04d84945375ba",
- "sha256:913d6e7956c3a671de3b05ccb66b11bc293f56bfdef040583a7221d9e22a2e35",
- "sha256:95e5c750d55cf518c398a8240571b0e0782c2d5a703250872f36eaf737751338",
- "sha256:9c39f92041f490422924dfdb782527a4abddf4707616e07b021de33467f917bc",
- "sha256:a24024d45ce9a675c1fb8494e8e5244efea1c7a09c60beb1eeb80373d0fecc70",
- "sha256:a7ebda398f86e56178c2fa94cad15bf457a218a54a35c2a7b4490b9f9cb2676c",
- "sha256:b360f1b6b2f742781299514e99ff560d1fe9bd1bff2712894b52abe528d1fd1e",
- "sha256:bba1b0c7256ad75401c73e4b3cf09d1f176e9bd4248f0d3112170fb2ec4db067",
- "sha256:c3003652496f6e7c387b1cf63f4bb720951cfa18907e998ea551e6de51a04467",
- "sha256:e53958531a7c695ff66c2e7bb7b79560ffdc562e2051644c5576c39ff8efb563",
- "sha256:e646d8571804a304e1da01040d21577685ce8e2db08ac58e543eaca063453e1c",
- "sha256:e7e76cc48638228212c747ada851ef355c2bb5e7f939e10952bc504c11f4e372",
- "sha256:f5f00ebaf8de24d14b8449981a2842d404152774c1a1d880c901bf454cb8e2a1",
- "sha256:f7ce148dffcd64ade37b2df9315541f9adad6efcaa86866ee7dd5db0c8f041c3"
- ],
- "index": "pypi",
- "markers": "python_version >= '3.9'",
- "version": "==1.12.0"
- },
- "seaborn": {
- "hashes": [
- "sha256:636f8336facf092165e27924f223d3c62ca560b1f2bb5dff7ab7fad265361987",
- "sha256:93e60a40988f4d65e9f4885df477e2fdaff6b73a9ded434c1ab356dd57eefff7"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==0.13.2"
- },
- "send2trash": {
- "hashes": [
- "sha256:0c31227e0bd08961c7665474a3d1ef7193929fedda4233843689baa056be46c9",
- "sha256:b18e7a3966d99871aefeb00cfbcfdced55ce4871194810fc71f4aa484b953abf"
- ],
- "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'",
- "version": "==1.8.3"
- },
- "sentence-transformers": {
- "hashes": [
- "sha256:633ad6b70e390ea335de8689652a5d6c21a323b79ed19519c2f392451088487f",
- "sha256:a887e17696b513f99a709ce1f37fd547f53857aebe863785ede546c303b09ea0"
- ],
- "markers": "python_full_version >= '3.8.0'",
- "version": "==2.6.1"
- },
- "setuptools": {
- "hashes": [
- "sha256:0ff4183f8f42cd8fa3acea16c45205521a4ef28f73c6391d8a25e92893134f2e",
- "sha256:c21c49fb1042386df081cb5d86759792ab89efca84cf114889191cd09aacc80c"
- ],
- "index": "pypi",
- "markers": "python_version >= '3.8'",
- "version": "==69.2.0"
- },
- "shellingham": {
- "hashes": [
- "sha256:7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686",
- "sha256:8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==1.5.4"
- },
- "simpervisor": {
- "hashes": [
- "sha256:3e313318264559beea3f475ead202bc1cd58a2f1288363abb5657d306c5b8388",
- "sha256:7eb87ca86d5e276976f5bb0290975a05d452c6a7b7f58062daea7d8369c823c1"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==1.0.0"
- },
- "six": {
- "hashes": [
- "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926",
- "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"
- ],
- "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",
- "version": "==1.16.0"
- },
- "smmap": {
- "hashes": [
- "sha256:dceeb6c0028fdb6734471eb07c0cd2aae706ccaecab45965ee83f11c8d3b1f62",
- "sha256:e6d8668fa5f93e706934a62d7b4db19c8d9eb8cf2adbb75ef1b675aa332b69da"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==5.0.1"
- },
- "sniffio": {
- "hashes": [
- "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2",
- "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==1.3.1"
- },
- "snowballstemmer": {
- "hashes": [
- "sha256:09b16deb8547d3412ad7b590689584cd0fe25ec8db3be37788be3810cbf19cb1",
- "sha256:c8e1716e83cc398ae16824e5572ae04e0d9fc2c6b985fb0f900f5f0c96ecba1a"
- ],
- "version": "==2.2.0"
- },
- "soupsieve": {
- "hashes": [
- "sha256:5663d5a7b3bfaeee0bc4372e7fc48f9cff4940b3eec54a6451cc5299f1097690",
- "sha256:eaa337ff55a1579b6549dc679565eac1e3d000563bcb1c8ab0d0fefbc0c2cdc7"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==2.5"
- },
- "sqlalchemy": {
- "hashes": [
- "sha256:01d10638a37460616708062a40c7b55f73e4d35eaa146781c683e0fa7f6c43fb",
- "sha256:04c487305ab035a9548f573763915189fc0fe0824d9ba28433196f8436f1449c",
- "sha256:0dfefdb3e54cd15f5d56fd5ae32f1da2d95d78319c1f6dfb9bcd0eb15d603d5d",
- "sha256:0f3ca96af060a5250a8ad5a63699180bc780c2edf8abf96c58af175921df847a",
- "sha256:205f5a2b39d7c380cbc3b5dcc8f2762fb5bcb716838e2d26ccbc54330775b003",
- "sha256:25664e18bef6dc45015b08f99c63952a53a0a61f61f2e48a9e70cec27e55f699",
- "sha256:296195df68326a48385e7a96e877bc19aa210e485fa381c5246bc0234c36c78e",
- "sha256:2a0732dffe32333211801b28339d2a0babc1971bc90a983e3035e7b0d6f06b93",
- "sha256:3071ad498896907a5ef756206b9dc750f8e57352113c19272bdfdc429c7bd7de",
- "sha256:308ef9cb41d099099fffc9d35781638986870b29f744382904bf9c7dadd08513",
- "sha256:334184d1ab8f4c87f9652b048af3f7abea1c809dfe526fb0435348a6fef3d380",
- "sha256:38b624e5cf02a69b113c8047cf7f66b5dfe4a2ca07ff8b8716da4f1b3ae81567",
- "sha256:471fcb39c6adf37f820350c28aac4a7df9d3940c6548b624a642852e727ea586",
- "sha256:4c142852ae192e9fe5aad5c350ea6befe9db14370b34047e1f0f7cf99e63c63b",
- "sha256:4f6d971255d9ddbd3189e2e79d743ff4845c07f0633adfd1de3f63d930dbe673",
- "sha256:52c8011088305476691b8750c60e03b87910a123cfd9ad48576d6414b6ec2a1d",
- "sha256:52de4736404e53c5c6a91ef2698c01e52333988ebdc218f14c833237a0804f1b",
- "sha256:5c7b02525ede2a164c5fa5014915ba3591730f2cc831f5be9ff3b7fd3e30958e",
- "sha256:5ef3fbccb4058355053c51b82fd3501a6e13dd808c8d8cd2561e610c5456013c",
- "sha256:5f20cb0a63a3e0ec4e169aa8890e32b949c8145983afa13a708bc4b0a1f30e03",
- "sha256:61405ea2d563407d316c63a7b5271ae5d274a2a9fbcd01b0aa5503635699fa1e",
- "sha256:77d29cb6c34b14af8a484e831ab530c0f7188f8efed1c6a833a2c674bf3c26ec",
- "sha256:7b184e3de58009cc0bf32e20f137f1ec75a32470f5fede06c58f6c355ed42a72",
- "sha256:7e614d7a25a43a9f54fcce4675c12761b248547f3d41b195e8010ca7297c369c",
- "sha256:8197d6f7a3d2b468861ebb4c9f998b9df9e358d6e1cf9c2a01061cb9b6cf4e41",
- "sha256:87a1d53a5382cdbbf4b7619f107cc862c1b0a4feb29000922db72e5a66a5ffc0",
- "sha256:8c37f1050feb91f3d6c32f864d8e114ff5545a4a7afe56778d76a9aec62638ba",
- "sha256:90453597a753322d6aa770c5935887ab1fc49cc4c4fdd436901308383d698b4b",
- "sha256:988569c8732f54ad3234cf9c561364221a9e943b78dc7a4aaf35ccc2265f1930",
- "sha256:99a1e69d4e26f71e750e9ad6fdc8614fbddb67cfe2173a3628a2566034e223c7",
- "sha256:9b19836ccca0d321e237560e475fd99c3d8655d03da80c845c4da20dda31b6e1",
- "sha256:9d6753305936eddc8ed190e006b7bb33a8f50b9854823485eed3a886857ab8d1",
- "sha256:a13b917b4ffe5a0a31b83d051d60477819ddf18276852ea68037a144a506efb9",
- "sha256:a88913000da9205b13f6f195f0813b6ffd8a0c0c2bd58d499e00a30eb508870c",
- "sha256:b2a0e3cf0caac2085ff172c3faacd1e00c376e6884b5bc4dd5b6b84623e29e4f",
- "sha256:b5d7ed79df55a731749ce65ec20d666d82b185fa4898430b17cb90c892741520",
- "sha256:bab41acf151cd68bc2b466deae5deeb9e8ae9c50ad113444151ad965d5bf685b",
- "sha256:bd9566b8e58cabd700bc367b60e90d9349cd16f0984973f98a9a09f9c64e86f0",
- "sha256:bda7ce59b06d0f09afe22c56714c65c957b1068dee3d5e74d743edec7daba552",
- "sha256:c2f9c762a2735600654c654bf48dad388b888f8ce387b095806480e6e4ff6907",
- "sha256:c4520047006b1d3f0d89e0532978c0688219857eb2fee7c48052560ae76aca1e",
- "sha256:d96710d834a6fb31e21381c6d7b76ec729bd08c75a25a5184b1089141356171f",
- "sha256:dba622396a3170974f81bad49aacebd243455ec3cc70615aeaef9e9613b5bca5",
- "sha256:dc4ee2d4ee43251905f88637d5281a8d52e916a021384ec10758826f5cbae305",
- "sha256:dddaae9b81c88083e6437de95c41e86823d150f4ee94bf24e158a4526cbead01",
- "sha256:de7202ffe4d4a8c1e3cde1c03e01c1a3772c92858837e8f3879b497158e4cb44",
- "sha256:e5bbe55e8552019c6463709b39634a5fc55e080d0827e2a3a11e18eb73f5cdbd",
- "sha256:ea311d4ee9a8fa67f139c088ae9f905fcf0277d6cd75c310a21a88bf85e130f5",
- "sha256:fecd5089c4be1bcc37c35e9aa678938d2888845a134dd016de457b942cf5a758"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==2.0.29"
- },
- "stack-data": {
- "hashes": [
- "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9",
- "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695"
- ],
- "version": "==0.6.3"
- },
- "strip-hints": {
- "hashes": [
- "sha256:307c2bd147cd35997c8ed2e9a3bdca48ad9c9617e04ea46599095201b4ce998f"
- ],
- "version": "==0.1.10"
- },
- "sympy": {
- "hashes": [
- "sha256:c3588cd4295d0c0f603d0f2ae780587e64e2efeedb3521e46b9bb1d08d184fa5",
- "sha256:ebf595c8dac3e0fdc4152c51878b498396ec7f30e7a914d6071e674d49420fb8"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==1.12"
- },
- "tabulate": {
- "hashes": [
- "sha256:0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c",
- "sha256:024ca478df22e9340661486f85298cff5f6dcdba14f3813e8830015b9ed1948f"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==0.9.0"
- },
- "tenacity": {
- "hashes": [
- "sha256:5398ef0d78e63f40007c1fb4c0bff96e1911394d2fa8d194f77619c05ff6cc8a",
- "sha256:ce510e327a630c9e1beaf17d42e6ffacc88185044ad85cf74c0a8887c6a0f88c"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==8.2.3"
- },
- "termcolor": {
- "hashes": [
- "sha256:3afb05607b89aed0ffe25202399ee0867ad4d3cb4180d98aaf8eefa6a5f7d475",
- "sha256:b5b08f68937f138fe92f6c089b99f1e2da0ae56c52b78bf7075fd95420fd9a5a"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==2.3.0"
- },
- "terminado": {
- "hashes": [
- "sha256:a4468e1b37bb318f8a86514f65814e1afc977cf29b3992a4500d9dd305dcceb0",
- "sha256:de09f2c4b85de4765f7714688fff57d3e75bad1f909b589fde880460c753fd2e"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==0.18.1"
- },
- "text-generation": {
- "hashes": [
- "sha256:730e662aa7812f73c08ab953e008e90455f3d046f81efa0ef3de462bd4cf63d9",
- "sha256:ebca00587eeabc0f5118f66ee1048bf690bd7735a9a10361c533c31c8c0bf994"
- ],
- "markers": "python_version >= '3.7' and python_version < '4.0'",
- "version": "==0.6.1"
- },
- "thop": {
- "hashes": [
- "sha256:01473c225231927d2ad718351f78ebf7cffe6af3bed464c4f1ba1ef0f7cdda27"
- ],
- "version": "==0.1.1.post2209072238"
- },
- "threadpoolctl": {
- "hashes": [
- "sha256:8f4c689a65b23e5ed825c8436a92b818aac005e0f3715f6a1664d7c7ee29d262",
- "sha256:f11b491a03661d6dd7ef692dd422ab34185d982466c49c8f98c8f716b5c93196"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==3.4.0"
- },
- "tinycss2": {
- "hashes": [
- "sha256:2b80a96d41e7c3914b8cda8bc7f705a4d9c49275616e886103dd839dfc847847",
- "sha256:8cff3a8f066c2ec677c06dbc7b45619804a6938478d9d73c284b29d14ecb0627"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==1.2.1"
- },
- "tokenizers": {
- "hashes": [
- "sha256:01d62812454c188306755c94755465505836fd616f75067abcae529c35edeb57",
- "sha256:02e81bf089ebf0e7f4df34fa0207519f07e66d8491d963618252f2e0729e0b46",
- "sha256:04ce49e82d100594715ac1b2ce87d1a36e61891a91de774755f743babcd0dd52",
- "sha256:07f9295349bbbcedae8cefdbcfa7f686aa420be8aca5d4f7d1ae6016c128c0c5",
- "sha256:08a44864e42fa6d7d76d7be4bec62c9982f6f6248b4aa42f7302aa01e0abfd26",
- "sha256:0b5ca92bfa717759c052e345770792d02d1f43b06f9e790ca0a1db62838816f3",
- "sha256:0b9394bd204842a2a1fd37fe29935353742be4a3460b6ccbaefa93f58a8df43d",
- "sha256:0bcce02bf1ad9882345b34d5bd25ed4949a480cf0e656bbd468f4d8986f7a3f1",
- "sha256:0e64bfde9a723274e9a71630c3e9494ed7b4c0f76a1faacf7fe294cd26f7ae7c",
- "sha256:10a707cc6c4b6b183ec5dbfc5c34f3064e18cf62b4a938cb41699e33a99e03c1",
- "sha256:16baac68651701364b0289979ecec728546133e8e8fe38f66fe48ad07996b88b",
- "sha256:1de5bc8652252d9357a666e609cb1453d4f8e160eb1fb2830ee369dd658e8975",
- "sha256:1f0360cbea28ea99944ac089c00de7b2e3e1c58f479fb8613b6d8d511ce98267",
- "sha256:2e8a3dd055e515df7054378dc9d6fa8c8c34e1f32777fb9a01fea81496b3f9d3",
- "sha256:3174c76efd9d08f836bfccaca7cfec3f4d1c0a4cf3acbc7236ad577cc423c840",
- "sha256:35583cd46d16f07c054efd18b5d46af4a2f070a2dd0a47914e66f3ff5efb2b1e",
- "sha256:39c1ec76ea1027438fafe16ecb0fb84795e62e9d643444c1090179e63808c69d",
- "sha256:3b11853f17b54c2fe47742c56d8a33bf49ce31caf531e87ac0d7d13d327c9334",
- "sha256:427c4f0f3df9109314d4f75b8d1f65d9477033e67ffaec4bca53293d3aca286d",
- "sha256:43350270bfc16b06ad3f6f07eab21f089adb835544417afda0f83256a8bf8b75",
- "sha256:453e4422efdfc9c6b6bf2eae00d5e323f263fff62b29a8c9cd526c5003f3f642",
- "sha256:4692ab92f91b87769d950ca14dbb61f8a9ef36a62f94bad6c82cc84a51f76f6a",
- "sha256:4ad23d37d68cf00d54af184586d79b84075ada495e7c5c0f601f051b162112dc",
- "sha256:4f3fefdc0446b1a1e6d81cd4c07088ac015665d2e812f6dbba4a06267d1a2c95",
- "sha256:56ae39d4036b753994476a1b935584071093b55c7a72e3b8288e68c313ca26e7",
- "sha256:5c88d1481f1882c2e53e6bb06491e474e420d9ac7bdff172610c4f9ad3898059",
- "sha256:61b7fe8886f2e104d4caf9218b157b106207e0f2a4905c9c7ac98890688aabeb",
- "sha256:621d670e1b1c281a1c9698ed89451395d318802ff88d1fc1accff0867a06f153",
- "sha256:6258c2ef6f06259f70a682491c78561d492e885adeaf9f64f5389f78aa49a051",
- "sha256:6309271f57b397aa0aff0cbbe632ca9d70430839ca3178bf0f06f825924eca22",
- "sha256:638e43936cc8b2cbb9f9d8dde0fe5e7e30766a3318d2342999ae27f68fdc9bd6",
- "sha256:63c38f45d8f2a2ec0f3a20073cccb335b9f99f73b3c69483cd52ebc75369d8a1",
- "sha256:670b802d4d82bbbb832ddb0d41df7015b3e549714c0e77f9bed3e74d42400fbe",
- "sha256:6852c5b2a853b8b0ddc5993cd4f33bfffdca4fcc5d52f89dd4b8eada99379285",
- "sha256:6b2da5c32ed869bebd990c9420df49813709e953674c0722ff471a116d97b22d",
- "sha256:6c330c0eb815d212893c67a032e9dc1b38a803eccb32f3e8172c19cc69fbb439",
- "sha256:6f8a20266e695ec9d7a946a019c1d5ca4eddb6613d4f466888eee04f16eedb85",
- "sha256:706a37cc5332f85f26efbe2bdc9ef8a9b372b77e4645331a405073e4b3a8c1c6",
- "sha256:71e3ec71f0e78780851fef28c2a9babe20270404c921b756d7c532d280349214",
- "sha256:72791f9bb1ca78e3ae525d4782e85272c63faaef9940d92142aa3eb79f3407a3",
- "sha256:76951121890fea8330d3a0df9a954b3f2a37e3ec20e5b0530e9a0044ca2e11fe",
- "sha256:78e769eb3b2c79687d9cb0f89ef77223e8e279b75c0a968e637ca7043a84463f",
- "sha256:7c9d5b6c0e7a1e979bec10ff960fae925e947aab95619a6fdb4c1d8ff3708ce3",
- "sha256:7fb297edec6c6841ab2e4e8f357209519188e4a59b557ea4fafcf4691d1b4c98",
- "sha256:7ff898780a155ea053f5d934925f3902be2ed1f4d916461e1a93019cc7250837",
- "sha256:82c8b8063de6c0468f08e82c4e198763e7b97aabfe573fd4cf7b33930ca4df77",
- "sha256:85aa3ab4b03d5e99fdd31660872249df5e855334b6c333e0bc13032ff4469c4a",
- "sha256:89183e55fb86e61d848ff83753f64cded119f5d6e1f553d14ffee3700d0a4a49",
- "sha256:8a6298bde623725ca31c9035a04bf2ef63208d266acd2bed8c2cb7d2b7d53ce6",
- "sha256:8b01afb7193d47439f091cd8f070a1ced347ad0f9144952a30a41836902fe09e",
- "sha256:952078130b3d101e05ecfc7fc3640282d74ed26bcf691400f872563fca15ac97",
- "sha256:952b80dac1a6492170f8c2429bd11fcaa14377e097d12a1dbe0ef2fb2241e16c",
- "sha256:9620b78e0b2d52ef07b0d428323fb34e8ea1219c5eac98c2596311f20f1f9266",
- "sha256:9ed240c56b4403e22b9584ee37d87b8bfa14865134e3e1c3fb4b2c42fafd3256",
- "sha256:a179856d1caee06577220ebcfa332af046d576fb73454b8f4d4b0ba8324423ea",
- "sha256:a2b718f316b596f36e1dae097a7d5b91fc5b85e90bf08b01ff139bd8953b25af",
- "sha256:ac11016d0a04aa6487b1513a3a36e7bee7eec0e5d30057c9c0408067345c48d2",
- "sha256:ad57d59341710b94a7d9dbea13f5c1e7d76fd8d9bcd944a7a6ab0b0da6e0cc66",
- "sha256:b07c538ba956843833fee1190cf769c60dc62e1cf934ed50d77d5502194d63b1",
- "sha256:b279ab506ec4445166ac476fb4d3cc383accde1ea152998509a94d82547c8e2a",
- "sha256:b2edbc75744235eea94d595a8b70fe279dd42f3296f76d5a86dde1d46e35f574",
- "sha256:b342d2ce8fc8d00f376af068e3274e2e8649562e3bc6ae4a67784ded6b99428d",
- "sha256:b4399b59d1af5645bcee2072a463318114c39b8547437a7c2d6a186a1b5a0e2d",
- "sha256:b4c89aa46c269e4e70c4d4f9d6bc644fcc39bb409cb2a81227923404dd6f5227",
- "sha256:b70bfbe3a82d3e3fb2a5e9b22a39f8d1740c96c68b6ace0086b39074f08ab89a",
- "sha256:b82931fa619dbad979c0ee8e54dd5278acc418209cc897e42fac041f5366d626",
- "sha256:bac0b0eb952412b0b196ca7a40e7dce4ed6f6926489313414010f2e6b9ec2adf",
- "sha256:bb9dfe7dae85bc6119d705a76dc068c062b8b575abe3595e3c6276480e67e3f1",
- "sha256:bcd266ae85c3d39df2f7e7d0e07f6c41a55e9a3123bb11f854412952deacd828",
- "sha256:bea6f9947e9419c2fda21ae6c32871e3d398cba549b93f4a65a2d369662d9403",
- "sha256:c27b99889bd58b7e301468c0838c5ed75e60c66df0d4db80c08f43462f82e0d3",
- "sha256:c2a0d47a89b48d7daa241e004e71fb5a50533718897a4cd6235cb846d511a478",
- "sha256:c5c2ff13d157afe413bf7e25789879dd463e5a4abfb529a2d8f8473d8042e28f",
- "sha256:c85cf76561fbd01e0d9ea2d1cbe711a65400092bc52b5242b16cfd22e51f0c58",
- "sha256:ca407133536f19bdec44b3da117ef0d12e43f6d4b56ac4c765f37eca501c7bda",
- "sha256:cbf001afbbed111a79ca47d75941e9e5361297a87d186cbfc11ed45e30b5daba",
- "sha256:ce05fde79d2bc2e46ac08aacbc142bead21614d937aac950be88dc79f9db9022",
- "sha256:d16ff18907f4909dca9b076b9c2d899114dd6abceeb074eca0c93e2353f943aa",
- "sha256:d26194ef6c13302f446d39972aaa36a1dda6450bc8949f5eb4c27f51191375bd",
- "sha256:d8c5d59d7b59885eab559d5bc082b2985555a54cda04dda4c65528d90ad252ad",
- "sha256:d924204a3dbe50b75630bd16f821ebda6a5f729928df30f582fb5aade90c818a",
- "sha256:dadc509cc8a9fe460bd274c0e16ac4184d0958117cf026e0ea8b32b438171594",
- "sha256:dd26e3afe8a7b61422df3176e06664503d3f5973b94f45d5c45987e1cb711876",
- "sha256:ddf672ed719b4ed82b51499100f5417d7d9f6fb05a65e232249268f35de5ed14",
- "sha256:dfedf31824ca4915b511b03441784ff640378191918264268e6923da48104acc",
- "sha256:e28cab1582e0eec38b1f38c1c1fb2e56bce5dc180acb1724574fc5f47da2a4fe",
- "sha256:e742d76ad84acbdb1a8e4694f915fe59ff6edc381c97d6dfdd054954e3478ad4",
- "sha256:e83a31c9cf181a0a3ef0abad2b5f6b43399faf5da7e696196ddd110d332519ee",
- "sha256:e8d1ed93beda54bbd6131a2cb363a576eac746d5c26ba5b7556bc6f964425594",
- "sha256:e8ff5b90eabdcdaa19af697885f70fe0b714ce16709cf43d4952f1f85299e73a",
- "sha256:ec11802450a2487cdf0e634b750a04cbdc1c4d066b97d94ce7dd2cb51ebb325b",
- "sha256:ecb2651956eea2aa0a2d099434134b1b68f1c31f9a5084d6d53f08ed43d45ff2",
- "sha256:ed69af290c2b65169f0ba9034d1dc39a5db9459b32f1dd8b5f3f32a3fcf06eab",
- "sha256:eddd5783a4a6309ce23432353cdb36220e25cbb779bfa9122320666508b44b88",
- "sha256:ee59e6680ed0fdbe6b724cf38bd70400a0c1dd623b07ac729087270caeac88e3",
- "sha256:f03727225feaf340ceeb7e00604825addef622d551cbd46b7b775ac834c1e1c4",
- "sha256:f3bbb7a0c5fcb692950b041ae11067ac54826204318922da754f908d95619fbc",
- "sha256:f8a9c828277133af13f3859d1b6bf1c3cb6e9e1637df0e45312e6b7c2e622b1f",
- "sha256:f97660f6c43efd3e0bfd3f2e3e5615bf215680bad6ee3d469df6454b8c6e8256",
- "sha256:f9939ca7e58c2758c01b40324a59c034ce0cebad18e0d4563a9b1beab3018243"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==0.19.1"
- },
- "tomli": {
- "hashes": [
- "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc",
- "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==2.0.1"
- },
- "tomlkit": {
- "hashes": [
- "sha256:5cd82d48a3dd89dee1f9d64420aa20ae65cfbd00668d6f094d7578a78efbb77b",
- "sha256:7ca1cfc12232806517a8515047ba66a19369e71edf2439d0f5824f91032b6cc3"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==0.12.4"
- },
- "torch": {
- "hashes": [
- "sha256:02c4fac3c964e73f5f49003e0060c697f73b67c10cc23f51c592facb29e1bd53",
- "sha256:2b0cf041f878607a361116945f82ce2dba4b7a747151da7619a63cb5fccb72df",
- "sha256:431a747b5a880cf8e1fb6d58db6bfafa6768cbec76517d046854537c03323edf",
- "sha256:4ef2911ffde6d86f643c23aa99f25f1a1df8bee93bf8d0c69cf1b9ba0ca521dc",
- "sha256:6e3d323a21df22415770e88d39e13591079b9356dabb8b394d1ee29ac6c92481",
- "sha256:88e63c916e3275fa30a220ee736423a95573b96072ded85e5c0171fd8f37a755",
- "sha256:8914ce932168e572a09b4a7e5b0806d279f771dfe58d7e1d8de2291fac4ce69b",
- "sha256:90089cae572672fb449c8ff1dc1b29daaffa117bf97ede7463dcd2fd1b991e4c",
- "sha256:c2c9e7d5e3c7d58e4b78d6aebfa8002af7cda16cde08d0e3ed00300dc21a8efc",
- "sha256:fc29dda2795dd7220d769c5926b1c50ddac9b4827897e30a10467063691cdf54"
- ],
- "index": "pytorch",
- "version": "==2.2.2+cpu"
- },
- "torchvision": {
- "hashes": [
- "sha256:067095e87a020a7a251ac1d38483aa591c5ccb81e815527c54db88a982fc9267",
- "sha256:14fd1d4a033c325bdba2d03a69c3450cab6d3a625f85cc375781d9237ca5d04d",
- "sha256:1ece40557e122d79975860a005aa7e2a9e2e6c350a03e78a00ec1450083312fd",
- "sha256:1f2910fe3c21ad6875b2720d46fad835b2e4b336e9553d31ca364d24c90b1d4f",
- "sha256:2f69570f50b1d195e51bc03feffb7b7728207bc36efcfb1f0813712b2379d881",
- "sha256:32dbeba3987e20f2dc1bce8d1504139fff582898346dfe8ad98d649f97ca78fa",
- "sha256:35ba5c1600c3203549d2316422a659bd20c0cfda1b6085eec94fb9f35f55ca43",
- "sha256:3bbc24b7713e8f22766992562547d8b4b10001208d372fe599255af84bfd1a69",
- "sha256:3f784381419f3ed3f2ec2aa42fb4aeec5bf4135e298d1631e41c926e6f1a0dff",
- "sha256:4868bbfa55758c8107e69a0e7dd5e77b89056035cd38b767ad5b98cdb71c0f0d",
- "sha256:6835897df852fad1015e6a106c167c83848114cbcc7d86112384a973404e4431",
- "sha256:77d680adf6ce367166a186d2c7fda3a73807ab9a03b2c31a03fa8812c8c5335b",
- "sha256:7dc85b397f6c6d9ef12716ce0d6e11ac2b803f5cccff6fe3966db248e7774478",
- "sha256:833fd2e4216ced924c8aca0525733fe727f9a1af66dfad7c5be7257e97c39678",
- "sha256:9b83e55ee7d0a1704f52b9c0ac87388e7a6d1d98a6bde7b0b35f9ab54d7bda54",
- "sha256:9c3acbebbe379af112b62b535820174277b1f3eed30df264a4e458d58ee4e5b2",
- "sha256:b83aac8d78f48981146d582168d75b6c947cfb0a7693f76e219f1926f6e595a3",
- "sha256:ba2e62f233eab3d42b648c122a3a29c47cc108ca314dfd5cbb59cd3a143fd623",
- "sha256:d506854c5acd69b20a8b6641f01fe841685a21c5406b56813184f1c9fc94279e",
- "sha256:e031004a1bc432c980a7bd642f6c189a3efc316e423fc30b5569837166a4e28d",
- "sha256:e9e4bed404af33dfc92eecc2b513d21ddc4c242a7fd8708b3b09d3a26aa6f444",
- "sha256:ecc1c503fa8a54fbab777e06a7c228032b8ab78efebf35b28bc8f22f544f51f1",
- "sha256:efd6d0dd0668e15d01a2cffadc74068433b32cbcf5692e0c4aa15fc5cb250ce7",
- "sha256:f1c9ab3152cfb27f83aca072cac93a3a4c4e4ab0261cf0f2d516b9868a4e96f3",
- "sha256:f400145fc108833e7c2fc28486a04989ca742146d7a2a2cc48878ebbb40cdbbd"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==0.17.2"
- },
- "tornado": {
- "hashes": [
- "sha256:02ccefc7d8211e5a7f9e8bc3f9e5b0ad6262ba2fbb683a6443ecc804e5224ce0",
- "sha256:10aeaa8006333433da48dec9fe417877f8bcc21f48dda8d661ae79da357b2a63",
- "sha256:27787de946a9cffd63ce5814c33f734c627a87072ec7eed71f7fc4417bb16263",
- "sha256:6f8a6c77900f5ae93d8b4ae1196472d0ccc2775cc1dfdc9e7727889145c45052",
- "sha256:71ddfc23a0e03ef2df1c1397d859868d158c8276a0603b96cf86892bff58149f",
- "sha256:72291fa6e6bc84e626589f1c29d90a5a6d593ef5ae68052ee2ef000dfd273dee",
- "sha256:88b84956273fbd73420e6d4b8d5ccbe913c65d31351b4c004ae362eba06e1f78",
- "sha256:e43bc2e5370a6a8e413e1e1cd0c91bedc5bd62a74a532371042a18ef19e10579",
- "sha256:f0251554cdd50b4b44362f73ad5ba7126fc5b2c2895cc62b14a1c2d7ea32f212",
- "sha256:f7894c581ecdcf91666a0912f18ce5e757213999e183ebfc2c3fdbf4d5bd764e",
- "sha256:fd03192e287fbd0899dd8f81c6fb9cbbc69194d2074b38f384cb6fa72b80e9c2"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==6.4"
- },
- "tqdm": {
- "hashes": [
- "sha256:1ee4f8a893eb9bef51c6e35730cebf234d5d0b6bd112b0271e10ed7c24a02bd9",
- "sha256:6cd52cdf0fef0e0f543299cfc96fec90d7b8a7e88745f411ec33eb44d5ed3531"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==4.66.2"
- },
- "traitlets": {
- "hashes": [
- "sha256:8cdd83c040dab7d1dee822678e5f5d100b514f7b72b01615b26fc5718916fdf9",
- "sha256:fcdf85684a772ddeba87db2f398ce00b40ff550d1528c03c14dbf6a02003cd80"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==5.14.2"
- },
- "transformers": {
- "hashes": [
- "sha256:92797ec3368ed4476a053529a4039a12ad09167d9e371981dda4afb4bdf590ac",
- "sha256:fdb01dfe6a492bd34e3fa2aefffa470b1d8a2341db47a932f83ed33839d96b03"
- ],
- "markers": "python_full_version >= '3.8.0'",
- "version": "==4.40.0"
- },
- "typer": {
- "hashes": [
- "sha256:070d7ca53f785acbccba8e7d28b08dcd88f79f1fbda035ade0aecec71ca5c914",
- "sha256:49e73131481d804288ef62598d97a1ceef3058905aa536a1134f90891ba35482"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==0.12.3"
- },
- "types-python-dateutil": {
- "hashes": [
- "sha256:5d2f2e240b86905e40944dd787db6da9263f0deabef1076ddaed797351ec0202",
- "sha256:6b8cb66d960771ce5ff974e9dd45e38facb81718cc1e208b10b1baccbfdbee3b"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==2.9.0.20240316"
- },
- "typing-extensions": {
- "hashes": [
- "sha256:83f085bd5ca59c80295fc2a82ab5dac679cbe02b9f33f7d83af68e241bea51b0",
- "sha256:c1f94d72897edaf4ce775bb7558d5b79d8126906a14ea5ed1635921406c0387a"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==4.11.0"
- },
- "typing-inspect": {
- "hashes": [
- "sha256:9ee6fc59062311ef8547596ab6b955e1b8aa46242d854bfc78f4f6b0eff35f9f",
- "sha256:b23fc42ff6f6ef6954e4852c1fb512cdd18dbea03134f91f856a95ccc9461f78"
- ],
- "version": "==0.9.0"
- },
- "tzdata": {
- "hashes": [
- "sha256:2674120f8d891909751c38abcdfd386ac0a5a1127954fbc332af6b5ceae07efd",
- "sha256:9068bc196136463f5245e51efda838afa15aaeca9903f49050dfa2679db4d252"
- ],
- "markers": "python_version >= '2'",
- "version": "==2024.1"
- },
- "ujson": {
- "hashes": [
- "sha256:07e0cfdde5fd91f54cd2d7ffb3482c8ff1bf558abf32a8b953a5d169575ae1cd",
- "sha256:0b159efece9ab5c01f70b9d10bbb77241ce111a45bc8d21a44c219a2aec8ddfd",
- "sha256:0c4d6adb2c7bb9eb7c71ad6f6f612e13b264942e841f8cc3314a21a289a76c4e",
- "sha256:10ca3c41e80509fd9805f7c149068fa8dbee18872bbdc03d7cca928926a358d5",
- "sha256:20509a8c9f775b3a511e308bbe0b72897ba6b800767a7c90c5cca59d20d7c42c",
- "sha256:25fa46e4ff0a2deecbcf7100af3a5d70090b461906f2299506485ff31d9ec437",
- "sha256:2a8ea0f55a1396708e564595aaa6696c0d8af532340f477162ff6927ecc46e21",
- "sha256:2fbb90aa5c23cb3d4b803c12aa220d26778c31b6e4b7a13a1f49971f6c7d088e",
- "sha256:323279e68c195110ef85cbe5edce885219e3d4a48705448720ad925d88c9f851",
- "sha256:32bba5870c8fa2a97f4a68f6401038d3f1922e66c34280d710af00b14a3ca562",
- "sha256:3382a3ce0ccc0558b1c1668950008cece9bf463ebb17463ebf6a8bfc060dae34",
- "sha256:37ef92e42535a81bf72179d0e252c9af42a4ed966dc6be6967ebfb929a87bc60",
- "sha256:3b23bbb46334ce51ddb5dded60c662fbf7bb74a37b8f87221c5b0fec1ec6454b",
- "sha256:473fb8dff1d58f49912323d7cb0859df5585cfc932e4b9c053bf8cf7f2d7c5c4",
- "sha256:4a566e465cb2fcfdf040c2447b7dd9718799d0d90134b37a20dff1e27c0e9096",
- "sha256:4e35d7885ed612feb6b3dd1b7de28e89baaba4011ecdf995e88be9ac614765e9",
- "sha256:506a45e5fcbb2d46f1a51fead991c39529fc3737c0f5d47c9b4a1d762578fc30",
- "sha256:5635b78b636a54a86fdbf6f027e461aa6c6b948363bdf8d4fbb56a42b7388320",
- "sha256:5ca35f484622fd208f55041b042d9d94f3b2c9c5add4e9af5ee9946d2d30db01",
- "sha256:60718f1720a61560618eff3b56fd517d107518d3c0160ca7a5a66ac949c6cf1c",
- "sha256:63fb2e6599d96fdffdb553af0ed3f76b85fda63281063f1cb5b1141a6fcd0617",
- "sha256:6974b3a7c17bbf829e6c3bfdc5823c67922e44ff169851a755eab79a3dd31ec0",
- "sha256:6adef377ed583477cf005b58c3025051b5faa6b8cc25876e594afbb772578f21",
- "sha256:6bbd91a151a8f3358c29355a491e915eb203f607267a25e6ab10531b3b157c5e",
- "sha256:6eecbd09b316cea1fd929b1e25f70382917542ab11b692cb46ec9b0a26c7427f",
- "sha256:70e06849dfeb2548be48fdd3ceb53300640bc8100c379d6e19d78045e9c26120",
- "sha256:7309d063cd392811acc49b5016728a5e1b46ab9907d321ebbe1c2156bc3c0b99",
- "sha256:779a2a88c53039bebfbccca934430dabb5c62cc179e09a9c27a322023f363e0d",
- "sha256:7a365eac66f5aa7a7fdf57e5066ada6226700884fc7dce2ba5483538bc16c8c5",
- "sha256:7b1c0991c4fe256f5fdb19758f7eac7f47caac29a6c57d0de16a19048eb86bad",
- "sha256:7cc7e605d2aa6ae6b7321c3ae250d2e050f06082e71ab1a4200b4ae64d25863c",
- "sha256:829a69d451a49c0de14a9fecb2a2d544a9b2c884c2b542adb243b683a6f15908",
- "sha256:829b824953ebad76d46e4ae709e940bb229e8999e40881338b3cc94c771b876c",
- "sha256:82b5a56609f1235d72835ee109163c7041b30920d70fe7dac9176c64df87c164",
- "sha256:89cc92e73d5501b8a7f48575eeb14ad27156ad092c2e9fc7e3cf949f07e75532",
- "sha256:8ba7cac47dd65ff88571eceeff48bf30ed5eb9c67b34b88cb22869b7aa19600d",
- "sha256:8fc2aa18b13d97b3c8ccecdf1a3c405f411a6e96adeee94233058c44ff92617d",
- "sha256:9ac92d86ff34296f881e12aa955f7014d276895e0e4e868ba7fddebbde38e378",
- "sha256:9d302bd17989b6bd90d49bade66943c78f9e3670407dbc53ebcf61271cadc399",
- "sha256:9f21315f51e0db8ee245e33a649dd2d9dce0594522de6f278d62f15f998e050e",
- "sha256:a6d3f10eb8ccba4316a6b5465b705ed70a06011c6f82418b59278fbc919bef6f",
- "sha256:a807ae73c46ad5db161a7e883eec0fbe1bebc6a54890152ccc63072c4884823b",
- "sha256:ab71bf27b002eaf7d047c54a68e60230fbd5cd9da60de7ca0aa87d0bccead8fa",
- "sha256:b048aa93eace8571eedbd67b3766623e7f0acbf08ee291bef7d8106210432427",
- "sha256:b28407cfe315bd1b34f1ebe65d3bd735d6b36d409b334100be8cdffae2177b2f",
- "sha256:b5964ea916edfe24af1f4cc68488448fbb1ec27a3ddcddc2b236da575c12c8ae",
- "sha256:b68a0caab33f359b4cbbc10065c88e3758c9f73a11a65a91f024b2e7a1257106",
- "sha256:ba0823cb70866f0d6a4ad48d998dd338dce7314598721bc1b7986d054d782dfd",
- "sha256:bd4ea86c2afd41429751d22a3ccd03311c067bd6aeee2d054f83f97e41e11d8f",
- "sha256:bdf7fc21a03bafe4ba208dafa84ae38e04e5d36c0e1c746726edf5392e9f9f36",
- "sha256:c4eec2ddc046360d087cf35659c7ba0cbd101f32035e19047013162274e71fcf",
- "sha256:cdcb02cabcb1e44381221840a7af04433c1dc3297af76fde924a50c3054c708c",
- "sha256:d0fd2eba664a22447102062814bd13e63c6130540222c0aa620701dd01f4be81",
- "sha256:d581db9db9e41d8ea0b2705c90518ba623cbdc74f8d644d7eb0d107be0d85d9c",
- "sha256:dc80f0f5abf33bd7099f7ac94ab1206730a3c0a2d17549911ed2cb6b7aa36d2d",
- "sha256:e015122b337858dba5a3dc3533af2a8fc0410ee9e2374092f6a5b88b182e9fcc",
- "sha256:e208d3bf02c6963e6ef7324dadf1d73239fb7008491fdf523208f60be6437402",
- "sha256:e2f909bc08ce01f122fd9c24bc6f9876aa087188dfaf3c4116fe6e4daf7e194f",
- "sha256:f0cb4a7814940ddd6619bdce6be637a4b37a8c4760de9373bac54bb7b229698b",
- "sha256:f4b3917296630a075e04d3d07601ce2a176479c23af838b6cf90a2d6b39b0d95",
- "sha256:f69f16b8f1c69da00e38dc5f2d08a86b0e781d0ad3e4cc6a13ea033a439c4844",
- "sha256:f833c529e922577226a05bc25b6a8b3eb6c4fb155b72dd88d33de99d53113124",
- "sha256:f91719c6abafe429c1a144cfe27883eace9fb1c09a9c5ef1bcb3ae80a3076a4e",
- "sha256:ff741a5b4be2d08fceaab681c9d4bc89abf3c9db600ab435e20b9b6d4dfef12e",
- "sha256:ffdfebd819f492e48e4f31c97cb593b9c1a8251933d8f8972e81697f00326ff1"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==5.9.0"
- },
- "ultralytics": {
- "hashes": [
- "sha256:0c3c2fba4b6758f037c48ac812b8239276c7d9d2863fd5328c070499aedc1fee",
- "sha256:273402e2de47e2b18ff8bde19a07cd47e19f1894dc0faa340cfdb50eb0a69ed7"
- ],
- "index": "pypi",
- "markers": "python_version >= '3.8'",
- "version": "==8.1.47"
- },
- "uri-template": {
- "hashes": [
- "sha256:0e00f8eb65e18c7de20d595a14336e9f337ead580c70934141624b6d1ffdacc7",
- "sha256:a44a133ea12d44a0c0f06d7d42a52d71282e77e2f937d8abd5655b8d56fc1363"
- ],
- "version": "==1.3.0"
- },
- "uritemplate": {
- "hashes": [
- "sha256:07620c3f3f8eed1f12600845892b0e036a2420acf513c53f7de0abd911a5894f",
- "sha256:5af8ad10cec94f215e3f48112de2022e1d5a37ed427fbd88652fa908f2ab7cae"
- ],
- "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",
- "version": "==3.0.1"
- },
- "urllib3": {
- "hashes": [
- "sha256:34b97092d7e0a3a8cf7cd10e386f401b3737364026c45e622aa02903dffe0f07",
- "sha256:f8ecc1bba5667413457c529ab955bf8c67b45db799d159066261719e328580a0"
- ],
- "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'",
- "version": "==1.26.18"
- },
- "watchdog": {
- "hashes": [
- "sha256:11e12fafb13372e18ca1bbf12d50f593e7280646687463dd47730fd4f4d5d257",
- "sha256:2895bf0518361a9728773083908801a376743bcc37dfa252b801af8fd281b1ca",
- "sha256:39cb34b1f1afbf23e9562501673e7146777efe95da24fab5707b88f7fb11649b",
- "sha256:45cc09cc4c3b43fb10b59ef4d07318d9a3ecdbff03abd2e36e77b6dd9f9a5c85",
- "sha256:4986db5e8880b0e6b7cd52ba36255d4793bf5cdc95bd6264806c233173b1ec0b",
- "sha256:5369136a6474678e02426bd984466343924d1df8e2fd94a9b443cb7e3aa20d19",
- "sha256:557ba04c816d23ce98a06e70af6abaa0485f6d94994ec78a42b05d1c03dcbd50",
- "sha256:6a4db54edea37d1058b08947c789a2354ee02972ed5d1e0dca9b0b820f4c7f92",
- "sha256:6a80d5cae8c265842c7419c560b9961561556c4361b297b4c431903f8c33b269",
- "sha256:6a9c71a0b02985b4b0b6d14b875a6c86ddea2fdbebd0c9a720a806a8bbffc69f",
- "sha256:6c47bdd680009b11c9ac382163e05ca43baf4127954c5f6d0250e7d772d2b80c",
- "sha256:6e949a8a94186bced05b6508faa61b7adacc911115664ccb1923b9ad1f1ccf7b",
- "sha256:73c7a935e62033bd5e8f0da33a4dcb763da2361921a69a5a95aaf6c93aa03a87",
- "sha256:76ad8484379695f3fe46228962017a7e1337e9acadafed67eb20aabb175df98b",
- "sha256:8350d4055505412a426b6ad8c521bc7d367d1637a762c70fdd93a3a0d595990b",
- "sha256:87e9df830022488e235dd601478c15ad73a0389628588ba0b028cb74eb72fed8",
- "sha256:8f9a542c979df62098ae9c58b19e03ad3df1c9d8c6895d96c0d51da17b243b1c",
- "sha256:8fec441f5adcf81dd240a5fe78e3d83767999771630b5ddfc5867827a34fa3d3",
- "sha256:9a03e16e55465177d416699331b0f3564138f1807ecc5f2de9d55d8f188d08c7",
- "sha256:ba30a896166f0fee83183cec913298151b73164160d965af2e93a20bbd2ab605",
- "sha256:c17d98799f32e3f55f181f19dd2021d762eb38fdd381b4a748b9f5a36738e935",
- "sha256:c522392acc5e962bcac3b22b9592493ffd06d1fc5d755954e6be9f4990de932b",
- "sha256:d0f9bd1fd919134d459d8abf954f63886745f4660ef66480b9d753a7c9d40927",
- "sha256:d18d7f18a47de6863cd480734613502904611730f8def45fc52a5d97503e5101",
- "sha256:d31481ccf4694a8416b681544c23bd271f5a123162ab603c7d7d2dd7dd901a07",
- "sha256:e3e7065cbdabe6183ab82199d7a4f6b3ba0a438c5a512a68559846ccb76a78ec",
- "sha256:eed82cdf79cd7f0232e2fdc1ad05b06a5e102a43e331f7d041e5f0e0a34a51c4",
- "sha256:f970663fa4f7e80401a7b0cbeec00fa801bf0287d93d48368fc3e6fa32716245",
- "sha256:f9b2fdca47dc855516b2d66eef3c39f2672cbf7e7a42e7e67ad2cbfcd6ba107d"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==4.0.0"
- },
- "wcwidth": {
- "hashes": [
- "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859",
- "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5"
- ],
- "version": "==0.2.13"
- },
- "webcolors": {
- "hashes": [
- "sha256:29bc7e8752c0a1bd4a1f03c14d6e6a72e93d82193738fa860cbff59d0fcc11bf",
- "sha256:c225b674c83fa923be93d235330ce0300373d02885cef23238813b0d5668304a"
- ],
- "version": "==1.13"
- },
- "webencodings": {
- "hashes": [
- "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78",
- "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923"
- ],
- "version": "==0.5.1"
- },
- "websocket-client": {
- "hashes": [
- "sha256:10e511ea3a8c744631d3bd77e61eb17ed09304c413ad42cf6ddfa4c7787e8fe6",
- "sha256:f4c3d22fec12a2461427a29957ff07d35098ee2d976d3ba244e688b8b4057588"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==1.7.0"
- },
- "werkzeug": {
- "hashes": [
- "sha256:3aac3f5da756f93030740bc235d3e09449efcf65f2f55e3602e1d851b8f48795",
- "sha256:e39b645a6ac92822588e7b39a692e7828724ceae0b0d702ef96701f90e70128d"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==3.0.2"
- },
- "whatthepatch": {
- "hashes": [
- "sha256:6bc41f9f48a63384be4478d8b2d5b22185aac75be853cdcb150a2dc174ede7e1",
- "sha256:7f374c172812581bc3763587525d14a143aac7fe4220bc4676ecce0d86cb8f08"
- ],
- "version": "==1.0.5"
- },
- "wheel": {
- "hashes": [
- "sha256:465ef92c69fa5c5da2d1cf8ac40559a8c940886afcef87dcf14b9470862f1d85",
- "sha256:55c570405f142630c6b9f72fe09d9b67cf1477fcf543ae5b8dcb1f5b7377da81"
- ],
- "index": "pypi",
- "markers": "python_version >= '3.8'",
- "version": "==0.43.0"
- },
- "widgetsnbextension": {
- "hashes": [
- "sha256:64196c5ff3b9a9183a8e699a4227fb0b7002f252c814098e66c4d1cd0644688f",
- "sha256:d37c3724ec32d8c48400a435ecfa7d3e259995201fbefa37163124a9fcb393cc"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==4.0.10"
- },
- "wrapt": {
- "hashes": [
- "sha256:0d2691979e93d06a95a26257adb7bfd0c93818e89b1406f5a28f36e0d8c1e1fc",
- "sha256:14d7dc606219cdd7405133c713f2c218d4252f2a469003f8c46bb92d5d095d81",
- "sha256:1a5db485fe2de4403f13fafdc231b0dbae5eca4359232d2efc79025527375b09",
- "sha256:1acd723ee2a8826f3d53910255643e33673e1d11db84ce5880675954183ec47e",
- "sha256:1ca9b6085e4f866bd584fb135a041bfc32cab916e69f714a7d1d397f8c4891ca",
- "sha256:1dd50a2696ff89f57bd8847647a1c363b687d3d796dc30d4dd4a9d1689a706f0",
- "sha256:2076fad65c6736184e77d7d4729b63a6d1ae0b70da4868adeec40989858eb3fb",
- "sha256:2a88e6010048489cda82b1326889ec075a8c856c2e6a256072b28eaee3ccf487",
- "sha256:3ebf019be5c09d400cf7b024aa52b1f3aeebeff51550d007e92c3c1c4afc2a40",
- "sha256:418abb18146475c310d7a6dc71143d6f7adec5b004ac9ce08dc7a34e2babdc5c",
- "sha256:43aa59eadec7890d9958748db829df269f0368521ba6dc68cc172d5d03ed8060",
- "sha256:44a2754372e32ab315734c6c73b24351d06e77ffff6ae27d2ecf14cf3d229202",
- "sha256:490b0ee15c1a55be9c1bd8609b8cecd60e325f0575fc98f50058eae366e01f41",
- "sha256:49aac49dc4782cb04f58986e81ea0b4768e4ff197b57324dcbd7699c5dfb40b9",
- "sha256:5eb404d89131ec9b4f748fa5cfb5346802e5ee8836f57d516576e61f304f3b7b",
- "sha256:5f15814a33e42b04e3de432e573aa557f9f0f56458745c2074952f564c50e664",
- "sha256:5f370f952971e7d17c7d1ead40e49f32345a7f7a5373571ef44d800d06b1899d",
- "sha256:66027d667efe95cc4fa945af59f92c5a02c6f5bb6012bff9e60542c74c75c362",
- "sha256:66dfbaa7cfa3eb707bbfcd46dab2bc6207b005cbc9caa2199bcbc81d95071a00",
- "sha256:685f568fa5e627e93f3b52fda002c7ed2fa1800b50ce51f6ed1d572d8ab3e7fc",
- "sha256:6906c4100a8fcbf2fa735f6059214bb13b97f75b1a61777fcf6432121ef12ef1",
- "sha256:6a42cd0cfa8ffc1915aef79cb4284f6383d8a3e9dcca70c445dcfdd639d51267",
- "sha256:6dcfcffe73710be01d90cae08c3e548d90932d37b39ef83969ae135d36ef3956",
- "sha256:6f6eac2360f2d543cc875a0e5efd413b6cbd483cb3ad7ebf888884a6e0d2e966",
- "sha256:72554a23c78a8e7aa02abbd699d129eead8b147a23c56e08d08dfc29cfdddca1",
- "sha256:73870c364c11f03ed072dda68ff7aea6d2a3a5c3fe250d917a429c7432e15228",
- "sha256:73aa7d98215d39b8455f103de64391cb79dfcad601701a3aa0dddacf74911d72",
- "sha256:75ea7d0ee2a15733684badb16de6794894ed9c55aa5e9903260922f0482e687d",
- "sha256:7bd2d7ff69a2cac767fbf7a2b206add2e9a210e57947dd7ce03e25d03d2de292",
- "sha256:807cc8543a477ab7422f1120a217054f958a66ef7314f76dd9e77d3f02cdccd0",
- "sha256:8e9723528b9f787dc59168369e42ae1c3b0d3fadb2f1a71de14531d321ee05b0",
- "sha256:9090c9e676d5236a6948330e83cb89969f433b1943a558968f659ead07cb3b36",
- "sha256:9153ed35fc5e4fa3b2fe97bddaa7cbec0ed22412b85bcdaf54aeba92ea37428c",
- "sha256:9159485323798c8dc530a224bd3ffcf76659319ccc7bbd52e01e73bd0241a0c5",
- "sha256:941988b89b4fd6b41c3f0bfb20e92bd23746579736b7343283297c4c8cbae68f",
- "sha256:94265b00870aa407bd0cbcfd536f17ecde43b94fb8d228560a1e9d3041462d73",
- "sha256:98b5e1f498a8ca1858a1cdbffb023bfd954da4e3fa2c0cb5853d40014557248b",
- "sha256:9b201ae332c3637a42f02d1045e1d0cccfdc41f1f2f801dafbaa7e9b4797bfc2",
- "sha256:a0ea261ce52b5952bf669684a251a66df239ec6d441ccb59ec7afa882265d593",
- "sha256:a33a747400b94b6d6b8a165e4480264a64a78c8a4c734b62136062e9a248dd39",
- "sha256:a452f9ca3e3267cd4d0fcf2edd0d035b1934ac2bd7e0e57ac91ad6b95c0c6389",
- "sha256:a86373cf37cd7764f2201b76496aba58a52e76dedfaa698ef9e9688bfd9e41cf",
- "sha256:ac83a914ebaf589b69f7d0a1277602ff494e21f4c2f743313414378f8f50a4cf",
- "sha256:aefbc4cb0a54f91af643660a0a150ce2c090d3652cf4052a5397fb2de549cd89",
- "sha256:b3646eefa23daeba62643a58aac816945cadc0afaf21800a1421eeba5f6cfb9c",
- "sha256:b47cfad9e9bbbed2339081f4e346c93ecd7ab504299403320bf85f7f85c7d46c",
- "sha256:b935ae30c6e7400022b50f8d359c03ed233d45b725cfdd299462f41ee5ffba6f",
- "sha256:bb2dee3874a500de01c93d5c71415fcaef1d858370d405824783e7a8ef5db440",
- "sha256:bc57efac2da352a51cc4658878a68d2b1b67dbe9d33c36cb826ca449d80a8465",
- "sha256:bf5703fdeb350e36885f2875d853ce13172ae281c56e509f4e6eca049bdfb136",
- "sha256:c31f72b1b6624c9d863fc095da460802f43a7c6868c5dda140f51da24fd47d7b",
- "sha256:c5cd603b575ebceca7da5a3a251e69561bec509e0b46e4993e1cac402b7247b8",
- "sha256:d2efee35b4b0a347e0d99d28e884dfd82797852d62fcd7ebdeee26f3ceb72cf3",
- "sha256:d462f28826f4657968ae51d2181a074dfe03c200d6131690b7d65d55b0f360f8",
- "sha256:d5e49454f19ef621089e204f862388d29e6e8d8b162efce05208913dde5b9ad6",
- "sha256:da4813f751142436b075ed7aa012a8778aa43a99f7b36afe9b742d3ed8bdc95e",
- "sha256:db2e408d983b0e61e238cf579c09ef7020560441906ca990fe8412153e3b291f",
- "sha256:db98ad84a55eb09b3c32a96c576476777e87c520a34e2519d3e59c44710c002c",
- "sha256:dbed418ba5c3dce92619656802cc5355cb679e58d0d89b50f116e4a9d5a9603e",
- "sha256:dcdba5c86e368442528f7060039eda390cc4091bfd1dca41e8046af7c910dda8",
- "sha256:decbfa2f618fa8ed81c95ee18a387ff973143c656ef800c9f24fb7e9c16054e2",
- "sha256:e4fdb9275308292e880dcbeb12546df7f3e0f96c6b41197e0cf37d2826359020",
- "sha256:eb1b046be06b0fce7249f1d025cd359b4b80fc1c3e24ad9eca33e0dcdb2e4a35",
- "sha256:eb6e651000a19c96f452c85132811d25e9264d836951022d6e81df2fff38337d",
- "sha256:ed867c42c268f876097248e05b6117a65bcd1e63b779e916fe2e33cd6fd0d3c3",
- "sha256:edfad1d29c73f9b863ebe7082ae9321374ccb10879eeabc84ba3b69f2579d537",
- "sha256:f2058f813d4f2b5e3a9eb2eb3faf8f1d99b81c3e51aeda4b168406443e8ba809",
- "sha256:f6b2d0c6703c988d334f297aa5df18c45e97b0af3679bb75059e0e0bd8b1069d",
- "sha256:f8212564d49c50eb4565e502814f694e240c55551a5f1bc841d4fcaabb0a9b8a",
- "sha256:ffa565331890b90056c01db69c0fe634a776f8019c143a5ae265f9c6bc4bd6d4"
- ],
- "markers": "python_version >= '3.6'",
- "version": "==1.16.0"
- },
- "xyzservices": {
- "hashes": [
- "sha256:6a04f11487a6fb77d92a98984cd107fbd9157fd5e65f929add9c3d6e604ee88c",
- "sha256:b83e48c5b776c9969fffcfff57b03d02b1b1cd6607a9d9c4e7f568b01ef47f4c"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==2024.4.0"
- },
- "y-py": {
- "hashes": [
- "sha256:015f7f6c1ce8a83d57955d1dc7ddd57cb633ae00576741a4fc9a0f72ed70007d",
- "sha256:032365dfe932bfab8e80937ad6093b4c22e67d63ad880096b5fa8768f8d829ba",
- "sha256:0649a41cd3c98e290c16592c082dbe42c7ffec747b596172eebcafb7fd8767b0",
- "sha256:0787e85645bb4986c27e271715bc5ce21bba428a17964e5ec527368ed64669bc",
- "sha256:0cd6213c3cf2b9eee6f2c9867f198c39124c557f4b3b77d04a73f30fd1277a59",
- "sha256:0f2d881f0f8bf5674f8fe4774a438c545501e40fa27320c73be4f22463af4b05",
- "sha256:17bce637a89f6e75f0013be68becac3e38dc082e7aefaf38935e89215f0aa64a",
- "sha256:17edd21eef863d230ea00004ebc6d582cc91d325e7132deb93f0a90eb368c855",
- "sha256:1d5b544e79ace93fdbd0b36ed329c86e346898153ac7ba2ec62bc9b4c6b745c9",
- "sha256:1f798165158b76365a463a4f8aa2e3c2a12eb89b1fc092e7020e93713f2ad4dc",
- "sha256:266ec46ab9f9cb40fbb5e649f55c329fc4620fa0b1a8117bdeefe91595e182dc",
- "sha256:26cb1307c3ca9e21a3e307ab2c2099677e071ae9c26ec10ddffb3faceddd76b3",
- "sha256:2a497ebe617bec6a420fc47378856caae40ab0652e756f3ed40c5f1fe2a12220",
- "sha256:2b4fac4ea2ce27b86d173ae45765ced7f159120687d4410bb6d0846cbdb170a3",
- "sha256:2cf817a72ffec4295def5c5be615dd8f1e954cdf449d72ebac579ff427951328",
- "sha256:2d2b054a1a5f4004967532a4b82c6d1a45421ef2a5b41d35b6a8d41c7142aabe",
- "sha256:316e5e1c40259d482883d1926fd33fa558dc87b2bd2ca53ce237a6fe8a34e473",
- "sha256:35fcb9def6ce137540fdc0e91b08729677548b9c393c0151a6359fd199da3bd7",
- "sha256:376c5cc0c177f03267340f36aec23e5eaf19520d41428d87605ca2ca3235d845",
- "sha256:3ba99d0bdbd9cabd65f914cd07b4fb2e939ce199b54ae5ace1639ce1edf8e0a2",
- "sha256:3c011303eb2b360695d2bd4bd7ca85f42373ae89fcea48e7fa5b8dc6fc254a98",
- "sha256:4757a82a50406a0b3a333aa0122019a331bd6f16e49fed67dca423f928b3fd4d",
- "sha256:47fcc19158150dc4a6ae9a970c5bc12f40b0298a2b7d0c573a510a7b6bead3f3",
- "sha256:4c28d977f516d4928f6bc0cd44561f6d0fdd661d76bac7cdc4b73e3c209441d9",
- "sha256:5415083f7f10eac25e1c434c87f07cb9bfa58909a6cad6649166fdad21119fc5",
- "sha256:613f83713714972886e81d71685403098a83ffdacf616f12344b52bc73705107",
- "sha256:69cfbcbe0a05f43e780e6a198080ba28034bf2bb4804d7d28f71a0379bfd1b19",
- "sha256:6c2f2831c5733b404d2f2da4bfd02bb4612ae18d0822e14ae79b0b92436b816d",
- "sha256:7227f232f2daf130ba786f6834548f2cfcfa45b7ec4f0d449e72560ac298186c",
- "sha256:72875641a907523d37f4619eb4b303611d17e0a76f2ffc423b62dd1ca67eef41",
- "sha256:7c7302619fc962e53093ba4a94559281491c045c925e5c4defec5dac358e0568",
- "sha256:7cbefd4f1060f05768227ddf83be126397b1d430b026c64e0eb25d3cf50c5734",
- "sha256:80a827e173372682959a57e6b8cc4f6468b1a4495b4bc7a775ef6ca05ae3e8e8",
- "sha256:82f2e5b31678065e7a7fa089ed974af5a4f076673cf4f414219bdadfc3246a21",
- "sha256:82f5ca62bedbf35aaf5a75d1f53b4457a1d9b6ff033497ca346e2a0cedf13d14",
- "sha256:8448da4092265142662bbd3fc46cb8b0796b1e259189c020bc8f738899abd0b5",
- "sha256:863e175ce5585f9ff3eba2aa16626928387e2a576157f02c8eb247a218ecdeae",
- "sha256:86422c6090f34906c062fd3e4fdfdccf3934f2922021e979573ae315050b4288",
- "sha256:898fede446ca1926b8406bdd711617c2aebba8227ee8ec1f0c2f8568047116f7",
- "sha256:8f5c14d25611b263b876e9ada1701415a13c3e9f02ea397224fbe4ca9703992b",
- "sha256:8f6071328aad06fdcc0a4acc2dc4839396d645f5916de07584af807eb7c08407",
- "sha256:932abb560fe739416b50716a72ba6c6c20b219edded4389d1fc93266f3505d4b",
- "sha256:9b7cafbe946b4cafc1e5709957e6dd5c6259d241d48ed75713ded42a5e8a4663",
- "sha256:9b8822a5c0fd9a8cffcabfcc0cd7326bad537ee614fc3654e413a03137b6da1a",
- "sha256:a21148b8ea09a631b752d975f9410ee2a31c0e16796fdc113422a6d244be10e5",
- "sha256:a3932f53418b408fa03bd002e6dc573a74075c2c092926dde80657c39aa2e054",
- "sha256:a70aee572da3994238c974694767365f237fc5949a550bee78a650fe16f83184",
- "sha256:ae80d505aee7b3172cdcc2620ca6e2f85586337371138bb2b71aa377d2c31e9a",
- "sha256:b2686d7d8ca31531458a48e08b0344a8eec6c402405446ce7d838e2a7e43355a",
- "sha256:bae1b1ad8d2b8cf938a60313f8f7461de609621c5dcae491b6e54975f76f83c5",
- "sha256:bd302c6d46a3be57664571a5f0d4224646804be9890a01d73a0b294f2d3bbff1",
- "sha256:beea5ad9bd9e56aa77a6583b6f4e347d66f1fe7b1a2cb196fff53b7634f9dc84",
- "sha256:bf6020560584671e76375b7a0539e0d5388fc70fa183c99dc769895f7ef90233",
- "sha256:c011997f62d0c3b40a617e61b7faaaf6078e4eeff2e95ce4c45838db537816eb",
- "sha256:c08311db17647a47d4898fc6f8d9c1f0e58b927752c894877ff0c38b3db0d6e1",
- "sha256:c26bada6cd109095139237a46f50fc4308f861f0d304bc9e70acbc6c4503d158",
- "sha256:c31240e30d5636ded02a54b7280aa129344fe8e964fd63885e85d9a8a83db206",
- "sha256:ce0ae49879d10610cf3c40f4f376bb3cc425b18d939966ac63a2a9c73eb6f32a",
- "sha256:ce15a842c2a0bf46180ae136743b561fa276300dd7fa61fe76daf00ec7dc0c2d",
- "sha256:ce7c20b9395696d3b5425dccf2706d374e61ccf8f3656bff9423093a6df488f5",
- "sha256:cfc8381df1f0f873da8969729974f90111cfb61a725ef0a2e0e6215408fe1217",
- "sha256:d1dca48687f41efd862355e58b0aa31150586219324901dbea2989a506e291d4",
- "sha256:d3bbe2f925cc587545c8d01587b4523177408edd252a32ce6d61b97113fe234d",
- "sha256:d917f5bc27b85611ceee4eb85f0e4088b0a03b4eed22c472409933a94ee953cf",
- "sha256:dab84c52f64e10adc79011a08673eb80286c159b14e8fb455524bf2994f0cb38",
- "sha256:de9cfafe97c75cd3ea052a24cd4aabf9fb0cfc3c0f9f810f00121cdf123db9e4",
- "sha256:df35ea436592eb7e30e59c5403ec08ec3a5e7759e270cf226df73c47b3e739f5",
- "sha256:e13cba03c7af8c8a846c4495875a09d64362cc4caeed495ada5390644411bbe7",
- "sha256:e1935d12e503780b859d343161a80df65205d23cad7b4f6c3df6e50321e188a3",
- "sha256:e42258f66ad9f16d9b62e9c9642742982acb1f30b90f5061522048c1cb99814f",
- "sha256:e794e44fa260300b8850246c6371d94014753c73528f97f6ccb42f5e7ce698ae",
- "sha256:e8638355ae2f996356f7f281e03a3e3ce31f1259510f9d551465356532e0302c",
- "sha256:e92878cc05e844c8da937204bc34c2e6caf66709ce5936802fbfb35f04132892",
- "sha256:ff32548e45e45bf3280ac1d28b3148337a5c6714c28db23aeb0693e33eba257e"
- ],
- "version": "==0.6.2"
- },
- "yapf": {
- "hashes": [
- "sha256:4dab8a5ed7134e26d57c1647c7483afb3f136878b579062b786c9ba16b94637b",
- "sha256:adc8b5dd02c0143108878c499284205adb258aad6db6634e5b869e7ee2bd548b"
- ],
- "version": "==0.40.2"
- },
- "yarl": {
- "hashes": [
- "sha256:008d3e808d03ef28542372d01057fd09168419cdc8f848efe2804f894ae03e51",
- "sha256:03caa9507d3d3c83bca08650678e25364e1843b484f19986a527630ca376ecce",
- "sha256:07574b007ee20e5c375a8fe4a0789fad26db905f9813be0f9fef5a68080de559",
- "sha256:09efe4615ada057ba2d30df871d2f668af661e971dfeedf0c159927d48bbeff0",
- "sha256:0d2454f0aef65ea81037759be5ca9947539667eecebca092733b2eb43c965a81",
- "sha256:0e9d124c191d5b881060a9e5060627694c3bdd1fe24c5eecc8d5d7d0eb6faabc",
- "sha256:18580f672e44ce1238b82f7fb87d727c4a131f3a9d33a5e0e82b793362bf18b4",
- "sha256:1f23e4fe1e8794f74b6027d7cf19dc25f8b63af1483d91d595d4a07eca1fb26c",
- "sha256:206a55215e6d05dbc6c98ce598a59e6fbd0c493e2de4ea6cc2f4934d5a18d130",
- "sha256:23d32a2594cb5d565d358a92e151315d1b2268bc10f4610d098f96b147370136",
- "sha256:26a1dc6285e03f3cc9e839a2da83bcbf31dcb0d004c72d0730e755b33466c30e",
- "sha256:29e0f83f37610f173eb7e7b5562dd71467993495e568e708d99e9d1944f561ec",
- "sha256:2b134fd795e2322b7684155b7855cc99409d10b2e408056db2b93b51a52accc7",
- "sha256:2d47552b6e52c3319fede1b60b3de120fe83bde9b7bddad11a69fb0af7db32f1",
- "sha256:357495293086c5b6d34ca9616a43d329317feab7917518bc97a08f9e55648455",
- "sha256:35a2b9396879ce32754bd457d31a51ff0a9d426fd9e0e3c33394bf4b9036b099",
- "sha256:3777ce5536d17989c91696db1d459574e9a9bd37660ea7ee4d3344579bb6f129",
- "sha256:3986b6f41ad22988e53d5778f91855dc0399b043fc8946d4f2e68af22ee9ff10",
- "sha256:44d8ffbb9c06e5a7f529f38f53eda23e50d1ed33c6c869e01481d3fafa6b8142",
- "sha256:49a180c2e0743d5d6e0b4d1a9e5f633c62eca3f8a86ba5dd3c471060e352ca98",
- "sha256:4aa9741085f635934f3a2583e16fcf62ba835719a8b2b28fb2917bb0537c1dfa",
- "sha256:4b21516d181cd77ebd06ce160ef8cc2a5e9ad35fb1c5930882baff5ac865eee7",
- "sha256:4b3c1ffe10069f655ea2d731808e76e0f452fc6c749bea04781daf18e6039525",
- "sha256:4c7d56b293cc071e82532f70adcbd8b61909eec973ae9d2d1f9b233f3d943f2c",
- "sha256:4e9035df8d0880b2f1c7f5031f33f69e071dfe72ee9310cfc76f7b605958ceb9",
- "sha256:54525ae423d7b7a8ee81ba189f131054defdb122cde31ff17477951464c1691c",
- "sha256:549d19c84c55d11687ddbd47eeb348a89df9cb30e1993f1b128f4685cd0ebbf8",
- "sha256:54beabb809ffcacbd9d28ac57b0db46e42a6e341a030293fb3185c409e626b8b",
- "sha256:566db86717cf8080b99b58b083b773a908ae40f06681e87e589a976faf8246bf",
- "sha256:5a2e2433eb9344a163aced6a5f6c9222c0786e5a9e9cac2c89f0b28433f56e23",
- "sha256:5aef935237d60a51a62b86249839b51345f47564208c6ee615ed2a40878dccdd",
- "sha256:604f31d97fa493083ea21bd9b92c419012531c4e17ea6da0f65cacdcf5d0bd27",
- "sha256:63b20738b5aac74e239622d2fe30df4fca4942a86e31bf47a81a0e94c14df94f",
- "sha256:686a0c2f85f83463272ddffd4deb5e591c98aac1897d65e92319f729c320eece",
- "sha256:6a962e04b8f91f8c4e5917e518d17958e3bdee71fd1d8b88cdce74dd0ebbf434",
- "sha256:6ad6d10ed9b67a382b45f29ea028f92d25bc0bc1daf6c5b801b90b5aa70fb9ec",
- "sha256:6f5cb257bc2ec58f437da2b37a8cd48f666db96d47b8a3115c29f316313654ff",
- "sha256:6fe79f998a4052d79e1c30eeb7d6c1c1056ad33300f682465e1b4e9b5a188b78",
- "sha256:7855426dfbddac81896b6e533ebefc0af2f132d4a47340cee6d22cac7190022d",
- "sha256:7d5aaac37d19b2904bb9dfe12cdb08c8443e7ba7d2852894ad448d4b8f442863",
- "sha256:801e9264d19643548651b9db361ce3287176671fb0117f96b5ac0ee1c3530d53",
- "sha256:81eb57278deb6098a5b62e88ad8281b2ba09f2f1147c4767522353eaa6260b31",
- "sha256:824d6c50492add5da9374875ce72db7a0733b29c2394890aef23d533106e2b15",
- "sha256:8397a3817d7dcdd14bb266283cd1d6fc7264a48c186b986f32e86d86d35fbac5",
- "sha256:848cd2a1df56ddbffeb375535fb62c9d1645dde33ca4d51341378b3f5954429b",
- "sha256:84fc30f71689d7fc9168b92788abc977dc8cefa806909565fc2951d02f6b7d57",
- "sha256:8619d6915b3b0b34420cf9b2bb6d81ef59d984cb0fde7544e9ece32b4b3043c3",
- "sha256:8a854227cf581330ffa2c4824d96e52ee621dd571078a252c25e3a3b3d94a1b1",
- "sha256:8be9e837ea9113676e5754b43b940b50cce76d9ed7d2461df1af39a8ee674d9f",
- "sha256:928cecb0ef9d5a7946eb6ff58417ad2fe9375762382f1bf5c55e61645f2c43ad",
- "sha256:957b4774373cf6f709359e5c8c4a0af9f6d7875db657adb0feaf8d6cb3c3964c",
- "sha256:992f18e0ea248ee03b5a6e8b3b4738850ae7dbb172cc41c966462801cbf62cf7",
- "sha256:9fc5fc1eeb029757349ad26bbc5880557389a03fa6ada41703db5e068881e5f2",
- "sha256:a00862fb23195b6b8322f7d781b0dc1d82cb3bcac346d1e38689370cc1cc398b",
- "sha256:a3a6ed1d525bfb91b3fc9b690c5a21bb52de28c018530ad85093cc488bee2dd2",
- "sha256:a6327976c7c2f4ee6816eff196e25385ccc02cb81427952414a64811037bbc8b",
- "sha256:a7409f968456111140c1c95301cadf071bd30a81cbd7ab829169fb9e3d72eae9",
- "sha256:a825ec844298c791fd28ed14ed1bffc56a98d15b8c58a20e0e08c1f5f2bea1be",
- "sha256:a8c1df72eb746f4136fe9a2e72b0c9dc1da1cbd23b5372f94b5820ff8ae30e0e",
- "sha256:a9bd00dc3bc395a662900f33f74feb3e757429e545d831eef5bb280252631984",
- "sha256:aa102d6d280a5455ad6a0f9e6d769989638718e938a6a0a2ff3f4a7ff8c62cc4",
- "sha256:aaaea1e536f98754a6e5c56091baa1b6ce2f2700cc4a00b0d49eca8dea471074",
- "sha256:ad4d7a90a92e528aadf4965d685c17dacff3df282db1121136c382dc0b6014d2",
- "sha256:b8477c1ee4bd47c57d49621a062121c3023609f7a13b8a46953eb6c9716ca392",
- "sha256:ba6f52cbc7809cd8d74604cce9c14868306ae4aa0282016b641c661f981a6e91",
- "sha256:bac8d525a8dbc2a1507ec731d2867025d11ceadcb4dd421423a5d42c56818541",
- "sha256:bef596fdaa8f26e3d66af846bbe77057237cb6e8efff8cd7cc8dff9a62278bbf",
- "sha256:c0ec0ed476f77db9fb29bca17f0a8fcc7bc97ad4c6c1d8959c507decb22e8572",
- "sha256:c38c9ddb6103ceae4e4498f9c08fac9b590c5c71b0370f98714768e22ac6fa66",
- "sha256:c7224cab95645c7ab53791022ae77a4509472613e839dab722a72abe5a684575",
- "sha256:c74018551e31269d56fab81a728f683667e7c28c04e807ba08f8c9e3bba32f14",
- "sha256:ca06675212f94e7a610e85ca36948bb8fc023e458dd6c63ef71abfd482481aa5",
- "sha256:d1d2532b340b692880261c15aee4dc94dd22ca5d61b9db9a8a361953d36410b1",
- "sha256:d25039a474c4c72a5ad4b52495056f843a7ff07b632c1b92ea9043a3d9950f6e",
- "sha256:d5ff2c858f5f6a42c2a8e751100f237c5e869cbde669a724f2062d4c4ef93551",
- "sha256:d7d7f7de27b8944f1fee2c26a88b4dabc2409d2fea7a9ed3df79b67277644e17",
- "sha256:d7eeb6d22331e2fd42fce928a81c697c9ee2d51400bd1a28803965883e13cead",
- "sha256:d8a1c6c0be645c745a081c192e747c5de06e944a0d21245f4cf7c05e457c36e0",
- "sha256:d8b889777de69897406c9fb0b76cdf2fd0f31267861ae7501d93003d55f54fbe",
- "sha256:d9e09c9d74f4566e905a0b8fa668c58109f7624db96a2171f21747abc7524234",
- "sha256:db8e58b9d79200c76956cefd14d5c90af54416ff5353c5bfd7cbe58818e26ef0",
- "sha256:ddb2a5c08a4eaaba605340fdee8fc08e406c56617566d9643ad8bf6852778fc7",
- "sha256:e0381b4ce23ff92f8170080c97678040fc5b08da85e9e292292aba67fdac6c34",
- "sha256:e23a6d84d9d1738dbc6e38167776107e63307dfc8ad108e580548d1f2c587f42",
- "sha256:e516dc8baf7b380e6c1c26792610230f37147bb754d6426462ab115a02944385",
- "sha256:ea65804b5dc88dacd4a40279af0cdadcfe74b3e5b4c897aa0d81cf86927fee78",
- "sha256:ec61d826d80fc293ed46c9dd26995921e3a82146feacd952ef0757236fc137be",
- "sha256:ee04010f26d5102399bd17f8df8bc38dc7ccd7701dc77f4a68c5b8d733406958",
- "sha256:f3bc6af6e2b8f92eced34ef6a96ffb248e863af20ef4fde9448cc8c9b858b749",
- "sha256:f7d6b36dd2e029b6bcb8a13cf19664c7b8e19ab3a58e0fefbb5b8461447ed5ec"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==1.9.4"
- },
- "yaspin": {
- "hashes": [
- "sha256:35cae59c682506794a218310445e8326cd8fec410879d1c44953b494b1121e77",
- "sha256:5c9b6549b84c8aa7f92426272b670e1302941d72f0275caf32d2ea7db3c269f9"
- ],
- "markers": "python_version >= '3.9' and python_version < '4.0'",
- "version": "==3.0.2"
- },
- "ypy-websocket": {
- "hashes": [
- "sha256:43a001473f5c8abcf182f603049cf305cbc855ad8deaa9dfa0f3b5a7cea9d0ff",
- "sha256:b1ba0dfcc9762f0ca168d2378062d3ca1299d39076b0f145d961359121042be5"
- ],
- "markers": "python_version >= '3.7'",
- "version": "==0.8.4"
- },
- "zipp": {
- "hashes": [
- "sha256:206f5a15f2af3dbaee80769fb7dc6f249695e940acca08dfb2a4769fe61e538b",
- "sha256:2884ed22e7d8961de1c9a05142eb69a247f120291bc0206a00a7642f09b5b715"
- ],
- "markers": "python_version >= '3.8'",
- "version": "==3.18.1"
- }
- },
- "develop": {}
-}
diff --git a/bootstrap/workbench-image/README.md b/bootstrap/workbench-image/README.md
deleted file mode 100644
index 907557fe..00000000
--- a/bootstrap/workbench-image/README.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# Important notes
-
-OpenCV for Python comes in two flavors, standard and headless. The Headless version is the one required inside a container image, otherwise the command `import cv2` will fail.
-
-That's because the standard version has dependencies on OS packages related to display, which you obviously don't have in a container. However, it i listed as a dependency by several other libraries which expect you to run on a desktop/laptop! Therefore we need to make sure only the headless version is installed.
-
-The `requirements.txt` file used to build the container image is generated in this way:
-
-- Create a Pipfile with the needed packages
-- Lock the packages (`pipenv lock`)
-- Create the requirement.txt with `pipenv requirements > requirements.txt`
-- Edit `requirements.txt` and remove the package `opencv-python` (which has been "injected" as a dependency), it was not in the Pipfile, but keep `opencv-python-headless`
-- `requirements.txt` content will be installed when the container is built with the option `no-dependencies` to avoid unwanted packages to come back... This option is really needed, otherwise pip will install the standard opencv version again as a dependency...
-
-## Build the image
-
-`podman build -t rhoai-lab-insurance-claim-workbench:x.y .`
diff --git a/bootstrap/workbench-image/etc/jupyter_notebook_config.py b/bootstrap/workbench-image/etc/jupyter_notebook_config.py
deleted file mode 100644
index 243a1161..00000000
--- a/bootstrap/workbench-image/etc/jupyter_notebook_config.py
+++ /dev/null
@@ -1,3 +0,0 @@
-c.WebPDFExporter.enabled = False
-c.QtPDFExporter.enabled = False
-c.QtPNGExporter.enabled = False
diff --git a/bootstrap/workbench-image/etc/jupyter_server_config.py b/bootstrap/workbench-image/etc/jupyter_server_config.py
deleted file mode 100644
index 3421ff31..00000000
--- a/bootstrap/workbench-image/etc/jupyter_server_config.py
+++ /dev/null
@@ -1 +0,0 @@
-c.ContentsManager.allow_hidden = True
diff --git a/bootstrap/workbench-image/os-ide/os-packages.txt b/bootstrap/workbench-image/os-ide/os-packages.txt
deleted file mode 100644
index f6341642..00000000
--- a/bootstrap/workbench-image/os-ide/os-packages.txt
+++ /dev/null
@@ -1,42 +0,0 @@
-diffutils
-git-lfs
-hdf5
-jq
-lcms2
-llvm
-llvm-devel
-lz4
-nano
-pandoc
-postgresql
-texlive-adjustbox
-texlive-bibtex
-texlive-charter
-texlive-ec
-texlive-euro
-texlive-eurosym
-texlive-fpl
-texlive-jknapltx
-texlive-knuth-local
-texlive-lm-math
-texlive-marvosym
-texlive-mathpazo
-texlive-mflogo-font
-texlive-parskip
-texlive-plain
-texlive-pxfonts
-texlive-rsfs
-texlive-tcolorbox
-texlive-times
-texlive-titling
-texlive-txfonts
-texlive-ulem
-texlive-upquote
-texlive-utopia
-texlive-wasy
-texlive-wasy-type1
-texlive-wasysym
-texlive-xetex
-tk
-unixODBC
-zstd
\ No newline at end of file
diff --git a/bootstrap/workbench-image/requirements.txt b/bootstrap/workbench-image/requirements.txt
deleted file mode 100644
index 77a92fdb..00000000
--- a/bootstrap/workbench-image/requirements.txt
+++ /dev/null
@@ -1,283 +0,0 @@
--i https://pypi.org/simple
---extra-index-url https://download.pytorch.org/whl/cpu
-absl-py==1.4.0; python_version >= '3.6'
-aiofiles==22.1.0; python_version >= '3.7' and python_version < '4.0'
-aiohttp==3.9.5; python_version >= '3.8'
-aiosignal==1.3.1; python_version >= '3.7'
-aiosqlite==0.20.0; python_version >= '3.8'
-anyio==4.3.0; python_version >= '3.8'
-argon2-cffi==23.1.0; python_version >= '3.7'
-argon2-cffi-bindings==21.2.0; python_version >= '3.6'
-arrow==1.3.0; python_version >= '3.8'
-astroid==3.1.0; python_full_version >= '3.8.0'
-asttokens==2.4.1
-attrs==23.2.0; python_version >= '3.7'
-autopep8==2.0.4; python_version >= '3.6'
-azure-core==1.30.1; python_version >= '3.7'
-azure-storage-blob==12.19.1; python_version >= '3.7'
-babel==2.14.0; python_version >= '3.7'
-beautifulsoup4==4.12.3; python_full_version >= '3.6.0'
-black==24.4.0; python_version >= '3.8'
-bleach==6.1.0; python_version >= '3.8'
-blinker==1.7.0; python_version >= '3.8'
-bokeh==3.4.1; python_version >= '3.9'
-boto3==1.34.87; python_version >= '3.8'
-botocore==1.34.87; python_version >= '3.8'
-cachetools==5.3.3; python_version >= '3.7'
-certifi==2024.2.2; python_version >= '3.6'
-cffi==1.16.0; platform_python_implementation != 'PyPy'
-charset-normalizer==3.3.2; python_full_version >= '3.7.0'
-click==8.1.7; python_version >= '3.7'
-cloudpickle==2.2.1; python_version >= '3.6'
-colorama==0.4.6; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6'
-coloredlogs==15.0.1; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'
-comm==0.2.2; python_version >= '3.8'
-contourpy==1.2.1; python_version >= '3.9'
-cryptography==42.0.5; python_version >= '3.7'
-cycler==0.12.1; python_version >= '3.8'
-dataclasses-json==0.6.4; python_version >= '3.7' and python_version < '4.0'
-debugpy==1.8.1; python_version >= '3.8'
-decorator==5.1.1; python_version >= '3.5'
-defusedxml==0.7.1; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'
-deprecated==1.2.14; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'
-deprecation==2.1.0
-dill==0.3.8; python_version >= '3.11'
-distro==1.9.0; python_version >= '3.6'
-docstring-parser==0.16; python_version >= '3.6' and python_version < '4.0'
-docstring-to-markdown==0.15; python_version >= '3.6'
-einops==0.7.0; python_version >= '3.8'
-elyra-code-snippet-extension==3.15.0
-elyra-pipeline-editor-extension==3.15.0
-elyra-python-editor-extension==3.15.0
-elyra-server==3.15.0; python_version >= '3.8'
-entrypoints==0.4; python_version >= '3.6'
-environs==9.5.0; python_version >= '3.6'
-executing==2.0.1; python_version >= '3.5'
-fastjsonschema==2.19.1
-filelock==3.13.4; python_version >= '3.8'
-fire==0.6.0
-flake8==7.0.0
-flask==3.0.3; python_version >= '3.8'
-flatbuffers==24.3.25
-fonttools==4.51.0; python_version >= '3.8'
-fqdn==1.5.1
-frozenlist==1.4.1; python_version >= '3.8'
-fsspec==2024.3.1; python_version >= '3.8'
-gitdb==4.0.11; python_version >= '3.7'
-gitpython==3.1.43; python_version >= '3.7'
-google-api-core==2.18.0; python_version >= '3.7'
-google-api-python-client==1.12.11; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'
-google-auth==2.29.0; python_version >= '3.7'
-google-auth-httplib2==0.2.0
-google-cloud-core==2.4.1; python_version >= '3.7'
-google-cloud-storage==2.16.0; python_version >= '3.7'
-google-crc32c==1.5.0; python_version >= '3.7'
-google-resumable-media==2.7.0; python_version >= '3.7'
-googleapis-common-protos==1.63.0; python_version >= '3.7'
-greenlet==3.0.3; platform_machine == 'aarch64' or (platform_machine == 'ppc64le' or (platform_machine == 'x86_64' or (platform_machine == 'amd64' or (platform_machine == 'AMD64' or (platform_machine == 'win32' or platform_machine == 'WIN32')))))
-grpcio==1.60.0; python_version >= '3.7'
-gunicorn==21.2.0; python_version >= '3.5'
-h11==0.14.0; python_version >= '3.7'
-httpcore==1.0.5; python_version >= '3.8'
-httplib2==0.22.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'
-httpx==0.27.0; python_version >= '3.8'
-huggingface-hub==0.22.2; python_full_version >= '3.8.0'
-humanfriendly==10.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'
-idna==3.7; python_version >= '3.5'
-importlib-metadata==7.1.0; python_version >= '3.8'
-ipykernel==6.29.4; python_version >= '3.8'
-ipython==8.23.0; python_version >= '3.10'
-ipython-genutils==0.2.0
-ipywidgets==8.1.2; python_version >= '3.7'
-isodate==0.6.1
-isoduration==20.11.0
-isort==5.13.2; python_full_version >= '3.8.0'
-itsdangerous==2.2.0; python_version >= '3.8'
-jedi==0.19.1; python_version >= '3.6'
-jinja2==3.1.3; python_version >= '3.7'
-jmespath==1.0.1; python_version >= '3.7'
-joblib==1.4.0; python_version >= '3.8'
-json5==0.9.25; python_version >= '3.8'
-jsonpatch==1.33; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6'
-jsonpointer==2.4; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6'
-jsonschema[format-nongpl]==4.21.1; python_version >= '3.8'
-jsonschema-specifications==2023.12.1; python_version >= '3.8'
-jupyter-bokeh==3.0.7; python_version >= '3.8'
-jupyter-client==7.4.9; python_version >= '3.7'
-jupyter-core==5.7.2; python_version >= '3.8'
-jupyter-events==0.10.0; python_version >= '3.8'
-jupyter-lsp==2.2.5; python_version >= '3.8'
-jupyter-packaging==0.12.3; python_version >= '3.7'
-jupyter-resource-usage==1.0.2; python_version >= '3.8'
-jupyter-server==2.14.0; python_version >= '3.8'
-jupyter-server-fileid==0.9.2; python_version >= '3.7'
-jupyter-server-mathjax==0.2.6; python_version >= '3.7'
-jupyter-server-proxy==4.1.2; python_version >= '3.8'
-jupyter-server-terminals==0.5.3; python_version >= '3.8'
-jupyter-server-ydoc==0.8.0; python_version >= '3.7'
-jupyter-ydoc==0.2.5; python_version >= '3.7'
-jupyterlab==3.6.7; python_version >= '3.7'
-jupyterlab-git==0.44.0; python_version >= '3.7'
-jupyterlab-lsp==4.3.0; python_version >= '3.8'
-jupyterlab-pygments==0.3.0; python_version >= '3.8'
-jupyterlab-server==2.26.0; python_version >= '3.8'
-jupyterlab-widgets==3.0.10; python_version >= '3.7'
-kfp==1.8.22; python_full_version >= '3.6.1'
-kfp-pipeline-spec==0.1.16; python_full_version >= '3.7.0'
-kfp-server-api==1.8.5
-kfp-tekton==1.5.10; python_full_version >= '3.6.1'
-kiwisolver==1.4.5; python_version >= '3.7'
-kubernetes==25.3.0; python_version >= '3.6'
-langchain==0.1.12; python_version < '4.0' and python_full_version >= '3.8.1'
-langchain-community==0.0.33; python_version < '4.0' and python_full_version >= '3.8.1'
-langchain-core==0.1.44; python_version < '4.0' and python_full_version >= '3.8.1'
-langchain-text-splitters==0.0.1; python_version < '4.0' and python_full_version >= '3.8.1'
-langsmith==0.1.48; python_version < '4.0' and python_full_version >= '3.8.1'
-markdown-it-py==3.0.0; python_version >= '3.8'
-markupsafe==2.1.5; python_version >= '3.7'
-marshmallow==3.21.1; python_version >= '3.8'
-matplotlib==3.8.4; python_version >= '3.9'
-matplotlib-inline==0.1.7; python_version >= '3.8'
-mccabe==0.7.0
-mdurl==0.1.2; python_version >= '3.7'
-minio==7.2.5
-mistune==3.0.2; python_version >= '3.7'
-mpmath==1.3.0
-multidict==6.0.5; python_version >= '3.7'
-mypy-extensions==1.0.0; python_version >= '3.5'
-nbclassic==1.0.0; python_version >= '3.7'
-nbclient==0.10.0; python_full_version >= '3.8.0'
-nbconvert==7.16.3; python_version >= '3.8'
-nbdime==3.2.1; python_version >= '3.6'
-nbformat==5.10.4; python_version >= '3.8'
-nest-asyncio==1.6.0; python_version >= '3.5'
-networkx==3.3; python_version >= '3.10'
-notebook==6.5.6; python_version >= '3.7'
-notebook-shim==0.2.4; python_version >= '3.7'
-numpy==1.26.4; python_version >= '3.9'
-oauthlib==3.2.2; python_version >= '3.6'
-onnx==1.15.0; python_version >= '3.8'
-onnxruntime==1.17.3
-openai==1.14.1; python_full_version >= '3.7.1'
-opencv-python-headless==4.9.0.80; python_version >= '3.6'
-orjson==3.10.1; python_version >= '3.8'
-overrides==7.7.0; python_version >= '3.6'
-packaging==23.2; python_version >= '3.7'
-pandas==2.2.2; python_version >= '3.9'
-pandocfilters==1.5.1; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'
-papermill==2.5.0; python_version >= '3.8'
-parso==0.8.4; python_version >= '3.6'
-pathspec==0.12.1; python_version >= '3.8'
-pexpect==4.9.0
-pillow==10.3.0; python_version >= '3.8'
-pip==24.0; python_version >= '3.7'
-platformdirs==4.2.0; python_version >= '3.8'
-plotly==5.20.0; python_version >= '3.8'
-pluggy==1.4.0; python_version >= '3.8'
-prometheus-client==0.20.0; python_version >= '3.8'
-prompt-toolkit==3.0.43; python_full_version >= '3.7.0'
-proto-plus==1.23.0; python_version >= '3.6'
-protobuf==3.20.3; python_version >= '3.7'
-psutil==5.9.8; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'
-ptyprocess==0.7.0
-pure-eval==0.2.2
-py-cpuinfo==9.0.0
-pyarrow==15.0.2; python_version >= '3.8'
-pyasn1==0.6.0; python_version >= '3.8'
-pyasn1-modules==0.4.0; python_version >= '3.8'
-pycodestyle==2.11.1; python_version >= '3.8'
-pycparser==2.22; python_version >= '3.8'
-pycryptodome==3.20.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'
-pydantic==1.10.15; python_version >= '3.7'
-pydocstyle==6.3.0
-pyflakes==3.2.0
-pygithub==2.3.0; python_version >= '3.7'
-pygments==2.17.2; python_version >= '3.7'
-pyjwt[crypto]==2.8.0; python_version >= '3.7'
-pylint==3.1.0
-pymilvus==2.3.7; python_version >= '3.8'
-pynacl==1.5.0; python_version >= '3.6'
-pyparsing==3.1.2; python_full_version >= '3.6.8'
-python-dateutil==2.9.0.post0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'
-python-dotenv==1.0.1; python_version >= '3.8'
-python-json-logger==2.0.7; python_version >= '3.6'
-python-lsp-jsonrpc==1.1.2; python_version >= '3.8'
-python-lsp-server[all]==1.11.0; python_version >= '3.8'
-pytoolconfig[global]==1.3.1; python_version >= '3.8'
-pytz==2024.1
-pyyaml==6.0.1; python_version >= '3.6'
-pyzmq==24.0.1; python_version >= '3.6'
-referencing==0.34.0; python_version >= '3.8'
-regex==2024.4.16; python_version >= '3.7'
-requests==2.31.0; python_version >= '3.7'
-requests-oauthlib==2.0.0; python_version >= '3.4'
-requests-toolbelt==0.10.1; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'
-rfc3339-validator==0.1.4; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'
-rfc3986-validator==0.1.1; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'
-rich==13.7.1; python_full_version >= '3.7.0'
-rope==1.13.0
-rpds-py==0.18.0; python_version >= '3.8'
-rsa==4.9; python_version >= '3.6' and python_version < '4'
-s3transfer==0.10.1; python_version >= '3.8'
-safetensors==0.4.3; python_version >= '3.7'
-scikit-learn==1.4.2; python_version >= '3.9'
-scipy==1.12.0; python_version >= '3.9'
-seaborn==0.13.2; python_version >= '3.8'
-send2trash==1.8.3; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'
-sentence-transformers==2.6.1; python_full_version >= '3.8.0'
-setuptools==69.2.0; python_version >= '3.8'
-shellingham==1.5.4; python_version >= '3.7'
-simpervisor==1.0.0; python_version >= '3.8'
-six==1.16.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'
-smmap==5.0.1; python_version >= '3.7'
-sniffio==1.3.1; python_version >= '3.7'
-snowballstemmer==2.2.0
-soupsieve==2.5; python_version >= '3.8'
-sqlalchemy==2.0.29; python_version >= '3.7'
-stack-data==0.6.3
-strip-hints==0.1.10
-sympy==1.12; python_version >= '3.8'
-tabulate==0.9.0; python_version >= '3.7'
-tenacity==8.2.3; python_version >= '3.7'
-termcolor==2.3.0; python_version >= '3.7'
-terminado==0.18.1; python_version >= '3.8'
-text-generation==0.6.1; python_version >= '3.7' and python_version < '4.0'
-thop==0.1.1.post2209072238
-threadpoolctl==3.4.0; python_version >= '3.8'
-tinycss2==1.2.1; python_version >= '3.7'
-tokenizers==0.19.1; python_version >= '3.7'
-tomli==2.0.1; python_version >= '3.7'
-tomlkit==0.12.4; python_version >= '3.7'
-torch==2.2.2+cpu
-torchvision==0.17.2; python_version >= '3.8'
-tornado==6.4; python_version >= '3.8'
-tqdm==4.66.2; python_version >= '3.7'
-traitlets==5.14.2; python_version >= '3.8'
-transformers==4.40.0; python_full_version >= '3.8.0'
-typer==0.12.3; python_version >= '3.7'
-types-python-dateutil==2.9.0.20240316; python_version >= '3.8'
-typing-extensions==4.11.0; python_version >= '3.8'
-typing-inspect==0.9.0
-tzdata==2024.1; python_version >= '2'
-ujson==5.9.0; python_version >= '3.8'
-ultralytics==8.1.47; python_version >= '3.8'
-uri-template==1.3.0
-uritemplate==3.0.1; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'
-urllib3==1.26.18; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'
-watchdog==4.0.0; python_version >= '3.8'
-wcwidth==0.2.13
-webcolors==1.13
-webencodings==0.5.1
-websocket-client==1.7.0; python_version >= '3.8'
-werkzeug==3.0.2; python_version >= '3.8'
-whatthepatch==1.0.5
-wheel==0.43.0; python_version >= '3.8'
-widgetsnbextension==4.0.10; python_version >= '3.7'
-wrapt==1.16.0; python_version >= '3.6'
-xyzservices==2024.4.0; python_version >= '3.8'
-y-py==0.6.2
-yapf==0.40.2
-yarl==1.9.4; python_version >= '3.7'
-yaspin==3.0.2; python_version >= '3.9' and python_version < '4.0'
-ypy-websocket==0.8.4; python_version >= '3.7'
-zipp==3.18.1; python_version >= '3.8'
diff --git a/bootstrap/workbench-image/runtime-images/cuda-datascience-c9s-py311.json b/bootstrap/workbench-image/runtime-images/cuda-datascience-c9s-py311.json
deleted file mode 100644
index 0a2a3e04..00000000
--- a/bootstrap/workbench-image/runtime-images/cuda-datascience-c9s-py311.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "display_name": "CUDA Datascience with Python 3.11 (CentOS Stream 9)",
- "metadata": {
- "tags": [],
- "display_name": "CUDA Datascience with Python 3.11 (CentOS Stream 9)",
- "image_name": "quay.io/opendatahub-contrib/workbench-images:cuda-runtime-datascience-c9s-py39_RELEASE_latest"
- },
- "schema_name": "runtime-image"
-}
\ No newline at end of file
diff --git a/bootstrap/workbench-image/runtime-images/cuda-pytorch-c9s-py311.json b/bootstrap/workbench-image/runtime-images/cuda-pytorch-c9s-py311.json
deleted file mode 100644
index 0854745e..00000000
--- a/bootstrap/workbench-image/runtime-images/cuda-pytorch-c9s-py311.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "display_name": "CUDA PyTorch with Python 3.11 (CentOS Stream 9)",
- "metadata": {
- "tags": [],
- "display_name": "CUDA PyTorch with Python 3.11 (CentOS Stream 9)",
- "image_name": "quay.io/opendatahub-contrib/workbench-images:cuda-runtime-pytorch-c9s-py39_RELEASE_latest"
- },
- "schema_name": "runtime-image"
-}
\ No newline at end of file
diff --git a/bootstrap/workbench-image/runtime-images/cuda-tensorflow-c9s-py311.json b/bootstrap/workbench-image/runtime-images/cuda-tensorflow-c9s-py311.json
deleted file mode 100644
index 08173601..00000000
--- a/bootstrap/workbench-image/runtime-images/cuda-tensorflow-c9s-py311.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "display_name": "CUDA Tensorflow with Python 3.11 (CentOS Stream 9)",
- "metadata": {
- "tags": [],
- "display_name": "CUDA Tensorflow with Python 3.11 (CentOS Stream 9)",
- "image_name": "quay.io/opendatahub-contrib/workbench-images:cuda-runtime-tensorflow-c9s-py39_RELEASE_latest"
- },
- "schema_name": "runtime-image"
-}
\ No newline at end of file
diff --git a/bootstrap/workbench-image/runtime-images/datascience-c9s-py311.json b/bootstrap/workbench-image/runtime-images/datascience-c9s-py311.json
deleted file mode 100644
index a6dbc1da..00000000
--- a/bootstrap/workbench-image/runtime-images/datascience-c9s-py311.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "display_name": "Datascience with Python 3.11 (CentOS Stream 9)",
- "metadata": {
- "tags": [],
- "display_name": "Datascience with Python 3.11 (CentOS Stream 9)",
- "image_name": "quay.io/opendatahub-contrib/workbench-images:runtime-datascience-c9s-py311_RELEASE_latest"
- },
- "schema_name": "runtime-image"
-}
\ No newline at end of file
diff --git a/bootstrap/workbench-image/runtime-images/datascience-ubi9-py39.json b/bootstrap/workbench-image/runtime-images/datascience-ubi9-py39.json
deleted file mode 100644
index 0ba87878..00000000
--- a/bootstrap/workbench-image/runtime-images/datascience-ubi9-py39.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "display_name": "Datascience with Python 3.9 (UBI9)",
- "metadata": {
- "tags": [],
- "display_name": "Datascience with Python 3.9 (UBI9)",
- "image_name": "quay.io/opendatahub/workbench-images:runtime-datascience-ubi9-python-3.9-6a6098d"
- },
- "schema_name": "runtime-image"
-}
\ No newline at end of file
diff --git a/bootstrap/workbench-image/runtime-images/pytorch-ubi9-py39.json b/bootstrap/workbench-image/runtime-images/pytorch-ubi9-py39.json
deleted file mode 100644
index 4f2d3957..00000000
--- a/bootstrap/workbench-image/runtime-images/pytorch-ubi9-py39.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "display_name": "PyTorch with CUDA and Python 3.9 (UBI9)",
- "metadata": {
- "tags": [],
- "display_name": "PyTorch with CUDA and Python 3.9 (UBI9)",
- "image_name": "quay.io/opendatahub/workbench-images:runtime-pytorch-ubi9-python-3.9-6a6098d"
- },
- "schema_name": "runtime-image"
-}
\ No newline at end of file
diff --git a/bootstrap/workbench-image/runtime-images/r-c9s-py311.json b/bootstrap/workbench-image/runtime-images/r-c9s-py311.json
deleted file mode 100644
index d2dac43d..00000000
--- a/bootstrap/workbench-image/runtime-images/r-c9s-py311.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "display_name": "R 4.3.1 with Python 3.11 (CentOS Stream 9)",
- "metadata": {
- "tags": [],
- "display_name": "R 4.3.1 with Python 3.11 (CentOS Stream 9)",
- "image_name": "quay.io/opendatahub-contrib/workbench-images:runtime-r-c9s-py311_RELEASE_latest"
- },
- "schema_name": "runtime-image"
-}
\ No newline at end of file
diff --git a/bootstrap/workbench-image/runtime-images/spark-c9s-py311.json b/bootstrap/workbench-image/runtime-images/spark-c9s-py311.json
deleted file mode 100644
index fc7ec1a0..00000000
--- a/bootstrap/workbench-image/runtime-images/spark-c9s-py311.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "display_name": "Spark/PySpark 3.4.1 with Hadoop 3.3.6 + Datascience with Python 3.11 (CentOS Stream 9)",
- "metadata": {
- "tags": [],
- "display_name": "Spark/PySpark 3.4.1 with Hadoop 3.3.6 + Datascience with Python 3.11 (CentOS Stream 9)",
- "image_name": "quay.io/opendatahub-contrib/workbench-images:runtime-spark-c9s-py311_RELEASE_latest"
- },
- "schema_name": "runtime-image"
-}
\ No newline at end of file
diff --git a/bootstrap/workbench-image/runtime-images/tensorflow-ubi9-py39.json b/bootstrap/workbench-image/runtime-images/tensorflow-ubi9-py39.json
deleted file mode 100644
index 2a9ead25..00000000
--- a/bootstrap/workbench-image/runtime-images/tensorflow-ubi9-py39.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "display_name": "TensorFlow with CUDA and Python 3.9 (UBI9)",
- "metadata": {
- "tags": [],
- "display_name": "TensorFlow with CUDA and Python 3.9 (UBI9)",
- "image_name": "quay.io/opendatahub/workbench-images:runtime-cuda-tensorflow-ubi9-python-3.9-6a6098d"
- },
- "schema_name": "runtime-image"
-}
\ No newline at end of file
diff --git a/bootstrap/workbench-image/runtime-images/ubi9-py39.json b/bootstrap/workbench-image/runtime-images/ubi9-py39.json
deleted file mode 100644
index 9b4567ab..00000000
--- a/bootstrap/workbench-image/runtime-images/ubi9-py39.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "display_name": "Python 3.9 (UBI9)",
- "metadata": {
- "tags": [],
- "display_name": "Python 3.9 (UBI9)",
- "image_name": "quay.io/opendatahub/workbench-images:runtime-minimal-ubi9-python-3.9-6a6098d"
- },
- "schema_name": "runtime-image"
-}
\ No newline at end of file
diff --git a/bootstrap/workbench-image/setup-elyra.sh b/bootstrap/workbench-image/setup-elyra.sh
deleted file mode 100644
index d9b08b39..00000000
--- a/bootstrap/workbench-image/setup-elyra.sh
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/bash
-set -x
-
-# Set the elyra config on the right path
-jupyter elyra --generate-config
-cp /opt/app-root/bin/utils/jupyter_elyra_config.py /opt/app-root/src/.jupyter/
-
-# create the elyra runtime directory if not present
-if [ ! -d $(jupyter --data-dir)/metadata/runtimes/ ]; then
- mkdir -p $(jupyter --data-dir)/metadata/runtimes/
-fi
-# Set elyra runtime config from volume mount
-if [ "$(ls -A /opt/app-root/runtimes/)" ]; then
- cp -r /opt/app-root/runtimes/..data/*.json $(jupyter --data-dir)/metadata/runtimes/
-fi
-
-# Environment vars set for accessing ssl_sa_certs and sa_token
-# export PIPELINES_SSL_SA_CERTS="/var/run/secrets/kubernetes.io/serviceaccount/ca.crt"
-export KF_PIPELINES_SA_TOKEN_ENV="/var/run/secrets/kubernetes.io/serviceaccount/token"
-export KF_PIPELINES_SA_TOKEN_PATH="/var/run/secrets/kubernetes.io/serviceaccount/token"
-# Environment vars set for accessing following dependencies for air-gapped enviroment
-export ELYRA_BOOTSTRAP_SCRIPT_URL="file:///opt/app-root/bin/utils/bootstrapper.py"
-export ELYRA_PIP_CONFIG_URL="file:///opt/app-root/bin/utils/pip.conf"
-export ELYRA_REQUIREMENTS_URL="file:///opt/app-root/bin/utils/requirements-elyra.txt"
\ No newline at end of file
diff --git a/bootstrap/workbench-image/start-notebook.sh b/bootstrap/workbench-image/start-notebook.sh
deleted file mode 100755
index da656907..00000000
--- a/bootstrap/workbench-image/start-notebook.sh
+++ /dev/null
@@ -1,45 +0,0 @@
-#!/usr/bin/env bash
-
-# Load bash libraries
-SCRIPT_DIR=/opt/app-root/bin
-source ${SCRIPT_DIR}/utils/process.sh
-
-if [ -f "${SCRIPT_DIR}/utils/setup-elyra.sh" ]; then
- source ${SCRIPT_DIR}/utils/setup-elyra.sh
-fi
-
-# Initialize notebooks arguments variable
-NOTEBOOK_PROGRAM_ARGS=""
-
-# Set default ServerApp.port value if NOTEBOOK_PORT variable is defined
-if [ -n "${NOTEBOOK_PORT}" ]; then
- NOTEBOOK_PROGRAM_ARGS+="--ServerApp.port=${NOTEBOOK_PORT} "
-fi
-
-# Set default ServerApp.base_url value if NOTEBOOK_BASE_URL variable is defined
-if [ -n "${NOTEBOOK_BASE_URL}" ]; then
- NOTEBOOK_PROGRAM_ARGS+="--ServerApp.base_url=${NOTEBOOK_BASE_URL} "
-fi
-
-# Set default ServerApp.root_dir value if NOTEBOOK_ROOT_DIR variable is defined
-if [ -n "${NOTEBOOK_ROOT_DIR}" ]; then
- NOTEBOOK_PROGRAM_ARGS+="--ServerApp.root_dir=${NOTEBOOK_ROOT_DIR} "
-else
- NOTEBOOK_PROGRAM_ARGS+="--ServerApp.root_dir=${HOME} "
-fi
-
-# Add additional arguments if NOTEBOOK_ARGS variable is defined
-if [ -n "${NOTEBOOK_ARGS}" ]; then
- NOTEBOOK_PROGRAM_ARGS+=${NOTEBOOK_ARGS}
-fi
-
-# Add .bashrc for custom promt if not present
-if [ ! -f "/opt/app-root/src/.bashrc" ]; then
- echo 'PS1="\[\033[34;1m\][\$(pwd)]\[\033[0m\]\n\[\033[1;0m\]$ \[\033[0m\]"' > /opt/app-root/src/.bashrc
-fi
-
-# Start the JupyterLab notebook
-start_process jupyter lab ${NOTEBOOK_PROGRAM_ARGS} \
- --ServerApp.ip=0.0.0.0 \
- --ServerApp.allow_origin="*" \
- --ServerApp.open_browser=False
diff --git a/bootstrap/workbench-image/utils/component_runtime.json b/bootstrap/workbench-image/utils/component_runtime.json
deleted file mode 100644
index a1e84196..00000000
--- a/bootstrap/workbench-image/utils/component_runtime.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "title": "Runtime Type",
- "description": "The type of runtime associated with this Component Catalog",
- "type": "string",
- "enum": ["KUBEFLOW_PIPELINES"],
- "default": "KUBEFLOW_PIPELINES",
- "uihints": {
- "hidden": true
- }
-}
\ No newline at end of file
diff --git a/bootstrap/workbench-image/utils/jupyter_elyra_config.py b/bootstrap/workbench-image/utils/jupyter_elyra_config.py
deleted file mode 100644
index caa1981d..00000000
--- a/bootstrap/workbench-image/utils/jupyter_elyra_config.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# Configuration file for elyra.
-# Pre-generated via `jupyter elyra --generate-config`
-# Editted out the rest of the content, use the above command to get additional config sections.
-
-c = get_config() #noqa
-
-#------------------------------------------------------------------------------
-# PipelineProcessorRegistry(SingletonConfigurable) configuration
-#------------------------------------------------------------------------------
-
-c.PipelineProcessorRegistry.runtimes = ['kfp']
\ No newline at end of file
diff --git a/bootstrap/workbench-image/utils/kfp_authentication.patch b/bootstrap/workbench-image/utils/kfp_authentication.patch
deleted file mode 100644
index 3b4b776d..00000000
--- a/bootstrap/workbench-image/utils/kfp_authentication.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- a/kfp_authentication.py 2023-06-09 10:13:11.412910808 -0400
-+++ b/kfp_authentication.py 2023-06-09 10:14:39.879565175 -0400
-@@ -230,6 +230,7 @@
- """
-
- kf_url = urlsplit(api_endpoint)._replace(path="").geturl()
-+ kf_pipelines_ssl_sa_cert = os.getenv("PIPELINES_SSL_SA_CERTS", None)
-
- # return data structure for successful requests
- auth_info = {
-@@ -239,6 +240,7 @@
- "cookies": None, # passed to KFP SDK client as "cookies" param value
- "credentials": None, # passed to KFP SDK client as "credentials" param value
- "existing_token": None, # passed to KFP SDK client as "existing_token" param value
-+ "ssl_ca_cert": kf_pipelines_ssl_sa_cert, # passed to KFP SDK Client as "ssl_ca_cert" param value
- }
-
- try:
diff --git a/bootstrap/workbench-image/utils/pipeline-flow.svg b/bootstrap/workbench-image/utils/pipeline-flow.svg
deleted file mode 100644
index d265fe8b..00000000
--- a/bootstrap/workbench-image/utils/pipeline-flow.svg
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/bootstrap/workbench-image/utils/process.sh b/bootstrap/workbench-image/utils/process.sh
deleted file mode 100755
index 6b69254b..00000000
--- a/bootstrap/workbench-image/utils/process.sh
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/usr/bin/env bash
-
-function start_process() {
- trap stop_process TERM INT
-
- echo "Running command: $@"
- "$@" &
-
- PID=$!
- wait $PID
- trap - TERM INT
- wait $PID
- STATUS=$?
- exit $STATUS
-}
-
-function stop_process() {
- kill -TERM $PID
-}
\ No newline at end of file
diff --git a/bootstrap/workbench-image/utils/processor_kfp.patch b/bootstrap/workbench-image/utils/processor_kfp.patch
deleted file mode 100644
index 1f341daf..00000000
--- a/bootstrap/workbench-image/utils/processor_kfp.patch
+++ /dev/null
@@ -1,38 +0,0 @@
---- a/processor_kfp.py 2023-06-09 10:19:08.882563609 -0400
-+++ b/processor_kfp.py 2023-07-13 19:31:43.572407879 -0400
-@@ -213,6 +213,7 @@
- credentials=auth_info.get("credentials", None),
- existing_token=auth_info.get("existing_token", None),
- namespace=user_namespace,
-+ ssl_ca_cert=auth_info.get("ssl_ca_cert", None),
- )
- else:
- client = ArgoClient(
-@@ -416,7 +417,7 @@
-
- # create pipeline run (or specified pipeline version)
- run = client.run_pipeline(
-- experiment_id=experiment.id, job_name=job_name, pipeline_id=pipeline_id, version_id=version_id
-+ experiment_id=experiment.id, job_name=job_name, pipeline_id=pipeline_id, version_id=pipeline_id
- )
-
- except Exception as ex:
-@@ -435,7 +436,7 @@
-
- self.log_pipeline_info(
- pipeline_name,
-- f"pipeline submitted: {public_api_endpoint}/#/runs/details/{run.id}",
-+ f"pipeline submitted: {public_api_endpoint}/{run.id}",
- duration=time.time() - t0,
- )
-
-@@ -451,7 +452,7 @@
-
- return KfpPipelineProcessorResponse(
- run_id=run.id,
-- run_url=f"{public_api_endpoint}/#/runs/details/{run.id}",
-+ run_url=f"{public_api_endpoint}/{run.id}",
- object_storage_url=object_storage_url,
- object_storage_path=object_storage_path,
-
- )
diff --git a/bootstrap/workbench-image/utils/test_notebook.ipynb b/bootstrap/workbench-image/utils/test_notebook.ipynb
deleted file mode 100644
index a61c0d81..00000000
--- a/bootstrap/workbench-image/utils/test_notebook.ipynb
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "cells": [
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "d9d5de4c-07a0-46dd-a60d-6c8f688cc80c",
- "metadata": {},
- "outputs": [],
- "source": [
- "print('It works!')"
- ]
- }
- ],
- "metadata": {
- "kernelspec": {
- "display_name": "Python 3",
- "language": "python",
- "name": "python3"
- },
- "language_info": {
- "codemirror_mode": {
- "name": "ipython",
- "version": 3
- },
- "file_extension": ".py",
- "mimetype": "text/x-python",
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
- "version": "3.8.12"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 5
-}
diff --git a/content/antora.yml b/content/antora.yml
deleted file mode 100644
index 51eeccb7..00000000
--- a/content/antora.yml
+++ /dev/null
@@ -1,41 +0,0 @@
-name: modules
-title: Navigation
-version: ~
-nav:
- - modules/ROOT/nav.adoc
-
-asciidoc:
- attributes:
- release-version: dev
- page-pagination: true
- experimental:
- numbered:
- lab_name: "OpenShift AI Unleashed: Transforming Claims Processing for Maximum Efficiency!"
- guid: my-guid
- ssh_user: lab-user
- ssh_password: lab-user
- ssh_command: ssh lab-user@bastion.{guid}.example.opentlc.com
- minio-user: minio
- minio-pass: minio123
- minio-endpoint: http://minio.ic-shared-minio.svc.cluster.local:9000/
- git-clone-repo-url: https://github.com/rh-aiservices-bu/parasol-insurance.git
- git-clone-repo-branch: dev
- user: userX
- password: openshift
- openshift_console_url: https://PLACEHOLDER-URL.com/
- openshift_cluster_ingress_domain: PLACEHOLDER-URL.com
- rhoai_dashboard_url: https://rhods-dashboard-redhat-ods-applications.{openshift_cluster_ingress_domain}/
- login_command: oc login --insecure-skip-tls-verify=false -u userX -p openshift https://api.MYCLUSTER.com:6443"
- rhoai: "Red Hat OpenShift AI"
- rhoai-short: "RHOAI"
- ocp: "OpenShift Container Platform"
- ocp-short: "OpenShift"
- argocd: "ArgoCD"
- ocp-gitops: "OpenShift GitOps"
- company-name: "Parasol Insurance"
- ic-lab: "lab"
- ic: "{company-name} {ic-lab}"
-
- extensions:
- - ./content/lib/tab-block.js
- - ./content/lib/remote-include-processor.js
diff --git a/content/docs-ui/ui-bundle.zip b/content/docs-ui/ui-bundle.zip
deleted file mode 100644
index 43b2773e..00000000
Binary files a/content/docs-ui/ui-bundle.zip and /dev/null differ
diff --git a/content/lib/remote-include-processor.js b/content/lib/remote-include-processor.js
deleted file mode 100644
index 9358c7f1..00000000
--- a/content/lib/remote-include-processor.js
+++ /dev/null
@@ -1,11 +0,0 @@
-module.exports = function () {
- this.includeProcessor(function () {
- this.$option('position', '>>')
- this.handles((target) => target.startsWith('http'))
- this.process((doc, reader, target, attrs) => {
- const contents = require('child_process').execFileSync('curl', ['--silent', '-L', target], { encoding: 'utf8' })
- reader.pushInclude(contents, target, target, 1, attrs)
- })
- })
- }
-
\ No newline at end of file
diff --git a/content/lib/tab-block.js b/content/lib/tab-block.js
deleted file mode 100644
index 972dc9eb..00000000
--- a/content/lib/tab-block.js
+++ /dev/null
@@ -1,99 +0,0 @@
-/* Copyright (c) 2018 OpenDevise, Inc.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-/**
- * Extends the AsciiDoc syntax to support a tabset. The tabset is created from
- * a dlist enclosed in an example block that is marked with the tabs style.
- *
- * Usage:
- *
- * [tabs]
- * ====
- * Tab A::
- * +
- * --
- * Contents of tab A.
- * --
- * Tab B::
- * +
- * --
- * Contents of tab B.
- * --
- * ====
- *
- * @author Dan Allen
- */
-const IdSeparatorCh = "-";
-const ExtraIdSeparatorsRx = /^-+|-+$|-(-)+/g;
-const InvalidIdCharsRx = /[^a-zA-Z0-9_]/g;
-const List = Opal.const_get_local(Opal.module(null, "Asciidoctor"), "List");
-const ListItem = Opal.const_get_local(
- Opal.module(null, "Asciidoctor"),
- "ListItem"
-);
-
-const generateId = (str, idx) =>
- `tabset${idx}_${str
- .toLowerCase()
- .replace(InvalidIdCharsRx, IdSeparatorCh)
- .replace(ExtraIdSeparatorsRx, "$1")}`;
-
-function tabsBlock() {
- this.onContext("example");
- this.process((parent, reader, attrs) => {
- const createHtmlFragment = html => this.createBlock(parent, "pass", html);
- const tabsetIdx = parent.getDocument().counter("idx-tabset");
- const nodes = [];
- nodes.push(createHtmlFragment(''));
- const container = this.parseContent(
- this.createBlock(parent, "open"),
- reader
- );
- const sourceTabs = container.getBlocks()[0];
- if (
- !(
- sourceTabs &&
- sourceTabs.getContext() === "dlist" &&
- sourceTabs.getItems().length
- )
- )
- return;
- const tabs = List.$new(parent, "ulist");
- tabs.addRole("tabs");
- const panes = {};
- sourceTabs.getItems().forEach(([[title], details]) => {
- const tab = ListItem.$new(tabs);
- tabs.$append(tab);
- const id = generateId(title.getText(), tabsetIdx);
- tab.text = `[[${id}]]${title.text}`;
- let blocks = details.getBlocks();
- const numBlocks = blocks.length;
- if (numBlocks) {
- if (blocks[0].context === "open" && numBlocks === 1)
- blocks = blocks[0].getBlocks();
- panes[id] = blocks.map(block => (block.parent = parent) && block);
- }
- });
- nodes.push(tabs);
- nodes.push(createHtmlFragment('
'));
- Object.entries(panes).forEach(([id, blocks]) => {
- nodes.push(
- createHtmlFragment(`
`)
- );
- nodes.push(...blocks);
- nodes.push(createHtmlFragment("
"));
- });
- nodes.push(createHtmlFragment("
"));
- nodes.push(createHtmlFragment("
"));
- parent.blocks.push(...nodes);
- });
-}
-
-function register(registry, context) {
- registry.block("tabs", tabsBlock);
-}
-
-module.exports.register = register;
\ No newline at end of file
diff --git a/content/modules/ROOT/assets/images/01/proto-accident-grading.png b/content/modules/ROOT/assets/images/01/proto-accident-grading.png
deleted file mode 100644
index fed71cc0..00000000
Binary files a/content/modules/ROOT/assets/images/01/proto-accident-grading.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/01/proto-car-recog.png b/content/modules/ROOT/assets/images/01/proto-car-recog.png
deleted file mode 100644
index 0c16acd5..00000000
Binary files a/content/modules/ROOT/assets/images/01/proto-car-recog.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/01/proto-claims-processing-app.png b/content/modules/ROOT/assets/images/01/proto-claims-processing-app.png
deleted file mode 100644
index 5e42922e..00000000
Binary files a/content/modules/ROOT/assets/images/01/proto-claims-processing-app.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/01/proto-info-extract.png b/content/modules/ROOT/assets/images/01/proto-info-extract.png
deleted file mode 100644
index cf598f5c..00000000
Binary files a/content/modules/ROOT/assets/images/01/proto-info-extract.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/01/proto-sentiment-analysis.png b/content/modules/ROOT/assets/images/01/proto-sentiment-analysis.png
deleted file mode 100644
index 3eb4603d..00000000
Binary files a/content/modules/ROOT/assets/images/01/proto-sentiment-analysis.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/01/proto-summary.png b/content/modules/ROOT/assets/images/01/proto-summary.png
deleted file mode 100644
index 650caa60..00000000
Binary files a/content/modules/ROOT/assets/images/01/proto-summary.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/02/02-01-access-rhoai.png b/content/modules/ROOT/assets/images/02/02-01-access-rhoai.png
deleted file mode 100644
index 76a4269b..00000000
Binary files a/content/modules/ROOT/assets/images/02/02-01-access-rhoai.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/02/02-01-login-scary.png b/content/modules/ROOT/assets/images/02/02-01-login-scary.png
deleted file mode 100644
index befddaae..00000000
Binary files a/content/modules/ROOT/assets/images/02/02-01-login-scary.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/02/02-01-login1.png b/content/modules/ROOT/assets/images/02/02-01-login1.png
deleted file mode 100644
index 67782984..00000000
Binary files a/content/modules/ROOT/assets/images/02/02-01-login1.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/02/02-01-login2.png b/content/modules/ROOT/assets/images/02/02-01-login2.png
deleted file mode 100644
index 794a1cde..00000000
Binary files a/content/modules/ROOT/assets/images/02/02-01-login2.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/02/02-01-login3.png b/content/modules/ROOT/assets/images/02/02-01-login3.png
deleted file mode 100644
index e60d87d1..00000000
Binary files a/content/modules/ROOT/assets/images/02/02-01-login3.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/02/02-01-rhoai-front-page.png b/content/modules/ROOT/assets/images/02/02-01-rhoai-front-page.png
deleted file mode 100644
index 3ed49033..00000000
Binary files a/content/modules/ROOT/assets/images/02/02-01-rhoai-front-page.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/02/02-02-accept.png b/content/modules/ROOT/assets/images/02/02-02-accept.png
deleted file mode 100644
index a63135a4..00000000
Binary files a/content/modules/ROOT/assets/images/02/02-02-accept.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/02/02-02-add-dc.png b/content/modules/ROOT/assets/images/02/02-02-add-dc.png
deleted file mode 100644
index 9375152c..00000000
Binary files a/content/modules/ROOT/assets/images/02/02-02-add-dc.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/02/02-02-create-project.png b/content/modules/ROOT/assets/images/02/02-02-create-project.png
deleted file mode 100644
index 6d3deca9..00000000
Binary files a/content/modules/ROOT/assets/images/02/02-02-create-project.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/02/02-02-ds-proj-nav.png b/content/modules/ROOT/assets/images/02/02-02-ds-proj-nav.png
deleted file mode 100644
index 27d9be8a..00000000
Binary files a/content/modules/ROOT/assets/images/02/02-02-ds-proj-nav.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/02/02-02-jupyter.png b/content/modules/ROOT/assets/images/02/02-02-jupyter.png
deleted file mode 100644
index 5a9fd244..00000000
Binary files a/content/modules/ROOT/assets/images/02/02-02-jupyter.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/02/02-02-launch-workbench-01.png b/content/modules/ROOT/assets/images/02/02-02-launch-workbench-01.png
deleted file mode 100644
index 6c7b696c..00000000
Binary files a/content/modules/ROOT/assets/images/02/02-02-launch-workbench-01.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/02/02-02-pipelineserver01.png b/content/modules/ROOT/assets/images/02/02-02-pipelineserver01.png
deleted file mode 100644
index de561eb1..00000000
Binary files a/content/modules/ROOT/assets/images/02/02-02-pipelineserver01.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/02/02-02-pipelineserver02.png b/content/modules/ROOT/assets/images/02/02-02-pipelineserver02.png
deleted file mode 100644
index 4f6b86e2..00000000
Binary files a/content/modules/ROOT/assets/images/02/02-02-pipelineserver02.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/02/02-02-pipelineserver03.png b/content/modules/ROOT/assets/images/02/02-02-pipelineserver03.png
deleted file mode 100644
index e66b4728..00000000
Binary files a/content/modules/ROOT/assets/images/02/02-02-pipelineserver03.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/02/02-02-pre-created-components.png b/content/modules/ROOT/assets/images/02/02-02-pre-created-components.png
deleted file mode 100644
index 7215d8fb..00000000
Binary files a/content/modules/ROOT/assets/images/02/02-02-pre-created-components.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/02/02-03-create-wb.png b/content/modules/ROOT/assets/images/02/02-03-create-wb.png
deleted file mode 100644
index 18d2e9ff..00000000
Binary files a/content/modules/ROOT/assets/images/02/02-03-create-wb.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/02/02-03-open-link.png b/content/modules/ROOT/assets/images/02/02-03-open-link.png
deleted file mode 100644
index f67bbbce..00000000
Binary files a/content/modules/ROOT/assets/images/02/02-03-open-link.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/02/02-03-pre-created-jupyter.png b/content/modules/ROOT/assets/images/02/02-03-pre-created-jupyter.png
deleted file mode 100644
index 7959d5e7..00000000
Binary files a/content/modules/ROOT/assets/images/02/02-03-pre-created-jupyter.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/02/02-03-pre-created-workbench-info.png b/content/modules/ROOT/assets/images/02/02-03-pre-created-workbench-info.png
deleted file mode 100644
index 73faba16..00000000
Binary files a/content/modules/ROOT/assets/images/02/02-03-pre-created-workbench-info.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/02/02-04-help-menu.png b/content/modules/ROOT/assets/images/02/02-04-help-menu.png
deleted file mode 100644
index 69151603..00000000
Binary files a/content/modules/ROOT/assets/images/02/02-04-help-menu.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/02/02-04-play-button.png b/content/modules/ROOT/assets/images/02/02-04-play-button.png
deleted file mode 100644
index 1f2b57be..00000000
Binary files a/content/modules/ROOT/assets/images/02/02-04-play-button.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/02/02-05-cell.png b/content/modules/ROOT/assets/images/02/02-05-cell.png
deleted file mode 100644
index 5019336d..00000000
Binary files a/content/modules/ROOT/assets/images/02/02-05-cell.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/02/02-05-cell_code.png b/content/modules/ROOT/assets/images/02/02-05-cell_code.png
deleted file mode 100644
index 442f9a59..00000000
Binary files a/content/modules/ROOT/assets/images/02/02-05-cell_code.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/02/02-05-cell_run.png b/content/modules/ROOT/assets/images/02/02-05-cell_run.png
deleted file mode 100644
index 45fb3936..00000000
Binary files a/content/modules/ROOT/assets/images/02/02-05-cell_run.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/02/02-05-new_notebook.png b/content/modules/ROOT/assets/images/02/02-05-new_notebook.png
deleted file mode 100644
index f7451d83..00000000
Binary files a/content/modules/ROOT/assets/images/02/02-05-new_notebook.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/02/02-05-restart-and-run.png b/content/modules/ROOT/assets/images/02/02-05-restart-and-run.png
deleted file mode 100644
index 527b9e46..00000000
Binary files a/content/modules/ROOT/assets/images/02/02-05-restart-and-run.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/02/02-05-restart-kernel.png b/content/modules/ROOT/assets/images/02/02-05-restart-kernel.png
deleted file mode 100644
index 08ec6587..00000000
Binary files a/content/modules/ROOT/assets/images/02/02-05-restart-kernel.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/02/02-05-run_button.png b/content/modules/ROOT/assets/images/02/02-05-run_button.png
deleted file mode 100644
index 9c1954d6..00000000
Binary files a/content/modules/ROOT/assets/images/02/02-05-run_button.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/02/data-connection.png b/content/modules/ROOT/assets/images/02/data-connection.png
deleted file mode 100644
index 82e553fc..00000000
Binary files a/content/modules/ROOT/assets/images/02/data-connection.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/02/git-clone-1.png b/content/modules/ROOT/assets/images/02/git-clone-1.png
deleted file mode 100644
index 7439c7d5..00000000
Binary files a/content/modules/ROOT/assets/images/02/git-clone-1.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/02/git-clone-2.png b/content/modules/ROOT/assets/images/02/git-clone-2.png
deleted file mode 100644
index 518ac377..00000000
Binary files a/content/modules/ROOT/assets/images/02/git-clone-2.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/02/ic-eng-diag.drawio.svg b/content/modules/ROOT/assets/images/02/ic-eng-diag.drawio.svg
deleted file mode 100644
index a320c2c8..00000000
--- a/content/modules/ROOT/assets/images/02/ic-eng-diag.drawio.svg
+++ /dev/null
@@ -1,316 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- Cluster
-
-
-
-
-
-
-
-
-
-
- userN
-
-
-
-
-
-
-
-
-
-
- user4
-
-
-
-
-
-
-
-
-
-
-
- ic-shared-minio
-
-
-
-
-
-
-
-
-
-
-
-
-
- ic-shared-db
-
-
-
-
-
-
-
-
-
-
- ic-shared-llm
-
-
-
-
-
-
-
-
-
-
-
- ic-shared-app
-
-
-
-
-
-
-
-
-
-
- user1
-
-
-
-
-
-
-
-
-
-
- user3
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Workbench
-
-
-
-
-
-
-
-
-
-
- Model Serving
-
-
-
-
-
-
-
-
-
-
- Pipeline Server
-
-
-
-
-
-
-
-
-
-
- ic-shared-img-det
-
-
-
-
-
- ic-shared-img-det
-
-
-
-
-
-
-
-
-
-
-
- user2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- GPU
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Web App
-
-
-
-
-
-
-
-
- Text is not SVG - cannot display
-
-
-
-
\ No newline at end of file
diff --git a/content/modules/ROOT/assets/images/03/03-06-dailyrun.png b/content/modules/ROOT/assets/images/03/03-06-dailyrun.png
deleted file mode 100644
index 117fef38..00000000
Binary files a/content/modules/ROOT/assets/images/03/03-06-dailyrun.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/03/03-06-unsaved-changes.png b/content/modules/ROOT/assets/images/03/03-06-unsaved-changes.png
deleted file mode 100644
index 29dfe31d..00000000
Binary files a/content/modules/ROOT/assets/images/03/03-06-unsaved-changes.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/03/03-07-run-pipeline-ok.png b/content/modules/ROOT/assets/images/03/03-07-run-pipeline-ok.png
deleted file mode 100644
index a8df21ea..00000000
Binary files a/content/modules/ROOT/assets/images/03/03-07-run-pipeline-ok.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/03/06-elyra-menu.png b/content/modules/ROOT/assets/images/03/06-elyra-menu.png
deleted file mode 100644
index 1c535565..00000000
Binary files a/content/modules/ROOT/assets/images/03/06-elyra-menu.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/03/07-create-run.png b/content/modules/ROOT/assets/images/03/07-create-run.png
deleted file mode 100644
index da99a326..00000000
Binary files a/content/modules/ROOT/assets/images/03/07-create-run.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/03/07-elyra-pipeline.png b/content/modules/ROOT/assets/images/03/07-elyra-pipeline.png
deleted file mode 100644
index 9b85fc27..00000000
Binary files a/content/modules/ROOT/assets/images/03/07-elyra-pipeline.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/04/add-model-server-config.png b/content/modules/ROOT/assets/images/04/add-model-server-config.png
deleted file mode 100644
index 05735572..00000000
Binary files a/content/modules/ROOT/assets/images/04/add-model-server-config.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/04/add-model-server.png b/content/modules/ROOT/assets/images/04/add-model-server.png
deleted file mode 100644
index 3c846209..00000000
Binary files a/content/modules/ROOT/assets/images/04/add-model-server.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/04/best-model.png b/content/modules/ROOT/assets/images/04/best-model.png
deleted file mode 100644
index 7a389ea1..00000000
Binary files a/content/modules/ROOT/assets/images/04/best-model.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/04/box-identified-cars.png b/content/modules/ROOT/assets/images/04/box-identified-cars.png
deleted file mode 100644
index 89efceb5..00000000
Binary files a/content/modules/ROOT/assets/images/04/box-identified-cars.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/04/cluster-storage.png b/content/modules/ROOT/assets/images/04/cluster-storage.png
deleted file mode 100644
index fddac5be..00000000
Binary files a/content/modules/ROOT/assets/images/04/cluster-storage.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/04/data-connection.png b/content/modules/ROOT/assets/images/04/data-connection.png
deleted file mode 100644
index 4e4c154e..00000000
Binary files a/content/modules/ROOT/assets/images/04/data-connection.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/04/deploy-a-model.png b/content/modules/ROOT/assets/images/04/deploy-a-model.png
deleted file mode 100644
index deb2c6c1..00000000
Binary files a/content/modules/ROOT/assets/images/04/deploy-a-model.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/04/inference-url.png b/content/modules/ROOT/assets/images/04/inference-url.png
deleted file mode 100644
index bb5e6d05..00000000
Binary files a/content/modules/ROOT/assets/images/04/inference-url.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/04/model-data-connection.png b/content/modules/ROOT/assets/images/04/model-data-connection.png
deleted file mode 100644
index ac8e7ca6..00000000
Binary files a/content/modules/ROOT/assets/images/04/model-data-connection.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/04/model-deployed-success.png b/content/modules/ROOT/assets/images/04/model-deployed-success.png
deleted file mode 100644
index fe75e9b7..00000000
Binary files a/content/modules/ROOT/assets/images/04/model-deployed-success.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/04/model-prediction-results.png b/content/modules/ROOT/assets/images/04/model-prediction-results.png
deleted file mode 100644
index 39057aa9..00000000
Binary files a/content/modules/ROOT/assets/images/04/model-prediction-results.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/04/model-retraining-summary.png b/content/modules/ROOT/assets/images/04/model-retraining-summary.png
deleted file mode 100644
index 95269c7a..00000000
Binary files a/content/modules/ROOT/assets/images/04/model-retraining-summary.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/04/multiple-car-images.png b/content/modules/ROOT/assets/images/04/multiple-car-images.png
deleted file mode 100644
index ffa7f267..00000000
Binary files a/content/modules/ROOT/assets/images/04/multiple-car-images.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/04/retrained-model-results.png b/content/modules/ROOT/assets/images/04/retrained-model-results.png
deleted file mode 100644
index 420ef54d..00000000
Binary files a/content/modules/ROOT/assets/images/04/retrained-model-results.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/04/roboflow-test-images.png b/content/modules/ROOT/assets/images/04/roboflow-test-images.png
deleted file mode 100644
index 2e9699c6..00000000
Binary files a/content/modules/ROOT/assets/images/04/roboflow-test-images.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/04/sample-car-image.png b/content/modules/ROOT/assets/images/04/sample-car-image.png
deleted file mode 100644
index e1b6e7d0..00000000
Binary files a/content/modules/ROOT/assets/images/04/sample-car-image.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/04/select-deploy-model.png b/content/modules/ROOT/assets/images/04/select-deploy-model.png
deleted file mode 100644
index 37a6a72e..00000000
Binary files a/content/modules/ROOT/assets/images/04/select-deploy-model.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/04/yaml-file.png b/content/modules/ROOT/assets/images/04/yaml-file.png
deleted file mode 100644
index 1c6812c4..00000000
Binary files a/content/modules/ROOT/assets/images/04/yaml-file.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/05/01-copy-login-command.png b/content/modules/ROOT/assets/images/05/01-copy-login-command.png
deleted file mode 100644
index 9748be92..00000000
Binary files a/content/modules/ROOT/assets/images/05/01-copy-login-command.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/05/01-oc-login.png b/content/modules/ROOT/assets/images/05/01-oc-login.png
deleted file mode 100644
index 38a0c434..00000000
Binary files a/content/modules/ROOT/assets/images/05/01-oc-login.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/05/01-openshift-console.png b/content/modules/ROOT/assets/images/05/01-openshift-console.png
deleted file mode 100644
index f37bd408..00000000
Binary files a/content/modules/ROOT/assets/images/05/01-openshift-console.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/05/05-PVC-settings.png b/content/modules/ROOT/assets/images/05/05-PVC-settings.png
deleted file mode 100644
index 1ab5883a..00000000
Binary files a/content/modules/ROOT/assets/images/05/05-PVC-settings.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/05/05-PVC.png b/content/modules/ROOT/assets/images/05/05-PVC.png
deleted file mode 100644
index 05c9d854..00000000
Binary files a/content/modules/ROOT/assets/images/05/05-PVC.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/05/05-change-to-vscode.jpg b/content/modules/ROOT/assets/images/05/05-change-to-vscode.jpg
deleted file mode 100644
index 88178f01..00000000
Binary files a/content/modules/ROOT/assets/images/05/05-change-to-vscode.jpg and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/05/05-create-pvc-button.jpg b/content/modules/ROOT/assets/images/05/05-create-pvc-button.jpg
deleted file mode 100644
index 7053d940..00000000
Binary files a/content/modules/ROOT/assets/images/05/05-create-pvc-button.jpg and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/05/05-create-pvc.png b/content/modules/ROOT/assets/images/05/05-create-pvc.png
deleted file mode 100644
index 478f13cb..00000000
Binary files a/content/modules/ROOT/assets/images/05/05-create-pvc.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/05/05-create-run.jpg b/content/modules/ROOT/assets/images/05/05-create-run.jpg
deleted file mode 100644
index 63cdbf83..00000000
Binary files a/content/modules/ROOT/assets/images/05/05-create-run.jpg and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/05/05-create-run.png b/content/modules/ROOT/assets/images/05/05-create-run.png
deleted file mode 100644
index e4b979b6..00000000
Binary files a/content/modules/ROOT/assets/images/05/05-create-run.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/05/05-download-process-yaml.png b/content/modules/ROOT/assets/images/05/05-download-process-yaml.png
deleted file mode 100644
index a051d96c..00000000
Binary files a/content/modules/ROOT/assets/images/05/05-download-process-yaml.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/05/05-import-pipeline-button.png b/content/modules/ROOT/assets/images/05/05-import-pipeline-button.png
deleted file mode 100644
index fc48efc2..00000000
Binary files a/content/modules/ROOT/assets/images/05/05-import-pipeline-button.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/05/05-import-pipeline-highlighted.jpg b/content/modules/ROOT/assets/images/05/05-import-pipeline-highlighted.jpg
deleted file mode 100644
index b5d0fdbc..00000000
Binary files a/content/modules/ROOT/assets/images/05/05-import-pipeline-highlighted.jpg and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/05/05-import-pipeline.jpg b/content/modules/ROOT/assets/images/05/05-import-pipeline.jpg
deleted file mode 100644
index 5c97ca29..00000000
Binary files a/content/modules/ROOT/assets/images/05/05-import-pipeline.jpg and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/05/05-imported-pipeline.png b/content/modules/ROOT/assets/images/05/05-imported-pipeline.png
deleted file mode 100644
index d878cc26..00000000
Binary files a/content/modules/ROOT/assets/images/05/05-imported-pipeline.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/05/05-new-app-claim-unprocessed.jpg b/content/modules/ROOT/assets/images/05/05-new-app-claim-unprocessed.jpg
deleted file mode 100644
index 39f5a43f..00000000
Binary files a/content/modules/ROOT/assets/images/05/05-new-app-claim-unprocessed.jpg and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/05/05-object-detection-endpoint.png b/content/modules/ROOT/assets/images/05/05-object-detection-endpoint.png
deleted file mode 100644
index 45701b2a..00000000
Binary files a/content/modules/ROOT/assets/images/05/05-object-detection-endpoint.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/05/05-open-pipeline-properties.png b/content/modules/ROOT/assets/images/05/05-open-pipeline-properties.png
deleted file mode 100644
index 07390b6c..00000000
Binary files a/content/modules/ROOT/assets/images/05/05-open-pipeline-properties.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/05/05-open-url.jpg b/content/modules/ROOT/assets/images/05/05-open-url.jpg
deleted file mode 100644
index f7903a7a..00000000
Binary files a/content/modules/ROOT/assets/images/05/05-open-url.jpg and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/05/05-process-claim3-app.jpg b/content/modules/ROOT/assets/images/05/05-process-claim3-app.jpg
deleted file mode 100644
index 9e79284d..00000000
Binary files a/content/modules/ROOT/assets/images/05/05-process-claim3-app.jpg and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/05/05-process-claims-yaml.jpg b/content/modules/ROOT/assets/images/05/05-process-claims-yaml.jpg
deleted file mode 100644
index c797f3bb..00000000
Binary files a/content/modules/ROOT/assets/images/05/05-process-claims-yaml.jpg and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/05/05-process-claims.jpg b/content/modules/ROOT/assets/images/05/05-process-claims.jpg
deleted file mode 100644
index c67d3f05..00000000
Binary files a/content/modules/ROOT/assets/images/05/05-process-claims.jpg and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/05/05-processed-claim.jpg b/content/modules/ROOT/assets/images/05/05-processed-claim.jpg
deleted file mode 100644
index f53ef9f9..00000000
Binary files a/content/modules/ROOT/assets/images/05/05-processed-claim.jpg and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/05/05-run-details.png b/content/modules/ROOT/assets/images/05/05-run-details.png
deleted file mode 100644
index acf94a7e..00000000
Binary files a/content/modules/ROOT/assets/images/05/05-run-details.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/05/05-run-settings-create-pipeline.png b/content/modules/ROOT/assets/images/05/05-run-settings-create-pipeline.png
deleted file mode 100644
index 412573b9..00000000
Binary files a/content/modules/ROOT/assets/images/05/05-run-settings-create-pipeline.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/05/05-run-settings.png b/content/modules/ROOT/assets/images/05/05-run-settings.png
deleted file mode 100644
index 812fe8a9..00000000
Binary files a/content/modules/ROOT/assets/images/05/05-run-settings.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/05/05-switch-to-admin-view.jpg b/content/modules/ROOT/assets/images/05/05-switch-to-admin-view.jpg
deleted file mode 100644
index 67f453bf..00000000
Binary files a/content/modules/ROOT/assets/images/05/05-switch-to-admin-view.jpg and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/05/05-toggle-off-workbench.jpg b/content/modules/ROOT/assets/images/05/05-toggle-off-workbench.jpg
deleted file mode 100644
index 0502087a..00000000
Binary files a/content/modules/ROOT/assets/images/05/05-toggle-off-workbench.jpg and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/05/app-code.png b/content/modules/ROOT/assets/images/05/app-code.png
deleted file mode 100644
index c86d3001..00000000
Binary files a/content/modules/ROOT/assets/images/05/app-code.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/05/application-architecture.drawio.svg b/content/modules/ROOT/assets/images/05/application-architecture.drawio.svg
deleted file mode 100644
index f703033c..00000000
--- a/content/modules/ROOT/assets/images/05/application-architecture.drawio.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-LLM Server Claims Database (PostgreSQL)
Claims Database... Application Backend (Python)
Application Backend... Application Frontend (React)
Application Frontend... Claims Images (S3 Storage)
Claims Images... VectorDB... Text is not SVG - cannot display
\ No newline at end of file
diff --git a/content/modules/ROOT/assets/images/05/argocd-rollout.png b/content/modules/ROOT/assets/images/05/argocd-rollout.png
deleted file mode 100644
index be2d575c..00000000
Binary files a/content/modules/ROOT/assets/images/05/argocd-rollout.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/05/argocd-route.png b/content/modules/ROOT/assets/images/05/argocd-route.png
deleted file mode 100644
index a8ca7717..00000000
Binary files a/content/modules/ROOT/assets/images/05/argocd-route.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/05/claims-link.png b/content/modules/ROOT/assets/images/05/claims-link.png
deleted file mode 100644
index 8f961bfc..00000000
Binary files a/content/modules/ROOT/assets/images/05/claims-link.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/05/jobs-completed.png b/content/modules/ROOT/assets/images/05/jobs-completed.png
deleted file mode 100644
index b21612da..00000000
Binary files a/content/modules/ROOT/assets/images/05/jobs-completed.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/05/new-app-1.png b/content/modules/ROOT/assets/images/05/new-app-1.png
deleted file mode 100644
index 47a8070b..00000000
Binary files a/content/modules/ROOT/assets/images/05/new-app-1.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/05/new-app-chat-icon.png b/content/modules/ROOT/assets/images/05/new-app-chat-icon.png
deleted file mode 100644
index e35e88c2..00000000
Binary files a/content/modules/ROOT/assets/images/05/new-app-chat-icon.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/05/new-app-chat.png b/content/modules/ROOT/assets/images/05/new-app-chat.png
deleted file mode 100644
index 54409c8d..00000000
Binary files a/content/modules/ROOT/assets/images/05/new-app-chat.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/05/new-app-claims.png b/content/modules/ROOT/assets/images/05/new-app-claims.png
deleted file mode 100644
index d48055a0..00000000
Binary files a/content/modules/ROOT/assets/images/05/new-app-claims.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/05/original-app-1.png b/content/modules/ROOT/assets/images/05/original-app-1.png
deleted file mode 100644
index 183175bf..00000000
Binary files a/content/modules/ROOT/assets/images/05/original-app-1.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/05/original-app-link.png b/content/modules/ROOT/assets/images/05/original-app-link.png
deleted file mode 100644
index f85558a7..00000000
Binary files a/content/modules/ROOT/assets/images/05/original-app-link.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/05/stop-workbench.png b/content/modules/ROOT/assets/images/05/stop-workbench.png
deleted file mode 100644
index 847d2300..00000000
Binary files a/content/modules/ROOT/assets/images/05/stop-workbench.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/05/trust-vscode.png b/content/modules/ROOT/assets/images/05/trust-vscode.png
deleted file mode 100644
index a863b61f..00000000
Binary files a/content/modules/ROOT/assets/images/05/trust-vscode.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/05/update-workbench.png b/content/modules/ROOT/assets/images/05/update-workbench.png
deleted file mode 100644
index 340924ac..00000000
Binary files a/content/modules/ROOT/assets/images/05/update-workbench.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/05/vscode-image.png b/content/modules/ROOT/assets/images/05/vscode-image.png
deleted file mode 100644
index 8cdd3042..00000000
Binary files a/content/modules/ROOT/assets/images/05/vscode-image.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/05/web-term-1.png b/content/modules/ROOT/assets/images/05/web-term-1.png
deleted file mode 100644
index 36a21a06..00000000
Binary files a/content/modules/ROOT/assets/images/05/web-term-1.png and /dev/null differ
diff --git a/content/modules/ROOT/assets/images/05/web-term-2.png b/content/modules/ROOT/assets/images/05/web-term-2.png
deleted file mode 100644
index 92ca6cca..00000000
Binary files a/content/modules/ROOT/assets/images/05/web-term-2.png and /dev/null differ
diff --git a/content/modules/ROOT/examples/run.sh b/content/modules/ROOT/examples/run.sh
deleted file mode 100644
index a753c715..00000000
--- a/content/modules/ROOT/examples/run.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-echo "Hello World"
\ No newline at end of file
diff --git a/content/modules/ROOT/gen.py b/content/modules/ROOT/gen.py
deleted file mode 100644
index eebb6732..00000000
--- a/content/modules/ROOT/gen.py
+++ /dev/null
@@ -1,38 +0,0 @@
-#%%
-import re
-import os
-
-def extract_file_names(content):
- pattern = r'xref:(.*?)[\[\*]'
- matches = re.findall(pattern, content)
- # print(matches)
- return matches
-#%%
-
-
-def create_files(file_names):
- for name in file_names:
- name = "pages/"+name
- file_path = f"{name}"
- print(file_path)
- if not os.path.exists(file_path):
- with open(file_path, "w") as file:
- file.write(f"= {name}\n\n")
- else:
- print(f"File '{file_path}' already exists. Skipping.")
-
-
-#%%
-
-def main():
- with open("nav.adoc", "r") as nav_file:
- content = nav_file.read()
-
- file_names = extract_file_names(content)
-
- create_files(file_names)
-#%%
-
-if __name__ == "__main__":
- main()
-# %%
diff --git a/content/modules/ROOT/nav.adoc b/content/modules/ROOT/nav.adoc
deleted file mode 100644
index 2128b594..00000000
--- a/content/modules/ROOT/nav.adoc
+++ /dev/null
@@ -1,45 +0,0 @@
-* 1. Background
-** xref:01-01-setting-stage.adoc[1.1 Setting the stage]
-** xref:01-02-current-process.adoc[1.2 Current Process]
-** xref:01-03-proposed-improvements.adoc[1.3 Proposed Improvements]
-** xref:01-04-examples-from-prototype.adoc[1.4 Examples from prototype]
-** xref:01-05-results.adoc[1.5 Results and Next Steps]
-
-* 2. Connection and Setup ({user})
-** xref:02-01-getting-connected.adoc[2.1 Getting connected]
-** xref:02-02-auto-created-project.adoc[2.2 Pre-Created project and pipeline server]
-// ** xref:02-02-diy-creating-project.adoc[2.2 (DIY) Creating your project and pipeline server]
-** xref:02-03-auto-created-workbench.adoc[2.3 Pre-Created workbench]
-// ** xref:02-03-diy-creating-workbench.adoc[2.3 (DIY) Creating your workbench]
-** xref:02-04-first-jupyter-notebook.adoc[2.4 Your first Jupyter Notebook]
-** xref:02-05-validating-env.adoc[2.5 Validating the environment]
-
-* 3. Working with an LLM
-** xref:03-01-notebook-based-llm.adoc[3.1 Notebook-Based LLM Example]
-** xref:03-02-summarization.adoc[3.2 Text Summarization]
-** xref:03-03-information-extractions.adoc[3.3 Information Extraction]
-** xref:03-04-comparing-model-servers.adoc[3.4 Comparing Model Servers]
-** xref:03-05-retrieval-augmented-generation.adoc[3.5 Retrieval-Augmented Generation]
-** xref:03-06-confidence-check.adoc[3.6 Confidence-check pipeline]
-** xref:03-07-prompt-engineering.adoc[3.7 Prompt Engineering Exercise (Optional)]
-
-* 4. Image Processing
-** xref:04-01-over-approach.adoc[4.1 Overall Approach]
-** xref:04-02-car-recog.adoc[4.2 Car recognition (Optional)]
-** xref:04-03-model-retraining.adoc[4.3 Model retraining (Optional)]
-** xref:04-04-accident-recog.adoc[4.4 Accident/Damage recognition (Optional)]
-** xref:04-05-model-serving.adoc[4.5 Model Serving]
-
-* 5. Web App Deployment
-** xref:05-01-application.adoc[5.1 Application overview]
-** xref:05-02-openshift-terminal.adoc[5.2 OpenShift Terminal]
-** xref:05-03-web-app-deploy-application.adoc[5.3 Deploying the application via GitOps]
-** xref:05-04-web-app-validating.adoc[5.4 Validating the application]
-** xref:05-05-process-claims.adoc[5.5 Process claims with a pipeline]
-
-* 6. Productization and Extrapolations
-** xref:06-01-potential-imp-ref.adoc[6.1 Potential improvements and refinements]
-** xref:06-02-applicability-other.adoc[6.2 Applicability to other industries]
-
-* 7. End of Lab
-** xref:07-01-end-of-lab.adoc[7.1 Thanks]
diff --git a/content/modules/ROOT/pages/01-01-setting-stage.adoc b/content/modules/ROOT/pages/01-01-setting-stage.adoc
deleted file mode 100644
index fbb2870f..00000000
--- a/content/modules/ROOT/pages/01-01-setting-stage.adoc
+++ /dev/null
@@ -1,18 +0,0 @@
-= Setting the stage
-include::_attributes.adoc[]
-
-In order to make this {ic-lab} seem more realistic, we will be describing this imaginary scenario.
-
-== Situation
-:slide:
-
-* We all work for a large multi-national insurance company called "{company-name}":
-** {company-name} is in the midst of digital transformation
-** It is looking at modernizing practices and leveraging new technologies
-* A small team was asked to:
-** Review the way insurance claims are currently being processed
-** Provide advice on potential improvements
-* That team is currently very small (about 4 people):
-** Findings will be presented to the board
-** If they are convincing, the team will be granted the resources to implement the recommendations
-* The next sections in this chapter are the materials that were presented to the board
diff --git a/content/modules/ROOT/pages/01-02-current-process.adoc b/content/modules/ROOT/pages/01-02-current-process.adoc
deleted file mode 100644
index 4f013a86..00000000
--- a/content/modules/ROOT/pages/01-02-current-process.adoc
+++ /dev/null
@@ -1,19 +0,0 @@
-= Review of current claims processing
-include::_attributes.adoc[]
-:slide:
-
-* Claims can come in from multiple mediums:
-** email
-** fax
-** phone
-** web form
-* All formats will have to be transcribed into the web form for better uniformity
-
-* Claims have to be processed by (human) claims adjusters
-** They spend an aggregated average of 7 hours/claim
-** We estimate that human errors account for $2.5M/year in lost revenue
-** Another $3.5M/year is likely lost due to insurance fraud
-* There are a lot of inefficiencies!
-** Adjusters report "workload-fatigue", i.e. making mistakes due to the repetitive nature of the work.
-** It also takes a long time to train new adjusters into the specific policies of the companies.
-** Encoding some of that tribal knowledge into a software product is highly desirable.
diff --git a/content/modules/ROOT/pages/01-03-proposed-improvements.adoc b/content/modules/ROOT/pages/01-03-proposed-improvements.adoc
deleted file mode 100644
index 7be541a7..00000000
--- a/content/modules/ROOT/pages/01-03-proposed-improvements.adoc
+++ /dev/null
@@ -1,20 +0,0 @@
-= Proposed Improvements
-include::_attributes.adoc[]
-:slide:
-
-
-* Recommendations:
-** Progressive, step-wise, implementation
-** Use various AI/ML tools and techniques to **assist** the adjusters
-** Provide support for low-level, repetitive tasks
-*** Point out areas in need of review
-*** Help with parsing and data extraction
-*** Reduce repetition fatigue
-* Goals:
-** Bring average processing time from 7h/claim down to 2h/claim
-** Reduce human error by 80%
-** Improve fraud detection by 25%
-* Requirements:
-** More precise measurements of performance:
-**** At baseline
-**** After every change/improvement
diff --git a/content/modules/ROOT/pages/01-04-examples-from-prototype.adoc b/content/modules/ROOT/pages/01-04-examples-from-prototype.adoc
deleted file mode 100644
index 7b5172b5..00000000
--- a/content/modules/ROOT/pages/01-04-examples-from-prototype.adoc
+++ /dev/null
@@ -1,46 +0,0 @@
-= Examples from prototyping work
-include::_attributes.adoc[]
-
-The examples below are what we hope to achieve through our prototype version of the improved process.
-
-== Using an LLM for text summarization
-
-* Allows for faster reading by the claims adjuster:
-+
-[.bordershadow]
-image::01/proto-summary.png[test image]
-
-== Using an LLM for information extraction
-
-* Extract key pieces of information for better population of database:
-+
-[.bordershadow]
-image::01/proto-info-extract.png[ info extraction]
-
-== Using an LLM for sentiment analysis
-
-* Detect tone of text, and potentially act on it:
-+
-[.bordershadow]
-image::01/proto-sentiment-analysis.png[]
-
-== Using image recognition to frame vehicle(s) in pictures
-
-* Analyse images provided by customer:
-+
-[.bordershadow]
-image::01/proto-car-recog.png[]
-
-== Using image recognition to detect damage
-
-* Assessment of damage based on picture:
-+
-[.bordershadow]
-image::01/proto-accident-grading.png[]
-
-== Web Application to review/process claims
-
-* Have an application that ties in these tools together and enables users to process the incoming claims more efficiently:
-+
-[.bordershadow]
-image::01/proto-claims-processing-app.png[]
diff --git a/content/modules/ROOT/pages/01-05-results.adoc b/content/modules/ROOT/pages/01-05-results.adoc
deleted file mode 100644
index 72760369..00000000
--- a/content/modules/ROOT/pages/01-05-results.adoc
+++ /dev/null
@@ -1,17 +0,0 @@
-= Results
-include::_attributes.adoc[]
-
-== Board was convinced!
-:slide:
-
-* Great news! The {company-name} has decided to fully fund this project!
-* We can now move from the prototyping phase to the production phase!
-* We have decided to hire all of you fine people to be part of the team that will build and implement the complete solution
-
-== Next steps
-
-We know that you all have various background and responsibilities (Coders, IT, DevOps, Data Scientists, etc..).
-
-But before you start working in your narrow area of specialization, we want you all to have a decent understanding of all the work that was done during the prototype phase.
-
-The next 75 minutes is your official training session, for you to ramp up and gain an understanding of the various technologies involved during the prototype phase.
diff --git a/content/modules/ROOT/pages/02-01-getting-connected.adoc b/content/modules/ROOT/pages/02-01-getting-connected.adoc
deleted file mode 100644
index ecb4fd47..00000000
--- a/content/modules/ROOT/pages/02-01-getting-connected.adoc
+++ /dev/null
@@ -1,55 +0,0 @@
-= Getting connected
-include::_attributes.adoc[]
-
-For the purposes of this training session, we have provisioned a single {ocp} cluster, with {rhoai} deployed on it.
-
-Each person attending this lab will have a unique user account in which to do their work.
-
-== Environment information
-
-If you are using the customized version of the instructions, the information below will render properly. If not, you will see placeholder values instead.
-
-* Your account id: `{user}`
-* Your password: `{password}`
-
-In a new window or tab, open the following URL and log in:
-
-* The {rhoai} Dashboard URL for our shared environment:
-** https://rhods-dashboard-redhat-ods-applications.{openshift_cluster_ingress_domain}/[https://rhods-dashboard-redhat-ods-applications.{openshift_cluster_ingress_domain}/,window=_blank]
-* Click on the `Login with OpenShift` button:
-+
-[.bordershadow]
-image::02/02-01-login3.png[width=50%]
-* Enter your credentials (as detailed above)
-* The result should look like:
-+
-[.bordershadow]
-image::02/02-01-login1.png[width=50%]
-
-* Because the password is so simple (`{password}`), your browser might display a scary message such as:
-+
-[.bordershadow]
-image::02/02-01-login-scary.png[]
-* It is safe here to ignore this message when it pops up.
-
-* After you authenticate, the result should look like:
-+
-[.bordershadow]
-image::02/02-01-rhoai-front-page.png[]
-
-If you got this far and saw all that, congratulations, you properly connected to the {rhoai} Dashboard Application!
-
-We are now ready to start the {ic}.
-
-== Getting Support during Red Hat Summit
-
-* In the room:
-** Some very kind colleagues of ours will be walking around in the room, to help and/or answer questions.
-** If you run into a particular issue, call out to one of them and quietly explain what the issue is.
-
-// ** If they are unsure or if it's likely to be a long explanation, they might ask you to "post the question in slack" instead. (see below)
-// * Over Slack:
-// ** We have a dedicated Slack Channel where more colleagues (who kindly agreed to stay up late) will try to answer questions.
-// ** Head over to the slack channel called https://redhat.enterprise.slack.com/archives/C066EQ8LWBS[#rh1-insurance-claims-lab,window=_blank]
-// ** Post a message such as `I am userX and I have an issue with exercise number 2.4`
-// ** Use the https://slack.com/help/articles/115000769927-Use-threads-to-organize-discussions-[threads,window=_blank] feature in slack to then post a screenshot of a description of the issue, in-thread.
diff --git a/content/modules/ROOT/pages/02-02-auto-created-project.adoc b/content/modules/ROOT/pages/02-02-auto-created-project.adoc
deleted file mode 100644
index b145547d..00000000
--- a/content/modules/ROOT/pages/02-02-auto-created-project.adoc
+++ /dev/null
@@ -1,26 +0,0 @@
-= Pre-Created project and pipeline server
-include::_attributes.adoc[]
-
-In order to give you a feel for what "day 2" experience would be like, we have pre-created a Project for you, and started to populate it with various artifacts.
-
-// If you want to learn more about the product and go deeper, the next ("DIY") section will walk you through the steps required to create all this from scratch instead.
-
-== Go to your project
-
-* First, in the {rhoai} Dashboard application, navigate to the Data Science Projects menu on the left:
-+
-[.bordershadow]
-image::02/02-02-ds-proj-nav.png[]
-
-* Then, open the project called {user}.
-
-* Inside the project you should see a few items that already have been pre-created:
-+
-[.bordershadow]
-image::02/02-02-pre-created-components.png[]
-
-* These components are as follows:
-1. A Workbench - this is your environment that you can experiment and train in.
-2. A Cluster storage - this is a persistent storage for your workbench.
-3. A Data Connection - it contains all the information needed to talk with an existing S3 storage, we use that to store models and pipeline artifacts.
-4. A Pipeline Server - the pipeline server has already been set up here so you can import or run data science pipelines right away.
diff --git a/content/modules/ROOT/pages/02-02-diy-creating-project.adoc b/content/modules/ROOT/pages/02-02-diy-creating-project.adoc
deleted file mode 100644
index 1c917137..00000000
--- a/content/modules/ROOT/pages/02-02-diy-creating-project.adoc
+++ /dev/null
@@ -1,121 +0,0 @@
-= Creating your project and pipeline server
-include::_attributes.adoc[]
-
-IMPORTANT: If you've used the auto-created project, you do not need to perform this section. Only do so if you are interested in how a project and pipeline server are created.
-
-As a preliminary step, each of you is going to:
-
-. Create a Data Science project:
-** this will help keep your things together
-
-. Create a Data Connection:
-** we need that for the pipeline server to store its artifacts
-
-. Deploy a Data Science Pipeline Server:
-** we will need one, and it's better to create it from the start
-
-. Launch a Workbench:
-** we will use it to review content and notebooks
-
-. Clone the git repo into your Workbench:
-** this contains all the code from the prototype
-
-The instructions below will guide you through these steps. Follow them carefully.
-
-== Create a project
-
-* First, in the {rhoai} Dashboard application, navigate to the Data Science Projects menu on the left:
-+
-[.bordershadow]
-image::02/02-02-ds-proj-nav.png[]
-
-* Create a project with the **same name** as your user id
-** You have been assigned a unique user ID: `{user}`
-** You need to now create a project with the exact same name: `{user}`
-+
-IMPORTANT: Your assigned user is {user}. Don't mess that up or things will break later on
-
-* Leave the resource name unchanged
-* Optionally, enter your first and last name in the description of the project.
-* It should look like this:
-+
-[.bordershadow]
-image::02/02-02-create-project.png[]
-+
-IMPORTANT: It should **NOT** be `userX` like in the screenshot. (for you, `X` should be a number instead)
-
-== Create a Data Connection for the pipeline server
-
-* We have deployed an instance of Minio in the cluster to act as a simple Object Storage for our purposes.
-* You will need to **Add data connection** that points to it.
-+
-[.bordershadow]
-image::02/02-02-add-dc.png[]
-
-* Here is the information you need to enter:
-** Name:
-[.lines_space]
-[.console-input]
-[source, text]
-[subs=attributes+]
-Shared Minio - pipelines
-** Access Key:
-[.lines_space]
-[.console-input]
-[source, text]
-[subs=attributes+]
-{minio-user}
-** Secret Key:
-[.lines_space]
-[.console-input]
-[source, text]
-[subs=attributes+]
-{minio-pass}
-** Endpoint:
-[.lines_space]
-[.console-input]
-[source, text]
-[subs=attributes+]
-{minio-endpoint}
-** Region:
-[.lines_space]
-[.console-input]
-[source, text]
-[subs=attributes+]
-none
-** Bucket:
-[.lines_space]
-[.console-input]
-[source, text]
-[subs=attributes+]
-{user}
-+
-IMPORTANT: Once again, the bucket you will use has to match with the user ID you were provided
-
-* The result should look like:
-+
-[.bordershadow]
-image::02/data-connection.png[]
-
-== Create a Pipeline Server
-
-It is highly recommended to create your pipeline server before creating a workbench. So let's do that now!
-
-* In your Data Science Project (DSP), click on **Configure pipeline Server**
-+
-[.bordershadow]
-image::02/02-02-pipelineserver01.png[]
-
-* Select the Key Drop-Down with the option of *"Populate the form with credentials from your selected data connection"* using the Data Connection created earlier (**Shared Minio - pipelines**) and click the **Configure pipeline server** button:
-+
-[.bordershadow]
-image::02/02-02-pipelineserver02.png[]
-
-* When your pipeline server is ready, your screen will look like the following:
-+
-[.bordershadow]
-image::02/02-02-pipelineserver03.png[]
-
-At this point, your pipeline server is ready and deployed.
-
-IMPORTANT: You need to **wait** until that screen is ready. If it's still spinning, wait for it to complete. If you continue and create your workbench **before** the pipeline server is ready, your workbench will not be able to submit Data Science pipelines to it.
diff --git a/content/modules/ROOT/pages/02-03-auto-created-workbench.adoc b/content/modules/ROOT/pages/02-03-auto-created-workbench.adoc
deleted file mode 100644
index a47ff714..00000000
--- a/content/modules/ROOT/pages/02-03-auto-created-workbench.adoc
+++ /dev/null
@@ -1,33 +0,0 @@
-= Pre-Created workbench
-include::_attributes.adoc[]
-
-One of the components that was pre-created for you is the workbench.
-
-* If you click on the arrow next to the workbench, you can see some of the libraries included in it as well as how much resources it has been given.
-+
-[.bordershadow]
-image::02/02-03-pre-created-workbench-info.png[]
-
-* To connect to the workbench, click the **Open** link:
-+
-[.bordershadow]
-image::02/02-03-open-link.png[]
-
-* Then:
-
-** Authenticate with the same credentials as earlier:
-*** Your account id: `{user}`
-*** Your password: `{password}`
-* You will be asked to accept the following settings:
-+
-[.bordershadow]
-image::02/02-02-accept.png[]
-
-* Click on *Allow selected permissions*
-* You should now see this:
-+
-[.bordershadow]
-image::02/02-03-pre-created-jupyter.png[]
-
-* Note the extra folder called **parasol-insurance**. +
-* This folder has been cloned from github for you and will be the main working folder for this lab.
\ No newline at end of file
diff --git a/content/modules/ROOT/pages/02-03-diy-creating-workbench.adoc b/content/modules/ROOT/pages/02-03-diy-creating-workbench.adoc
deleted file mode 100644
index 92e94672..00000000
--- a/content/modules/ROOT/pages/02-03-diy-creating-workbench.adoc
+++ /dev/null
@@ -1,62 +0,0 @@
-= Creating a workbench
-include::_attributes.adoc[]
-
-IMPORTANT: If you've used the pre-created workbench, you do not need to perform this section. Only do so if you are interested in how a workbench is created.
-
-== Launch a Workbench
-
-* Once the Data Connection and Pipeline Server are fully created, create a Workbench:
-+
-[.bordershadow]
-image::02/02-03-create-wb.png[]
-* Make sure it has the following characteristics:
-** Choose a name for it, like: `My Workbench`
-** Image Selection: `CUSTOM - {ic} Workbench`
-** Container Size: `Standard`
-** Accelerator: `None`
-* That should look like:
-+
-[.bordershadow]
-image::02/02-02-launch-workbench-01.png[]
-NOTE: You should **not** need to modify any other Workbench settings (such as Storage)
-* Wait for your workbench to be fully started
-* Once it is, click the **Open** Link to connect to it:
-+
-[.bordershadow]
-image::02/02-03-open-link.png[]
-
-* Authenticate with the same credentials as earlier
-* You will be asked to accept the following settings:
-+
-[.bordershadow]
-image::02/02-02-accept.png[]
-
-* Click on *Allow selected permissions*
-* You should now see this:
-+
-[.bordershadow]
-image::02/02-02-jupyter.png[]
-
-== Git-Clone the common repo
-
-We will clone the content of our Git repo so that you can access all the materials that were created as part of our prototyping exercise.
-
-* Using the Git UI:
-** Open the Git UI in Jupyter:
-+
-[.bordershadow]
-image::02/git-clone-1.png[]
-+
-** Enter the URL of the Git repo:
-+
-[.console-input]
-[source,adoc]
-[subs=attributes+]
-----
-{git-clone-repo-url}
-----
-+
-[.bordershadow]
-image::02/git-clone-2.png[]
-
-At this point, your project is ready for the work we want to do in it.
diff --git a/content/modules/ROOT/pages/02-04-first-jupyter-notebook.adoc b/content/modules/ROOT/pages/02-04-first-jupyter-notebook.adoc
deleted file mode 100644
index 32f72aae..00000000
--- a/content/modules/ROOT/pages/02-04-first-jupyter-notebook.adoc
+++ /dev/null
@@ -1,63 +0,0 @@
-= Running code in a notebook
-include::_attributes.adoc[]
-
-NOTE: If you're already at ease with Jupyter Notebooks, you can skip to the next section.
-
-A notebook is an environment where you have _cells_ that can display formatted text or code.
-
-This is an empty cell:
-
-[.bordershadow]
-image::02/02-05-cell.png[Jupyter Cell]
-
-This is a cell with some code:
-
-[.bordershadow]
-image::02/02-05-cell_code.png[Jupyter Cell Code]
-
-Code cells contain Python code that you can run interactively. You can modify the code and then run it. The code does not run on your computer or in the browser, but directly in the environment that you are connected to, *{rhoai}* in our case.
-
-You can run a code cell from the notebook interface or from the keyboard:
-
-* *From the user interface:* Select the cell (by clicking inside the cell or to the left side of the cell) and then click *Run* from the toolbar.
-+
-[.bordershadow]
-image::02/02-05-run_button.png[Jupyter Run]
-
-* *From the keyboard:* Press `CTRL`+`ENTER` to run a cell or press `SHIFT`+`ENTER` to run the cell and automatically select the next one.
-
-After you run a cell, you can see the result of its code as well as information about when the cell was run, as shown in this example:
-
-[.bordershadow]
-image::02/02-05-cell_run.png[Jupyter run cell]
-
-When you save a notebook, the code and the results are saved. You can reopen the notebook to look at the results without having to run the program again, while still having access to the code.
-
-Notebooks are so named because they are like a physical _notebook_: you can take notes about your experiments (which you will do), along with the code itself, including any parameters that you set. You can see the output of the experiment inline (this is the result from a cell after it's run), along with all the notes that you want to take (to do that, from the menu switch the cell type from `Code` to `Markdown`).
-
-== Try It
-
-Now that you know the basics, give it a try!
-
-=== Procedure
-
-In your workbench:
-
-. In the left hand navigation menu, navigate to the folder called: `parasol-insurance/lab-materials/02`
-
-. Open the notebook called `02-04-first-jupyter-notebook.ipynb`
-
-. Experiment by, for example, running the existing cells, adding more cells and creating functions.
-+
-You can do what you want - it's your environment and there is no risk of breaking anything or impacting other users. This environment isolation is also a great advantage brought by {rhoai}.
-. Optionally, create a new notebook in which the code cells are run by using a Python 3 kernel:
-.. Create a new notebook by either selecting *File ->New ->Notebook* or by clicking the Python 3 tile in the Notebook section of the launcher window:
-+
-[.bordershadow]
-image::02/02-05-new_notebook.png[alt text]
-
-You can use different kernels, with different languages or versions, to run in your notebook.
-
-.Additional resource
-
-* If you want to learn more about notebooks, go to https://jupyter.org/[the Jupyter site,window=_blank].
\ No newline at end of file
diff --git a/content/modules/ROOT/pages/02-05-validating-env.adoc b/content/modules/ROOT/pages/02-05-validating-env.adoc
deleted file mode 100644
index ddb12b19..00000000
--- a/content/modules/ROOT/pages/02-05-validating-env.adoc
+++ /dev/null
@@ -1,45 +0,0 @@
-= Validating the environment
-include::_attributes.adoc[]
-
-Now that you are connected to your workbench, let's make sure that all the expected services are responding properly in the cluster.
-
-In your workbench:
-
-. In the left hand navigation menu, navigate to the folder called: `parasol-insurance/lab-materials/02`
-
-. Open the notebook called `02-05-validating.ipynb`
-
-. If you have never executed Cells in a Jupyter Notebook before, here is what you need to do:
-
-.. Click on the **Restart kernel and Run all Cells** link:
-+
-[.bordershadow]
-image::02/02-05-restart-and-run.png[]
-.. Click **Restart** :
-+
-[.bordershadow]
-image::02/02-05-restart-kernel.png[]
-+
-. Running these cells will confirm that all the lab-required services are responding.
-
-The output should look as follows:
-
-[source,console]
-----
-Success: Minio is reachable on minio.ic-shared-minio.svc.cluster.local:9000
-Success: Gitea is reachable on gitea.gitea.svc.cluster.local:3000
-Success: Postgres Database is reachable on claimdb.ic-shared-db.svc.cluster.local:5432
-Success: LLM Service is reachable on llm.ic-shared-llm.svc.cluster.local:8000
-Success: LLM Service-FlanT5 is reachable on llm-flant5.ic-shared-llm.svc.cluster.local:3000
-Success: ModelMesh is reachable on modelmesh-serving.ic-shared-img-det.svc.cluster.local:8033
-Success: Milvus Vector DB is reachable on vectordb-milvus.ic-shared-milvus.svc.cluster.local:19530
-----
-
-If the output of this notebook looks suspicious, please inform the people leading the {ic}.
-
-== Overall view
-
-This is a summarized visualization of how the environment is laid out:
-
-[.bordershadow]
-image::02/ic-eng-diag.drawio.svg[]
diff --git a/content/modules/ROOT/pages/03-01-notebook-based-llm.adoc b/content/modules/ROOT/pages/03-01-notebook-based-llm.adoc
deleted file mode 100644
index b0135fd2..00000000
--- a/content/modules/ROOT/pages/03-01-notebook-based-llm.adoc
+++ /dev/null
@@ -1,8 +0,0 @@
-= Notebook-Based LLM Example
-include::_attributes.adoc[]
-
-In this exercise, we will use a notebook to investigate how LLMs can be used.
-
-From the `parasol-insurance/lab-materials/03` folder, please open the notebook called `03-01-nb-llm-example.ipynb` and follow the instructions.
-
-When done, you can close the notebook and head to the next page.
diff --git a/content/modules/ROOT/pages/03-02-summarization.adoc b/content/modules/ROOT/pages/03-02-summarization.adoc
deleted file mode 100644
index 3a0b2766..00000000
--- a/content/modules/ROOT/pages/03-02-summarization.adoc
+++ /dev/null
@@ -1,8 +0,0 @@
-= Text Summarization
-include::_attributes.adoc[]
-
-As part of our claim processing, we want to summarize the text of a claim. In the next notebook we will investigate how the LLM can be used to do this task.
-
-From the `parasol-insurance/lab-materials/03` folder, please open the notebook called `03-02-summarization.ipynb` and follow the instructions.
-
-When done, you can close the notebook and head to the next page.
diff --git a/content/modules/ROOT/pages/03-03-information-extractions.adoc b/content/modules/ROOT/pages/03-03-information-extractions.adoc
deleted file mode 100644
index 587331f5..00000000
--- a/content/modules/ROOT/pages/03-03-information-extractions.adoc
+++ /dev/null
@@ -1,8 +0,0 @@
-= Information Extraction
-include::_attributes.adoc[]
-
-As part of our claim processing, we want to extract some information from the text of a claim. In the next notebook we will investigate how the LLM can be used to do this task.
-
-From the `parasol-insurance/lab-materials/03` folder, please open the notebook called `03-03-information-extraction.ipynb` and follow the instructions.
-
-When done, you can close the notebook and head to the next page.
diff --git a/content/modules/ROOT/pages/03-04-comparing-model-servers.adoc b/content/modules/ROOT/pages/03-04-comparing-model-servers.adoc
deleted file mode 100644
index 3dfdca63..00000000
--- a/content/modules/ROOT/pages/03-04-comparing-model-servers.adoc
+++ /dev/null
@@ -1,10 +0,0 @@
-= Comparing two LLMs
-include::_attributes.adoc[]
-
-So far, for this {ic-lab}, we have used the model https://huggingface.co/mistralai/Mistral-7B-Instruct-v0.2[Mistral-7B Instruct v2,window=_blank]. Although lighter than other models, it is still quite heavy and we need a large GPU to run it. Would we get as good results with a smaller model running on a CPU only? Let's try!
-
-In this exercise, we'll pitch our previous model against a much smaller LLM called https://huggingface.co/google/flan-t5-small[flan-t5-large,window=_blank]. We'll compare the results and see if the smaller model is good enough for our use case.
-
-From the `parasol-insurance/lab-materials/03` folder, please open the notebook called `03-04-comparing-model-servers.ipynb` and follow the instructions.
-
-When done, you can close the notebook and head to the next page.
diff --git a/content/modules/ROOT/pages/03-05-retrieval-augmented-generation.adoc b/content/modules/ROOT/pages/03-05-retrieval-augmented-generation.adoc
deleted file mode 100644
index b9755f03..00000000
--- a/content/modules/ROOT/pages/03-05-retrieval-augmented-generation.adoc
+++ /dev/null
@@ -1,18 +0,0 @@
-= Retrieval-Augmented Generation - Extending the capabilities of our model
-include::_attributes.adoc[]
-
-An LLM is a very capable tool, but only to the extent of the knowledge or information it has been trained on. After all, you only know what you know, right? But what if you need to ask a question that is not in the training data? Or what if you need to ask a question that is not in the training data, but is related to it?
-
-There are different ways to solve this problem, depending on the resources you have and the time or money you can spend on it. Here are a few options:
-
-- Fully retrain the model to include the information you need. For an LLM, it's only possible for a handful of companies in the world that can afford literally thousands of GPUs running for weeks.
-- Fine-tune the model with this new information. This requires way less resources, and can usually be done in a few hours or minutes (depending on the size of the model). However as it does not fully retrain the model, the new information may not be completely integrated in the answers. Fine-tuning excels at giving a better understanding of a specific context or vocabulary, a little bit less on injecting new knowledge. Plus you have to retrain and redeploy the model anyway any time you want to add more information.
-- Put this new information in a database and have the parts relevant to the query retrieved and added to this query as a context before sending it to the LLM. This technique is called **Retrieval Augmented Generation, or RAG**. It is interesting as you don't have to retrain or fine-tune the model to benefit of this new knowledge, that you can easily update at any time.
-
-We have already prepared a Vector Database using https://milvus.io/[Milvus,window=_blank], where we have stored (in the form of https://www.ibm.com/topics/embedding[Embeddings,window=_blank]) the content of the https://www.dmv.ca.gov/portal/handbook/california-driver-handbook/[California Driver's Handbook,window=_blank].
-
-In this exercise, we are going to use the RAG technique to **make some queries about a Claim** and see how this new knowledge can help without having to modify our LLM.
-
-From the `parasol-insurance/lab-materials/03` folder, please open the notebook called `03-05-retrieval-augmented-generation.ipynb` and follow the instructions.
-
-When done, you can close the notebook and head to the next page.
diff --git a/content/modules/ROOT/pages/03-06-confidence-check.adoc b/content/modules/ROOT/pages/03-06-confidence-check.adoc
deleted file mode 100644
index 53ff5191..00000000
--- a/content/modules/ROOT/pages/03-06-confidence-check.adoc
+++ /dev/null
@@ -1,73 +0,0 @@
-= Confidence-Check Pipeline
-include::_attributes.adoc[]
-
-== What will the pipeline do?
-To make sure that everything works as we would expect it to, and that the model has not been tampered with, we will create a confidence-check pipeline that tests the model through its endpoint. +
-We will test the response time, the response quality, and that the model hash has not changed. +
-And to make sure it stays the same over time, we'll schedule that pipeline.
-
-== Deploy a confidence-check pipeline
-
-In the `parasol-insurance/lab-materials/03/06` folder there are two pipeline files, one `confidence_check.pipeline` and one `confidence_check.yaml` file.
-
-The `.pipeline` file can be opened in Elyra to be visually modified and executed, while the `.yaml` file can be imported into the pipeline server through the RHOAI Dashboard. +
-Here we will be running the pipeline through Elyra.
-
-== What is Elyra?
-
-Elyra is a visual interface to build out pipelines. Think of it as your standard code editor, but drag-and-drop. This also means that we won't execute anything in/with Elyra, but just produce some code (or more specifically, a json in the case of Elyra) that later will be sent elsewhere for execution.
-
-In Elyra, you can drag-and-drop in Python, notebook, or R files into the dashboard and then connect them up into a workflow. +
-You also have a button on the top-right side that allows you to expand additional settings for the pipeline and each step. +
-[.bordershadow]
-image::03/06-elyra-menu.png[]
-
-Using Elyra, you can get started quicly with prototyping and running pipelines.
-
-== Ad-Hoc execution
-
-Running it through Elyra is the same as doing an ad-hoc execution of the pipeline, as opposed to importing the pipeline which won't automatically execute it.
-
-. Start by going to your running workbench
-. Navigate to the folder `parasol-insurance/lab-materials/03/06`
-. Open up the `confidence_check.pipeline` file
-. Here we can see that the pipeline consists of 3 checks:
-.. response quality check
-.. response time check
-.. security check
-. Feel free to peek into each of the python files by double clicking on the nodes to see what they do. +
-. After the tests have been run, we have a final function that will summarize the results and log them.
-. To run the pipeline, press the Play button in the menu bar.
-+
-[.bordershadow]
-image::03/07-elyra-pipeline.png[elyra confidence pipeline]
-. You may get a warning that the pipeline is unsaved, this is normal, just press **Save and Submit** if this happens.
-+
-[.bordershadow]
-image::03/03-06-unsaved-changes.png[]
-. In the next popup, leave the name unchanged and click **OK**:
-+
-[.bordershadow]
-image::03/03-07-run-pipeline-ok.png[]
-
-. When you get a popup that says **Job submission to Data Science Pipelines succeeded**, click the link **Run details** to see how the pipeline is progressing.
-
-== Schedule execution
-
-We can also **schedule** an execution so that the confidence check is executed at regular intervals. +
-To do that:
-
-. Go back to the {rhoai} Data Science Project
-. Find the pipeline you just ran
-. Click the 3 dots at the very end of the line, and click "Create run".
-+
-[.bordershadow]
-image::03/07-create-run.png[create run]
-
-. On the next screen, choose a name, select a Periodic run to trigger every **Day** and click **Create**:
-+
-[.bordershadow]
-image::03/03-06-dailyrun.png[]
-
-. We can now leave the confidence-check pipeline alone.
-. It will run daily, and will inform us if anything goes wrong with our LLM.
\ No newline at end of file
diff --git a/content/modules/ROOT/pages/03-07-prompt-engineering.adoc b/content/modules/ROOT/pages/03-07-prompt-engineering.adoc
deleted file mode 100644
index 3d971a37..00000000
--- a/content/modules/ROOT/pages/03-07-prompt-engineering.adoc
+++ /dev/null
@@ -1,32 +0,0 @@
-= Prompt Engineering exercise (optional)
-include::_attributes.adoc[]
-
-NOTE: This part of the {ic} is marked as optional. It can therefore be skipped without effect on the other parts of the lab. You can always come back to it later at the end of the {ic-lab} if you have time to spare.
-
-IMPORTANT: When you interact with ChatGPT or other commercial services, a lot of guardrails are in place to prevent you from getting unwanted or not suitable for work results. In our {ic} exercises, we are using a model that is not protected by those guardrails, and we will be modifying its settings. Therefore, it is your responsibility to do it in a safe way, and to make sure that the results you get are suitable for you and/or your audience. The authors of this {ic} cannot be held responsible for any inappropriate results you may get.
-
-As you have seen in the previous sections, there are different factors that will influence the results you can get from your model: the model parameters, the prompt, the query, and of course the data itself...
-
-Let's see how we can adjust those different factors to get the best results.
-
-== Modifying the settings
-
-Go back to the notebook `03-01-nb-llm-example.ipynb` and try changing:
-
-- The llm parameters, like the `temperature`, to make the model more creative
-- The `prompt template`, to make the model behave differently, like giving the answer in the form of a poem. Or more useful in an enterprise context, give answers like it was addressing different types of audience: for example 5 years old children, or people without technical knowledge, or the opposite...
-- The `query` itself which you can use to override certain aspects of the prompt. This will show you why it's important to have guardrails in place against "prompt injection", like pre-filtering user queries
-
-== Modifying the data
-
-Go back to the notebook `03-02-summarization.ipynb` and try changing:
-
-- Edit or create new claims, making them harder to understand. (Note: to edit the json file in Jupyter, right click on it and select "Open With > Editor")
-- Experiment with different languages
-
-== Modifying the prompt
-
-Go back to the notebook `03-03-information-extraction.ipynb` and try changing:
-
-- Edit or create new claims, making them harder to understand
-- Try to have the model more precise and concise in date and time extraction, like making it respect a specific format
diff --git a/content/modules/ROOT/pages/04-01-over-approach.adoc b/content/modules/ROOT/pages/04-01-over-approach.adoc
deleted file mode 100644
index ec3606f0..00000000
--- a/content/modules/ROOT/pages/04-01-over-approach.adoc
+++ /dev/null
@@ -1,23 +0,0 @@
-= Overall Approach
-include::_attributes.adoc[]
-
-As part of this prototype, we investigated the use of the YOLOv8 model.
-This model can be found online at https://www.yolov8.com[yolov8,window=_blank] and downloaded.
-
-== Image Processing Sections
-
-. We will first review its out-of-the-box capabilities.
-. We will then fine-tune it to allow it to do more specialized work for us.
-. Once we have a new, customized version of the model, we will deploy it in {rhoai} Model Serving.
-. Once that is done, we will send queries to it.
-
-== Image Processing Out-of-the-box capabilities
-
-Let's start by looking at a YOLOv8 model and explore how it works on static car images.
-
-[.bordershadow]
-image::04/sample-car-image.png[car image]
-
-- In your running workbench, navigate to the folder `parasol-insurance/lab-materials/04`.
-- Look for (and open) the notebook called `04-01-over-approach.ipynb`.
-- Execute the cells of the notebook, and ensure you understand what is happening.
\ No newline at end of file
diff --git a/content/modules/ROOT/pages/04-02-car-recog.adoc b/content/modules/ROOT/pages/04-02-car-recog.adoc
deleted file mode 100644
index 33e4ad29..00000000
--- a/content/modules/ROOT/pages/04-02-car-recog.adoc
+++ /dev/null
@@ -1,32 +0,0 @@
-= Car recognition
-include::_attributes.adoc[]
-
-== Introduction
-
-In our last notebook we confirmed that the YOLO model could identify cars in a photograph.
-
-[.bordershadow]
-image::04/sample-car-image.png[car image]
-
-We discovered that YOLO is able to detect multiple cars in an image. However, we did not see which cars were identified.
-
-[.bordershadow]
-image::04/multiple-car-images.png[multiple cars]
-
-[.bordershadow]
-image::04/model-prediction-results.png[predict cars]
-
-In the above image, the yolo model identified 17 cars and 1 truck.
-
-Therefore we need to write some code that will draw boxes around the cars identified by the YOLO model.
-
-[.bordershadow]
-image::04/box-identified-cars.png[identify cars]
-
-== (Optional) Detailed code and execution
-
-If you want to dig deeper into this section, follow the instructions below. If you are pressed for time, you can skip to the next section.
-
-- In your running workbench, navigate to the folder `parasol-insurance/lab-materials/04`.
-- Look for (and open) the notebook called `04-02-car-recognition.ipynb`
-- Execute the cells of the notebook, and ensure you understand what is happening
diff --git a/content/modules/ROOT/pages/04-03-model-retraining.adoc b/content/modules/ROOT/pages/04-03-model-retraining.adoc
deleted file mode 100644
index 2eddb15c..00000000
--- a/content/modules/ROOT/pages/04-03-model-retraining.adoc
+++ /dev/null
@@ -1,62 +0,0 @@
-= Model Retraining
-include::_attributes.adoc[]
-
-== Introduction
-
-To retrain the YOLO model we need a prepared dataset of car images with moderate and severe accident labels. We have such a dataset (from https://universe.roboflow.com/accident-detection-ffdrf/accident-detection-8dvh5/dataset/1[RoboFlow,window=_blank] ) that has annotated images and has split them into training and validation datasets. We will use this training set to retrain our current YOLO model.
-
-[.bordershadow]
-image::04/roboflow-test-images.png[roboflow images]
-
-== Our training data
-
-[%collapsible]
-====
-1. The encode classes of objects we want to teach our model to detect is 0-'moderate' and 1-'severe'.
-2. We have created a folder for the dataset (data) and have have 2 subfolders in it: 'train' and 'valid'. Within each subfolder we have created 2 subfolders: 'images' and 'labels'.
-3. Each image has an annotation text file in the 'labels' subfolder. The annotation text files have the same names as the image files.
-====
-
-== (Optional) Detailed code and execution
-
-If you want to dig deeper into this section, follow the instructions below. If you are pressed for time, you can skip to the next section.
-
-We have provided the following training data set, available as a zip file, and located in an S3 bucket: `accident-sample.zip` (as we don,t have time in this {ic-lab} to fully retrain the model, we will use a sample of the training data set).
-
-- In your running workbench, navigate to the folder `parasol-insurance/lab-materials/04`.
-- Look for (and open) the notebook called `04-03-model-retraining.ipynb`
-- Execute the cells of the notebook.
-
-== Interpreting the Model re-Training Results
-[%collapsible]
-====
-The following training run shows the results for the full dataset.
-
-Let's start by understanding what an 'epoch' is. Machine learning models are trained with specific datasets passed through the algorithm. Each time a dataset passes through an algorithm, it is said to have completed an epoch. Therefore, epoch, in machine learning, refers to the one entire passing of training data through the algorithm
-
-In the training run below you can see a training run of 7 epochs with a batch size of 32 (meaning 32 images were analyzed simultaneously), that were set through the following code snippet:
-results = model.train(data='./datasets/accident-full/data.yaml', epochs=7, imgsz=640, batch=32)
-
-In the training run, each epoch shows a summary for both the training and validation phases: lines 1 and 2 show results of the training phase and lines 3 and 4 show the results of the validation phase for each epoch.
-
-image::04/model-retraining-summary.png[retraining summary]
-
-The training phase includes a calculation of the amount of error in a loss function, so the most valuable metrics here are box_loss and cls_loss:
-
-* box_loss shows the amount of errors in detected bounding boxes.
-* cls_loss shows the amount of errors in detected object classes.
-
-If the model really learns something from the data, we should see that these values decrease from epoch to epoch. +
-In the previous screenshot the box_loss decreased from 1.219 on the first epoch to 0.8386 in the last, and the cls_loss decreased from 1.875 to 0.9001.
-
-The other valuable quality metric is mAP50-95, which is Mean Average Precision. If the model learns and improves, the precision should grow from epoch to epoch. +
-In the previous screenshot mAP50-95 increased from 0.423 (epoch1) to 0.755 (epoch7).
-
-We can also see that throughout the training, the GPU was used, with a memory consumption of a little bit more than 13GB.
-
-If after the last epoch you did not get acceptable precision, you can increase the number of epochs and run the training again. Also, you can tune other parameters like batch, lr0, lrf or change the optimizer you're using.
-
-During training we export the trained model, after each epoch, to the /runs/detect/train/weights/last.pt file and the model with the highest precision to the /runs/detect/train/weights/best.pt file. So, after training is finished, you can get the best.pt file to use in production.
-
-Note: In real world problems, you need to run many more epochs than we have shown here, and be prepared to wait hours or days until training finishes, and not a mere 16 minutes as we did in this example.
-====
diff --git a/content/modules/ROOT/pages/04-04-accident-recog.adoc b/content/modules/ROOT/pages/04-04-accident-recog.adoc
deleted file mode 100644
index 9b6fc445..00000000
--- a/content/modules/ROOT/pages/04-04-accident-recog.adoc
+++ /dev/null
@@ -1,21 +0,0 @@
-= Accident Recognition
-include::_attributes.adoc[]
-
-== Introduction
-
-Now that we have retrained our model we can test it against some sample images.
-
-We have converted our model to onnx format and placed a copy within an S3 bucket. We will test this version against some sample test images.
-
-Using the re-trained model, we will see that we are able to identify a severe car crash with 88% certainty, like in the below picture:
-
-[.bordershadow]
-image::04/retrained-model-results.png[retrained modelresults]
-
-== (Optional) Detailed code and execution
-
-If you want to dig deeper into this section, follow the instructions below. If you are pressed for time, you can skip to the next section.
-
-- In your workbench, navigate to the folder `parasol-insurance/lab-materials/04`.
-- Look for (and open) the notebook called `04-04-accident-recog.ipynb`
-- Execute the cells of the notebook.
diff --git a/content/modules/ROOT/pages/04-05-model-serving.adoc b/content/modules/ROOT/pages/04-05-model-serving.adoc
deleted file mode 100644
index 418fd5ab..00000000
--- a/content/modules/ROOT/pages/04-05-model-serving.adoc
+++ /dev/null
@@ -1,190 +0,0 @@
-= Model Serving
-include::_attributes.adoc[]
-
-. At this point, we need to deploy the model into {rhoai-short} model serving.
-. We will create another Data Connection...
-.. With almost identical information
-.. But we will change the bucket name from `{user}` to `models`
-
-== Create a Data Connection
-
-* In your Data Science project, create a Data Connection that refers to the shared MinIO.
-* Here is the info you need to enter:
-** Name:
-[.lines_space]
-[.console-input]
-[source, text]
-[subs=attributes+]
-Shared Minio - model
-** Access Key:
-[.lines_space]
-[.console-input]
-[source, text]
-[subs=attributes+]
-{minio-user}
-** Secret Key:
-[.lines_space]
-[.console-input]
-[source, text]
-[subs=attributes+]
-{minio-pass}
-** Endpoint:
-[.lines_space]
-[.console-input]
-[source, text]
-[subs=attributes+]
-{minio-endpoint}
-** Region:
-[.lines_space]
-[.console-input]
-[source, text]
-[subs=attributes+]
-none
-** Bucket:
-[.lines_space]
-[.console-input]
-[source, text]
-[subs=attributes+]
-models
-
-* The result should look like:
-+
-[.bordershadow]
-image::04/model-data-connection.png[model connection]
-
-== Create a Model Server
-
-In your project create a model server:
-
-* In the "Multi-model serving platform" type of model, click **Add model server**:
-+
-[.bordershadow]
-image::04/add-model-server.png[]
-
-* Here is the info you need to enter:
-
-** Model server name:
-[.lines_space]
-[.console-input]
-[source, text]
-[subs=attributes+]
-My first Model Server
-** Serving runtime:
-[.lines_space]
-[.console-input]
-[source, text]
-[subs=attributes+]
-OpenVINO Model Server
-** Number of model server replicas to deploy:
-[.lines_space]
-[.console-input]
-[source, text]
-[subs=attributes+]
-1
-** Model server size
-[.lines_space]
-[.console-input]
-[source, text]
-[subs=attributes+]
-Standard
-** Accelerator
-[.lines_space]
-[.console-input]
-[source, text]
-[subs=attributes+]
-None
-** Model route
-[.lines_space]
-[.console-input]
-[source, text]
-[subs=attributes+]
-unchecked
-** Token authorization
-[.lines_space]
-[.console-input]
-[source, text]
-[subs=attributes+]
-unchecked
-
-
-* The result should look like:
-+
-[.bordershadow]
-image::04/add-model-server-config.png[]
-
-* You can click on **Add** to create the model server.
-
-== Deploy the Model
-
-In your project, under **Models and model servers** select **Deploy model**.
-
-* Click **Deploy model**:
-+
-[.bordershadow]
-image::04/select-deploy-model.png[]
-
-* Here is the information you will need to enter:
-
-** Model name:
-[.lines_space]
-[.console-input]
-[source, text]
-[subs=attributes+]
-My first Model
-** Model server
-[.lines_space]
-[.console-input]
-[source, text]
-[subs=attributes+]
-My first Model Server
-** Model server - Model framework
-[.lines_space]
-[.console-input]
-[source, text]
-[subs=attributes+]
-onnx-1
-** Existing data connection - Name
-[.lines_space]
-[.console-input]
-[source, text]
-[subs=attributes+]
-Shared Minio - model
-** Existing data connection - Path
-[.lines_space]
-[.console-input]
-[source, text]
-[subs=attributes+]
-accident/
-
-* The result should look like:
-+
-[.bordershadow]
-image::04/deploy-a-model.png[]
-
-* Click on **Deploy**.
-* If the model is successfully deployed you will see its status as green after 15 to 30 seconds.
-+
-[.bordershadow]
-image::04/model-deployed-success.png[]
-
-We will now confirm that the model is indeed working by querying it!
-
-== Querying the served Model
-
-Once the model is served, we can use it as an endpoint that can be queried. We'll send a request to it, and get a result. And unlike our earlier notebook-based version, this applies to anyone working within our cluster. This could either be colleagues, or applications.
-
-* First, we need to get the URL of the model server.
-* To do this, click on the **Internal Service** link under the **Inference endpoint** column.
-* In the popup, you will see a few URLs for our model server.
-+
-[.bordershadow]
-image::04/inference-url.png[]
-
-* Note or copy the **RestUrl**, which should be something like `\http://modelmesh-serving.{user}:8008`
-
-We will now use this URL to query the model.
-
-- In your running workbench, navigate to the folder `parasol-insurance/lab-materials/04`.
-- Look for (and open) the notebook called `04-05-model-serving.ipynb`.
-- Execute the cells of the notebook, and ensure you understand what is happening.
-
diff --git a/content/modules/ROOT/pages/05-01-application.adoc b/content/modules/ROOT/pages/05-01-application.adoc
deleted file mode 100644
index ec881218..00000000
--- a/content/modules/ROOT/pages/05-01-application.adoc
+++ /dev/null
@@ -1,73 +0,0 @@
-= Application Overview
-include::_attributes.adoc[]
-
-== Architecture
-
-Here is a simplified architecture diagram of the application:
-
-[.bordershadow]
-image::05/application-architecture.drawio.svg[]
-
-
-The different components are:
-
-- The **frontend**: the application itself, developed using the Patternfly framework (React, Typescript), running in the browser of the user.
-- The **backend**: a Python FastAPI application, running in a container on {ocp}. It handles the communication with the database, the LLM, and the Object storage. It handles the communication with the frontend by exposing a REST API.
-- The **database**: a PostgreSQL database, running in a container on {ocp}. It stores the claims.
-- The **LLM**: the language model used to summarize and extract information from the claims. It is consumed by the backend through its API.
-- The **VectorDB**: the vector database used to store documents for retrieval in the RAG part. It's based on Milvus.
-- The **Object storage**: an S3-compatible object storage. It stores the claim images.
-
-== Application Code
-
-If you want to have a look at the code of the application, you can do it directly from {rhoai}!
-
-- Close the different Jupyter tabs that may still be opened in your browser.
-- Go back to the {rhoai} Dashboard.
-- Stop your Workbench by using the toggle.
-
-+
-[.bordershadow]
-image::05/05-toggle-off-workbench.jpg[]
-
-
-
--- You should probably give it 5 or 10 seconds to fully stop.
-- Edit the Workbench configuration by clicking the 3 vertical dots on the right, then choose the **Edit workbench** button.
-+
-[.bordershadow]
-image::05/stop-workbench.png[]
-
-- In the image section, change the image to `CUSTOM - VSCode for {ic}`:
-+
-[.bordershadow]
-image::05/05-change-to-vscode.jpg[]
-- Note that this is a Custom-built image added in this particular {ic-lab} to illustrate the flexibility of the {rhoai} platform. Not everyone wants to use Jupyter Notebooks for everything.
-
-- Then click on `Update workbench` at the bottom of the page:
-+
-[.bordershadow]
-image::05/update-workbench.png[]
-
-- You can now start your Workbench again by using the toggle.
-- Once the Workbench is started, click on the **Open** Link.
-- You will be redirected to the VSCode IDE.
-- After logging in and accepting the authorization, VSCode will open.
-- The first time you connect to it, you must indicate that you trust the workspace.
-- Click on the **Yes, I trust the authors** button.
-+
-[.bordershadow]
-image::05/trust-vscode.png[]
-
-* You can also close the Welcome tab, and you are in a familiar VSCode environment.
-* Your Persistent Volume has been automatically reconnected to this new environment.
-** Therefore, all the data you created in the Jupyter environment is still available
-** You can see more files because VSCode displays hidden files by default, which Jupyter does not do.
-* If you want, you can now explore the code of the application, in the `app` folder:
-+
-[.bordershadow]
-image::05/app-code.png[]
-
-Of course, this is a complete VSCode environment, so you can configure it in the same way as you would do for a local VSCode installation. You can install extensions that will be persisted when you stop and restart the Workbench, you can configure your own keybindings, etc.
-
-The application has already been built as a container image that we are now ready to deploy using GitOps. You can head to the next section.
\ No newline at end of file
diff --git a/content/modules/ROOT/pages/05-02-openshift-terminal.adoc b/content/modules/ROOT/pages/05-02-openshift-terminal.adoc
deleted file mode 100644
index 16600ca2..00000000
--- a/content/modules/ROOT/pages/05-02-openshift-terminal.adoc
+++ /dev/null
@@ -1,29 +0,0 @@
-= Working with the {ocp} Terminal
-include::_attributes.adoc[]
-
-To deploy the application, you will use the {ocp} Web Terminal. +
-This is a web-based terminal that allows you to execute commands on the {ocp-short} cluster from the {ocp-short} Console.
-
-== Opening the {ocp} Console
-
-- Access the {ocp-short} Console via this link:
-+
-[.bordershadow]
-image::05/01-openshift-console.png[]
-
-- When prompted, enter your credentials.
-
-== Open a Web Terminal
-
-- On the {ocp-short} Console, click on the Web Terminal icon in the top right corner:
-+
-[.bordershadow]
-image::05/web-term-1.png[]
-
-- Then, choose your existing project and click start:
-+
-[.bordershadow]
-image::05/web-term-2.png[]
-
-- After a few seconds, a Terminal interface will open.
-- This is where you will execute the commands in the next steps.
diff --git a/content/modules/ROOT/pages/05-03-web-app-deploy-application.adoc b/content/modules/ROOT/pages/05-03-web-app-deploy-application.adoc
deleted file mode 100644
index afa58ef1..00000000
--- a/content/modules/ROOT/pages/05-03-web-app-deploy-application.adoc
+++ /dev/null
@@ -1,131 +0,0 @@
-= Deploying the application via GitOps
-include::_attributes.adoc[]
-
-== Deploy your instance of {argocd}
-
-We will start by deploying an instance of ArgoCD in your namespace. +
-This will be used to deploy the application.
-
-- Copy the following text, and paste it in the {ocp-short} Terminal to deploy {argocd}.
-+
-[.lines_space]
-[.console-input]
-[source, text]
-cat < **PersistentVolumeClaims**
-+
-[.bordershadow]
-image::05/05-PVC.png[go to PVC]
-
-* Make sure you are in the right project (your username) and then press **Create PersistentVolumeClaim**
-+
-[.bordershadow]
-image::05/05-create-pvc-button.jpg[Create PVC]
-
-* Use these settings:
-** StorageClass:
-[.lines_space]
-[.console-input]
-[source, text]
-[subs=attributes+]
-ocs-storagecluster-cephfs
-** PersistentVolumeClaim name:
-[.lines_space]
-[.console-input]
-[source, text]
-[subs=attributes+]
-processing-pipeline-storage
-** Access mode:
-[.lines_space]
-[.console-input]
-[source, text]
-[subs=attributes+]
-Shared access (RWX)
-** Size:
-[.lines_space]
-[.console-input]
-[source, text]
-[subs=attributes+]
-1 GiB
-
-* it should look like:
-+
-[.bordershadow]
-image::05/05-PVC-settings.png[PVC settings]
-
-* Then press **Create**
-
-== Import the pipeline
-
-To import the pipeline, start by downloading the `process_claims.yaml` file locally.
-Navigate to `parasol-insurance/lab-materials/05/05-05` to find it.
-
-
-// * To do this, Select the menu in the top left of the VSCode environment and navigate to *File -> Save As...*.
-// [.bordershadow]
-// image::05/05-download-process-yaml.png[download process claims yaml]
-// Then go to your Data Science project and press Import Pipeline.
-
-* Start by downloading the `process_claims.yaml` file locally to your laptop
-** In your VSCode Workbench, right-click on the file, and select **Download**
-** Save the file somewhere on your laptop
-* Then go to the {rhoai} Dashboard
-* Select your Data Science project
-* Scroll down until you see the **Pipelines** section
-* Click **Import Pipeline**
-+
-[.bordershadow]
-image::05/05-import-pipeline.jpg[import pipeline]
-
-* Now upload the `process_claims.yaml` file, either by drag-and-dropping or using the Upload button
-* Then make sure to give your pipeline a good name like `Process Claims Pipeline`
-* It should look something like this afterwards:
-+
-[.bordershadow]
-image::05/05-import-pipeline-highlighted.jpg[imported pipeline]
-
-* Click **Import Pipeline** and you should see it appear under the pipelines section of your Project
-
-== Run the pipeline
-
-* Now go into the settings at the right side
-* Click **Create Run** to create a new run of the pipeline you just added
-+
-[.bordershadow]
-image::05/05-create-run.jpg[create run]
-
-* Use these settings:
-** Name:
-[.lines_space]
-[.console-input]
-[source, text]
-[subs=attributes+]
-Process Claim Run
-** Run type:
-[.lines_space]
-[.console-input]
-[source, text]
-[subs=attributes+]
-Run once immediately after creation
-** claim_id:
-[.lines_space]
-[.console-input]
-[source, text]
-[subs=attributes+]
-0
-** detection_endpoint:
-[.lines_space]
-[.console-input]
-[source, text]
-[subs=attributes+]
-http://modelmesh-serving.{user}:8008
-
-This is the same route to the object detection endpoint that was used earlier in the workshop.
-
-* When done it should look something like this:
-+
-[.bordershadow]
-image::05/05-run-settings-create-pipeline.png[run settings]
-
-* Note that by changing claim_id you can change which claim to process. We set it to 0 to process all unprocessed claims
-
-* Click **Create** and watch it run
-+
-[.bordershadow]
-image::05/05-process-claims.jpg[process]
-
-== Check the results
-
-* After the pipeline has finished running, you can go to the app and take a look at the claims
-* You will now see that all the claims are processed
-+
-[.bordershadow]
-image::05/05-process-claim3-app.jpg[claim3processed]
-
-* Click on the last claim
-* Instead of just a long body, you will now see a summary, a location field, an accident time field, and a sentiment field
-* You can also see that we have new image(s) which have bounding boxes where the damage is
-+
-[.bordershadow]
-image::05/05-processed-claim.jpg[claim3processed]
\ No newline at end of file
diff --git a/content/modules/ROOT/pages/06-01-potential-imp-ref.adoc b/content/modules/ROOT/pages/06-01-potential-imp-ref.adoc
deleted file mode 100644
index 3154f0aa..00000000
--- a/content/modules/ROOT/pages/06-01-potential-imp-ref.adoc
+++ /dev/null
@@ -1,51 +0,0 @@
-= Potential Improvements and Refinements
-include::_attributes.adoc[]
-
-== To the {ic} materials
-
-If you have any feedback regarding this {ic}, please use https://github.com/rh-aiservices-bu/parasol-insurance/issues[Issues,window=_blank] and https://github.com/rh-aiservices-bu/parasol-insurance/pulls[Pull Requests,window=_blank].
-
-But this section of the {ic} is not meant for Improvements and Refinements **to the lab**. Instead it is about...
-
-== To the presented prototype
-
-What we have shown in this {ic} is a very rough prototype, put together very quickly, in order to demonstrate:
-
-* Which improvements could be done
-* How long it would take to do them
-
-In such a situation, it is common to go fast and make short-term decisions since there is no guarantee that this will become a real project.
-
-Therefore, now, we need to review what was done, and make suggestions along these axes.
-
-* What **other** tools and techniques could be used in order to make the experience of our claims adjusters even better, more streamlined?
-
-* Is our current application robust enough? Describe what scenarios might make it harder to use?
-
-* How efficiently are we going to be able to make updates to its components if we need to? Is there a chance that making a change to the LLM model, the YOLOV8 model, the database, the application, will introduce breaking changes?
-
-* If that is the case, what would we want to do to avoid those risks?
-
-* Which parts seem to still be manual and time-consuming, and how could we automate them better, to avoid human errors if we can.
-
-**Think about these questions first**
-
-If you want to read what **we** thought could be improved, read below! (responses are not exhaustive)
-[%collapsible]
-====
-
-* We could have something that analyzes the images and checks for discrepancies with the customer data, such as:
-** Not the same make or color car as what is on file.
-** Mismatch in license plate, if visible in the picture.
-* We've only scratched the surface with gitops and Data Science pipelines here
-** There was no performance testing done. If too many users connect at the same time, it might overwhelm either the app, the database, the LLM, etc...
-* Currently, most simple changes would probably end up breaking the application. And the person who, for example decides to change Mistral7B for Flan-T5-Small would not necessarily realize that.
-** It would be critical to have multiple instances (Dev/Test/UAT/Prod) of the application.
-** It would also be required to have integration pipelines run in these environments to confirm that changes made do not break the overall application.
-* We could ask the LLM to start writing a response to the customer.
-** It could be just to ask for missing details.
-** or it could be to let them know whether the claim is accepted or denied.
-* However, to do this, the LLM would have to be aware of the policies that the {company-name} uses to make those determinations.
-** This could be an interesting use-case for the https://research.ibm.com/blog/retrieval-augmented-generation-RAG[RAG,window=_blank] approach.
-
-====
diff --git a/content/modules/ROOT/pages/06-02-applicability-other.adoc b/content/modules/ROOT/pages/06-02-applicability-other.adoc
deleted file mode 100644
index f3b12761..00000000
--- a/content/modules/ROOT/pages/06-02-applicability-other.adoc
+++ /dev/null
@@ -1,39 +0,0 @@
-= Applicability to other industries
-include::_attributes.adoc[]
-
-Now, the examples we've shown throughout this {ic} are specific to the Insurance industry, and within that, claims processing.
-
-However, none of the techniques we used here are inherently related to this industry or this use-case.
-
-So let's take some examples, and discuss what we **could** do using the same techniques against **other** use-cases.
-
-== Industries
-
-* Healthcare
-* Retail
-* Automotive
-* Agriculture
-* Finance
-* Manufacturing
-* Education
-
-== Use cases
-
-1. Healthcare
- - Medical imaging analysis
- - Patient record summarization
-
-2. Automotive
- - Object recognition for autonomous vehicles
-
-3. Agriculture
- - Crop disease analysis
-
-4. Finance
- - Loan application paperwork analysis
-
-5. Manufacturing
- - Quality control through visual inspection of products
-
-6. Education
- - LLM as a teaching assistant
diff --git a/content/modules/ROOT/pages/07-01-end-of-lab.adoc b/content/modules/ROOT/pages/07-01-end-of-lab.adoc
deleted file mode 100644
index e28ed35a..00000000
--- a/content/modules/ROOT/pages/07-01-end-of-lab.adoc
+++ /dev/null
@@ -1,12 +0,0 @@
-= Thank you for your participation
-include::_attributes.adoc[]
-
-We hope that the materials we used during this time together were useful and gave you a better appreciation and understanding of what goes into an intelligent application.
-
-If you notice https://github.com/rh-aiservices-bu/parasol-insurance/issues[issues,window=_blank] with the content and/or want to send us a https://github.com/rh-aiservices-bu/parasol-insurance/pulls[pull request,window=_blank], we'll appreciate it very much.
-
-The instructions of this {ic} are always available at https://rh-aiservices-bu.github.io/parasol-insurance/[https://rh-aiservices-bu.github.io/parasol-insurance/,window=_blank]. Make note of this URL as it will be updated with new content as we continue to improve the {ic-lab}.
-
-== Acknowledgements
-
-Thanks to everyone who helped create this {ic}, https://github.com/rh-aiservices-bu/parasol-insurance/graphs/contributors[contributors,window=_blank] and reviewers!
diff --git a/content/modules/ROOT/pages/_attributes.adoc b/content/modules/ROOT/pages/_attributes.adoc
deleted file mode 100644
index 28eaf00b..00000000
--- a/content/modules/ROOT/pages/_attributes.adoc
+++ /dev/null
@@ -1,12 +0,0 @@
-:experimental:
-:source-highlighter: highlightjs
-:deliverable: lab
-//:deliverable: tutorial
-//:productname-long: Red Hat OpenShift Data Science
-//:productname-short: OpenShift Data Science
-:productname-long: Red Hat OpenShift AI
-:productname-short: OpenShift AI
-:page-user: {user}
-:page-openshift_console_url: {openshift_console_url}
-:page-rhoai_dashboard_url: {rhoai_dashboard_url}
-:imagesdir: ../assets/images
diff --git a/content/modules/ROOT/pages/index.adoc b/content/modules/ROOT/pages/index.adoc
deleted file mode 100644
index 777ab6de..00000000
--- a/content/modules/ROOT/pages/index.adoc
+++ /dev/null
@@ -1,62 +0,0 @@
-= {lab_name}
-include::_attributes.adoc[]
-
-== {ic} Overview
-
-This {ic-lab} will illustrate how the use of various AI/ML technologies can be combined to produce a valuable solution to a business problem.
-
-The information, code, models and techniques it contains are illustrations of what a first prototype could look like. It is not the definitive way of addressing the stated requirements.
-
-== Disclaimer
-
-This {ic-lab} is an example of what a customer could build using {rhoai}. {rhoai} itself has no specific feature related to Insurance Claim Processing.
-
-This {ic-lab} makes use of large language models (LLM) and image processing models. These models are not included in the {rhoai} product. They are provided as a convenience for this {ic-lab}.
-
-The quality of these models is enough for a prototype. Choosing the right model to use in a production environment is a complex task that requires a lot of experimentation and tuning. This {ic-lab} does not cover this aspect.
-
-== Timetable
-
-This is a tentative timetable for the materials that will be presented.
-
-[width="90%",cols="3,^2,^2,10",options="header"]
-|=========================================================
-| Name |Duration |Type |Description
-
-|Background |5 | Presentation
-a|- We describe what the desired end state looks like.
-- Describe overall user experience and underlying architecture.
-- Share mockups for better visualization
-
-|Connection and Setup |5 | Hands-On
-a|- Attendees get connected
-- help validate environment health
-- access the playpen project
-
-|LLM |20 | Hands-On
-a|- summarization check
-- sentiment check
-- Model Comparison check and choice
-- prompt engineering exercise
-- confidence-check pipeline
-
-|Image Processing |20 | Hands-On
-a|- car recognition checks
-- re-training exercise
-- model deployment
-
-|Web App |20 | Hands-On
-a|- deployment
-- update
-- RAG
-
-|Productization |5 | Presentation + discussion
-a|- What else could we add that would have value?
-- What else could we do following the same patterns?
-
-|=========================================================
-
-
-== Contributing
-
-If you are interested in contributing to this project, consult this GitHub Repo: https://github.com/rh-aiservices-bu/parasol-insurance/[https://github.com/rh-aiservices-bu/parasol-insurance/,window=_blank]
diff --git a/content/modules/ROOT/partials/exec_pod.adoc b/content/modules/ROOT/partials/exec_pod.adoc
deleted file mode 100644
index 73c8950a..00000000
--- a/content/modules/ROOT/partials/exec_pod.adoc
+++ /dev/null
@@ -1,25 +0,0 @@
-Check that the pod is up and running:
-
-[.lines_space]
-[.console-input]
-[source,bash, subs="+macros,+attributes"]
-----
-kubectl get pods
-----
-
-[.console-output]
-[source,bash,subs="+macros,+attributes"]
-----
-NAME READY STATUS RESTARTS AGE
-{podname} 1/1 Running 0 5s
-----
-
-Then let's go into the running pod to execute some commands:
-
-[.console-input]
-[source,bash, subs="+macros,+attributes"]
-----
-kubectl exec -ti {podname} /bin/bash
-----
-
-NOTE: Change the pod name with your pod name.
\ No newline at end of file
diff --git a/content/supplemental-ui/.nojekyll b/content/supplemental-ui/.nojekyll
deleted file mode 100644
index e69de29b..00000000
diff --git a/content/supplemental-ui/css/site-extra.css b/content/supplemental-ui/css/site-extra.css
deleted file mode 100644
index 5f269495..00000000
--- a/content/supplemental-ui/css/site-extra.css
+++ /dev/null
@@ -1,35 +0,0 @@
-/* left align items inside imageblock */
-.doc .imageblock {
- align-items: flex-start;
- }
-
-/* add a shadow to the image container */
-.doc .bordershadow .content{
- border: solid 1px black;
- box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
-}
-
-/*custom video css*/
-video {
- border: solid 1px black;
- box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
-}
-
-/* allow for wider screens */
-.doc {
- max-width: none;
-}
-
-.navbar-item-right-dropdown {
- float: right!important;
-}
-
-.navbar-dropdown-right {
- right: 0;
- left: auto;
-}
-
-.navbar-item-right-content {
- width: 100%;
- background-color: #131313;
-}
\ No newline at end of file
diff --git a/content/supplemental-ui/img/favicon.ico b/content/supplemental-ui/img/favicon.ico
deleted file mode 100644
index 11c5cd26..00000000
Binary files a/content/supplemental-ui/img/favicon.ico and /dev/null differ
diff --git a/content/supplemental-ui/partials/head-meta.hbs b/content/supplemental-ui/partials/head-meta.hbs
deleted file mode 100644
index 41234f80..00000000
--- a/content/supplemental-ui/partials/head-meta.hbs
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/content/supplemental-ui/partials/header-content.hbs b/content/supplemental-ui/partials/header-content.hbs
deleted file mode 100644
index decf93f5..00000000
--- a/content/supplemental-ui/partials/header-content.hbs
+++ /dev/null
@@ -1,22 +0,0 @@
-