Deploy SAT & ACT Learning Lab 1.7.0
Browse files- DEPLOYMENT_NOTES.md +118 -18
- README.md +103 -18
- THIRD_PARTY_NOTICES.md +1210 -0
- app.py +0 -0
- release_manifest.json +163 -47
- requirements.txt +644 -18
- runtime.txt +1 -2
DEPLOYMENT_NOTES.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
| 1 |
-
# Deployment notes — SAT & ACT Learning Lab 1.
|
| 2 |
|
| 3 |
Target private Space: `DearmonAnalytics/SAT_ACT_Learning_Lab`
|
| 4 |
|
|
@@ -6,7 +6,7 @@ Turso database: `dearmon-sat-act-learning-lab`
|
|
| 6 |
|
| 7 |
Schema namespace: `sat_act_learning_lab_v1`
|
| 8 |
|
| 9 |
-
Encrypted-source secret: `
|
| 10 |
|
| 11 |
## Runtime contract
|
| 12 |
|
|
@@ -41,6 +41,16 @@ Encrypted-source secret: `SAT_ACT_APP_FERNET_V1_4_2_DEA36E04D801_0690259EE725`
|
|
| 41 |
capped at four hours; sign-out or restart still erases it immediately.
|
| 42 |
- Instructor-wide access requires a strong secret with no fallback.
|
| 43 |
- Core scored questions and answer keys are deterministic and model-independent.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 44 |
- The Printable Exam Builder requires an active demo or signed-in learner so
|
| 45 |
every generated file is vault-owned, then produces separate matched
|
| 46 |
student/key PDFs from selected or learner-missed topics. Optional AI overflow
|
|
@@ -48,7 +58,7 @@ Encrypted-source secret: `SAT_ACT_APP_FERNET_V1_4_2_DEA36E04D801_0690259EE725`
|
|
| 48 |
topic batches and eight items per build,
|
| 49 |
independently reviewed, print-only, and locked until the active learner has
|
| 50 |
completed every built-in question type for that exact topic. It never enters
|
| 51 |
-
mastery, readiness, routing, diagnostics, or
|
| 52 |
- Break It Apart is a deterministic, provider-independent, post-miss reasoning
|
| 53 |
DAG. It is available after every incorrect practice grade and for every
|
| 54 |
missed objective item reviewed after a completed simulation—never before
|
|
@@ -75,12 +85,17 @@ Encrypted-source secret: `SAT_ACT_APP_FERNET_V1_4_2_DEA36E04D801_0690259EE725`
|
|
| 75 |
browser state, public variables, logs, receipts, or health output.
|
| 76 |
- `/healthz` reports the release/source digest and boolean configuration status
|
| 77 |
without returning credentials, learner identifiers, or answers.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 78 |
|
| 79 |
## Configuration
|
| 80 |
|
| 81 |
Core secrets are `OPENAI_API_KEY`, `TURSO_DATABASE_URL`, `TURSO_AUTH_TOKEN`,
|
| 82 |
`LEARNER_ID_HMAC_SECRET`, `INSTRUCTOR_EXPORT_SECRET`, and
|
| 83 |
-
`
|
| 84 |
`SIMLI_API_KEY`.
|
| 85 |
|
| 86 |
Email recovery uses `AUTH_RECOVERY_EMAIL_ENABLED`, `AUTH_SMTP_HOST`,
|
|
@@ -97,18 +112,27 @@ Release runtime defaults include `ACCOUNT_AUTH_ENABLED=1`,
|
|
| 97 |
`ASK_PROFESSOR_SIMLI_DEFAULT=0`. Printable supplemental generation defaults to
|
| 98 |
`OPENAI_OVERFLOW_MODEL=gpt-5-mini` and
|
| 99 |
`OPENAI_OVERFLOW_REVIEW_MODEL=gpt-5-mini`; Learning Diagnostic synthesis
|
| 100 |
-
defaults to `OPENAI_DIAGNOSTIC_MODEL=gpt-5-mini`. Face IDs
|
| 101 |
-
|
|
|
|
|
|
|
| 102 |
|
| 103 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 104 |
|
| 105 |
-
|
| 106 |
-
|
| 107 |
-
|
| 108 |
-
|
| 109 |
-
|
| 110 |
|
| 111 |
-
Acceptance testing for v1.
|
| 112 |
ink, blue, teal, and coral palette; compact 1,240-pixel workspace; bundled
|
| 113 |
same-origin Inter, Source Serif 4, and Geist Mono; and one crisp DA gradient rule
|
| 114 |
across the compact chooser and three shadow-free horizontal Practice rails.
|
|
@@ -128,6 +152,33 @@ word surfaces must remain.
|
|
| 128 |
Near-white mastered topic tiles intentionally retain dark text for WCAG
|
| 129 |
contrast.
|
| 130 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 131 |
Acceptance must also verify that post-explanation follow-ups are hidden before
|
| 132 |
grading and limited to the owning attempt; both diagnostic coverage bars use
|
| 133 |
distinct topics; the report gate requires strict majority coverage in Reading
|
|
@@ -136,22 +187,29 @@ signals; invalid/provider-failed reports do not unlock anything; and completed
|
|
| 136 |
reports can be pulled and used to open graduated Guided Examples and separate
|
| 137 |
Targeted Practice.
|
| 138 |
|
| 139 |
-
Progress & Reports must render
|
| 140 |
retain every curriculum topic including unassessed topics, and keep attempt
|
| 141 |
depth independent from accuracy color. Verify that one correct attempt has a
|
| 142 |
shallower evidence ring than four correct attempts, untouched topics never show
|
| 143 |
0%, ACT Reading/Language combines English and Reading, exact-data tables remain
|
| 144 |
usable without color or hover, and signed-out/revoked sessions expose no learner
|
| 145 |
-
aggregates. Practice and completed-
|
| 146 |
and review attempts must not inflate the dashboard.
|
| 147 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 148 |
The release builder continues to generate the versioned Fernet key
|
| 149 |
automatically, store it under `release/private/`, validate it, and reuse it for
|
| 150 |
safe retries without prompting the deployer operator.
|
| 151 |
|
| 152 |
## Key lifecycle and rollback
|
| 153 |
|
| 154 |
-
The current loader reads only `
|
| 155 |
new versioned, fingerprinted secret name. The deployer adds that secret before
|
| 156 |
the repository commit and retains earlier keys. Roll back by reverting the
|
| 157 |
Space repository to the prior commit recorded in `deployment_receipt.json`.
|
|
@@ -161,5 +219,47 @@ Do not delete an earlier Fernet key until its rollback revision is retired.
|
|
| 161 |
|
| 162 |
This independent practice lab is not affiliated with or endorsed by College
|
| 163 |
Board or ACT, Inc. SAT and ACT are their respective owners' trademarks. The
|
| 164 |
-
lab contains original practice material only;
|
| 165 |
-
official scores.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Deployment notes — SAT & ACT Learning Lab 1.7.0
|
| 2 |
|
| 3 |
Target private Space: `DearmonAnalytics/SAT_ACT_Learning_Lab`
|
| 4 |
|
|
|
|
| 6 |
|
| 7 |
Schema namespace: `sat_act_learning_lab_v1`
|
| 8 |
|
| 9 |
+
Encrypted-source secret: `SAT_ACT_APP_FERNET_V1_7_0_5047BDC914D0_431E91CA28D4`
|
| 10 |
|
| 11 |
## Runtime contract
|
| 12 |
|
|
|
|
| 41 |
capped at four hours; sign-out or restart still erases it immediately.
|
| 42 |
- Instructor-wide access requires a strong secret with no fallback.
|
| 43 |
- Core scored questions and answer keys are deterministic and model-independent.
|
| 44 |
+
- Every shipped authored question resolver has a versioned eight-level skill
|
| 45 |
+
profile with complete ancestor/prerequisite closure and an explicit scoring
|
| 46 |
+
role. The immutable release gate covers exactly 1,983 profiles and fails
|
| 47 |
+
closed on an unknown node, missing level, incomplete closure, cycle, or
|
| 48 |
+
scoring-role conflict.
|
| 49 |
+
- Raw objective results remain authoritative. A deterministic estimator reports
|
| 50 |
+
a separate, explicitly unofficial SAT/ACT practice-score point, plausible
|
| 51 |
+
interval, evidence sufficiency, and confidence. Optional ACT Science is
|
| 52 |
+
separate from the English/Math/Reading Composite; ACT Writing remains human
|
| 53 |
+
reviewed. Pretest/EFT and AI print-only items cannot enter the estimate.
|
| 54 |
- The Printable Exam Builder requires an active demo or signed-in learner so
|
| 55 |
every generated file is vault-owned, then produces separate matched
|
| 56 |
student/key PDFs from selected or learner-missed topics. Optional AI overflow
|
|
|
|
| 58 |
topic batches and eight items per build,
|
| 59 |
independently reviewed, print-only, and locked until the active learner has
|
| 60 |
completed every built-in question type for that exact topic. It never enters
|
| 61 |
+
skill evidence, mastery, readiness, routing, diagnostics, or score estimates.
|
| 62 |
- Break It Apart is a deterministic, provider-independent, post-miss reasoning
|
| 63 |
DAG. It is available after every incorrect practice grade and for every
|
| 64 |
missed objective item reviewed after a completed simulation—never before
|
|
|
|
| 85 |
browser state, public variables, logs, receipts, or health output.
|
| 86 |
- `/healthz` reports the release/source digest and boolean configuration status
|
| 87 |
without returning credentials, learner identifiers, or answers.
|
| 88 |
+
- Tracking schema 1.3.0 is additive: versioned hierarchy nodes/edges, question
|
| 89 |
+
profiles/members, and immutable instance bindings join to existing attempts
|
| 90 |
+
and learning signals while account, mastery, recovery, diagnostic, and exam
|
| 91 |
+
rows remain intact. A missing signal remains no evidence. Historical attempts
|
| 92 |
+
without trusted profiles are not assigned invented fine-grained evidence.
|
| 93 |
|
| 94 |
## Configuration
|
| 95 |
|
| 96 |
Core secrets are `OPENAI_API_KEY`, `TURSO_DATABASE_URL`, `TURSO_AUTH_TOKEN`,
|
| 97 |
`LEARNER_ID_HMAC_SECRET`, `INSTRUCTOR_EXPORT_SECRET`, and
|
| 98 |
+
`SAT_ACT_APP_FERNET_V1_7_0_5047BDC914D0_431E91CA28D4`. Live avatar video additionally uses optional
|
| 99 |
`SIMLI_API_KEY`.
|
| 100 |
|
| 101 |
Email recovery uses `AUTH_RECOVERY_EMAIL_ENABLED`, `AUTH_SMTP_HOST`,
|
|
|
|
| 112 |
`ASK_PROFESSOR_SIMLI_DEFAULT=0`. Printable supplemental generation defaults to
|
| 113 |
`OPENAI_OVERFLOW_MODEL=gpt-5-mini` and
|
| 114 |
`OPENAI_OVERFLOW_REVIEW_MODEL=gpt-5-mini`; Learning Diagnostic synthesis
|
| 115 |
+
defaults to `OPENAI_DIAGNOSTIC_MODEL=gpt-5-mini`. Face IDs, the same-origin
|
| 116 |
+
packaged Simli client route, and transport settings are listed in
|
| 117 |
+
`environment.example` used to prepare this deployment. Remote avatar-client
|
| 118 |
+
module overrides are intentionally rejected.
|
| 119 |
|
| 120 |
+
Version 1.7.0 uses immutable item/timing/scoring snapshots and explicit recovery
|
| 121 |
+
compatibility contracts. Resume only a saved contract that is explicitly supported;
|
| 122 |
+
legacy checkpoints follow the tested compatibility allowlist. Incompatible work
|
| 123 |
+
stays blocked and requires an approved transition or learner choice, never silent
|
| 124 |
+
regeneration/abandonment. Back up only inside the authorized hosting boundary,
|
| 125 |
+
preserve identity/source keys, and retain current audit/tombstones/holds/revocations.
|
| 126 |
+
Rollback requires compatible data and a new reviewed release manifest; it cannot
|
| 127 |
+
restore expired/revoked access or overwrite legitimate new learner work.
|
| 128 |
|
| 129 |
+
The owner kit ships no decryption key or production data. Its first local build
|
| 130 |
+
creates the matching source key/payload. Deployment defaults to local dry-run;
|
| 131 |
+
only explicit --execute plus DEPLOY opens remote changes. Python 3.12.13 is the
|
| 132 |
+
validated application patch; the Python 3.12 provider family alone does not prove
|
| 133 |
+
patch availability. Actual startup fails if the required patch is unavailable.
|
| 134 |
|
| 135 |
+
Acceptance testing for v1.7.0 must verify the exact Dearmon Analytics paper,
|
| 136 |
ink, blue, teal, and coral palette; compact 1,240-pixel workspace; bundled
|
| 137 |
same-origin Inter, Source Serif 4, and Geist Mono; and one crisp DA gradient rule
|
| 138 |
across the compact chooser and three shadow-free horizontal Practice rails.
|
|
|
|
| 152 |
Near-white mastered topic tiles intentionally retain dark text for WCAG
|
| 153 |
contrast.
|
| 154 |
|
| 155 |
+
Live-avatar acceptance must verify that `/_simli/client.mjs` returns JavaScript
|
| 156 |
+
with `X-Content-Type-Options: nosniff`, contains no API key, and starts without
|
| 157 |
+
requesting `esm.sh`. A forced video-start failure must leave text tutoring and
|
| 158 |
+
spoken replies usable without displaying a raw module-loader exception. The
|
| 159 |
+
deployed package must retain `THIRD_PARTY_NOTICES.md` and its manifest hash.
|
| 160 |
+
|
| 161 |
+
Skill/scoring acceptance must enumerate exactly 1,983 stable authored profiles:
|
| 162 |
+
1,832 ordinary deterministic template profiles (including 1,780 objective and
|
| 163 |
+
52 ACT Writing essay families), 145 immutable ACT passage-bank items, and 6
|
| 164 |
+
dedicated order-of-operations remediation templates. Every profile must resolve
|
| 165 |
+
all eight levels and its full closure. The 1,925 potentially objective-score-
|
| 166 |
+
eligible profiles must be distinguishable from the essay and other unscored
|
| 167 |
+
roles. Verify that SAT pretest and ACT EFT questions do not affect raw scored
|
| 168 |
+
counts or estimates; ACT Science does not affect the Composite; ACT Writing is
|
| 169 |
+
returned for human review; and AI supplemental PDF items cannot enter attempts,
|
| 170 |
+
hierarchy evidence, or scoring. Score output must keep raw counts separate, set
|
| 171 |
+
`official_score=false`, expose interval/evidence/confidence fields, and label
|
| 172 |
+
partial or insufficient data. A completed session must retain the nested
|
| 173 |
+
`estimated_scores` object in `result_json` while its separate `raw_score` column
|
| 174 |
+
continues to mean raw accuracy; scoped exports must preserve the disclosure
|
| 175 |
+
without creating an official-score column.
|
| 176 |
+
|
| 177 |
+
Schema acceptance must upgrade an earlier database additively to tracking 1.3.0,
|
| 178 |
+
preserve legacy rows, write one idempotent profile/skill-evidence set with its
|
| 179 |
+
owning attempt, reject unknown hierarchy IDs, and omit invented skill evidence
|
| 180 |
+
for pre-profile historical attempts.
|
| 181 |
+
|
| 182 |
Acceptance must also verify that post-explanation follow-ups are hidden before
|
| 183 |
grading and limited to the owning attempt; both diagnostic coverage bars use
|
| 184 |
distinct topics; the report gate requires strict majority coverage in Reading
|
|
|
|
| 187 |
reports can be pulled and used to open graduated Guided Examples and separate
|
| 188 |
Targeted Practice.
|
| 189 |
|
| 190 |
+
Progress & Reports must render three mastery wheels for SAT and ACT,
|
| 191 |
retain every curriculum topic including unassessed topics, and keep attempt
|
| 192 |
depth independent from accuracy color. Verify that one correct attempt has a
|
| 193 |
shallower evidence ring than four correct attempts, untouched topics never show
|
| 194 |
0%, ACT Reading/Language combines English and Reading, exact-data tables remain
|
| 195 |
usable without color or hover, and signed-out/revoked sessions expose no learner
|
| 196 |
+
aggregates. Practice, completed-simulation and completed-adaptive evidence may count; diagnostic
|
| 197 |
and review attempts must not inflate the dashboard.
|
| 198 |
|
| 199 |
+
Verify that the third wheel and the Skill Taxonomy Graph below the topic graph
|
| 200 |
+
use cumulative correct/attempted tagged questions. Per-entry score-loss details
|
| 201 |
+
must include format-specific blind guessing (25% for four-choice questions,
|
| 202 |
+
no assumed credit for typed answers), while observed accuracy remains raw.
|
| 203 |
+
The complete catalog download must retain all taxonomy entries, including
|
| 204 |
+
unavailable estimates, and state that overlapping losses must not be added.
|
| 205 |
+
|
| 206 |
The release builder continues to generate the versioned Fernet key
|
| 207 |
automatically, store it under `release/private/`, validate it, and reuse it for
|
| 208 |
safe retries without prompting the deployer operator.
|
| 209 |
|
| 210 |
## Key lifecycle and rollback
|
| 211 |
|
| 212 |
+
The current loader reads only `SAT_ACT_APP_FERNET_V1_7_0_5047BDC914D0_431E91CA28D4`. A later release must generate a
|
| 213 |
new versioned, fingerprinted secret name. The deployer adds that secret before
|
| 214 |
the repository commit and retains earlier keys. Roll back by reverting the
|
| 215 |
Space repository to the prior commit recorded in `deployment_receipt.json`.
|
|
|
|
| 219 |
|
| 220 |
This independent practice lab is not affiliated with or endorsed by College
|
| 221 |
Board or ACT, Inc. SAT and ACT are their respective owners' trademarks. The
|
| 222 |
+
lab contains original practice material only; raw diagnostics and separate
|
| 223 |
+
practice-score estimates are not official scores.
|
| 224 |
+
|
| 225 |
+
|
| 226 |
+
## Adaptive Test and Normal Test
|
| 227 |
+
|
| 228 |
+
Adaptive Test generates a 10-, 20-, or 30-question SAT/ACT assessment with
|
| 229 |
+
question-by-question selection and difficulty updates. Evidence-adjusted content
|
| 230 |
+
weakness is combined with the largest single applicable modeled score
|
| 231 |
+
opportunity; generic process nodes and overlapping gain sums are excluded.
|
| 232 |
+
Calibration probes cover selected sections when history is sparse. The full
|
| 233 |
+
answer review and study priorities appear at completion.
|
| 234 |
+
|
| 235 |
+
Normal Test · Exam Simulation preserves the standard blueprint, timing, optional
|
| 236 |
+
ACT sections and SAT module routing. Saved weakness priorities do not alter its
|
| 237 |
+
assembly. Adaptive samples have a distinct tracking mode and cannot supply a
|
| 238 |
+
normal scaled score. Completed adaptive attempts do count toward raw cumulative
|
| 239 |
+
mastery charts and subsequent adaptive selection.
|
| 240 |
+
|
| 241 |
+
Acceptance must verify ownership/revocation, stale double-submit rejection, no
|
| 242 |
+
feedback before completion, completion-only attempt/mastery persistence with separate encrypted unfinished-test checkpoints, retry without duplicate
|
| 243 |
+
attempts, unchanged normal-test assembly, and explicit exclusion of adaptive
|
| 244 |
+
rows from ordinary scale-score estimates. Authenticated unfinished adaptive state now has encrypted same-version recovery
|
| 245 |
+
checkpoints. Verify the saved checkpoint boundary, stale revision rejection and
|
| 246 |
+
remote durability; unsaved browser input is not recovered. The normal-exam
|
| 247 |
+
recovery path retains its existing version/owner checks.
|
| 248 |
+
|
| 249 |
+
## Diagnostic prerequisite and database upgrade
|
| 250 |
+
|
| 251 |
+
The diagnostic must be fully completed and saved before adaptive testing unlocks for the same learner and exam. Partial responses, older practice or demo sample history cannot unlock it. Normal testing remains available independently. The latest completed diagnostic seeds adaptive priorities alongside eligible practice history, with its actual item-level guessing adjustment preserved.
|
| 252 |
+
|
| 253 |
+
Tracking schema 1.5.0 retains additive checkpoint storage and completed learner history.
|
| 254 |
+
Run repeat-safe migrations and an authorized host-side backup before deployment.
|
| 255 |
+
Current immutable recovery contracts preserve compatible work across releases;
|
| 256 |
+
unsupported historical contracts remain blocked for an explicit transition.
|
| 257 |
+
Keep security decision stores and reviewer revocations independent of database rollback.
|
| 258 |
+
|
| 259 |
+
## Institutional controls and OMES readiness
|
| 260 |
+
|
| 261 |
+
The institutional profile blocks unapproved student processing and external AI/Simli services. It disables public signup, demos and legacy PIN entry and implements OIDC code/PKCE, explicit MFA assertion checks, provisioned issuer/subject identity, individual staff roles/class scopes and server-side ownership guards. Recovery email requires verified TLS. Accessible chart tables, keyboard improvements and owned diagnostic exports are included; framework analytics remains disabled.
|
| 262 |
+
|
| 263 |
+
Read the source package's `docs/OMES_PLATFORM_READINESS.md`, `docs/INSTITUTIONAL_IDENTITY.md`, `docs/SECURITY_IMPLEMENTATION.md` and `docs/ASSESSMENT_RECOVERY.md`. Use `deployment/institutional/README.md` for a new approved container deployment. The institutional HF updater only updates a preprovisioned approved target with protected roster and persistent storage. Code/configuration does not establish State-approved MFA, completed human accessibility/ACR acceptance, educator signoff on standards alignment, actual U.S. hosting/encryption/backup evidence, signed IT terms or supplier/AI authorization. Run the redacted preflight and obtain the actual applicable external records before covered performance.
|
| 264 |
+
|
| 265 |
+
Tracking schema is 1.5.0. Authenticated diagnostic/adaptive checkpoints now survive supported same-version restarts; recovery validates the learner, exact release/source compatibility and checkpoint revision. Unsaved browser input is outside that boundary. Production acceptance must separately prove remote durability, restored keys/database and provider backups. Consumer accounts remain available in consumer mode; institutional use requires its own approved OIDC roster and dedicated deployment/database.
|
README.md
CHANGED
|
@@ -14,9 +14,10 @@ short_description: Dynamic SAT/ACT practice, mastery, and reasoning graphs
|
|
| 14 |
|
| 15 |
# Dearmon Analytics SAT & ACT Learning Lab
|
| 16 |
|
| 17 |
-
Release `1.
|
| 18 |
-
ACT skill blueprints, a
|
| 19 |
-
targeted practice, and test-like diagnostic
|
|
|
|
| 20 |
accounts, secure recovery, an isolated one-click demo, and the embedded teaching
|
| 21 |
avatar layer used by the Dearmon Analytics Business Calculus platform. Release
|
| 22 |
1.2.0 introduced deterministic post-miss **Break It Apart** attribute graphs.
|
|
@@ -24,8 +25,8 @@ Signed-in students can also download their complete personalized Topic Graph as
|
|
| 24 |
a branded PNG, printable PDF, accessible hierarchy-and-concepts CSV, and
|
| 25 |
verification manifest; demo sessions remain nonexportable.
|
| 26 |
|
| 27 |
-
Release 1.
|
| 28 |
-
system in
|
| 29 |
Geist Mono fonts are served from same-origin routes. The compact test chooser
|
| 30 |
and closely stacked Section → Domain → Narrow Topic rails use one restrained DA
|
| 31 |
gradient rule, flat accessible controls, and shadow-free surfaces. Practice
|
|
@@ -44,7 +45,35 @@ printable exam/answer-key PDFs so raw LaTeX is never the learner-facing
|
|
| 44 |
fallback. The collapsed item-specific Concepts Needed swim lane, complete
|
| 45 |
analogous worked examples, separate hints, and mastery whitening remain.
|
| 46 |
|
| 47 |
-
Release 1.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 48 |
explanation and a signed-in cross-question Learning Diagnostic. The diagnostic
|
| 49 |
unlocks only after strict majority coverage of both Reading and Math for the
|
| 50 |
same exam. It sends OpenAI only allowlisted aggregate performance evidence—not
|
|
@@ -54,7 +83,7 @@ retained report unlocks deterministic Guided Examples from basic to complex and
|
|
| 54 |
specific Targeted Practice; those workspaces remain disabled before the gate
|
| 55 |
and report are complete.
|
| 56 |
|
| 57 |
-
Progress & Reports includes
|
| 58 |
shows Reading and Writing plus Math; ACT combines English and Reading as
|
| 59 |
Reading/Language and shows Math separately. Domain and narrow-topic angles stay
|
| 60 |
fixed to the curriculum, radial depth shows scored attempts toward four, and
|
|
@@ -62,15 +91,24 @@ color independently shows raw accuracy. Untouched topics say Unassessed rather
|
|
| 62 |
than 0%. Exact native tables provide the same aggregate data for keyboard,
|
| 63 |
touch, print, and assistive-technology access.
|
| 64 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 65 |
The Printable Exam Builder requires an active demo or signed-in learner so
|
| 66 |
every generated file has a cleanup owner. It creates a clean Dearmon
|
| 67 |
Analytics-branded student PDF and a separate answer-key PDF from selected or
|
| 68 |
previously missed topics.
|
| 69 |
-
Both carry the same random form code. Core scored questions
|
| 70 |
-
|
|
|
|
| 71 |
question type for an exact topic, explicit opt-in can create separately labeled,
|
| 72 |
independently reviewed AI supplemental items for printing only. They never
|
| 73 |
-
decide correctness or alter mastery, readiness, routing,
|
|
|
|
| 74 |
|
| 75 |
After every incorrectly graded practice question, and for every missed
|
| 76 |
objective item reviewed after a completed simulation, Break It Apart constructs
|
|
@@ -88,7 +126,7 @@ attribute-level mastery or retention records.
|
|
| 88 |
This private Space uses the separate Turso database
|
| 89 |
`dearmon-sat-act-learning-lab` and schema namespace
|
| 90 |
`sat_act_learning_lab_v1`. Its encrypted application uses the versioned Space
|
| 91 |
-
secret `
|
| 92 |
|
| 93 |
Required Space secrets are `OPENAI_API_KEY`, `TURSO_DATABASE_URL`,
|
| 94 |
`TURSO_AUTH_TOKEN`, `LEARNER_ID_HMAC_SECRET`, `INSTRUCTOR_EXPORT_SECRET`, and
|
|
@@ -104,6 +142,13 @@ source of real-world claims. The Simli key remains server-side and must never
|
|
| 104 |
appear in HTML, browser state, logs, public variables, or `/healthz`. Text
|
| 105 |
tutoring remains available when Simli is absent or unavailable.
|
| 106 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 107 |
Username passwords are stored as independently salted scrypt records. Account
|
| 108 |
lockouts persist in the database, password changes revoke earlier sessions,
|
| 109 |
and verified legacy name/class/PIN profiles can be converted without moving
|
|
@@ -130,13 +175,20 @@ controls, and retention policies.
|
|
| 130 |
|
| 131 |
## Upgrade note
|
| 132 |
|
| 133 |
-
|
| 134 |
-
|
| 135 |
-
|
| 136 |
-
|
| 137 |
-
|
| 138 |
-
|
| 139 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 140 |
|
| 141 |
## Independent practice-content notice
|
| 142 |
|
|
@@ -145,3 +197,36 @@ with, endorsed by, or sponsored by College Board or ACT, Inc. SAT is a
|
|
| 145 |
trademark of College Board; ACT is a trademark of ACT, Inc. All practice
|
| 146 |
questions, passages, data, explanations, and figures in this lab are original
|
| 147 |
content. Practice results are diagnostic and are not official scores.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 14 |
|
| 15 |
# Dearmon Analytics SAT & ACT Learning Lab
|
| 16 |
|
| 17 |
+
Release `1.7.0` provides original dynamic practice for current SAT and
|
| 18 |
+
ACT skill blueprints, a complete eight-level question-skill hierarchy,
|
| 19 |
+
individual mastery tracking, targeted practice, and test-like diagnostic
|
| 20 |
+
sessions with separate raw results and unofficial practice-score estimates. It adds username/password
|
| 21 |
accounts, secure recovery, an isolated one-click demo, and the embedded teaching
|
| 22 |
avatar layer used by the Dearmon Analytics Business Calculus platform. Release
|
| 23 |
1.2.0 introduced deterministic post-miss **Break It Apart** attribute graphs.
|
|
|
|
| 25 |
a branded PNG, printable PDF, accessible hierarchy-and-concepts CSV, and
|
| 26 |
verification manifest; demo sessions remain nonexportable.
|
| 27 |
|
| 28 |
+
Release 1.7.0 retains the exact Dearmon Analytics paper, ink, blue, teal, and
|
| 29 |
+
coral system established in v1.4.4 for the compact 1,240-pixel workspace. Bundled Inter, Source Serif 4, and
|
| 30 |
Geist Mono fonts are served from same-origin routes. The compact test chooser
|
| 31 |
and closely stacked Section → Domain → Narrow Topic rails use one restrained DA
|
| 32 |
gradient rule, flat accessible controls, and shadow-free surfaces. Practice
|
|
|
|
| 45 |
fallback. The collapsed item-specific Concepts Needed swim lane, complete
|
| 46 |
analogous worked examples, separate hints, and mastery whitening remain.
|
| 47 |
|
| 48 |
+
Release 1.7.0 assigns all 1,983 trusted built-in question profiles their full
|
| 49 |
+
Exam → Section → Official Domain → Official Skill Family → Narrow Exam
|
| 50 |
+
Target → Prerequisite Bundle → Atomic Skill → Observable Failure Attribute
|
| 51 |
+
path. Each stable profile contains its complete ancestor and transitive-
|
| 52 |
+
prerequisite closure, format/context tags, and explicit scoring role. Unknown
|
| 53 |
+
or incomplete profiles fail closed. A single miss is never treated as proof of
|
| 54 |
+
a foundational gap; retained reports require repeated independent evidence.
|
| 55 |
+
The coverage set is 1,832 deterministic template profiles (1,780 objective and
|
| 56 |
+
52 ACT Writing essay families), 145 immutable ACT passage-bank items, and 6
|
| 57 |
+
dedicated order-of-operations remediation templates; 1,925 profiles are
|
| 58 |
+
potentially objective-score eligible after their enclosing activity rules.
|
| 59 |
+
|
| 60 |
+
Tracking schema 1.3.0 is additive: it adds versioned hierarchy nodes/edges,
|
| 61 |
+
question profiles/members, and immutable question-instance bindings. Per-attempt skill
|
| 62 |
+
opportunities join those bindings to the existing attempts and learning
|
| 63 |
+
signals; a missing signal stays missing. Earlier learner, mastery, recovery,
|
| 64 |
+
and diagnostic records remain compatible, and historical rows are not assigned
|
| 65 |
+
fine-grained evidence that they did not originally retain.
|
| 66 |
+
|
| 67 |
+
The deterministic score estimator preserves raw correct/incorrect/omitted
|
| 68 |
+
counts, then separately presents clearly unofficial SAT section/total or ACT
|
| 69 |
+
section/Composite estimates, plausible intervals, evidence sufficiency, and
|
| 70 |
+
confidence. The ACT Composite uses English, Math, and Reading; optional Science
|
| 71 |
+
is reported separately, and optional Writing remains human reviewed. Hidden
|
| 72 |
+
pretest/EFT items and AI supplemental printable items are excluded. Fewer than
|
| 73 |
+
eight observed items or less than one quarter of a standard section remains a
|
| 74 |
+
preliminary, very-low-confidence result below the reporting threshold.
|
| 75 |
+
|
| 76 |
+
Release 1.7.0 retains one OpenAI-assisted follow-up beneath each graded
|
| 77 |
explanation and a signed-in cross-question Learning Diagnostic. The diagnostic
|
| 78 |
unlocks only after strict majority coverage of both Reading and Math for the
|
| 79 |
same exam. It sends OpenAI only allowlisted aggregate performance evidence—not
|
|
|
|
| 83 |
specific Targeted Practice; those workspaces remain disabled before the gate
|
| 84 |
and report are complete.
|
| 85 |
|
| 86 |
+
Progress & Reports includes three responsive hierarchical mastery wheels. SAT
|
| 87 |
shows Reading and Writing plus Math; ACT combines English and Reading as
|
| 88 |
Reading/Language and shows Math separately. Domain and narrow-topic angles stay
|
| 89 |
fixed to the curriculum, radial depth shows scored attempts toward four, and
|
|
|
|
| 91 |
than 0%. Exact native tables provide the same aggregate data for keyboard,
|
| 92 |
touch, print, and assistive-technology access.
|
| 93 |
|
| 94 |
+
The third wheel shows topic/skill mastery, with cumulative correct tagged
|
| 95 |
+
questions divided by attempts. The Skill Taxonomy Graph sits below the topic
|
| 96 |
+
graph. Both display per-entry potential score loss, allowing blind-guessing
|
| 97 |
+
credit (25% for four choices; no assumed credit for typed answers). A complete
|
| 98 |
+
CSV/JSON catalog explains the modeled question mix and reports expected correct
|
| 99 |
+
answers retained. These conditional losses overlap and must not be added.
|
| 100 |
+
|
| 101 |
The Printable Exam Builder requires an active demo or signed-in learner so
|
| 102 |
every generated file has a cleanup owner. It creates a clean Dearmon
|
| 103 |
Analytics-branded student PDF and a separate answer-key PDF from selected or
|
| 104 |
previously missed topics.
|
| 105 |
+
Both carry the same random form code. Core scored questions, their complete
|
| 106 |
+
skill profiles, their answer keys, and score eligibility are deterministic.
|
| 107 |
+
After the active learner has completed every built-in
|
| 108 |
question type for an exact topic, explicit opt-in can create separately labeled,
|
| 109 |
independently reviewed AI supplemental items for printing only. They never
|
| 110 |
+
decide correctness or alter skill evidence, mastery, readiness, routing,
|
| 111 |
+
diagnostics, or score estimates.
|
| 112 |
|
| 113 |
After every incorrectly graded practice question, and for every missed
|
| 114 |
objective item reviewed after a completed simulation, Break It Apart constructs
|
|
|
|
| 126 |
This private Space uses the separate Turso database
|
| 127 |
`dearmon-sat-act-learning-lab` and schema namespace
|
| 128 |
`sat_act_learning_lab_v1`. Its encrypted application uses the versioned Space
|
| 129 |
+
secret `SAT_ACT_APP_FERNET_V1_7_0_5047BDC914D0_431E91CA28D4`.
|
| 130 |
|
| 131 |
Required Space secrets are `OPENAI_API_KEY`, `TURSO_DATABASE_URL`,
|
| 132 |
`TURSO_AUTH_TOKEN`, `LEARNER_ID_HMAC_SECRET`, `INSTRUCTOR_EXPORT_SECRET`, and
|
|
|
|
| 142 |
appear in HTML, browser state, logs, public variables, or `/healthz`. Text
|
| 143 |
tutoring remains available when Simli is absent or unavailable.
|
| 144 |
|
| 145 |
+
The Simli 3.0.2 browser client is packaged with this release and served from
|
| 146 |
+
the same-origin `/_simli/client.mjs` route with integrity verification and safe
|
| 147 |
+
response headers. The browser does not import the avatar client from `esm.sh`
|
| 148 |
+
or another runtime CDN. If video startup fails, the learner can continue with
|
| 149 |
+
text tutoring or spoken replies. The bundled dependency licenses are retained
|
| 150 |
+
in [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md).
|
| 151 |
+
|
| 152 |
Username passwords are stored as independently salted scrypt records. Account
|
| 153 |
lockouts persist in the database, password changes revoke earlier sessions,
|
| 154 |
and verified legacy name/class/PIN profiles can be converted without moving
|
|
|
|
| 175 |
|
| 176 |
## Upgrade note
|
| 177 |
|
| 178 |
+
Version 1.7.0 uses immutable item/timing/scoring snapshots and explicit recovery
|
| 179 |
+
compatibility contracts. Resume only a saved contract that is explicitly supported;
|
| 180 |
+
legacy checkpoints follow the tested compatibility allowlist. Incompatible work
|
| 181 |
+
stays blocked and requires an approved transition or learner choice, never silent
|
| 182 |
+
regeneration/abandonment. Back up only inside the authorized hosting boundary,
|
| 183 |
+
preserve identity/source keys, and retain current audit/tombstones/holds/revocations.
|
| 184 |
+
Rollback requires compatible data and a new reviewed release manifest; it cannot
|
| 185 |
+
restore expired/revoked access or overwrite legitimate new learner work.
|
| 186 |
+
|
| 187 |
+
The owner kit ships no decryption key or production data. Its first local build
|
| 188 |
+
creates the matching source key/payload. Deployment defaults to local dry-run;
|
| 189 |
+
only explicit --execute plus DEPLOY opens remote changes. Python 3.12.13 is the
|
| 190 |
+
validated application patch; the Python 3.12 provider family alone does not prove
|
| 191 |
+
patch availability. Actual startup fails if the required patch is unavailable.
|
| 192 |
|
| 193 |
## Independent practice-content notice
|
| 194 |
|
|
|
|
| 197 |
trademark of College Board; ACT is a trademark of ACT, Inc. All practice
|
| 198 |
questions, passages, data, explanations, and figures in this lab are original
|
| 199 |
content. Practice results are diagnostic and are not official scores.
|
| 200 |
+
|
| 201 |
+
|
| 202 |
+
## Two ways to test
|
| 203 |
+
|
| 204 |
+
**Adaptive Test** prioritizes personal content weaknesses with high modeled
|
| 205 |
+
score opportunities, adjusting the next question and difficulty after every
|
| 206 |
+
answer. Choose 10, 20 or 30 questions; results include answer review and ranked
|
| 207 |
+
study priorities after completion. Blind guessing and sparse evidence are
|
| 208 |
+
accounted for. These are conditional study priorities, not guaranteed gains.
|
| 209 |
+
|
| 210 |
+
**Normal Test · Exam Simulation** follows the standard timed blueprint, including
|
| 211 |
+
SAT module routing, independently of saved weakness priorities. Targeted adaptive
|
| 212 |
+
accuracy is kept separate from normal score estimates. Completed adaptive work
|
| 213 |
+
is saved to cumulative mastery. Signed-in unfinished adaptive tests have
|
| 214 |
+
encrypted recovery checkpoints; use the saved recovery boundary after reconnecting.
|
| 215 |
+
|
| 216 |
+
## Diagnostic prerequisite and database upgrade
|
| 217 |
+
|
| 218 |
+
The diagnostic must be fully completed and saved before adaptive testing unlocks for the same learner and exam. Partial responses, older practice or demo sample history cannot unlock it. Normal testing remains available independently. The latest completed diagnostic seeds adaptive priorities alongside eligible practice history, with its actual item-level guessing adjustment preserved.
|
| 219 |
+
|
| 220 |
+
Tracking schema 1.5.0 retains additive checkpoint storage and completed learner history.
|
| 221 |
+
Run repeat-safe migrations and an authorized host-side backup before deployment.
|
| 222 |
+
Current immutable recovery contracts preserve compatible work across releases;
|
| 223 |
+
unsupported historical contracts remain blocked for an explicit transition.
|
| 224 |
+
Keep security decision stores and reviewer revocations independent of database rollback.
|
| 225 |
+
|
| 226 |
+
## Institutional controls and OMES readiness
|
| 227 |
+
|
| 228 |
+
The institutional profile blocks unapproved student processing and external AI/Simli services. It disables public signup, demos and legacy PIN entry and implements OIDC code/PKCE, explicit MFA assertion checks, provisioned issuer/subject identity, individual staff roles/class scopes and server-side ownership guards. Recovery email requires verified TLS. Accessible chart tables, keyboard improvements and owned diagnostic exports are included; framework analytics remains disabled.
|
| 229 |
+
|
| 230 |
+
Read the source package's `docs/OMES_PLATFORM_READINESS.md`, `docs/INSTITUTIONAL_IDENTITY.md`, `docs/SECURITY_IMPLEMENTATION.md` and `docs/ASSESSMENT_RECOVERY.md`. Use `deployment/institutional/README.md` for a new approved container deployment. The institutional HF updater only updates a preprovisioned approved target with protected roster and persistent storage. Code/configuration does not establish State-approved MFA, completed human accessibility/ACR acceptance, educator signoff on standards alignment, actual U.S. hosting/encryption/backup evidence, signed IT terms or supplier/AI authorization. Run the redacted preflight and obtain the actual applicable external records before covered performance.
|
| 231 |
+
|
| 232 |
+
Tracking schema is 1.5.0. Authenticated diagnostic/adaptive checkpoints now survive supported same-version restarts; recovery validates the learner, exact release/source compatibility and checkpoint revision. Unsaved browser input is outside that boundary. Production acceptance must separately prove remote durability, restored keys/database and provider backups. Consumer accounts remain available in consumer mode; institutional use requires its own approved OIDC roster and dedicated deployment/database.
|
THIRD_PARTY_NOTICES.md
ADDED
|
@@ -0,0 +1,1210 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Third-party notices
|
| 2 |
+
|
| 3 |
+
The SAT & ACT Learning Lab packages the official `simli-client` 3.0.2 browser
|
| 4 |
+
client as an integrity-checked, same-origin ECMAScript module. The bundle is
|
| 5 |
+
built from the package's lowercase `dist/client.js` entry because the 3.0.2
|
| 6 |
+
root entry refers to `dist/Client.js`, which fails on case-sensitive systems.
|
| 7 |
+
No Simli key, face credential, session token, learner data, or deployment
|
| 8 |
+
secret is included in the bundle.
|
| 9 |
+
|
| 10 |
+
The bundle contains the following packages under their upstream licenses:
|
| 11 |
+
|
| 12 |
+
| Package | Version | License |
|
| 13 |
+
|---|---:|---|
|
| 14 |
+
| `simli-client` | 3.0.2 | MIT |
|
| 15 |
+
| `@bufbuild/protobuf` | 1.10.1 | Apache-2.0 AND BSD-3-Clause |
|
| 16 |
+
| `@livekit/mutex` | 1.1.1 | Apache-2.0 |
|
| 17 |
+
| `@livekit/protocol` | 1.50.4 | Apache-2.0 |
|
| 18 |
+
| `livekit-client` | 2.22.1 | Apache-2.0 |
|
| 19 |
+
| `rxjs` | 7.8.2 | Apache-2.0 |
|
| 20 |
+
| `webrtc-adapter` | 9.0.6 | BSD-3-Clause |
|
| 21 |
+
| `tslib` | 2.8.1 | 0BSD |
|
| 22 |
+
| `events` | 3.3.0 | MIT |
|
| 23 |
+
| `jose` | 6.2.10 | MIT |
|
| 24 |
+
| `loglevel` | 1.9.2 | MIT |
|
| 25 |
+
| `machina` | 7.0.1 | MIT |
|
| 26 |
+
| `sdp` | 3.2.2 | MIT |
|
| 27 |
+
| `sdp-transform` | 2.15.0 | MIT |
|
| 28 |
+
| `typed-emitter` | 2.1.0 | MIT |
|
| 29 |
+
|
| 30 |
+
Upstream source and license texts are available from the respective npm
|
| 31 |
+
packages and repositories. In particular:
|
| 32 |
+
|
| 33 |
+
- Simli client: <https://github.com/simliai/simli-client>
|
| 34 |
+
- LiveKit client: <https://github.com/livekit/client-sdk-js>
|
| 35 |
+
- RxJS: <https://github.com/ReactiveX/rxjs>
|
| 36 |
+
- WebRTC adapter: <https://github.com/webrtcHacks/adapter>
|
| 37 |
+
|
| 38 |
+
`simli-client` 3.0.2 carries the following MIT notice:
|
| 39 |
+
|
| 40 |
+
> Copyright (c) 2024 AnasMations
|
| 41 |
+
>
|
| 42 |
+
> Permission is hereby granted, free of charge, to any person obtaining a copy
|
| 43 |
+
> of this software and associated documentation files (the "Software"), to
|
| 44 |
+
> deal in the Software without restriction, including without limitation the
|
| 45 |
+
> rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
| 46 |
+
> sell copies of the Software, and to permit persons to whom the Software is
|
| 47 |
+
> furnished to do so, subject to the following conditions:
|
| 48 |
+
>
|
| 49 |
+
> The above copyright notice and this permission notice shall be included in
|
| 50 |
+
> all copies or substantial portions of the Software.
|
| 51 |
+
>
|
| 52 |
+
> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
| 53 |
+
> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
| 54 |
+
> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
| 55 |
+
> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
| 56 |
+
> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
| 57 |
+
> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
| 58 |
+
> THE SOFTWARE.
|
| 59 |
+
|
| 60 |
+
## Complete bundled dependency license texts
|
| 61 |
+
|
| 62 |
+
The texts below are copied verbatim from the installed package artifacts used to build the audited bundle.
|
| 63 |
+
|
| 64 |
+
### `@bufbuild/protobuf` 1.10.1
|
| 65 |
+
|
| 66 |
+
Copyright 2021-2024 Buf Technologies, Inc. Package source headers identify the Apache License, Version 2.0; package metadata declares `(Apache-2.0 AND BSD-3-Clause)`. The complete Apache-2.0 and BSD-3-Clause texts are reproduced in the sections below.
|
| 67 |
+
|
| 68 |
+
### `@livekit/mutex` 1.1.1
|
| 69 |
+
|
| 70 |
+
```text
|
| 71 |
+
|
| 72 |
+
Apache License
|
| 73 |
+
Version 2.0, January 2004
|
| 74 |
+
http://www.apache.org/licenses/
|
| 75 |
+
|
| 76 |
+
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
| 77 |
+
|
| 78 |
+
1. Definitions.
|
| 79 |
+
|
| 80 |
+
"License" shall mean the terms and conditions for use, reproduction,
|
| 81 |
+
and distribution as defined by Sections 1 through 9 of this document.
|
| 82 |
+
|
| 83 |
+
"Licensor" shall mean the copyright owner or entity authorized by
|
| 84 |
+
the copyright owner that is granting the License.
|
| 85 |
+
|
| 86 |
+
"Legal Entity" shall mean the union of the acting entity and all
|
| 87 |
+
other entities that control, are controlled by, or are under common
|
| 88 |
+
control with that entity. For the purposes of this definition,
|
| 89 |
+
"control" means (i) the power, direct or indirect, to cause the
|
| 90 |
+
direction or management of such entity, whether by contract or
|
| 91 |
+
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
| 92 |
+
outstanding shares, or (iii) beneficial ownership of such entity.
|
| 93 |
+
|
| 94 |
+
"You" (or "Your") shall mean an individual or Legal Entity
|
| 95 |
+
exercising permissions granted by this License.
|
| 96 |
+
|
| 97 |
+
"Source" form shall mean the preferred form for making modifications,
|
| 98 |
+
including but not limited to software source code, documentation
|
| 99 |
+
source, and configuration files.
|
| 100 |
+
|
| 101 |
+
"Object" form shall mean any form resulting from mechanical
|
| 102 |
+
transformation or translation of a Source form, including but
|
| 103 |
+
not limited to compiled object code, generated documentation,
|
| 104 |
+
and conversions to other media types.
|
| 105 |
+
|
| 106 |
+
"Work" shall mean the work of authorship, whether in Source or
|
| 107 |
+
Object form, made available under the License, as indicated by a
|
| 108 |
+
copyright notice that is included in or attached to the work
|
| 109 |
+
(an example is provided in the Appendix below).
|
| 110 |
+
|
| 111 |
+
"Derivative Works" shall mean any work, whether in Source or Object
|
| 112 |
+
form, that is based on (or derived from) the Work and for which the
|
| 113 |
+
editorial revisions, annotations, elaborations, or other modifications
|
| 114 |
+
represent, as a whole, an original work of authorship. For the purposes
|
| 115 |
+
of this License, Derivative Works shall not include works that remain
|
| 116 |
+
separable from, or merely link (or bind by name) to the interfaces of,
|
| 117 |
+
the Work and Derivative Works thereof.
|
| 118 |
+
|
| 119 |
+
"Contribution" shall mean any work of authorship, including
|
| 120 |
+
the original version of the Work and any modifications or additions
|
| 121 |
+
to that Work or Derivative Works thereof, that is intentionally
|
| 122 |
+
submitted to Licensor for inclusion in the Work by the copyright owner
|
| 123 |
+
or by an individual or Legal Entity authorized to submit on behalf of
|
| 124 |
+
the copyright owner. For the purposes of this definition, "submitted"
|
| 125 |
+
means any form of electronic, verbal, or written communication sent
|
| 126 |
+
to the Licensor or its representatives, including but not limited to
|
| 127 |
+
communication on electronic mailing lists, source code control systems,
|
| 128 |
+
and issue tracking systems that are managed by, or on behalf of, the
|
| 129 |
+
Licensor for the purpose of discussing and improving the Work, but
|
| 130 |
+
excluding communication that is conspicuously marked or otherwise
|
| 131 |
+
designated in writing by the copyright owner as "Not a Contribution."
|
| 132 |
+
|
| 133 |
+
"Contributor" shall mean Licensor and any individual or Legal Entity
|
| 134 |
+
on behalf of whom a Contribution has been received by Licensor and
|
| 135 |
+
subsequently incorporated within the Work.
|
| 136 |
+
|
| 137 |
+
2. Grant of Copyright License. Subject to the terms and conditions of
|
| 138 |
+
this License, each Contributor hereby grants to You a perpetual,
|
| 139 |
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
| 140 |
+
copyright license to reproduce, prepare Derivative Works of,
|
| 141 |
+
publicly display, publicly perform, sublicense, and distribute the
|
| 142 |
+
Work and such Derivative Works in Source or Object form.
|
| 143 |
+
|
| 144 |
+
3. Grant of Patent License. Subject to the terms and conditions of
|
| 145 |
+
this License, each Contributor hereby grants to You a perpetual,
|
| 146 |
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
| 147 |
+
(except as stated in this section) patent license to make, have made,
|
| 148 |
+
use, offer to sell, sell, import, and otherwise transfer the Work,
|
| 149 |
+
where such license applies only to those patent claims licensable
|
| 150 |
+
by such Contributor that are necessarily infringed by their
|
| 151 |
+
Contribution(s) alone or by combination of their Contribution(s)
|
| 152 |
+
with the Work to which such Contribution(s) was submitted. If You
|
| 153 |
+
institute patent litigation against any entity (including a
|
| 154 |
+
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
| 155 |
+
or a Contribution incorporated within the Work constitutes direct
|
| 156 |
+
or contributory patent infringement, then any patent licenses
|
| 157 |
+
granted to You under this License for that Work shall terminate
|
| 158 |
+
as of the date such litigation is filed.
|
| 159 |
+
|
| 160 |
+
4. Redistribution. You may reproduce and distribute copies of the
|
| 161 |
+
Work or Derivative Works thereof in any medium, with or without
|
| 162 |
+
modifications, and in Source or Object form, provided that You
|
| 163 |
+
meet the following conditions:
|
| 164 |
+
|
| 165 |
+
(a) You must give any other recipients of the Work or
|
| 166 |
+
Derivative Works a copy of this License; and
|
| 167 |
+
|
| 168 |
+
(b) You must cause any modified files to carry prominent notices
|
| 169 |
+
stating that You changed the files; and
|
| 170 |
+
|
| 171 |
+
(c) You must retain, in the Source form of any Derivative Works
|
| 172 |
+
that You distribute, all copyright, patent, trademark, and
|
| 173 |
+
attribution notices from the Source form of the Work,
|
| 174 |
+
excluding those notices that do not pertain to any part of
|
| 175 |
+
the Derivative Works; and
|
| 176 |
+
|
| 177 |
+
(d) If the Work includes a "NOTICE" text file as part of its
|
| 178 |
+
distribution, then any Derivative Works that You distribute must
|
| 179 |
+
include a readable copy of the attribution notices contained
|
| 180 |
+
within such NOTICE file, excluding those notices that do not
|
| 181 |
+
pertain to any part of the Derivative Works, in at least one
|
| 182 |
+
of the following places: within a NOTICE text file distributed
|
| 183 |
+
as part of the Derivative Works; within the Source form or
|
| 184 |
+
documentation, if provided along with the Derivative Works; or,
|
| 185 |
+
within a display generated by the Derivative Works, if and
|
| 186 |
+
wherever such third-party notices normally appear. The contents
|
| 187 |
+
of the NOTICE file are for informational purposes only and
|
| 188 |
+
do not modify the License. You may add Your own attribution
|
| 189 |
+
notices within Derivative Works that You distribute, alongside
|
| 190 |
+
or as an addendum to the NOTICE text from the Work, provided
|
| 191 |
+
that such additional attribution notices cannot be construed
|
| 192 |
+
as modifying the License.
|
| 193 |
+
|
| 194 |
+
You may add Your own copyright statement to Your modifications and
|
| 195 |
+
may provide additional or different license terms and conditions
|
| 196 |
+
for use, reproduction, or distribution of Your modifications, or
|
| 197 |
+
for any such Derivative Works as a whole, provided Your use,
|
| 198 |
+
reproduction, and distribution of the Work otherwise complies with
|
| 199 |
+
the conditions stated in this License.
|
| 200 |
+
|
| 201 |
+
5. Submission of Contributions. Unless You explicitly state otherwise,
|
| 202 |
+
any Contribution intentionally submitted for inclusion in the Work
|
| 203 |
+
by You to the Licensor shall be under the terms and conditions of
|
| 204 |
+
this License, without any additional terms or conditions.
|
| 205 |
+
Notwithstanding the above, nothing herein shall supersede or modify
|
| 206 |
+
the terms of any separate license agreement you may have executed
|
| 207 |
+
with Licensor regarding such Contributions.
|
| 208 |
+
|
| 209 |
+
6. Trademarks. This License does not grant permission to use the trade
|
| 210 |
+
names, trademarks, service marks, or product names of the Licensor,
|
| 211 |
+
except as required for reasonable and customary use in describing the
|
| 212 |
+
origin of the Work and reproducing the content of the NOTICE file.
|
| 213 |
+
|
| 214 |
+
7. Disclaimer of Warranty. Unless required by applicable law or
|
| 215 |
+
agreed to in writing, Licensor provides the Work (and each
|
| 216 |
+
Contributor provides its Contributions) on an "AS IS" BASIS,
|
| 217 |
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
| 218 |
+
implied, including, without limitation, any warranties or conditions
|
| 219 |
+
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
| 220 |
+
PARTICULAR PURPOSE. You are solely responsible for determining the
|
| 221 |
+
appropriateness of using or redistributing the Work and assume any
|
| 222 |
+
risks associated with Your exercise of permissions under this License.
|
| 223 |
+
|
| 224 |
+
8. Limitation of Liability. In no event and under no legal theory,
|
| 225 |
+
whether in tort (including negligence), contract, or otherwise,
|
| 226 |
+
unless required by applicable law (such as deliberate and grossly
|
| 227 |
+
negligent acts) or agreed to in writing, shall any Contributor be
|
| 228 |
+
liable to You for damages, including any direct, indirect, special,
|
| 229 |
+
incidental, or consequential damages of any character arising as a
|
| 230 |
+
result of this License or out of the use or inability to use the
|
| 231 |
+
Work (including but not limited to damages for loss of goodwill,
|
| 232 |
+
work stoppage, computer failure or malfunction, or any and all
|
| 233 |
+
other commercial damages or losses), even if such Contributor
|
| 234 |
+
has been advised of the possibility of such damages.
|
| 235 |
+
|
| 236 |
+
9. Accepting Warranty or Additional Liability. While redistributing
|
| 237 |
+
the Work or Derivative Works thereof, You may choose to offer,
|
| 238 |
+
and charge a fee for, acceptance of support, warranty, indemnity,
|
| 239 |
+
or other liability obligations and/or rights consistent with this
|
| 240 |
+
License. However, in accepting such obligations, You may act only
|
| 241 |
+
on Your own behalf and on Your sole responsibility, not on behalf
|
| 242 |
+
of any other Contributor, and only if You agree to indemnify,
|
| 243 |
+
defend, and hold each Contributor harmless for any liability
|
| 244 |
+
incurred by, or claims asserted against, such Contributor by reason
|
| 245 |
+
of your accepting any such warranty or additional liability.
|
| 246 |
+
```
|
| 247 |
+
|
| 248 |
+
### `@livekit/protocol` 1.50.4
|
| 249 |
+
|
| 250 |
+
```text
|
| 251 |
+
|
| 252 |
+
Apache License
|
| 253 |
+
Version 2.0, January 2004
|
| 254 |
+
http://www.apache.org/licenses/
|
| 255 |
+
|
| 256 |
+
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
| 257 |
+
|
| 258 |
+
1. Definitions.
|
| 259 |
+
|
| 260 |
+
"License" shall mean the terms and conditions for use, reproduction,
|
| 261 |
+
and distribution as defined by Sections 1 through 9 of this document.
|
| 262 |
+
|
| 263 |
+
"Licensor" shall mean the copyright owner or entity authorized by
|
| 264 |
+
the copyright owner that is granting the License.
|
| 265 |
+
|
| 266 |
+
"Legal Entity" shall mean the union of the acting entity and all
|
| 267 |
+
other entities that control, are controlled by, or are under common
|
| 268 |
+
control with that entity. For the purposes of this definition,
|
| 269 |
+
"control" means (i) the power, direct or indirect, to cause the
|
| 270 |
+
direction or management of such entity, whether by contract or
|
| 271 |
+
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
| 272 |
+
outstanding shares, or (iii) beneficial ownership of such entity.
|
| 273 |
+
|
| 274 |
+
"You" (or "Your") shall mean an individual or Legal Entity
|
| 275 |
+
exercising permissions granted by this License.
|
| 276 |
+
|
| 277 |
+
"Source" form shall mean the preferred form for making modifications,
|
| 278 |
+
including but not limited to software source code, documentation
|
| 279 |
+
source, and configuration files.
|
| 280 |
+
|
| 281 |
+
"Object" form shall mean any form resulting from mechanical
|
| 282 |
+
transformation or translation of a Source form, including but
|
| 283 |
+
not limited to compiled object code, generated documentation,
|
| 284 |
+
and conversions to other media types.
|
| 285 |
+
|
| 286 |
+
"Work" shall mean the work of authorship, whether in Source or
|
| 287 |
+
Object form, made available under the License, as indicated by a
|
| 288 |
+
copyright notice that is included in or attached to the work
|
| 289 |
+
(an example is provided in the Appendix below).
|
| 290 |
+
|
| 291 |
+
"Derivative Works" shall mean any work, whether in Source or Object
|
| 292 |
+
form, that is based on (or derived from) the Work and for which the
|
| 293 |
+
editorial revisions, annotations, elaborations, or other modifications
|
| 294 |
+
represent, as a whole, an original work of authorship. For the purposes
|
| 295 |
+
of this License, Derivative Works shall not include works that remain
|
| 296 |
+
separable from, or merely link (or bind by name) to the interfaces of,
|
| 297 |
+
the Work and Derivative Works thereof.
|
| 298 |
+
|
| 299 |
+
"Contribution" shall mean any work of authorship, including
|
| 300 |
+
the original version of the Work and any modifications or additions
|
| 301 |
+
to that Work or Derivative Works thereof, that is intentionally
|
| 302 |
+
submitted to Licensor for inclusion in the Work by the copyright owner
|
| 303 |
+
or by an individual or Legal Entity authorized to submit on behalf of
|
| 304 |
+
the copyright owner. For the purposes of this definition, "submitted"
|
| 305 |
+
means any form of electronic, verbal, or written communication sent
|
| 306 |
+
to the Licensor or its representatives, including but not limited to
|
| 307 |
+
communication on electronic mailing lists, source code control systems,
|
| 308 |
+
and issue tracking systems that are managed by, or on behalf of, the
|
| 309 |
+
Licensor for the purpose of discussing and improving the Work, but
|
| 310 |
+
excluding communication that is conspicuously marked or otherwise
|
| 311 |
+
designated in writing by the copyright owner as "Not a Contribution."
|
| 312 |
+
|
| 313 |
+
"Contributor" shall mean Licensor and any individual or Legal Entity
|
| 314 |
+
on behalf of whom a Contribution has been received by Licensor and
|
| 315 |
+
subsequently incorporated within the Work.
|
| 316 |
+
|
| 317 |
+
2. Grant of Copyright License. Subject to the terms and conditions of
|
| 318 |
+
this License, each Contributor hereby grants to You a perpetual,
|
| 319 |
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
| 320 |
+
copyright license to reproduce, prepare Derivative Works of,
|
| 321 |
+
publicly display, publicly perform, sublicense, and distribute the
|
| 322 |
+
Work and such Derivative Works in Source or Object form.
|
| 323 |
+
|
| 324 |
+
3. Grant of Patent License. Subject to the terms and conditions of
|
| 325 |
+
this License, each Contributor hereby grants to You a perpetual,
|
| 326 |
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
| 327 |
+
(except as stated in this section) patent license to make, have made,
|
| 328 |
+
use, offer to sell, sell, import, and otherwise transfer the Work,
|
| 329 |
+
where such license applies only to those patent claims licensable
|
| 330 |
+
by such Contributor that are necessarily infringed by their
|
| 331 |
+
Contribution(s) alone or by combination of their Contribution(s)
|
| 332 |
+
with the Work to which such Contribution(s) was submitted. If You
|
| 333 |
+
institute patent litigation against any entity (including a
|
| 334 |
+
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
| 335 |
+
or a Contribution incorporated within the Work constitutes direct
|
| 336 |
+
or contributory patent infringement, then any patent licenses
|
| 337 |
+
granted to You under this License for that Work shall terminate
|
| 338 |
+
as of the date such litigation is filed.
|
| 339 |
+
|
| 340 |
+
4. Redistribution. You may reproduce and distribute copies of the
|
| 341 |
+
Work or Derivative Works thereof in any medium, with or without
|
| 342 |
+
modifications, and in Source or Object form, provided that You
|
| 343 |
+
meet the following conditions:
|
| 344 |
+
|
| 345 |
+
(a) You must give any other recipients of the Work or
|
| 346 |
+
Derivative Works a copy of this License; and
|
| 347 |
+
|
| 348 |
+
(b) You must cause any modified files to carry prominent notices
|
| 349 |
+
stating that You changed the files; and
|
| 350 |
+
|
| 351 |
+
(c) You must retain, in the Source form of any Derivative Works
|
| 352 |
+
that You distribute, all copyright, patent, trademark, and
|
| 353 |
+
attribution notices from the Source form of the Work,
|
| 354 |
+
excluding those notices that do not pertain to any part of
|
| 355 |
+
the Derivative Works; and
|
| 356 |
+
|
| 357 |
+
(d) If the Work includes a "NOTICE" text file as part of its
|
| 358 |
+
distribution, then any Derivative Works that You distribute must
|
| 359 |
+
include a readable copy of the attribution notices contained
|
| 360 |
+
within such NOTICE file, excluding those notices that do not
|
| 361 |
+
pertain to any part of the Derivative Works, in at least one
|
| 362 |
+
of the following places: within a NOTICE text file distributed
|
| 363 |
+
as part of the Derivative Works; within the Source form or
|
| 364 |
+
documentation, if provided along with the Derivative Works; or,
|
| 365 |
+
within a display generated by the Derivative Works, if and
|
| 366 |
+
wherever such third-party notices normally appear. The contents
|
| 367 |
+
of the NOTICE file are for informational purposes only and
|
| 368 |
+
do not modify the License. You may add Your own attribution
|
| 369 |
+
notices within Derivative Works that You distribute, alongside
|
| 370 |
+
or as an addendum to the NOTICE text from the Work, provided
|
| 371 |
+
that such additional attribution notices cannot be construed
|
| 372 |
+
as modifying the License.
|
| 373 |
+
|
| 374 |
+
You may add Your own copyright statement to Your modifications and
|
| 375 |
+
may provide additional or different license terms and conditions
|
| 376 |
+
for use, reproduction, or distribution of Your modifications, or
|
| 377 |
+
for any such Derivative Works as a whole, provided Your use,
|
| 378 |
+
reproduction, and distribution of the Work otherwise complies with
|
| 379 |
+
the conditions stated in this License.
|
| 380 |
+
|
| 381 |
+
5. Submission of Contributions. Unless You explicitly state otherwise,
|
| 382 |
+
any Contribution intentionally submitted for inclusion in the Work
|
| 383 |
+
by You to the Licensor shall be under the terms and conditions of
|
| 384 |
+
this License, without any additional terms or conditions.
|
| 385 |
+
Notwithstanding the above, nothing herein shall supersede or modify
|
| 386 |
+
the terms of any separate license agreement you may have executed
|
| 387 |
+
with Licensor regarding such Contributions.
|
| 388 |
+
|
| 389 |
+
6. Trademarks. This License does not grant permission to use the trade
|
| 390 |
+
names, trademarks, service marks, or product names of the Licensor,
|
| 391 |
+
except as required for reasonable and customary use in describing the
|
| 392 |
+
origin of the Work and reproducing the content of the NOTICE file.
|
| 393 |
+
|
| 394 |
+
7. Disclaimer of Warranty. Unless required by applicable law or
|
| 395 |
+
agreed to in writing, Licensor provides the Work (and each
|
| 396 |
+
Contributor provides its Contributions) on an "AS IS" BASIS,
|
| 397 |
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
| 398 |
+
implied, including, without limitation, any warranties or conditions
|
| 399 |
+
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
| 400 |
+
PARTICULAR PURPOSE. You are solely responsible for determining the
|
| 401 |
+
appropriateness of using or redistributing the Work and assume any
|
| 402 |
+
risks associated with Your exercise of permissions under this License.
|
| 403 |
+
|
| 404 |
+
8. Limitation of Liability. In no event and under no legal theory,
|
| 405 |
+
whether in tort (including negligence), contract, or otherwise,
|
| 406 |
+
unless required by applicable law (such as deliberate and grossly
|
| 407 |
+
negligent acts) or agreed to in writing, shall any Contributor be
|
| 408 |
+
liable to You for damages, including any direct, indirect, special,
|
| 409 |
+
incidental, or consequential damages of any character arising as a
|
| 410 |
+
result of this License or out of the use or inability to use the
|
| 411 |
+
Work (including but not limited to damages for loss of goodwill,
|
| 412 |
+
work stoppage, computer failure or malfunction, or any and all
|
| 413 |
+
other commercial damages or losses), even if such Contributor
|
| 414 |
+
has been advised of the possibility of such damages.
|
| 415 |
+
|
| 416 |
+
9. Accepting Warranty or Additional Liability. While redistributing
|
| 417 |
+
the Work or Derivative Works thereof, You may choose to offer,
|
| 418 |
+
and charge a fee for, acceptance of support, warranty, indemnity,
|
| 419 |
+
or other liability obligations and/or rights consistent with this
|
| 420 |
+
License. However, in accepting such obligations, You may act only
|
| 421 |
+
on Your own behalf and on Your sole responsibility, not on behalf
|
| 422 |
+
of any other Contributor, and only if You agree to indemnify,
|
| 423 |
+
defend, and hold each Contributor harmless for any liability
|
| 424 |
+
incurred by, or claims asserted against, such Contributor by reason
|
| 425 |
+
of your accepting any such warranty or additional liability.
|
| 426 |
+
|
| 427 |
+
END OF TERMS AND CONDITIONS
|
| 428 |
+
|
| 429 |
+
APPENDIX: How to apply the Apache License to your work.
|
| 430 |
+
|
| 431 |
+
To apply the Apache License to your work, attach the following
|
| 432 |
+
boilerplate notice, with the fields enclosed by brackets "[]"
|
| 433 |
+
replaced with your own identifying information. (Don't include
|
| 434 |
+
the brackets!) The text should be enclosed in the appropriate
|
| 435 |
+
comment syntax for the file format. We also recommend that a
|
| 436 |
+
file or class name and description of purpose be included on the
|
| 437 |
+
same "printed page" as the copyright notice for easier
|
| 438 |
+
identification within third-party archives.
|
| 439 |
+
|
| 440 |
+
Copyright [yyyy] [name of copyright owner]
|
| 441 |
+
|
| 442 |
+
Licensed under the Apache License, Version 2.0 (the "License");
|
| 443 |
+
you may not use this file except in compliance with the License.
|
| 444 |
+
You may obtain a copy of the License at
|
| 445 |
+
|
| 446 |
+
http://www.apache.org/licenses/LICENSE-2.0
|
| 447 |
+
|
| 448 |
+
Unless required by applicable law or agreed to in writing, software
|
| 449 |
+
distributed under the License is distributed on an "AS IS" BASIS,
|
| 450 |
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
| 451 |
+
See the License for the specific language governing permissions and
|
| 452 |
+
limitations under the License.
|
| 453 |
+
```
|
| 454 |
+
|
| 455 |
+
### `livekit-client` 2.22.1
|
| 456 |
+
|
| 457 |
+
```text
|
| 458 |
+
|
| 459 |
+
Apache License
|
| 460 |
+
Version 2.0, January 2004
|
| 461 |
+
http://www.apache.org/licenses/
|
| 462 |
+
|
| 463 |
+
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
| 464 |
+
|
| 465 |
+
1. Definitions.
|
| 466 |
+
|
| 467 |
+
"License" shall mean the terms and conditions for use, reproduction,
|
| 468 |
+
and distribution as defined by Sections 1 through 9 of this document.
|
| 469 |
+
|
| 470 |
+
"Licensor" shall mean the copyright owner or entity authorized by
|
| 471 |
+
the copyright owner that is granting the License.
|
| 472 |
+
|
| 473 |
+
"Legal Entity" shall mean the union of the acting entity and all
|
| 474 |
+
other entities that control, are controlled by, or are under common
|
| 475 |
+
control with that entity. For the purposes of this definition,
|
| 476 |
+
"control" means (i) the power, direct or indirect, to cause the
|
| 477 |
+
direction or management of such entity, whether by contract or
|
| 478 |
+
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
| 479 |
+
outstanding shares, or (iii) beneficial ownership of such entity.
|
| 480 |
+
|
| 481 |
+
"You" (or "Your") shall mean an individual or Legal Entity
|
| 482 |
+
exercising permissions granted by this License.
|
| 483 |
+
|
| 484 |
+
"Source" form shall mean the preferred form for making modifications,
|
| 485 |
+
including but not limited to software source code, documentation
|
| 486 |
+
source, and configuration files.
|
| 487 |
+
|
| 488 |
+
"Object" form shall mean any form resulting from mechanical
|
| 489 |
+
transformation or translation of a Source form, including but
|
| 490 |
+
not limited to compiled object code, generated documentation,
|
| 491 |
+
and conversions to other media types.
|
| 492 |
+
|
| 493 |
+
"Work" shall mean the work of authorship, whether in Source or
|
| 494 |
+
Object form, made available under the License, as indicated by a
|
| 495 |
+
copyright notice that is included in or attached to the work
|
| 496 |
+
(an example is provided in the Appendix below).
|
| 497 |
+
|
| 498 |
+
"Derivative Works" shall mean any work, whether in Source or Object
|
| 499 |
+
form, that is based on (or derived from) the Work and for which the
|
| 500 |
+
editorial revisions, annotations, elaborations, or other modifications
|
| 501 |
+
represent, as a whole, an original work of authorship. For the purposes
|
| 502 |
+
of this License, Derivative Works shall not include works that remain
|
| 503 |
+
separable from, or merely link (or bind by name) to the interfaces of,
|
| 504 |
+
the Work and Derivative Works thereof.
|
| 505 |
+
|
| 506 |
+
"Contribution" shall mean any work of authorship, including
|
| 507 |
+
the original version of the Work and any modifications or additions
|
| 508 |
+
to that Work or Derivative Works thereof, that is intentionally
|
| 509 |
+
submitted to Licensor for inclusion in the Work by the copyright owner
|
| 510 |
+
or by an individual or Legal Entity authorized to submit on behalf of
|
| 511 |
+
the copyright owner. For the purposes of this definition, "submitted"
|
| 512 |
+
means any form of electronic, verbal, or written communication sent
|
| 513 |
+
to the Licensor or its representatives, including but not limited to
|
| 514 |
+
communication on electronic mailing lists, source code control systems,
|
| 515 |
+
and issue tracking systems that are managed by, or on behalf of, the
|
| 516 |
+
Licensor for the purpose of discussing and improving the Work, but
|
| 517 |
+
excluding communication that is conspicuously marked or otherwise
|
| 518 |
+
designated in writing by the copyright owner as "Not a Contribution."
|
| 519 |
+
|
| 520 |
+
"Contributor" shall mean Licensor and any individual or Legal Entity
|
| 521 |
+
on behalf of whom a Contribution has been received by Licensor and
|
| 522 |
+
subsequently incorporated within the Work.
|
| 523 |
+
|
| 524 |
+
2. Grant of Copyright License. Subject to the terms and conditions of
|
| 525 |
+
this License, each Contributor hereby grants to You a perpetual,
|
| 526 |
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
| 527 |
+
copyright license to reproduce, prepare Derivative Works of,
|
| 528 |
+
publicly display, publicly perform, sublicense, and distribute the
|
| 529 |
+
Work and such Derivative Works in Source or Object form.
|
| 530 |
+
|
| 531 |
+
3. Grant of Patent License. Subject to the terms and conditions of
|
| 532 |
+
this License, each Contributor hereby grants to You a perpetual,
|
| 533 |
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
| 534 |
+
(except as stated in this section) patent license to make, have made,
|
| 535 |
+
use, offer to sell, sell, import, and otherwise transfer the Work,
|
| 536 |
+
where such license applies only to those patent claims licensable
|
| 537 |
+
by such Contributor that are necessarily infringed by their
|
| 538 |
+
Contribution(s) alone or by combination of their Contribution(s)
|
| 539 |
+
with the Work to which such Contribution(s) was submitted. If You
|
| 540 |
+
institute patent litigation against any entity (including a
|
| 541 |
+
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
| 542 |
+
or a Contribution incorporated within the Work constitutes direct
|
| 543 |
+
or contributory patent infringement, then any patent licenses
|
| 544 |
+
granted to You under this License for that Work shall terminate
|
| 545 |
+
as of the date such litigation is filed.
|
| 546 |
+
|
| 547 |
+
4. Redistribution. You may reproduce and distribute copies of the
|
| 548 |
+
Work or Derivative Works thereof in any medium, with or without
|
| 549 |
+
modifications, and in Source or Object form, provided that You
|
| 550 |
+
meet the following conditions:
|
| 551 |
+
|
| 552 |
+
(a) You must give any other recipients of the Work or
|
| 553 |
+
Derivative Works a copy of this License; and
|
| 554 |
+
|
| 555 |
+
(b) You must cause any modified files to carry prominent notices
|
| 556 |
+
stating that You changed the files; and
|
| 557 |
+
|
| 558 |
+
(c) You must retain, in the Source form of any Derivative Works
|
| 559 |
+
that You distribute, all copyright, patent, trademark, and
|
| 560 |
+
attribution notices from the Source form of the Work,
|
| 561 |
+
excluding those notices that do not pertain to any part of
|
| 562 |
+
the Derivative Works; and
|
| 563 |
+
|
| 564 |
+
(d) If the Work includes a "NOTICE" text file as part of its
|
| 565 |
+
distribution, then any Derivative Works that You distribute must
|
| 566 |
+
include a readable copy of the attribution notices contained
|
| 567 |
+
within such NOTICE file, excluding those notices that do not
|
| 568 |
+
pertain to any part of the Derivative Works, in at least one
|
| 569 |
+
of the following places: within a NOTICE text file distributed
|
| 570 |
+
as part of the Derivative Works; within the Source form or
|
| 571 |
+
documentation, if provided along with the Derivative Works; or,
|
| 572 |
+
within a display generated by the Derivative Works, if and
|
| 573 |
+
wherever such third-party notices normally appear. The contents
|
| 574 |
+
of the NOTICE file are for informational purposes only and
|
| 575 |
+
do not modify the License. You may add Your own attribution
|
| 576 |
+
notices within Derivative Works that You distribute, alongside
|
| 577 |
+
or as an addendum to the NOTICE text from the Work, provided
|
| 578 |
+
that such additional attribution notices cannot be construed
|
| 579 |
+
as modifying the License.
|
| 580 |
+
|
| 581 |
+
You may add Your own copyright statement to Your modifications and
|
| 582 |
+
may provide additional or different license terms and conditions
|
| 583 |
+
for use, reproduction, or distribution of Your modifications, or
|
| 584 |
+
for any such Derivative Works as a whole, provided Your use,
|
| 585 |
+
reproduction, and distribution of the Work otherwise complies with
|
| 586 |
+
the conditions stated in this License.
|
| 587 |
+
|
| 588 |
+
5. Submission of Contributions. Unless You explicitly state otherwise,
|
| 589 |
+
any Contribution intentionally submitted for inclusion in the Work
|
| 590 |
+
by You to the Licensor shall be under the terms and conditions of
|
| 591 |
+
this License, without any additional terms or conditions.
|
| 592 |
+
Notwithstanding the above, nothing herein shall supersede or modify
|
| 593 |
+
the terms of any separate license agreement you may have executed
|
| 594 |
+
with Licensor regarding such Contributions.
|
| 595 |
+
|
| 596 |
+
6. Trademarks. This License does not grant permission to use the trade
|
| 597 |
+
names, trademarks, service marks, or product names of the Licensor,
|
| 598 |
+
except as required for reasonable and customary use in describing the
|
| 599 |
+
origin of the Work and reproducing the content of the NOTICE file.
|
| 600 |
+
|
| 601 |
+
7. Disclaimer of Warranty. Unless required by applicable law or
|
| 602 |
+
agreed to in writing, Licensor provides the Work (and each
|
| 603 |
+
Contributor provides its Contributions) on an "AS IS" BASIS,
|
| 604 |
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
| 605 |
+
implied, including, without limitation, any warranties or conditions
|
| 606 |
+
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
| 607 |
+
PARTICULAR PURPOSE. You are solely responsible for determining the
|
| 608 |
+
appropriateness of using or redistributing the Work and assume any
|
| 609 |
+
risks associated with Your exercise of permissions under this License.
|
| 610 |
+
|
| 611 |
+
8. Limitation of Liability. In no event and under no legal theory,
|
| 612 |
+
whether in tort (including negligence), contract, or otherwise,
|
| 613 |
+
unless required by applicable law (such as deliberate and grossly
|
| 614 |
+
negligent acts) or agreed to in writing, shall any Contributor be
|
| 615 |
+
liable to You for damages, including any direct, indirect, special,
|
| 616 |
+
incidental, or consequential damages of any character arising as a
|
| 617 |
+
result of this License or out of the use or inability to use the
|
| 618 |
+
Work (including but not limited to damages for loss of goodwill,
|
| 619 |
+
work stoppage, computer failure or malfunction, or any and all
|
| 620 |
+
other commercial damages or losses), even if such Contributor
|
| 621 |
+
has been advised of the possibility of such damages.
|
| 622 |
+
|
| 623 |
+
9. Accepting Warranty or Additional Liability. While redistributing
|
| 624 |
+
the Work or Derivative Works thereof, You may choose to offer,
|
| 625 |
+
and charge a fee for, acceptance of support, warranty, indemnity,
|
| 626 |
+
or other liability obligations and/or rights consistent with this
|
| 627 |
+
License. However, in accepting such obligations, You may act only
|
| 628 |
+
on Your own behalf and on Your sole responsibility, not on behalf
|
| 629 |
+
of any other Contributor, and only if You agree to indemnify,
|
| 630 |
+
defend, and hold each Contributor harmless for any liability
|
| 631 |
+
incurred by, or claims asserted against, such Contributor by reason
|
| 632 |
+
of your accepting any such warranty or additional liability.
|
| 633 |
+
```
|
| 634 |
+
|
| 635 |
+
### `rxjs` 7.8.2
|
| 636 |
+
|
| 637 |
+
```text
|
| 638 |
+
Apache License
|
| 639 |
+
Version 2.0, January 2004
|
| 640 |
+
http://www.apache.org/licenses/
|
| 641 |
+
|
| 642 |
+
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
| 643 |
+
|
| 644 |
+
1. Definitions.
|
| 645 |
+
|
| 646 |
+
"License" shall mean the terms and conditions for use, reproduction,
|
| 647 |
+
and distribution as defined by Sections 1 through 9 of this document.
|
| 648 |
+
|
| 649 |
+
"Licensor" shall mean the copyright owner or entity authorized by
|
| 650 |
+
the copyright owner that is granting the License.
|
| 651 |
+
|
| 652 |
+
"Legal Entity" shall mean the union of the acting entity and all
|
| 653 |
+
other entities that control, are controlled by, or are under common
|
| 654 |
+
control with that entity. For the purposes of this definition,
|
| 655 |
+
"control" means (i) the power, direct or indirect, to cause the
|
| 656 |
+
direction or management of such entity, whether by contract or
|
| 657 |
+
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
| 658 |
+
outstanding shares, or (iii) beneficial ownership of such entity.
|
| 659 |
+
|
| 660 |
+
"You" (or "Your") shall mean an individual or Legal Entity
|
| 661 |
+
exercising permissions granted by this License.
|
| 662 |
+
|
| 663 |
+
"Source" form shall mean the preferred form for making modifications,
|
| 664 |
+
including but not limited to software source code, documentation
|
| 665 |
+
source, and configuration files.
|
| 666 |
+
|
| 667 |
+
"Object" form shall mean any form resulting from mechanical
|
| 668 |
+
transformation or translation of a Source form, including but
|
| 669 |
+
not limited to compiled object code, generated documentation,
|
| 670 |
+
and conversions to other media types.
|
| 671 |
+
|
| 672 |
+
"Work" shall mean the work of authorship, whether in Source or
|
| 673 |
+
Object form, made available under the License, as indicated by a
|
| 674 |
+
copyright notice that is included in or attached to the work
|
| 675 |
+
(an example is provided in the Appendix below).
|
| 676 |
+
|
| 677 |
+
"Derivative Works" shall mean any work, whether in Source or Object
|
| 678 |
+
form, that is based on (or derived from) the Work and for which the
|
| 679 |
+
editorial revisions, annotations, elaborations, or other modifications
|
| 680 |
+
represent, as a whole, an original work of authorship. For the purposes
|
| 681 |
+
of this License, Derivative Works shall not include works that remain
|
| 682 |
+
separable from, or merely link (or bind by name) to the interfaces of,
|
| 683 |
+
the Work and Derivative Works thereof.
|
| 684 |
+
|
| 685 |
+
"Contribution" shall mean any work of authorship, including
|
| 686 |
+
the original version of the Work and any modifications or additions
|
| 687 |
+
to that Work or Derivative Works thereof, that is intentionally
|
| 688 |
+
submitted to Licensor for inclusion in the Work by the copyright owner
|
| 689 |
+
or by an individual or Legal Entity authorized to submit on behalf of
|
| 690 |
+
the copyright owner. For the purposes of this definition, "submitted"
|
| 691 |
+
means any form of electronic, verbal, or written communication sent
|
| 692 |
+
to the Licensor or its representatives, including but not limited to
|
| 693 |
+
communication on electronic mailing lists, source code control systems,
|
| 694 |
+
and issue tracking systems that are managed by, or on behalf of, the
|
| 695 |
+
Licensor for the purpose of discussing and improving the Work, but
|
| 696 |
+
excluding communication that is conspicuously marked or otherwise
|
| 697 |
+
designated in writing by the copyright owner as "Not a Contribution."
|
| 698 |
+
|
| 699 |
+
"Contributor" shall mean Licensor and any individual or Legal Entity
|
| 700 |
+
on behalf of whom a Contribution has been received by Licensor and
|
| 701 |
+
subsequently incorporated within the Work.
|
| 702 |
+
|
| 703 |
+
2. Grant of Copyright License. Subject to the terms and conditions of
|
| 704 |
+
this License, each Contributor hereby grants to You a perpetual,
|
| 705 |
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
| 706 |
+
copyright license to reproduce, prepare Derivative Works of,
|
| 707 |
+
publicly display, publicly perform, sublicense, and distribute the
|
| 708 |
+
Work and such Derivative Works in Source or Object form.
|
| 709 |
+
|
| 710 |
+
3. Grant of Patent License. Subject to the terms and conditions of
|
| 711 |
+
this License, each Contributor hereby grants to You a perpetual,
|
| 712 |
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
| 713 |
+
(except as stated in this section) patent license to make, have made,
|
| 714 |
+
use, offer to sell, sell, import, and otherwise transfer the Work,
|
| 715 |
+
where such license applies only to those patent claims licensable
|
| 716 |
+
by such Contributor that are necessarily infringed by their
|
| 717 |
+
Contribution(s) alone or by combination of their Contribution(s)
|
| 718 |
+
with the Work to which such Contribution(s) was submitted. If You
|
| 719 |
+
institute patent litigation against any entity (including a
|
| 720 |
+
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
| 721 |
+
or a Contribution incorporated within the Work constitutes direct
|
| 722 |
+
or contributory patent infringement, then any patent licenses
|
| 723 |
+
granted to You under this License for that Work shall terminate
|
| 724 |
+
as of the date such litigation is filed.
|
| 725 |
+
|
| 726 |
+
4. Redistribution. You may reproduce and distribute copies of the
|
| 727 |
+
Work or Derivative Works thereof in any medium, with or without
|
| 728 |
+
modifications, and in Source or Object form, provided that You
|
| 729 |
+
meet the following conditions:
|
| 730 |
+
|
| 731 |
+
(a) You must give any other recipients of the Work or
|
| 732 |
+
Derivative Works a copy of this License; and
|
| 733 |
+
|
| 734 |
+
(b) You must cause any modified files to carry prominent notices
|
| 735 |
+
stating that You changed the files; and
|
| 736 |
+
|
| 737 |
+
(c) You must retain, in the Source form of any Derivative Works
|
| 738 |
+
that You distribute, all copyright, patent, trademark, and
|
| 739 |
+
attribution notices from the Source form of the Work,
|
| 740 |
+
excluding those notices that do not pertain to any part of
|
| 741 |
+
the Derivative Works; and
|
| 742 |
+
|
| 743 |
+
(d) If the Work includes a "NOTICE" text file as part of its
|
| 744 |
+
distribution, then any Derivative Works that You distribute must
|
| 745 |
+
include a readable copy of the attribution notices contained
|
| 746 |
+
within such NOTICE file, excluding those notices that do not
|
| 747 |
+
pertain to any part of the Derivative Works, in at least one
|
| 748 |
+
of the following places: within a NOTICE text file distributed
|
| 749 |
+
as part of the Derivative Works; within the Source form or
|
| 750 |
+
documentation, if provided along with the Derivative Works; or,
|
| 751 |
+
within a display generated by the Derivative Works, if and
|
| 752 |
+
wherever such third-party notices normally appear. The contents
|
| 753 |
+
of the NOTICE file are for informational purposes only and
|
| 754 |
+
do not modify the License. You may add Your own attribution
|
| 755 |
+
notices within Derivative Works that You distribute, alongside
|
| 756 |
+
or as an addendum to the NOTICE text from the Work, provided
|
| 757 |
+
that such additional attribution notices cannot be construed
|
| 758 |
+
as modifying the License.
|
| 759 |
+
|
| 760 |
+
You may add Your own copyright statement to Your modifications and
|
| 761 |
+
may provide additional or different license terms and conditions
|
| 762 |
+
for use, reproduction, or distribution of Your modifications, or
|
| 763 |
+
for any such Derivative Works as a whole, provided Your use,
|
| 764 |
+
reproduction, and distribution of the Work otherwise complies with
|
| 765 |
+
the conditions stated in this License.
|
| 766 |
+
|
| 767 |
+
5. Submission of Contributions. Unless You explicitly state otherwise,
|
| 768 |
+
any Contribution intentionally submitted for inclusion in the Work
|
| 769 |
+
by You to the Licensor shall be under the terms and conditions of
|
| 770 |
+
this License, without any additional terms or conditions.
|
| 771 |
+
Notwithstanding the above, nothing herein shall supersede or modify
|
| 772 |
+
the terms of any separate license agreement you may have executed
|
| 773 |
+
with Licensor regarding such Contributions.
|
| 774 |
+
|
| 775 |
+
6. Trademarks. This License does not grant permission to use the trade
|
| 776 |
+
names, trademarks, service marks, or product names of the Licensor,
|
| 777 |
+
except as required for reasonable and customary use in describing the
|
| 778 |
+
origin of the Work and reproducing the content of the NOTICE file.
|
| 779 |
+
|
| 780 |
+
7. Disclaimer of Warranty. Unless required by applicable law or
|
| 781 |
+
agreed to in writing, Licensor provides the Work (and each
|
| 782 |
+
Contributor provides its Contributions) on an "AS IS" BASIS,
|
| 783 |
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
| 784 |
+
implied, including, without limitation, any warranties or conditions
|
| 785 |
+
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
| 786 |
+
PARTICULAR PURPOSE. You are solely responsible for determining the
|
| 787 |
+
appropriateness of using or redistributing the Work and assume any
|
| 788 |
+
risks associated with Your exercise of permissions under this License.
|
| 789 |
+
|
| 790 |
+
8. Limitation of Liability. In no event and under no legal theory,
|
| 791 |
+
whether in tort (including negligence), contract, or otherwise,
|
| 792 |
+
unless required by applicable law (such as deliberate and grossly
|
| 793 |
+
negligent acts) or agreed to in writing, shall any Contributor be
|
| 794 |
+
liable to You for damages, including any direct, indirect, special,
|
| 795 |
+
incidental, or consequential damages of any character arising as a
|
| 796 |
+
result of this License or out of the use or inability to use the
|
| 797 |
+
Work (including but not limited to damages for loss of goodwill,
|
| 798 |
+
work stoppage, computer failure or malfunction, or any and all
|
| 799 |
+
other commercial damages or losses), even if such Contributor
|
| 800 |
+
has been advised of the possibility of such damages.
|
| 801 |
+
|
| 802 |
+
9. Accepting Warranty or Additional Liability. While redistributing
|
| 803 |
+
the Work or Derivative Works thereof, You may choose to offer,
|
| 804 |
+
and charge a fee for, acceptance of support, warranty, indemnity,
|
| 805 |
+
or other liability obligations and/or rights consistent with this
|
| 806 |
+
License. However, in accepting such obligations, You may act only
|
| 807 |
+
on Your own behalf and on Your sole responsibility, not on behalf
|
| 808 |
+
of any other Contributor, and only if You agree to indemnify,
|
| 809 |
+
defend, and hold each Contributor harmless for any liability
|
| 810 |
+
incurred by, or claims asserted against, such Contributor by reason
|
| 811 |
+
of your accepting any such warranty or additional liability.
|
| 812 |
+
|
| 813 |
+
END OF TERMS AND CONDITIONS
|
| 814 |
+
|
| 815 |
+
APPENDIX: How to apply the Apache License to your work.
|
| 816 |
+
|
| 817 |
+
To apply the Apache License to your work, attach the following
|
| 818 |
+
boilerplate notice, with the fields enclosed by brackets "[]"
|
| 819 |
+
replaced with your own identifying information. (Don't include
|
| 820 |
+
the brackets!) The text should be enclosed in the appropriate
|
| 821 |
+
comment syntax for the file format. We also recommend that a
|
| 822 |
+
file or class name and description of purpose be included on the
|
| 823 |
+
same "printed page" as the copyright notice for easier
|
| 824 |
+
identification within third-party archives.
|
| 825 |
+
|
| 826 |
+
Copyright (c) 2015-2018 Google, Inc., Netflix, Inc., Microsoft Corp. and contributors
|
| 827 |
+
|
| 828 |
+
Licensed under the Apache License, Version 2.0 (the "License");
|
| 829 |
+
you may not use this file except in compliance with the License.
|
| 830 |
+
You may obtain a copy of the License at
|
| 831 |
+
|
| 832 |
+
http://www.apache.org/licenses/LICENSE-2.0
|
| 833 |
+
|
| 834 |
+
Unless required by applicable law or agreed to in writing, software
|
| 835 |
+
distributed under the License is distributed on an "AS IS" BASIS,
|
| 836 |
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
| 837 |
+
See the License for the specific language governing permissions and
|
| 838 |
+
limitations under the License.
|
| 839 |
+
```
|
| 840 |
+
|
| 841 |
+
### `webrtc-adapter` 9.0.6
|
| 842 |
+
|
| 843 |
+
```text
|
| 844 |
+
Copyright (c) 2014, The WebRTC project authors. All rights reserved.
|
| 845 |
+
Copyright (c) 2018, The adapter.js project authors. All rights reserved.
|
| 846 |
+
|
| 847 |
+
Redistribution and use in source and binary forms, with or without
|
| 848 |
+
modification, are permitted provided that the following conditions are
|
| 849 |
+
met:
|
| 850 |
+
|
| 851 |
+
* Redistributions of source code must retain the above copyright
|
| 852 |
+
notice, this list of conditions and the following disclaimer.
|
| 853 |
+
|
| 854 |
+
* Redistributions in binary form must reproduce the above copyright
|
| 855 |
+
notice, this list of conditions and the following disclaimer in
|
| 856 |
+
the documentation and/or other materials provided with the
|
| 857 |
+
distribution.
|
| 858 |
+
|
| 859 |
+
* Neither the name of Google nor the names of its contributors may
|
| 860 |
+
be used to endorse or promote products derived from this software
|
| 861 |
+
without specific prior written permission.
|
| 862 |
+
|
| 863 |
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
| 864 |
+
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
| 865 |
+
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
| 866 |
+
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
| 867 |
+
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
| 868 |
+
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
| 869 |
+
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
| 870 |
+
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
| 871 |
+
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
| 872 |
+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
| 873 |
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
| 874 |
+
```
|
| 875 |
+
|
| 876 |
+
### `tslib` 2.8.1
|
| 877 |
+
|
| 878 |
+
```text
|
| 879 |
+
Copyright (c) Microsoft Corporation.
|
| 880 |
+
|
| 881 |
+
Permission to use, copy, modify, and/or distribute this software for any
|
| 882 |
+
purpose with or without fee is hereby granted.
|
| 883 |
+
|
| 884 |
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
| 885 |
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
| 886 |
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
| 887 |
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
| 888 |
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
| 889 |
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
| 890 |
+
PERFORMANCE OF THIS SOFTWARE.
|
| 891 |
+
```
|
| 892 |
+
|
| 893 |
+
### `events` 3.3.0
|
| 894 |
+
|
| 895 |
+
```text
|
| 896 |
+
MIT
|
| 897 |
+
|
| 898 |
+
Copyright Joyent, Inc. and other Node contributors.
|
| 899 |
+
|
| 900 |
+
Permission is hereby granted, free of charge, to any person obtaining a
|
| 901 |
+
copy of this software and associated documentation files (the
|
| 902 |
+
"Software"), to deal in the Software without restriction, including
|
| 903 |
+
without limitation the rights to use, copy, modify, merge, publish,
|
| 904 |
+
distribute, sublicense, and/or sell copies of the Software, and to permit
|
| 905 |
+
persons to whom the Software is furnished to do so, subject to the
|
| 906 |
+
following conditions:
|
| 907 |
+
|
| 908 |
+
The above copyright notice and this permission notice shall be included
|
| 909 |
+
in all copies or substantial portions of the Software.
|
| 910 |
+
|
| 911 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
| 912 |
+
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
| 913 |
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
|
| 914 |
+
NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
| 915 |
+
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
| 916 |
+
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
|
| 917 |
+
USE OR OTHER DEALINGS IN THE SOFTWARE.
|
| 918 |
+
```
|
| 919 |
+
|
| 920 |
+
### `jose` 6.2.10
|
| 921 |
+
|
| 922 |
+
```text
|
| 923 |
+
The MIT License (MIT)
|
| 924 |
+
|
| 925 |
+
Copyright (c) 2018 Filip Skokan
|
| 926 |
+
|
| 927 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
| 928 |
+
of this software and associated documentation files (the "Software"), to deal
|
| 929 |
+
in the Software without restriction, including without limitation the rights
|
| 930 |
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
| 931 |
+
copies of the Software, and to permit persons to whom the Software is
|
| 932 |
+
furnished to do so, subject to the following conditions:
|
| 933 |
+
|
| 934 |
+
The above copyright notice and this permission notice shall be included in all
|
| 935 |
+
copies or substantial portions of the Software.
|
| 936 |
+
|
| 937 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
| 938 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
| 939 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
| 940 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
| 941 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
| 942 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
| 943 |
+
SOFTWARE.
|
| 944 |
+
```
|
| 945 |
+
|
| 946 |
+
### `loglevel` 1.9.2
|
| 947 |
+
|
| 948 |
+
```text
|
| 949 |
+
Copyright (c) 2013 Tim Perry
|
| 950 |
+
|
| 951 |
+
Permission is hereby granted, free of charge, to any person
|
| 952 |
+
obtaining a copy of this software and associated documentation
|
| 953 |
+
files (the "Software"), to deal in the Software without
|
| 954 |
+
restriction, including without limitation the rights to use,
|
| 955 |
+
copy, modify, merge, publish, distribute, sublicense, and/or sell
|
| 956 |
+
copies of the Software, and to permit persons to whom the
|
| 957 |
+
Software is furnished to do so, subject to the following
|
| 958 |
+
conditions:
|
| 959 |
+
|
| 960 |
+
The above copyright notice and this permission notice shall be
|
| 961 |
+
included in all copies or substantial portions of the Software.
|
| 962 |
+
|
| 963 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
| 964 |
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
| 965 |
+
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
| 966 |
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
| 967 |
+
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
| 968 |
+
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
| 969 |
+
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
| 970 |
+
OTHER DEALINGS IN THE SOFTWARE.
|
| 971 |
+
```
|
| 972 |
+
|
| 973 |
+
### `machina` 7.0.1
|
| 974 |
+
|
| 975 |
+
```text
|
| 976 |
+
Copyright (c) 2011-2023 Jim Cowart (MIT License)
|
| 977 |
+
|
| 978 |
+
Permission is hereby granted, free of charge, to any person
|
| 979 |
+
obtaining a copy of this software and associated documentation
|
| 980 |
+
files (the "Software"), to deal in the Software without
|
| 981 |
+
restriction, including without limitation the rights to use,
|
| 982 |
+
copy, modify, merge, publish, distribute, sublicense, and/or sell
|
| 983 |
+
copies of the Software, and to permit persons to whom the
|
| 984 |
+
Software is furnished to do so, subject to the following
|
| 985 |
+
conditions:
|
| 986 |
+
|
| 987 |
+
The above copyright notice and this permission notice shall be
|
| 988 |
+
included in all copies or substantial portions of the Software.
|
| 989 |
+
|
| 990 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
| 991 |
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
| 992 |
+
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
| 993 |
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
| 994 |
+
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
| 995 |
+
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
| 996 |
+
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
| 997 |
+
OTHER DEALINGS IN THE SOFTWARE.
|
| 998 |
+
|
| 999 |
+
See http://opensource.org/licenses/MIT for more details.
|
| 1000 |
+
|
| 1001 |
+
--------------------------------------------------------------------
|
| 1002 |
+
Also available under GPL 2.0
|
| 1003 |
+
Copyright (c) 2011-2015 Jim Cowart (GPL-2.0 License)
|
| 1004 |
+
|
| 1005 |
+
This program is free software; you can redistribute it and/or modify
|
| 1006 |
+
it under the terms of the GNU General Public License as published by
|
| 1007 |
+
the Free Software Foundation; either version 2 of the License, or (at
|
| 1008 |
+
your option) any later version.
|
| 1009 |
+
|
| 1010 |
+
This program is distributed in the hope that it will be useful, but
|
| 1011 |
+
WITHOUT ANY WARRANTY; without even the implied warranty of
|
| 1012 |
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
| 1013 |
+
General Public License for more details.
|
| 1014 |
+
|
| 1015 |
+
See http://opensource.org/licenses/GPL-2.0 for more details
|
| 1016 |
+
|
| 1017 |
+
--------------------------------------------------------------------
|
| 1018 |
+
|
| 1019 |
+
The extend function included in machina was very heavily borrowed
|
| 1020 |
+
from the backbone.js project, which can be found at http://backbonejs.org.
|
| 1021 |
+
Due to its origin, the backbone license is included below as well.
|
| 1022 |
+
|
| 1023 |
+
Copyright (c) 2010-2012 Jeremy Ashkenas, DocumentCloud
|
| 1024 |
+
|
| 1025 |
+
Permission is hereby granted, free of charge, to any person
|
| 1026 |
+
obtaining a copy of this software and associated documentation
|
| 1027 |
+
files (the "Software"), to deal in the Software without
|
| 1028 |
+
restriction, including without limitation the rights to use,
|
| 1029 |
+
copy, modify, merge, publish, distribute, sublicense, and/or sell
|
| 1030 |
+
copies of the Software, and to permit persons to whom the
|
| 1031 |
+
Software is furnished to do so, subject to the following
|
| 1032 |
+
conditions:
|
| 1033 |
+
|
| 1034 |
+
The above copyright notice and this permission notice shall be
|
| 1035 |
+
included in all copies or substantial portions of the Software.
|
| 1036 |
+
|
| 1037 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
| 1038 |
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
| 1039 |
+
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
| 1040 |
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
| 1041 |
+
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
| 1042 |
+
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
| 1043 |
+
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
| 1044 |
+
OTHER DEALINGS IN THE SOFTWARE.
|
| 1045 |
+
```
|
| 1046 |
+
|
| 1047 |
+
### `sdp` 3.2.2
|
| 1048 |
+
|
| 1049 |
+
```text
|
| 1050 |
+
Copyright (c) 2017 Philipp Hancke
|
| 1051 |
+
|
| 1052 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
| 1053 |
+
of this software and associated documentation files (the "Software"), to deal
|
| 1054 |
+
in the Software without restriction, including without limitation the rights
|
| 1055 |
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
| 1056 |
+
copies of the Software, and to permit persons to whom the Software is
|
| 1057 |
+
furnished to do so, subject to the following conditions:
|
| 1058 |
+
|
| 1059 |
+
The above copyright notice and this permission notice shall be included in all
|
| 1060 |
+
copies or substantial portions of the Software.
|
| 1061 |
+
|
| 1062 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
| 1063 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
| 1064 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
| 1065 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
| 1066 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
| 1067 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
| 1068 |
+
SOFTWARE.
|
| 1069 |
+
```
|
| 1070 |
+
|
| 1071 |
+
### `sdp-transform` 2.15.0
|
| 1072 |
+
|
| 1073 |
+
```text
|
| 1074 |
+
(The MIT License)
|
| 1075 |
+
|
| 1076 |
+
Copyright (c) 2013 Eirik Albrigtsen
|
| 1077 |
+
|
| 1078 |
+
Permission is hereby granted, free of charge, to any person obtaining
|
| 1079 |
+
a copy of this software and associated documentation files (the
|
| 1080 |
+
'Software'), to deal in the Software without restriction, including
|
| 1081 |
+
without limitation the rights to use, copy, modify, merge, publish,
|
| 1082 |
+
distribute, sublicense, and/or sell copies of the Software, and to
|
| 1083 |
+
permit persons to whom the Software is furnished to do so, subject to
|
| 1084 |
+
the following conditions:
|
| 1085 |
+
|
| 1086 |
+
The above copyright notice and this permission notice shall be
|
| 1087 |
+
included in all copies or substantial portions of the Software.
|
| 1088 |
+
|
| 1089 |
+
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
|
| 1090 |
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
| 1091 |
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
| 1092 |
+
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
| 1093 |
+
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
| 1094 |
+
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
| 1095 |
+
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
| 1096 |
+
```
|
| 1097 |
+
|
| 1098 |
+
### `typed-emitter` 2.1.0
|
| 1099 |
+
|
| 1100 |
+
```text
|
| 1101 |
+
The MIT License (MIT)
|
| 1102 |
+
|
| 1103 |
+
Copyright (c) 2018 Andy Wermke
|
| 1104 |
+
|
| 1105 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
| 1106 |
+
of this software and associated documentation files (the "Software"), to deal
|
| 1107 |
+
in the Software without restriction, including without limitation the rights
|
| 1108 |
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
| 1109 |
+
copies of the Software, and to permit persons to whom the Software is
|
| 1110 |
+
furnished to do so, subject to the following conditions:
|
| 1111 |
+
|
| 1112 |
+
The above copyright notice and this permission notice shall be included in
|
| 1113 |
+
all copies or substantial portions of the Software.
|
| 1114 |
+
|
| 1115 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
| 1116 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
| 1117 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
| 1118 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
| 1119 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
| 1120 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
| 1121 |
+
THE SOFTWARE.
|
| 1122 |
+
```
|
| 1123 |
+
|
| 1124 |
+
## Python dependency notices for release 1.7.0
|
| 1125 |
+
|
| 1126 |
+
The license texts linked below were copied from the installed, locked distributions used for this release. They include Authlib, joserfc and httpx2 as actually installed. Runtime and development/build scope are distinguished. These records do not change third-party license terms or establish legal compatibility.
|
| 1127 |
+
|
| 1128 |
+
| Package | Version | Scope | License evidence |
|
| 1129 |
+
|---|---|---|---|
|
| 1130 |
+
| annotated-doc | 0.0.5 | release-runtime | MIT; [ee27fe45-LICENSE](docs/ip/python_licenses/annotated-doc-0.0.5/ee27fe45-LICENSE) |
|
| 1131 |
+
| annotated-types | 0.8.0 | release-runtime | MIT; [289bfef3-LICENSE](docs/ip/python_licenses/annotated-types-0.8.0/289bfef3-LICENSE) |
|
| 1132 |
+
| anyio | 4.14.2 | release-runtime | MIT; [9ef47b44-LICENSE](docs/ip/python_licenses/anyio-4.14.2/9ef47b44-LICENSE) |
|
| 1133 |
+
| Authlib | 1.8.0 | release-runtime | License :: OSI Approved :: BSD License; [0dcb0ec2-LICENSE](docs/ip/python_licenses/authlib-1.8.0/0dcb0ec2-LICENSE) |
|
| 1134 |
+
| brotli | 1.2.0 | release-runtime | Metadata/texts; see manifest; [5927d884-LICENSE](docs/ip/python_licenses/brotli-1.2.0/5927d884-LICENSE) |
|
| 1135 |
+
| certifi | 2026.7.22 | release-runtime | License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0); [c1aedbaa-LICENSE](docs/ip/python_licenses/certifi-2026.7.22/c1aedbaa-LICENSE) |
|
| 1136 |
+
| cffi | 2.1.1 | release-runtime | MIT-0; [2e2d841f-LICENSE](docs/ip/python_licenses/cffi-2.1.1/2e2d841f-LICENSE) |
|
| 1137 |
+
| charset-normalizer | 3.5.1 | release-runtime | Metadata/texts; see manifest; [28e1644c-LICENSE](docs/ip/python_licenses/charset-normalizer-3.5.1/28e1644c-LICENSE) |
|
| 1138 |
+
| click | 8.5.0 | release-runtime | BSD-3-Clause; [1c294ee0-LICENSE.txt](docs/ip/python_licenses/click-8.5.0/1c294ee0-LICENSE.txt) |
|
| 1139 |
+
| contourpy | 1.3.3 | release-runtime | License :: OSI Approved :: BSD License; [19fd8c3d-LICENSE](docs/ip/python_licenses/contourpy-1.3.3/19fd8c3d-LICENSE) |
|
| 1140 |
+
| cryptography | 50.0.1 | release-runtime | Apache-2.0 OR BSD-3-Clause; [385b4da6-LICENSE](docs/ip/python_licenses/cryptography-50.0.1/385b4da6-LICENSE), [db31d16a-LICENSE.APACHE](docs/ip/python_licenses/cryptography-50.0.1/db31d16a-LICENSE.APACHE), [04b8f74b-LICENSE.BSD](docs/ip/python_licenses/cryptography-50.0.1/04b8f74b-LICENSE.BSD) |
|
| 1141 |
+
| cycler | 0.12.1 | release-runtime | License :: OSI Approved :: BSD License; [4e2f52aa-LICENSE](docs/ip/python_licenses/cycler-0.12.1/4e2f52aa-LICENSE) |
|
| 1142 |
+
| distro | 1.9.0 | release-runtime | License :: OSI Approved :: Apache Software License; [c84a90c8-LICENSE](docs/ip/python_licenses/distro-1.9.0/c84a90c8-LICENSE) |
|
| 1143 |
+
| fastapi | 0.141.1 | release-runtime | MIT; [a1502cf3-LICENSE](docs/ip/python_licenses/fastapi-0.141.1/a1502cf3-LICENSE) |
|
| 1144 |
+
| filelock | 3.32.4 | release-runtime | MIT; [04755112-LICENSE](docs/ip/python_licenses/filelock-3.32.4/04755112-LICENSE) |
|
| 1145 |
+
| fonttools | 4.64.0 | release-runtime | Metadata/texts; see manifest; [bef658bc-LICENSE](docs/ip/python_licenses/fonttools-4.64.0/bef658bc-LICENSE), [b30aa28f-LICENSE.external](docs/ip/python_licenses/fonttools-4.64.0/b30aa28f-LICENSE.external) |
|
| 1146 |
+
| fsspec | 2026.7.0 | release-runtime | BSD-3-Clause; [0f926ee2-LICENSE](docs/ip/python_licenses/fsspec-2026.7.0/0f926ee2-LICENSE) |
|
| 1147 |
+
| gradio | 6.24.0 | release-runtime | Apache-2.0; [6e5caf40-LICENSE](docs/ip/python_licenses/gradio-6.24.0/6e5caf40-LICENSE), [98eb6b65-LICENSE](docs/ip/python_licenses/gradio-6.24.0/98eb6b65-LICENSE), [d0379463-LICENSE](docs/ip/python_licenses/gradio-6.24.0/d0379463-LICENSE), [36e4ed03-LICENSE](docs/ip/python_licenses/gradio-6.24.0/36e4ed03-LICENSE), [e08e302c-LICENSE](docs/ip/python_licenses/gradio-6.24.0/e08e302c-LICENSE) |
|
| 1148 |
+
| gradio_client | 2.6.0 | release-runtime | Apache-2.0; [Canonical Apache License 2.0](docs/ip/python_licenses/gradio-client-2.6.0/APACHE-LICENSE-2.0.txt) paired with exact package license metadata; [provenance](docs/ip/gradio_client_license_provenance.json). No package-specific NOTICE was found in wheel/source distribution. |
|
| 1149 |
+
| groovy | 0.1.2 | release-runtime | License :: OSI Approved :: MIT License; [aa1c57ec-LICENSE](docs/ip/python_licenses/groovy-0.1.2/aa1c57ec-LICENSE) |
|
| 1150 |
+
| h11 | 0.16.0 | release-runtime | License :: OSI Approved :: MIT License; [39d084ff-LICENSE.txt](docs/ip/python_licenses/h11-0.16.0/39d084ff-LICENSE.txt) |
|
| 1151 |
+
| hf-gradio | 0.4.1 | release-runtime | MIT; [75958bf5-LICENSE](docs/ip/python_licenses/hf-gradio-0.4.1/75958bf5-LICENSE) |
|
| 1152 |
+
| hf-xet | 1.6.0 | release-runtime | Apache-2.0; [42ca6e26-LICENSE](docs/ip/python_licenses/hf-xet-1.6.0/42ca6e26-LICENSE) |
|
| 1153 |
+
| httpcore | 1.0.9 | release-runtime | BSD-3-Clause; [b6618d8d-LICENSE.md](docs/ip/python_licenses/httpcore-1.0.9/b6618d8d-LICENSE.md) |
|
| 1154 |
+
| httpcore2 | 2.12.0 | release-runtime | BSD-3-Clause; [5a530193-LICENSE.md](docs/ip/python_licenses/httpcore2-2.12.0/5a530193-LICENSE.md) |
|
| 1155 |
+
| httpx | 0.28.1 | release-runtime | License :: OSI Approved :: BSD License; [1a79882f-LICENSE.md](docs/ip/python_licenses/httpx-0.28.1/1a79882f-LICENSE.md) |
|
| 1156 |
+
| httpx2 | 2.12.0 | release-runtime | BSD-3-Clause; [63bf7d5c-LICENSE.md](docs/ip/python_licenses/httpx2-2.12.0/63bf7d5c-LICENSE.md) |
|
| 1157 |
+
| huggingface_hub | 1.27.0 | release-runtime | License :: OSI Approved :: Apache Software License; [0caf54be-LICENSE](docs/ip/python_licenses/huggingface-hub-1.27.0/0caf54be-LICENSE) |
|
| 1158 |
+
| idna | 3.19 | release-runtime | BSD-3-Clause; [acdc9303-LICENSE.md](docs/ip/python_licenses/idna-3.19/acdc9303-LICENSE.md) |
|
| 1159 |
+
| iniconfig | 2.3.0 | locked-development-or-build | MIT; [7be90225-LICENSE](docs/ip/python_licenses/iniconfig-2.3.0/7be90225-LICENSE) |
|
| 1160 |
+
| Jinja2 | 3.1.6 | release-runtime | License :: OSI Approved :: BSD License; [b0ec1e61-LICENSE.txt](docs/ip/python_licenses/jinja2-3.1.6/b0ec1e61-LICENSE.txt) |
|
| 1161 |
+
| jiter | 0.16.0 | release-runtime | MIT; [67d87e5c-LICENSE](docs/ip/python_licenses/jiter-0.16.0/67d87e5c-LICENSE) |
|
| 1162 |
+
| joserfc | 1.7.5 | release-runtime | License :: OSI Approved :: BSD License; [acf310f1-LICENSE](docs/ip/python_licenses/joserfc-1.7.5/acf310f1-LICENSE) |
|
| 1163 |
+
| kiwisolver | 1.5.1 | release-runtime | License :: OSI Approved :: BSD License; [23ee68f7-LICENSE](docs/ip/python_licenses/kiwisolver-1.5.1/23ee68f7-LICENSE) |
|
| 1164 |
+
| libsql | 0.1.11 | release-runtime | Metadata/texts; see manifest; [fa97a58b-LICENSE.md](docs/ip/python_licenses/libsql-0.1.11/fa97a58b-LICENSE.md) |
|
| 1165 |
+
| lxml | 6.1.3 | release-runtime | Metadata/texts; see manifest; [792e684e-LICENSE.txt](docs/ip/python_licenses/lxml-6.1.3/792e684e-LICENSE.txt) |
|
| 1166 |
+
| markdown-it-py | 4.2.0 | release-runtime | License :: OSI Approved :: MIT License; [d0465fdc-LICENSE](docs/ip/python_licenses/markdown-it-py-4.2.0/d0465fdc-LICENSE), [b883c1f0-LICENSE.markdown-it](docs/ip/python_licenses/markdown-it-py-4.2.0/b883c1f0-LICENSE.markdown-it) |
|
| 1167 |
+
| MarkupSafe | 3.0.3 | release-runtime | BSD-3-Clause; [2102cfff-LICENSE.txt](docs/ip/python_licenses/markupsafe-3.0.3/2102cfff-LICENSE.txt) |
|
| 1168 |
+
| matplotlib | 3.10.8 | release-runtime | License :: OSI Approved :: Python Software Foundation License; [1b2617b9-LICENSE](docs/ip/python_licenses/matplotlib-3.10.8/1b2617b9-LICENSE) |
|
| 1169 |
+
| mdurl | 0.1.2 | release-runtime | License :: OSI Approved :: MIT License; [95bd6add-LICENSE](docs/ip/python_licenses/mdurl-0.1.2/95bd6add-LICENSE) |
|
| 1170 |
+
| mpmath | 1.3.0 | release-runtime | License :: OSI Approved :: BSD License; [21b64ce3-LICENSE](docs/ip/python_licenses/mpmath-1.3.0/21b64ce3-LICENSE) |
|
| 1171 |
+
| numpy | 2.5.2 | release-runtime | BSD-3-Clause AND 0BSD AND MIT AND Zlib AND CC0-1.0; [fb5540f4-LICENSE.txt](docs/ip/python_licenses/numpy-2.5.2/fb5540f4-LICENSE.txt), [87e91678-LICENSE.txt](docs/ip/python_licenses/numpy-2.5.2/87e91678-LICENSE.txt), [e4f92bad-COPYING](docs/ip/python_licenses/numpy-2.5.2/e4f92bad-COPYING), [9f8e40c5-LICENSE](docs/ip/python_licenses/numpy-2.5.2/9f8e40c5-LICENSE), [cd3c96ff-LICENSE.md](docs/ip/python_licenses/numpy-2.5.2/cd3c96ff-LICENSE.md), [95d0e166-LICENSE](docs/ip/python_licenses/numpy-2.5.2/95d0e166-LICENSE), [d0fb1067-LICENSE.md](docs/ip/python_licenses/numpy-2.5.2/d0fb1067-LICENSE.md), [c2e32b07-LICENSE.txt](docs/ip/python_licenses/numpy-2.5.2/c2e32b07-LICENSE.txt), [94c08f23-LICENSE](docs/ip/python_licenses/numpy-2.5.2/94c08f23-LICENSE), [2ee881cf-LICENSE.md](docs/ip/python_licenses/numpy-2.5.2/2ee881cf-LICENSE.md), [9d6c3b8d-LICENSE.md](docs/ip/python_licenses/numpy-2.5.2/9d6c3b8d-LICENSE.md), [954175b4-LICENSE.md](docs/ip/python_licenses/numpy-2.5.2/954175b4-LICENSE.md), [99d1a212-LICENSE.md](docs/ip/python_licenses/numpy-2.5.2/99d1a212-LICENSE.md), [fccf2a3b-LICENSE.md](docs/ip/python_licenses/numpy-2.5.2/fccf2a3b-LICENSE.md), [89589bca-LICENSE.md](docs/ip/python_licenses/numpy-2.5.2/89589bca-LICENSE.md), [23105799-LICENSE.md](docs/ip/python_licenses/numpy-2.5.2/23105799-LICENSE.md), [0f4ffb29-LICENSE.txt](docs/ip/python_licenses/numpy-2.5.2/0f4ffb29-LICENSE.txt), [ddfcf346-LICENSE](docs/ip/python_licenses/numpy-2.5.2/ddfcf346-LICENSE), [c21c9379-LICENSE.md](docs/ip/python_licenses/numpy-2.5.2/c21c9379-LICENSE.md) |
|
| 1172 |
+
| openai | 2.54.0 | release-runtime | License :: OSI Approved :: Apache Software License; [81adebaa-LICENSE](docs/ip/python_licenses/openai-2.54.0/81adebaa-LICENSE) |
|
| 1173 |
+
| orjson | 3.12.0 | release-runtime | MPL-2.0 AND (Apache-2.0 OR MIT); [3b52b294-LICENSE-APACHE](docs/ip/python_licenses/orjson-3.12.0/3b52b294-LICENSE-APACHE), [fdfef034-LICENSE-MIT](docs/ip/python_licenses/orjson-3.12.0/fdfef034-LICENSE-MIT), [bd633a0e-LICENSE-MPL-2.0](docs/ip/python_licenses/orjson-3.12.0/bd633a0e-LICENSE-MPL-2.0) |
|
| 1174 |
+
| packaging | 26.3 | release-runtime | Apache-2.0 OR BSD-2-Clause; [11c854e2-LICENSE](docs/ip/python_licenses/packaging-26.3/11c854e2-LICENSE), [e9a5bac8-LICENSE.APACHE](docs/ip/python_licenses/packaging-26.3/e9a5bac8-LICENSE.APACHE), [ef96a084-LICENSE.BSD](docs/ip/python_licenses/packaging-26.3/ef96a084-LICENSE.BSD) |
|
| 1175 |
+
| pandas | 2.3.3 | release-runtime | License :: OSI Approved :: BSD License; [631a102d-LICENSE](docs/ip/python_licenses/pandas-2.3.3/631a102d-LICENSE) |
|
| 1176 |
+
| pillow | 12.3.0 | release-runtime | MIT-CMU; [60b85706-LICENSE](docs/ip/python_licenses/pillow-12.3.0/60b85706-LICENSE) |
|
| 1177 |
+
| pluggy | 1.6.0 | locked-development-or-build | License :: OSI Approved :: MIT License; [a308a425-LICENSE](docs/ip/python_licenses/pluggy-1.6.0/a308a425-LICENSE) |
|
| 1178 |
+
| pycparser | 3.0 | release-runtime | BSD-3-Clause; [b4cf246d-LICENSE](docs/ip/python_licenses/pycparser-3.0/b4cf246d-LICENSE) |
|
| 1179 |
+
| pydantic | 2.13.5 | release-runtime | MIT; [ea58743d-LICENSE](docs/ip/python_licenses/pydantic-2.13.5/ea58743d-LICENSE) |
|
| 1180 |
+
| pydantic_core | 2.46.5 | release-runtime | MIT; [bd6c3cae-LICENSE](docs/ip/python_licenses/pydantic-core-2.46.5/bd6c3cae-LICENSE) |
|
| 1181 |
+
| pydub | 0.25.1 | release-runtime | License :: OSI Approved :: MIT License; [ea824f56-AUTHORS](docs/ip/python_licenses/pydub-0.25.1/ea824f56-AUTHORS), [ccd9e6d5-LICENSE](docs/ip/python_licenses/pydub-0.25.1/ccd9e6d5-LICENSE) |
|
| 1182 |
+
| Pygments | 2.21.0 | release-runtime | BSD-2-Clause; [34110d95-AUTHORS](docs/ip/python_licenses/pygments-2.21.0/34110d95-AUTHORS), [62c35449-LICENSE](docs/ip/python_licenses/pygments-2.21.0/62c35449-LICENSE) |
|
| 1183 |
+
| PyJWT | 2.13.0 | release-runtime | MIT; [35bb42f2-AUTHORS.rst](docs/ip/python_licenses/pyjwt-2.13.0/35bb42f2-AUTHORS.rst), [83214ab7-LICENSE](docs/ip/python_licenses/pyjwt-2.13.0/83214ab7-LICENSE) |
|
| 1184 |
+
| pyparsing | 3.3.2 | release-runtime | MIT; [325a1a4b-LICENSE](docs/ip/python_licenses/pyparsing-3.3.2/325a1a4b-LICENSE) |
|
| 1185 |
+
| pytest | 9.0.3 | locked-development-or-build | MIT; [5832e8fe-LICENSE](docs/ip/python_licenses/pytest-9.0.3/5832e8fe-LICENSE) |
|
| 1186 |
+
| python-dateutil | 2.9.0.post0 | release-runtime | License :: OSI Approved :: BSD License; License :: OSI Approved :: Apache Software License; [bd1e7a7d-LICENSE](docs/ip/python_licenses/python-dateutil-2.9.0.post0/bd1e7a7d-LICENSE) |
|
| 1187 |
+
| python-docx | 1.2.0 | release-runtime | License :: OSI Approved :: MIT License; [5af0446e-LICENSE](docs/ip/python_licenses/python-docx-1.2.0/5af0446e-LICENSE) |
|
| 1188 |
+
| python-multipart | 0.0.32 | release-runtime | Apache-2.0; [ca8b4405-LICENSE.txt](docs/ip/python_licenses/python-multipart-0.0.32/ca8b4405-LICENSE.txt) |
|
| 1189 |
+
| pytz | 2026.3.post1 | release-runtime | License :: OSI Approved :: MIT License; [1836a4fb-LICENSE.txt](docs/ip/python_licenses/pytz-2026.3.post1/1836a4fb-LICENSE.txt) |
|
| 1190 |
+
| PyYAML | 6.0.3 | release-runtime | License :: OSI Approved :: MIT License; [1f5c9467-LICENSE](docs/ip/python_licenses/pyyaml-6.0.3/1f5c9467-LICENSE) |
|
| 1191 |
+
| requests | 2.34.2 | release-runtime | License :: OSI Approved :: Apache Software License; [fb0b720c-LICENSE](docs/ip/python_licenses/requests-2.34.2/fb0b720c-LICENSE), [bd7b91af-NOTICE](docs/ip/python_licenses/requests-2.34.2/bd7b91af-NOTICE) |
|
| 1192 |
+
| rich | 15.0.0 | release-runtime | License :: OSI Approved :: MIT License; [bb9c3b1e-LICENSE](docs/ip/python_licenses/rich-15.0.0/bb9c3b1e-LICENSE) |
|
| 1193 |
+
| ruff | 0.16.5 | locked-development-or-build | MIT; [0a9aac48-LICENSE](docs/ip/python_licenses/ruff-0.16.5/0a9aac48-LICENSE) |
|
| 1194 |
+
| safehttpx | 0.1.7 | release-runtime | License :: OSI Approved :: MIT License; [733ab1ce-LICENSE](docs/ip/python_licenses/safehttpx-0.1.7/733ab1ce-LICENSE) |
|
| 1195 |
+
| semantic-version | 2.10.0 | release-runtime | License :: OSI Approved :: BSD License; [c758ddd4-LICENSE](docs/ip/python_licenses/semantic-version-2.10.0/c758ddd4-LICENSE) |
|
| 1196 |
+
| shellingham | 1.5.4 | release-runtime | License :: OSI Approved :: ISC License (ISCL); [e5daa4cc-LICENSE](docs/ip/python_licenses/shellingham-1.5.4/e5daa4cc-LICENSE) |
|
| 1197 |
+
| six | 1.17.0 | release-runtime | License :: OSI Approved :: MIT License; [3681ec3e-LICENSE](docs/ip/python_licenses/six-1.17.0/3681ec3e-LICENSE) |
|
| 1198 |
+
| sniffio | 1.3.1 | release-runtime | License :: OSI Approved :: MIT License; License :: OSI Approved :: Apache Software License; [e159a149-LICENSE](docs/ip/python_licenses/sniffio-1.3.1/e159a149-LICENSE), [954c7db5-LICENSE.APACHE2](docs/ip/python_licenses/sniffio-1.3.1/954c7db5-LICENSE.APACHE2), [b538e450-LICENSE.MIT](docs/ip/python_licenses/sniffio-1.3.1/b538e450-LICENSE.MIT) |
|
| 1199 |
+
| socksio | 1.0.0 | release-runtime | License :: OSI Approved :: MIT License; [7ec7f12c-LICENSE](docs/ip/python_licenses/socksio-1.0.0/7ec7f12c-LICENSE) |
|
| 1200 |
+
| starlette | 1.6.0 | release-runtime | BSD-3-Clause; [9d4b49ca-LICENSE.md](docs/ip/python_licenses/starlette-1.6.0/9d4b49ca-LICENSE.md) |
|
| 1201 |
+
| sympy | 1.14.0 | release-runtime | License :: OSI Approved :: BSD License; [5c2107f2-AUTHORS](docs/ip/python_licenses/sympy-1.14.0/5c2107f2-AUTHORS), [767eeaf7-LICENSE](docs/ip/python_licenses/sympy-1.14.0/767eeaf7-LICENSE), [94e2a313-LICENSE.txt](docs/ip/python_licenses/sympy-1.14.0/94e2a313-LICENSE.txt) |
|
| 1202 |
+
| tomlkit | 0.14.0 | release-runtime | License :: OSI Approved :: MIT License; [d7de5ded-LICENSE](docs/ip/python_licenses/tomlkit-0.14.0/d7de5ded-LICENSE) |
|
| 1203 |
+
| tqdm | 4.70.0 | release-runtime | Metadata/texts; see manifest; [8250daa3-LICENCE](docs/ip/python_licenses/tqdm-4.70.0/8250daa3-LICENCE) |
|
| 1204 |
+
| truststore | 0.10.4 | release-runtime | MIT; [9d4dfad8-LICENSE](docs/ip/python_licenses/truststore-0.10.4/9d4dfad8-LICENSE) |
|
| 1205 |
+
| typer | 0.27.2 | release-runtime | MIT; [7b4ea371-LICENSE](docs/ip/python_licenses/typer-0.27.2/7b4ea371-LICENSE), [8dba87f7-LICENSE.txt](docs/ip/python_licenses/typer-0.27.2/8dba87f7-LICENSE.txt) |
|
| 1206 |
+
| typing_extensions | 4.16.0 | release-runtime | PSF-2.0; [2231b6c4-LICENSE](docs/ip/python_licenses/typing-extensions-4.16.0/2231b6c4-LICENSE) |
|
| 1207 |
+
| typing-inspection | 0.4.4 | release-runtime | MIT; [215ebb85-LICENSE](docs/ip/python_licenses/typing-inspection-0.4.4/215ebb85-LICENSE) |
|
| 1208 |
+
| tzdata | 2026.3 | release-runtime | Metadata/texts; see manifest; [8615b07f-LICENSE](docs/ip/python_licenses/tzdata-2026.3/8615b07f-LICENSE) |
|
| 1209 |
+
| urllib3 | 2.7.0 | release-runtime | MIT; [0339980e-LICENSE.txt](docs/ip/python_licenses/urllib3-2.7.0/0339980e-LICENSE.txt) |
|
| 1210 |
+
| uvicorn | 0.41.0 | release-runtime | BSD-3-Clause; [736d6767-LICENSE.md](docs/ip/python_licenses/uvicorn-0.41.0/736d6767-LICENSE.md) |
|
app.py
CHANGED
|
The diff for this file is too large to render.
See raw diff
|
|
|
release_manifest.json
CHANGED
|
@@ -1,18 +1,18 @@
|
|
| 1 |
{
|
| 2 |
-
"built_utc": "2026-
|
| 3 |
"database_name": "dearmon-sat-act-learning-lab",
|
| 4 |
-
"encrypted_payload_sha256": "
|
| 5 |
"entry_module": "sat_act_lab.app_main",
|
| 6 |
-
"fernet_secret_name": "
|
| 7 |
-
"key_fingerprint_sha256_prefix": "
|
| 8 |
-
"plaintext_archive_sha256": "
|
| 9 |
-
"release_version": "1.
|
| 10 |
"schema_namespace": "sat_act_learning_lab_v1",
|
| 11 |
"schema_version": "dearmon-sat-act-release-v1",
|
| 12 |
"source_members": {
|
| 13 |
"sat_act_lab/__init__.py": {
|
| 14 |
"bytes": 71,
|
| 15 |
-
"sha256": "
|
| 16 |
},
|
| 17 |
"sat_act_lab/act_english_bank.py": {
|
| 18 |
"bytes": 79622,
|
|
@@ -26,25 +26,37 @@
|
|
| 26 |
"bytes": 43952,
|
| 27 |
"sha256": "5959db1e6a007f9384978c2a65af82e9bfd81216db939a1d852a91852badef8e"
|
| 28 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
| 29 |
"sat_act_lab/ai_question_overflow.py": {
|
| 30 |
-
"bytes":
|
| 31 |
-
"sha256": "
|
| 32 |
},
|
| 33 |
"sat_act_lab/app_main.py": {
|
| 34 |
-
"bytes":
|
| 35 |
-
"sha256": "
|
|
|
|
|
|
|
|
|
|
|
|
|
| 36 |
},
|
| 37 |
"sat_act_lab/attribute_graph.py": {
|
| 38 |
"bytes": 131004,
|
| 39 |
"sha256": "8188d65e7894a4c69aed1fdf9f8f4a0c7e90ca6055be44776fac8a39a7bb4dea"
|
| 40 |
},
|
| 41 |
"sat_act_lab/auth.py": {
|
| 42 |
-
"bytes":
|
| 43 |
-
"sha256": "
|
| 44 |
},
|
| 45 |
"sat_act_lab/avatar.py": {
|
| 46 |
-
"bytes":
|
| 47 |
-
"sha256": "
|
|
|
|
|
|
|
|
|
|
|
|
|
| 48 |
},
|
| 49 |
"sat_act_lab/blueprints.py": {
|
| 50 |
"bytes": 49657,
|
|
@@ -54,45 +66,85 @@
|
|
| 54 |
"bytes": 181295,
|
| 55 |
"sha256": "f3e552f76e81cd1a65187cfa95c126b42497f7a623000057c55aa210eb24e978"
|
| 56 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
| 57 |
"sat_act_lab/curriculum.py": {
|
| 58 |
"bytes": 34704,
|
| 59 |
"sha256": "0ace42ff71e3eee09b7b0828807cda7ecad2ea86caeda9cb67c0b941ab70c960"
|
| 60 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
| 61 |
"sat_act_lab/demo_sessions.py": {
|
| 62 |
-
"bytes":
|
| 63 |
-
"sha256": "
|
|
|
|
|
|
|
|
|
|
|
|
|
| 64 |
},
|
| 65 |
"sat_act_lab/diagnostic_reports.py": {
|
| 66 |
-
"bytes":
|
| 67 |
-
"sha256": "
|
| 68 |
},
|
| 69 |
"sat_act_lab/diagnostic_skills.py": {
|
| 70 |
-
"bytes":
|
| 71 |
-
"sha256": "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 72 |
},
|
| 73 |
"sat_act_lab/exam_engine.py": {
|
| 74 |
-
"bytes":
|
| 75 |
-
"sha256": "
|
| 76 |
},
|
| 77 |
"sat_act_lab/exam_pdf_export.py": {
|
| 78 |
-
"bytes":
|
| 79 |
-
"sha256": "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 80 |
},
|
| 81 |
"sat_act_lab/learner_exam_topics.py": {
|
| 82 |
-
"bytes":
|
| 83 |
-
"sha256": "
|
| 84 |
},
|
| 85 |
"sat_act_lab/learning_concepts.py": {
|
| 86 |
"bytes": 51827,
|
| 87 |
"sha256": "cf32579466f8a97f1d299c78ace4a0fef16c6db51685dce0f164f160e910d06c"
|
| 88 |
},
|
| 89 |
"sat_act_lab/mastery_dashboard.py": {
|
| 90 |
-
"bytes":
|
| 91 |
-
"sha256": "
|
| 92 |
},
|
| 93 |
"sat_act_lab/mastery_dashboard_view.py": {
|
| 94 |
-
"bytes":
|
| 95 |
-
"sha256": "
|
| 96 |
},
|
| 97 |
"sat_act_lab/math_rendering.py": {
|
| 98 |
"bytes": 22555,
|
|
@@ -102,17 +154,77 @@
|
|
| 102 |
"bytes": 6731,
|
| 103 |
"sha256": "96dda3ddb76bc2d837769865fdbe177ad650bfd21cd158d161e5cb13123fa6a9"
|
| 104 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
| 105 |
"sat_act_lab/question_engine.py": {
|
| 106 |
-
"bytes":
|
| 107 |
-
"sha256": "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 108 |
},
|
| 109 |
"sat_act_lab/topic_graph_report.py": {
|
| 110 |
-
"bytes":
|
| 111 |
-
"sha256": "
|
| 112 |
},
|
| 113 |
"sat_act_lab/tracking.py": {
|
| 114 |
-
"bytes":
|
| 115 |
-
"sha256": "
|
| 116 |
}
|
| 117 |
},
|
| 118 |
"space_file_hashes": {
|
|
@@ -121,24 +233,28 @@
|
|
| 121 |
"sha256": "3b1fdd8eb2e17dc4edae8387f1bc9a18a8072a8d6fae3a71041f00f0b9b04103"
|
| 122 |
},
|
| 123 |
"DEPLOYMENT_NOTES.md": {
|
| 124 |
-
"bytes":
|
| 125 |
-
"sha256": "
|
| 126 |
},
|
| 127 |
"README.md": {
|
| 128 |
-
"bytes":
|
| 129 |
-
"sha256": "
|
|
|
|
|
|
|
|
|
|
|
|
|
| 130 |
},
|
| 131 |
"app.py": {
|
| 132 |
-
"bytes":
|
| 133 |
-
"sha256": "
|
| 134 |
},
|
| 135 |
"requirements.txt": {
|
| 136 |
-
"bytes":
|
| 137 |
-
"sha256": "
|
| 138 |
},
|
| 139 |
"runtime.txt": {
|
| 140 |
-
"bytes":
|
| 141 |
-
"sha256": "
|
| 142 |
}
|
| 143 |
},
|
| 144 |
"target_space": "DearmonAnalytics/SAT_ACT_Learning_Lab"
|
|
|
|
| 1 |
{
|
| 2 |
+
"built_utc": "2026-09-08T00:57:08+00:00",
|
| 3 |
"database_name": "dearmon-sat-act-learning-lab",
|
| 4 |
+
"encrypted_payload_sha256": "d05b5f7dc3f04a060dfca5579199f99469d4e41c79784794f0ccb42f23ed005c",
|
| 5 |
"entry_module": "sat_act_lab.app_main",
|
| 6 |
+
"fernet_secret_name": "SAT_ACT_APP_FERNET_V1_7_0_5047BDC914D0_431E91CA28D4",
|
| 7 |
+
"key_fingerprint_sha256_prefix": "431E91CA28D4",
|
| 8 |
+
"plaintext_archive_sha256": "5047bdc914d0301005dba1d9e7c58bb4d1da4ceb38e04a85fb0b3bfa1b3c970e",
|
| 9 |
+
"release_version": "1.7.0",
|
| 10 |
"schema_namespace": "sat_act_learning_lab_v1",
|
| 11 |
"schema_version": "dearmon-sat-act-release-v1",
|
| 12 |
"source_members": {
|
| 13 |
"sat_act_lab/__init__.py": {
|
| 14 |
"bytes": 71,
|
| 15 |
+
"sha256": "8baea69d8cf4beee0a4c8a1d514d665dda28007b5d23700bf9e109765d046188"
|
| 16 |
},
|
| 17 |
"sat_act_lab/act_english_bank.py": {
|
| 18 |
"bytes": 79622,
|
|
|
|
| 26 |
"bytes": 43952,
|
| 27 |
"sha256": "5959db1e6a007f9384978c2a65af82e9bfd81216db939a1d852a91852badef8e"
|
| 28 |
},
|
| 29 |
+
"sat_act_lab/adaptive_test.py": {
|
| 30 |
+
"bytes": 28551,
|
| 31 |
+
"sha256": "39e891a2a0ff1601db0bf0e4bbbd405e83838cf58c65f4c30b44afb9ec732bf2"
|
| 32 |
+
},
|
| 33 |
"sat_act_lab/ai_question_overflow.py": {
|
| 34 |
+
"bytes": 33336,
|
| 35 |
+
"sha256": "e2e964945f7eb773ac6a4b47a9e2568b61ef738dce0ccf131895b76037e42acf"
|
| 36 |
},
|
| 37 |
"sat_act_lab/app_main.py": {
|
| 38 |
+
"bytes": 516880,
|
| 39 |
+
"sha256": "b20329f700c0186f0a79987df9a31ecdea09a49cae153d26033affd81c5075ee"
|
| 40 |
+
},
|
| 41 |
+
"sat_act_lab/assessment_checkpoint.py": {
|
| 42 |
+
"bytes": 9801,
|
| 43 |
+
"sha256": "f8e44a0ecf2c9be7237a224e2711b869fc836aec675e3218ed89ce35c3b89a9d"
|
| 44 |
},
|
| 45 |
"sat_act_lab/attribute_graph.py": {
|
| 46 |
"bytes": 131004,
|
| 47 |
"sha256": "8188d65e7894a4c69aed1fdf9f8f4a0c7e90ca6055be44776fac8a39a7bb4dea"
|
| 48 |
},
|
| 49 |
"sat_act_lab/auth.py": {
|
| 50 |
+
"bytes": 57838,
|
| 51 |
+
"sha256": "a7d0f6d4c4c5512b60bacc21c12bfecfee3e42659d72dad480c06d803303124c"
|
| 52 |
},
|
| 53 |
"sat_act_lab/avatar.py": {
|
| 54 |
+
"bytes": 79056,
|
| 55 |
+
"sha256": "b7c6212b18061908004aaf69058bbfc9eeade4df95cb27d785cfbdc961f545ba"
|
| 56 |
+
},
|
| 57 |
+
"sat_act_lab/baseline_diagnostic.py": {
|
| 58 |
+
"bytes": 23169,
|
| 59 |
+
"sha256": "0a3ae3ffe748476e1e31a02d478a8ac8487b14c8dd408f6fbce696cd52ec149b"
|
| 60 |
},
|
| 61 |
"sat_act_lab/blueprints.py": {
|
| 62 |
"bytes": 49657,
|
|
|
|
| 66 |
"bytes": 181295,
|
| 67 |
"sha256": "f3e552f76e81cd1a65187cfa95c126b42497f7a623000057c55aa210eb24e978"
|
| 68 |
},
|
| 69 |
+
"sat_act_lab/checkpoint_keys.py": {
|
| 70 |
+
"bytes": 2874,
|
| 71 |
+
"sha256": "4839554fcc85a6f8712eec50e53ffb3e1b1c39293fdf90aea9598bc6ff4824c2"
|
| 72 |
+
},
|
| 73 |
"sat_act_lab/curriculum.py": {
|
| 74 |
"bytes": 34704,
|
| 75 |
"sha256": "0ace42ff71e3eee09b7b0828807cda7ecad2ea86caeda9cb67c0b941ab70c960"
|
| 76 |
},
|
| 77 |
+
"sat_act_lab/data_lifecycle.py": {
|
| 78 |
+
"bytes": 8095,
|
| 79 |
+
"sha256": "3bf687f5c248ec5b1251e209c605b170618d7878b79c3e268b7c6043fe5e3e9b"
|
| 80 |
+
},
|
| 81 |
"sat_act_lab/demo_sessions.py": {
|
| 82 |
+
"bytes": 46786,
|
| 83 |
+
"sha256": "56a701be1dd14e4c03677f839172098f677a6d9793131a9814aee6a22fbcc6eb"
|
| 84 |
+
},
|
| 85 |
+
"sat_act_lab/deployment_readiness.py": {
|
| 86 |
+
"bytes": 17630,
|
| 87 |
+
"sha256": "f1567a76e8adfcea2e01dce74453ab20d5bd13784e38019694f2d0e2c0fb0e8d"
|
| 88 |
},
|
| 89 |
"sat_act_lab/diagnostic_reports.py": {
|
| 90 |
+
"bytes": 75654,
|
| 91 |
+
"sha256": "b721e84931c453bb34b9ac1079028c10f868a681fa2c1eea2b5a36bfe3e3112b"
|
| 92 |
},
|
| 93 |
"sat_act_lab/diagnostic_skills.py": {
|
| 94 |
+
"bytes": 119838,
|
| 95 |
+
"sha256": "950d75358461fc61d11e84fc0362e4bb5b8535cb05e6f5ba1bf8c86fe5bdc953"
|
| 96 |
+
},
|
| 97 |
+
"sat_act_lab/entitlements.py": {
|
| 98 |
+
"bytes": 5639,
|
| 99 |
+
"sha256": "a99db3e80992a19a782cc0af82e2f5b8c05a06cd601acea999e3d61a1657481e"
|
| 100 |
+
},
|
| 101 |
+
"sat_act_lab/exam_accommodations.py": {
|
| 102 |
+
"bytes": 2246,
|
| 103 |
+
"sha256": "9554f9dc9db967c2fe51c27c59e3d15edadd690f4fb9d538833096783d790bc8"
|
| 104 |
},
|
| 105 |
"sat_act_lab/exam_engine.py": {
|
| 106 |
+
"bytes": 111250,
|
| 107 |
+
"sha256": "d1d2600b21edbe74ff1e4883fd214a34636249ecbc8f0bf6ff24c88d4e260c19"
|
| 108 |
},
|
| 109 |
"sat_act_lab/exam_pdf_export.py": {
|
| 110 |
+
"bytes": 52839,
|
| 111 |
+
"sha256": "d316a06172247f2cc0d9537df154a0d53ee8c6d754e4b4245c5c55dc5b003386"
|
| 112 |
+
},
|
| 113 |
+
"sat_act_lab/gradio_compat.py": {
|
| 114 |
+
"bytes": 3480,
|
| 115 |
+
"sha256": "e215beda038385d01a3453669c56d525b98f920c915cd6f23944cf595045c4dd"
|
| 116 |
+
},
|
| 117 |
+
"sat_act_lab/host_data_operations.py": {
|
| 118 |
+
"bytes": 11155,
|
| 119 |
+
"sha256": "10d9b19fceb78166e7a195d74bf91ad3136d4a1832bd8e595a5aa623bf275c30"
|
| 120 |
+
},
|
| 121 |
+
"sat_act_lab/institutional_identity.py": {
|
| 122 |
+
"bytes": 40080,
|
| 123 |
+
"sha256": "34e24a7072f36a6638cb240f92fcf28b44b0e31d7a83be26ba43206be64bd0ae"
|
| 124 |
+
},
|
| 125 |
+
"sat_act_lab/institutional_identity_config.py": {
|
| 126 |
+
"bytes": 2211,
|
| 127 |
+
"sha256": "fa504303396ddb4fd6e1cebf6ef6032965a6f4f695476aabd116d653ce4420b5"
|
| 128 |
+
},
|
| 129 |
+
"sat_act_lab/institutional_policy.py": {
|
| 130 |
+
"bytes": 12132,
|
| 131 |
+
"sha256": "cddb6b2c70d3958f1db605ccb3e4f470a961b3e674633a58135566596b615a64"
|
| 132 |
},
|
| 133 |
"sat_act_lab/learner_exam_topics.py": {
|
| 134 |
+
"bytes": 11804,
|
| 135 |
+
"sha256": "9b9387670c2a54c190cbcfb66136daa57b451da932940ab906b32ed5c22a7297"
|
| 136 |
},
|
| 137 |
"sat_act_lab/learning_concepts.py": {
|
| 138 |
"bytes": 51827,
|
| 139 |
"sha256": "cf32579466f8a97f1d299c78ace4a0fef16c6db51685dce0f164f160e910d06c"
|
| 140 |
},
|
| 141 |
"sat_act_lab/mastery_dashboard.py": {
|
| 142 |
+
"bytes": 12994,
|
| 143 |
+
"sha256": "abf33c155de23ae73551097c136963e5a710922dd767ea13a42b0e83d60fa9a2"
|
| 144 |
},
|
| 145 |
"sat_act_lab/mastery_dashboard_view.py": {
|
| 146 |
+
"bytes": 28304,
|
| 147 |
+
"sha256": "2feef6ba130169b1757ecdc9956da7f97f407b7b0669e7622059c529f08ba194"
|
| 148 |
},
|
| 149 |
"sat_act_lab/math_rendering.py": {
|
| 150 |
"bytes": 22555,
|
|
|
|
| 154 |
"bytes": 6731,
|
| 155 |
"sha256": "96dda3ddb76bc2d837769865fdbe177ad650bfd21cd158d161e5cb13123fa6a9"
|
| 156 |
},
|
| 157 |
+
"sat_act_lab/provider_execution.py": {
|
| 158 |
+
"bytes": 4378,
|
| 159 |
+
"sha256": "fd91fa4e509cf27d95a2364a3a98ce92520b788d672cec5cdef1c3a116404add"
|
| 160 |
+
},
|
| 161 |
"sat_act_lab/question_engine.py": {
|
| 162 |
+
"bytes": 245340,
|
| 163 |
+
"sha256": "6cec92c215d6cd23e9408e035105b2cd76d907ca343bae0bb34621ca1577a58b"
|
| 164 |
+
},
|
| 165 |
+
"sat_act_lab/question_skill_audit.py": {
|
| 166 |
+
"bytes": 33101,
|
| 167 |
+
"sha256": "1f43f7af21ec98733ae2481ec900f9a202fc41d02f30952c274862ea223a81b2"
|
| 168 |
+
},
|
| 169 |
+
"sat_act_lab/recovery_compatibility.py": {
|
| 170 |
+
"bytes": 1670,
|
| 171 |
+
"sha256": "1ae37b6057f42b98b9e934449dcc4cff8f08327ca909dd2a788a326df0729ebc"
|
| 172 |
+
},
|
| 173 |
+
"sat_act_lab/release_authorization.py": {
|
| 174 |
+
"bytes": 17375,
|
| 175 |
+
"sha256": "3a551dfdece787ff06002231fc23e7732cc09ca4f323069d2245e0aa820fca2a"
|
| 176 |
+
},
|
| 177 |
+
"sat_act_lab/score_estimator.py": {
|
| 178 |
+
"bytes": 32840,
|
| 179 |
+
"sha256": "48f2e7003ce8f5ab212ba762cde536d96b24172b0764ade9f26d988430777f3b"
|
| 180 |
+
},
|
| 181 |
+
"sat_act_lab/security_audit.py": {
|
| 182 |
+
"bytes": 13679,
|
| 183 |
+
"sha256": "03ec02976f8dc9a4d4b145f0f6389dc812abfa243949bd8df628cfff6a776df5"
|
| 184 |
+
},
|
| 185 |
+
"sat_act_lab/simli_client_asset.py": {
|
| 186 |
+
"bytes": 225903,
|
| 187 |
+
"sha256": "237b038182940f8fc3b3b0e65d02a87ac0022a51227360f4f2e184d2c1c8f1a6"
|
| 188 |
+
},
|
| 189 |
+
"sat_act_lab/skill_hierarchy.py": {
|
| 190 |
+
"bytes": 47254,
|
| 191 |
+
"sha256": "559aa5297ce5eb12700b9f47934b5793be5280b335d476b4b4c204ec8a4b96e8"
|
| 192 |
+
},
|
| 193 |
+
"sat_act_lab/skill_hierarchy_catalog.py": {
|
| 194 |
+
"bytes": 1140829,
|
| 195 |
+
"sha256": "5c0637609b15be898dd065d9cdb2b42a41f5dafa885660c16bbbf9299ab0fc47"
|
| 196 |
+
},
|
| 197 |
+
"sat_act_lab/skill_mastery.py": {
|
| 198 |
+
"bytes": 10025,
|
| 199 |
+
"sha256": "4c0d8034380a61c81ea584d60fb0eb86625cd84e5b7289d243ab8a434279cf36"
|
| 200 |
+
},
|
| 201 |
+
"sat_act_lab/skill_mastery_view.py": {
|
| 202 |
+
"bytes": 31414,
|
| 203 |
+
"sha256": "8fd82d26c5511b8e9c5173c10e0de6df67178f4657dc8302319c8687bf88dd37"
|
| 204 |
+
},
|
| 205 |
+
"sat_act_lab/skill_score_impact.py": {
|
| 206 |
+
"bytes": 20209,
|
| 207 |
+
"sha256": "ee8af98a2a64cb8f7c897a93ee33f1e81270abe1d838f381a849b3e75a92657a"
|
| 208 |
+
},
|
| 209 |
+
"sat_act_lab/skill_score_impact_catalog.py": {
|
| 210 |
+
"bytes": 731409,
|
| 211 |
+
"sha256": "a5611da822176f15740182c54f0c81dd24c8accb38444aed02a1e9a940ee7da0"
|
| 212 |
+
},
|
| 213 |
+
"sat_act_lab/skill_score_impact_report.py": {
|
| 214 |
+
"bytes": 7813,
|
| 215 |
+
"sha256": "6b71da61df7af9d0bf73727435d2caf867826faab92f5f2bab9ca3a14df2e08f"
|
| 216 |
+
},
|
| 217 |
+
"sat_act_lab/timed_checkpoint.py": {
|
| 218 |
+
"bytes": 6541,
|
| 219 |
+
"sha256": "a22d65fba1f109069a637d9f9b980030649e7709e01f50974aa170a1515376ce"
|
| 220 |
},
|
| 221 |
"sat_act_lab/topic_graph_report.py": {
|
| 222 |
+
"bytes": 26350,
|
| 223 |
+
"sha256": "f151d8839bd6124c44d589eb61da57a1c99f4bcc1f77a46e5b80f1a7e77ad061"
|
| 224 |
},
|
| 225 |
"sat_act_lab/tracking.py": {
|
| 226 |
+
"bytes": 298292,
|
| 227 |
+
"sha256": "8b76c3778bf26a104f84cdd79ccf83c76111ced2be44089476caee9045d7b75d"
|
| 228 |
}
|
| 229 |
},
|
| 230 |
"space_file_hashes": {
|
|
|
|
| 233 |
"sha256": "3b1fdd8eb2e17dc4edae8387f1bc9a18a8072a8d6fae3a71041f00f0b9b04103"
|
| 234 |
},
|
| 235 |
"DEPLOYMENT_NOTES.md": {
|
| 236 |
+
"bytes": 18202,
|
| 237 |
+
"sha256": "eaefe2ae2454e8c04a8911c31b17e1d2af485eeba85c74e9f77260156e313edb"
|
| 238 |
},
|
| 239 |
"README.md": {
|
| 240 |
+
"bytes": 15288,
|
| 241 |
+
"sha256": "2c8bdf637d6ae44f83e09d578f72a880b252721d0fa4bc5ed21538cfacf5c0af"
|
| 242 |
+
},
|
| 243 |
+
"THIRD_PARTY_NOTICES.md": {
|
| 244 |
+
"bytes": 73850,
|
| 245 |
+
"sha256": "288997d5002f0932271a0a7173a2cf074f63e3c2ad0cd9195a6c32e4c29e452b"
|
| 246 |
},
|
| 247 |
"app.py": {
|
| 248 |
+
"bytes": 1999160,
|
| 249 |
+
"sha256": "2a1af44d2ea527836856e229a2c7f52711e4356fee0a24a860134761283ee6be"
|
| 250 |
},
|
| 251 |
"requirements.txt": {
|
| 252 |
+
"bytes": 38391,
|
| 253 |
+
"sha256": "b3c6a1bea8501441e75ee74f5ddd59e07727cf70a55c2cda6c6cce91ae6e3d68"
|
| 254 |
},
|
| 255 |
"runtime.txt": {
|
| 256 |
+
"bytes": 15,
|
| 257 |
+
"sha256": "322c1f7beac2944c506de4307cc2d5b9c0d3cedf305207353071f86bbd7dda9f"
|
| 258 |
}
|
| 259 |
},
|
| 260 |
"target_space": "DearmonAnalytics/SAT_ACT_Learning_Lab"
|
requirements.txt
CHANGED
|
@@ -1,18 +1,644 @@
|
|
| 1 |
-
|
| 2 |
-
|
| 3 |
-
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# This file was autogenerated by uv via the following command:
|
| 2 |
+
# uv export --locked --no-dev --no-emit-project --format requirements-txt --output-file release/requirements.lock.txt
|
| 3 |
+
annotated-doc==0.0.5 \
|
| 4 |
+
--hash=sha256:117bac03a25ede5df5440e855b32d556049ca169ead221505badf432fed4b101 \
|
| 5 |
+
--hash=sha256:c7e58ce09192557605d8bbd92836d7e1d520ac9580096042c0bfd197efacf1bb
|
| 6 |
+
# via
|
| 7 |
+
# fastapi
|
| 8 |
+
# typer
|
| 9 |
+
annotated-types==0.8.0 \
|
| 10 |
+
--hash=sha256:13b2beaad985e05e2d6407ee4c4f35590b11f8d693a258a561055cac8f64cab7 \
|
| 11 |
+
--hash=sha256:f072f4d804ea359e4eaf198b1af7a8b0943881a87f31bb764f8bf219bb9419e0
|
| 12 |
+
# via pydantic
|
| 13 |
+
anyio==4.14.2 \
|
| 14 |
+
--hash=sha256:9f505dda5ac9f0c8309b5e8bd445a8c2bf7246f3ce950121e45ea15bc41d1494 \
|
| 15 |
+
--hash=sha256:cfa139f3ed1a23ee8f88a145ddb5ac7605b8bbfd8592baacd7ce3d8bb4313c7f
|
| 16 |
+
# via
|
| 17 |
+
# gradio
|
| 18 |
+
# httpx
|
| 19 |
+
# httpx2
|
| 20 |
+
# openai
|
| 21 |
+
# starlette
|
| 22 |
+
authlib==1.8.0 \
|
| 23 |
+
--hash=sha256:88aebbd9af6757e14e912d5dc007ae1dc1f3e27e3b2152ce7c552ee2c3b3c121 \
|
| 24 |
+
--hash=sha256:f3ecd5f1da737262fb53bf1a4d95c4ea1ad9dd509316587a255c99ab1838a4f0
|
| 25 |
+
# via dearmon-sat-act-learning-lab
|
| 26 |
+
brotli==1.2.0 \
|
| 27 |
+
--hash=sha256:072e7624b1fc4d601036ab3f4f27942ef772887e876beff0301d261210bca97f \
|
| 28 |
+
--hash=sha256:260d3692396e1895c5034f204f0db022c056f9e2ac841593a4cf9426e2a3faca \
|
| 29 |
+
--hash=sha256:35d382625778834a7f3061b15423919aa03e4f5da34ac8e02c074e4b75ab4f84 \
|
| 30 |
+
--hash=sha256:7a47ce5c2288702e09dc22a44d0ee6152f2c7eda97b3c8482d826a1f3cfc7da7 \
|
| 31 |
+
--hash=sha256:7a61c06b334bd99bc5ae84f1eeb36bfe01400264b3c352f968c6e30a10f9d08b \
|
| 32 |
+
--hash=sha256:acec55bb7c90f1dfc476126f9711a8e81c9af7fb617409a9ee2953115343f08d \
|
| 33 |
+
--hash=sha256:adedc4a67e15327dfdd04884873c6d5a01d3e3b6f61406f99b1ed4865a2f6d28 \
|
| 34 |
+
--hash=sha256:af43b8711a8264bb4e7d6d9a6d004c3a2019c04c01127a868709ec29962b6036 \
|
| 35 |
+
--hash=sha256:b35c13ce241abdd44cb8ca70683f20c0c079728a36a996297adb5334adfc1c44 \
|
| 36 |
+
--hash=sha256:e310f77e41941c13340a95976fe66a8a95b01e783d430eeaf7a2f87e0a57dd0a \
|
| 37 |
+
--hash=sha256:e99befa0b48f3cd293dafeacdd0d191804d105d279e0b387a32054c1180f3161
|
| 38 |
+
# via gradio
|
| 39 |
+
certifi==2026.7.22 \
|
| 40 |
+
--hash=sha256:62f22742b58a1a33014a2b6b706588a8d7e2a88ae7bd1a6ebe8c992928483775 \
|
| 41 |
+
--hash=sha256:741e2c3b351ddf169a738da9f2c048608ff7f2c5cc02f1ebc6b118bb090d5d55
|
| 42 |
+
# via
|
| 43 |
+
# httpcore
|
| 44 |
+
# httpx
|
| 45 |
+
# requests
|
| 46 |
+
cffi==2.1.1 ; platform_python_implementation != 'PyPy' \
|
| 47 |
+
--hash=sha256:046bfc24911b37851ee1b51aab8bffe713d89c68c6a057b09484ce9fd5f69b4e \
|
| 48 |
+
--hash=sha256:208f941bb9d18e768138677f0a6d2ce01f590df56043dda1df1535ac57c88517 \
|
| 49 |
+
--hash=sha256:210019b6c7cf07f081b4c54635c8cf744377001350e29cc0f81c4377b4797735 \
|
| 50 |
+
--hash=sha256:3143d81e29e1e20a9ce10901ec369012947876596f75a222235965f2b7ae832e \
|
| 51 |
+
--hash=sha256:4a7c934f7360e8cd64fe9efadcbd10c7c6364f531e432b9a4bf5ccbc9e0e8b50 \
|
| 52 |
+
--hash=sha256:68e62fe11f30d5ca8289242866f0a5291402d8529ca2178ab8afc5c9694ae890 \
|
| 53 |
+
--hash=sha256:7bde5e4cc5c10140859842b9d383af292b22639a4dffb725314baf45968cef80 \
|
| 54 |
+
--hash=sha256:811bd1e21d32de12efca32393a0ab3f5133b54fce9bd44b8bd77ab07da14bf6a \
|
| 55 |
+
--hash=sha256:c1453022f490d2459a11819d83ad1d586e9ff65a12ac3e705ffebd46d3685dcf \
|
| 56 |
+
--hash=sha256:c8c69575568085ba0b1b10c0249d779a214aea6f6522e949a0fc9fb0fcb449d0 \
|
| 57 |
+
--hash=sha256:dd31f52ea1086513bb9df30f8fcee9b8918323ae067a3d5b78bc826a000712be \
|
| 58 |
+
--hash=sha256:f53e442b08449d42821fa4a4fba000095af9f62742a500f978a9f557ec44339a \
|
| 59 |
+
--hash=sha256:f81b3b8f3d4e343550fa4baa0e479bba9f2d29ce9c2e9b51d1ce1718d7442fcf
|
| 60 |
+
# via cryptography
|
| 61 |
+
charset-normalizer==3.5.1 \
|
| 62 |
+
--hash=sha256:1d1c7a53a6c2103925cdd6d7229f8c567379f211c869793df679f2e9f738c369 \
|
| 63 |
+
--hash=sha256:2f293479cce755c75f1697e87c409b7ae4c555c7dfecb6e988ad13abba943031 \
|
| 64 |
+
--hash=sha256:343fb4f2821043bd87095f7b08a1a181febc8e36ac64212143bbfd0a0e1bc235 \
|
| 65 |
+
--hash=sha256:3588e376b3ea2eea84976f67273d679f229e24c66dce7b82ae45aef04ff6e072 \
|
| 66 |
+
--hash=sha256:36047af20e17097c3bb9476c2b7655f2f7aa51322c0ba58c07695bedf755a950 \
|
| 67 |
+
--hash=sha256:3617ac3cfd8b9888f145ad89dd6e692285834b0201c6074a5eeaad3fd4d668c2 \
|
| 68 |
+
--hash=sha256:41876ee62a3dddf48ff1121ad8f0798032aa03f2fd35f21f34a4cab14f18d8d2 \
|
| 69 |
+
--hash=sha256:4582c27e8c889d64811987b5967fbd3ae0c823fe1fd933b543d55ac20bb475fa \
|
| 70 |
+
--hash=sha256:4abdc5f9ad448c1ecbfae2974b820535d6bc6e7eef63babbab3d81cf46968c71 \
|
| 71 |
+
--hash=sha256:4b599739b93b2cbeded49645ae3c8d1405c29ddfbceac1545c87a3f9580a9e96 \
|
| 72 |
+
--hash=sha256:4c4fb141a727957c93edfe5c32a26ceb6b5f6461d67146e2d39f51e16170bea8 \
|
| 73 |
+
--hash=sha256:5b6d1386bf0096d26d3a863dc0a487a5b4eb9aa93cf5ba69683d29dde6b9d60f \
|
| 74 |
+
--hash=sha256:5d8531a6569d025f68e2321e7638fb7978f23db58e5f69f56913837aae03816e \
|
| 75 |
+
--hash=sha256:6117b84ea48435e5356dc737f5121485c30920ba43375fa7b434fd753df0eac3 \
|
| 76 |
+
--hash=sha256:6df0ec430f9a831772c23ca5a224cba36517a58a84bb32c32bb59a9fa67c47f6 \
|
| 77 |
+
--hash=sha256:70055ff39b97c99e7ae40ea3e393fb62aa2e44dbd9b29f8d14f42fb0025c3959 \
|
| 78 |
+
--hash=sha256:7235dc28fc6dd9d832ac7c7bce95367dedb85929f17368a0c2bee1e080b9acbf \
|
| 79 |
+
--hash=sha256:7c0c10730342b0c9b35dd1d619beb8214e520bd96a1f870f452680b238aab3e0 \
|
| 80 |
+
--hash=sha256:87e4f41d375c0b9be2fb5251aee4b8a689169e134535aed81bf085c3b647451e \
|
| 81 |
+
--hash=sha256:88e85ab89cb822c1e635f51d6d32e488f94e002e70e2f492bdb8b945543f345a \
|
| 82 |
+
--hash=sha256:96fef3e886d6a9874b14f27fc193fbdc69d5d8035783d86aa4e1cea594e695f9 \
|
| 83 |
+
--hash=sha256:a2028475ba855475b8b4d3cfeb4994269c967aea8b9892dfba907f4263a863a3 \
|
| 84 |
+
--hash=sha256:a6dac12ff6b846103483683f60c5f8fee205121adc58ffd87e90a90a3af69e99 \
|
| 85 |
+
--hash=sha256:aae2ee51122d3ae968a3837d97dc24a0aeebb0dea23694422cd172bd30017cd6 \
|
| 86 |
+
--hash=sha256:ae4a097991662cd4fff0ddc74e0fe7874f82e00042fa0ea00855645ed0c79598 \
|
| 87 |
+
--hash=sha256:b39b69b347e5e47a3b5b8cfc005c68c1ba347474e3960236c4944a8ecd174962 \
|
| 88 |
+
--hash=sha256:b9af956078716df40d985fb0dfeb2c2120c5ca92ba4ff4b388acfd01cdc14d08 \
|
| 89 |
+
--hash=sha256:ba501e667c17d8411f98e67a022d9604ef179aff0e459b7e292c796837c13573 \
|
| 90 |
+
--hash=sha256:cee5dd7c6fb5dd52a0fe2a740f9bc6e3593f5f8b1788bde49de02086f30182b2 \
|
| 91 |
+
--hash=sha256:cfa1c0cc3a8f9f53f1243a5a99ac36fd003880199383b37672e86ddda9cb07e2 \
|
| 92 |
+
--hash=sha256:dd732602a7009217f658d5863d12d79d373a4de0eebc111094bcdd3bb8e0a6cc \
|
| 93 |
+
--hash=sha256:e199fb99720074809a7720f1c0b4d919eea8b87e88713e0f8f602f7bef543d9d \
|
| 94 |
+
--hash=sha256:e6621fb2a4988d6e53eedc455e5903e2679f3967b8acb3d639f1b63c14a2e893 \
|
| 95 |
+
--hash=sha256:f9f8405c2c758532c74fed975dbee57be1f31a6e865c031870c79a6ed3212ada
|
| 96 |
+
# via requests
|
| 97 |
+
click==8.5.0 \
|
| 98 |
+
--hash=sha256:255bc9599cf7748b4b1a446ccc735421bd08a2ae529a8b88597d3de5664ee360 \
|
| 99 |
+
--hash=sha256:ba0d2089de75ea0310e2dde03160e6ca10009947fb95a182f9b54021bb272e34
|
| 100 |
+
# via
|
| 101 |
+
# huggingface-hub
|
| 102 |
+
# uvicorn
|
| 103 |
+
colorama==0.4.6 ; sys_platform == 'win32' \
|
| 104 |
+
--hash=sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44 \
|
| 105 |
+
--hash=sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6
|
| 106 |
+
# via
|
| 107 |
+
# tqdm
|
| 108 |
+
# typer
|
| 109 |
+
contourpy==1.3.3 \
|
| 110 |
+
--hash=sha256:023b44101dfe49d7d53932be418477dba359649246075c996866106da069af69 \
|
| 111 |
+
--hash=sha256:07ce5ed73ecdc4a03ffe3e1b3e3c1166db35ae7584be76f65dbbe28a7791b0cc \
|
| 112 |
+
--hash=sha256:083e12155b210502d0bca491432bb04d56dc3432f95a979b429f2848c3dbe880 \
|
| 113 |
+
--hash=sha256:451e71b5a7d597379ef572de31eeb909a87246974d960049a9848c3bc6c41bf7 \
|
| 114 |
+
--hash=sha256:459c1f020cd59fcfe6650180678a9993932d80d44ccde1fa1868977438f0b411 \
|
| 115 |
+
--hash=sha256:4d00e655fcef08aba35ec9610536bfe90267d7ab5ba944f7032549c55a146da1 \
|
| 116 |
+
--hash=sha256:556dba8fb6f5d8742f2923fe9457dbdd51e1049c4a43fd3986a0b14a1d815fc6 \
|
| 117 |
+
--hash=sha256:626d60935cf668e70a5ce6ff184fd713e9683fb458898e4249b63be9e28286ea \
|
| 118 |
+
--hash=sha256:8153b8bfc11e1e4d75bcb0bff1db232f9e10b274e0929de9d608027e0d34ff8b \
|
| 119 |
+
--hash=sha256:92d9abc807cf7d0e047b95ca5d957cf4792fcd04e920ca70d48add15c1a90ea7 \
|
| 120 |
+
--hash=sha256:b08a32ea2f8e42cf1d4be3169a98dd4be32bafe4f22b6c4cb4ba810fa9e5d2cb \
|
| 121 |
+
--hash=sha256:b2e8faa0ed68cb29af51edd8e24798bb661eac3bd9f65420c1887b6ca89987c8
|
| 122 |
+
# via matplotlib
|
| 123 |
+
cryptography==50.0.1 \
|
| 124 |
+
--hash=sha256:01f41478cf33fc605a6a089cd56d28b45c6c0b45a1928b61797f2621a04bac71 \
|
| 125 |
+
--hash=sha256:05ba322c4da95b262a212c345af888ef2c37c88c0509756ea00a0e6d68850f23 \
|
| 126 |
+
--hash=sha256:2a93d05e34d5f67fba6f891fe85d929999baa7195e853923ea6d7576c9e68c5e \
|
| 127 |
+
--hash=sha256:2b34d76a652ea2b6faf777c35df230c5637842cd904e04f16230c3f9f03e4361 \
|
| 128 |
+
--hash=sha256:2ebbfb0f1fed745e91796e3e1080a1440423fdae8ece1b995a1d80883a409054 \
|
| 129 |
+
--hash=sha256:359e62deae718bce96170e223fdcb6357e4fbd3bb7a3a75f4430763532560e49 \
|
| 130 |
+
--hash=sha256:407fe2b6db00939c05c0e945e9914238f2f0a430974839429dafc82b1ee6bee5 \
|
| 131 |
+
--hash=sha256:4c4188f7c0cf655be5c06342b817ed0f9595b69ffa2b12026e5353eed29dea88 \
|
| 132 |
+
--hash=sha256:51593d180cf6d179bde5c5d065bed81386b1f381656ae7d042b7ffc87a9895ad \
|
| 133 |
+
--hash=sha256:51afcfceb15597cf2635068e4ac9a56b2abde622edde17f37d85fd7b5306497a \
|
| 134 |
+
--hash=sha256:53e279950892dc102c6b4e52af03ae5ea92fac572a1ddab78ca73a997f62b69f \
|
| 135 |
+
--hash=sha256:55d16b1ef3ee0958d893a977b19777887e546c9954ea81b200c3301a864013f2 \
|
| 136 |
+
--hash=sha256:5dd9bda1c12b4162f6ff568eeb5e0ff956c28d14406e875cfe8a63a2d414ff20 \
|
| 137 |
+
--hash=sha256:5fe002589592ed749ce77fe0695fcbd3500dd61d7d6db5858a7544c612fa8e45 \
|
| 138 |
+
--hash=sha256:76de83fbd91ac49c0feaaa983d0748fd7a53176afac5fb3bf7478d244f0eb527 \
|
| 139 |
+
--hash=sha256:9dde0a357190eb3b1da1bb9ab750e9c85cba82ca5977aa0836cbb94e92611239 \
|
| 140 |
+
--hash=sha256:9ebcdd5519be9b652a46f507817a74591774fc3d6923ac364e4dfa64e36b291b \
|
| 141 |
+
--hash=sha256:aed8db4f6d71c51efb89530e12d9464e7bf2923d46c3205dc794a2a93f8c0648 \
|
| 142 |
+
--hash=sha256:b8f852c65863251b9e3a1b8c150ce21e59b522dbb6a7d4bc80e680d38388e986 \
|
| 143 |
+
--hash=sha256:be224a65493ec5b74a158ff22a5522ce4a5ca1e543c647a3a4730d4a09e5f959 \
|
| 144 |
+
--hash=sha256:ca83d00d9e69cd5eb63f2e69c3a5a59e0cecae5ae14c6ae0b35830fe3b37bad0 \
|
| 145 |
+
--hash=sha256:e22dfed744bd4002e909464cb23d2f0b05c6f3113a79ef2e9864a53db737c733 \
|
| 146 |
+
--hash=sha256:e2ca8fd1b6b4b82a1c4cb02841d0837e3c12336c2e24b520ab8ab3b969733d8f \
|
| 147 |
+
--hash=sha256:e74591e283fe6eb956416c929eb58262a719fe0311fd9054c62c3350ed8760d8 \
|
| 148 |
+
--hash=sha256:fc3ed7ebd2a8c96f5b166de0ab9b624996bef3b07bbeb19364dfb78222c22c80 \
|
| 149 |
+
--hash=sha256:fd3718b960d0b5dd213cdf03f3bcb7000e69dda0de8b956061947ff6bcff5558 \
|
| 150 |
+
--hash=sha256:ff838d62ec1bfce4f9ba7fa16f4a7b554cd8d0c299e6be37502161a660c84eef
|
| 151 |
+
# via
|
| 152 |
+
# authlib
|
| 153 |
+
# dearmon-sat-act-learning-lab
|
| 154 |
+
# joserfc
|
| 155 |
+
# pyjwt
|
| 156 |
+
cycler==0.12.1 \
|
| 157 |
+
--hash=sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30 \
|
| 158 |
+
--hash=sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c
|
| 159 |
+
# via matplotlib
|
| 160 |
+
distro==1.9.0 \
|
| 161 |
+
--hash=sha256:2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed \
|
| 162 |
+
--hash=sha256:7bffd925d65168f85027d8da9af6bddab658135b840670a223589bc0c8ef02b2
|
| 163 |
+
# via openai
|
| 164 |
+
fastapi==0.141.1 \
|
| 165 |
+
--hash=sha256:bfb91aa2d334c61cb35ba9a116fc123b3d3df31640b801cf57a7a78ec3f603b3 \
|
| 166 |
+
--hash=sha256:e8822fc40db1e1858054d7a949a888695bc9bdce70139178e33bd2871a453ca1
|
| 167 |
+
# via
|
| 168 |
+
# dearmon-sat-act-learning-lab
|
| 169 |
+
# gradio
|
| 170 |
+
filelock==3.32.4 \
|
| 171 |
+
--hash=sha256:22e58ca3b1ae3b98993b762d7338367ae64fe50252bf78d59da3bfebcdf1cedd \
|
| 172 |
+
--hash=sha256:2bde2e4cf732e0153406d8a7bc80620ecf5e621fe0d25e41143c4e3b4733ff30
|
| 173 |
+
# via huggingface-hub
|
| 174 |
+
fonttools==4.64.0 \
|
| 175 |
+
--hash=sha256:06b6409b868494556a831ae33b2d9a090476c37516b38d70f45a9720b460d423 \
|
| 176 |
+
--hash=sha256:4a05783ff54ce4c7a28f18e5772efdf63c219374bd9ffc55452182e1cef8be60 \
|
| 177 |
+
--hash=sha256:66a83f93579fb3493e458c4449d1d566a7b2a1c7b19915cd0fa3c9b8b5a8540b \
|
| 178 |
+
--hash=sha256:6786bed88581e19bc4f28ea7a64ad531e8f54acf50327fddca942688824a60bd \
|
| 179 |
+
--hash=sha256:9ecb2b206b5b2386f6968721a0770226b66bdd54adc4279bfff3ddf62873eed8 \
|
| 180 |
+
--hash=sha256:a8c631303bb1fd7be3067c47536a30ff1fcb4846d6008c112bc52a03f7cd6965 \
|
| 181 |
+
--hash=sha256:b2763e452b025ee8e990f0462e76052de9bb094ebc21d296f62c6dfe958886b4 \
|
| 182 |
+
--hash=sha256:cf67f96dc0bfe9607f5f2b734cedfbe2f6f995231adee4ccefa12872044d452d \
|
| 183 |
+
--hash=sha256:da4c9bdeaf6b06c12d13d0addfc8ef15aa9695d26574a6dc10751258bef72f30 \
|
| 184 |
+
--hash=sha256:ecb2e59a7bc692fee64dda6010deb66222335693b30046f15cccf81233aa715f
|
| 185 |
+
# via matplotlib
|
| 186 |
+
fsspec==2026.7.0 \
|
| 187 |
+
--hash=sha256:b57ddbafedfaef7018c1ecab32aa200a9d7ca26b77965f64e48b70061249d279 \
|
| 188 |
+
--hash=sha256:c803c40f4cf860b49dea58ee3e1c33cb9c790520e233537e1340049f89b82a88
|
| 189 |
+
# via
|
| 190 |
+
# gradio-client
|
| 191 |
+
# huggingface-hub
|
| 192 |
+
gradio==6.24.0 \
|
| 193 |
+
--hash=sha256:0a7c97c07ef0facecb86d776c73c0124b3f9803a828e09ea1737ad12219cabb5 \
|
| 194 |
+
--hash=sha256:2072be0c0803da1859f918a45dc568fafc7b0eebd581943bee8acc78f752e166
|
| 195 |
+
# via dearmon-sat-act-learning-lab
|
| 196 |
+
gradio-client==2.6.0 \
|
| 197 |
+
--hash=sha256:4493a6425560dd23d1eb5427a13290819135c664c5ed9f184eb517b1ea263291 \
|
| 198 |
+
--hash=sha256:e648110efa31347bb8b1abda150a7a975b40a9658fdd8562803e2ad6a300d033
|
| 199 |
+
# via
|
| 200 |
+
# dearmon-sat-act-learning-lab
|
| 201 |
+
# gradio
|
| 202 |
+
# hf-gradio
|
| 203 |
+
groovy==0.1.2 \
|
| 204 |
+
--hash=sha256:25c1dc09b3f9d7e292458aa762c6beb96ea037071bf5e917fc81fb78d2231083 \
|
| 205 |
+
--hash=sha256:7f7975bab18c729a257a8b1ae9dcd70b7cafb1720481beae47719af57c35fa64
|
| 206 |
+
# via gradio
|
| 207 |
+
h11==0.16.0 \
|
| 208 |
+
--hash=sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1 \
|
| 209 |
+
--hash=sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86
|
| 210 |
+
# via
|
| 211 |
+
# httpcore
|
| 212 |
+
# httpcore2
|
| 213 |
+
# uvicorn
|
| 214 |
+
hf-gradio==0.4.1 \
|
| 215 |
+
--hash=sha256:76b8cb8be6abe62d74c1ad2d35b42f0629db89aa9e1a8d033cecfe7c856eeab3 \
|
| 216 |
+
--hash=sha256:a017d942618f0d495a58ee4563047fa04bef614c00e0cb789a9a6d0633cffa7b
|
| 217 |
+
# via gradio
|
| 218 |
+
hf-xet==1.6.0 ; platform_machine == 'AMD64' or platform_machine == 'aarch64' or platform_machine == 'amd64' or platform_machine == 'arm64' or platform_machine == 'x86_64' \
|
| 219 |
+
--hash=sha256:0e6e21fa3cdfcdcd76748564bf593870a5e013f47d97cf10aed63aa222cff5b7 \
|
| 220 |
+
--hash=sha256:2e58454a340b3556dfa4972d5451aff4fba8dd42a236600ba1a1d2b1514f0fef \
|
| 221 |
+
--hash=sha256:3dc3e35441ba395006af5aaacc40ef2e603c51ef46c3530b9156185f00935ea3 \
|
| 222 |
+
--hash=sha256:4fc74352a17015bd0ee90038bc9efe38db894cde45f268b6712b04fce8cd0acb \
|
| 223 |
+
--hash=sha256:633dc0cd71d32da58ab8c03ad38e2fac452c15c2b0a2866ebf6ededfe0a5061d \
|
| 224 |
+
--hash=sha256:8fb4f71cba6129110c3374a33f919001ff130488fc23553698e34cc1c2a1198c \
|
| 225 |
+
--hash=sha256:d62671bb130879cef0ee4c9ebe47a14af6c66ec53e6d84dc15936e5ffdfac82f \
|
| 226 |
+
--hash=sha256:f0906082d9932ae0c0057fa194041c22b4e2cdb46b2592ef3b91f020d62a081a \
|
| 227 |
+
--hash=sha256:fb4fadde1b2b70bf4c0c14a6dccbe7194b1c28947fefd5bbe3fed9d940676c3b
|
| 228 |
+
# via huggingface-hub
|
| 229 |
+
httpcore==1.0.9 \
|
| 230 |
+
--hash=sha256:2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55 \
|
| 231 |
+
--hash=sha256:6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8
|
| 232 |
+
# via httpx
|
| 233 |
+
httpcore2==2.12.0 ; sys_platform != 'emscripten' \
|
| 234 |
+
--hash=sha256:7e04258ce01013d7d615e5b910a3b27fac937d7a95038227e79652b4ba3b4ceb \
|
| 235 |
+
--hash=sha256:9293522bba0aa7c4c8e9e3f040c16575bd8868e155a77fa30c7a9085a5eae648
|
| 236 |
+
# via httpx2
|
| 237 |
+
httpx==0.28.1 \
|
| 238 |
+
--hash=sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc \
|
| 239 |
+
--hash=sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad
|
| 240 |
+
# via
|
| 241 |
+
# gradio
|
| 242 |
+
# gradio-client
|
| 243 |
+
# huggingface-hub
|
| 244 |
+
# openai
|
| 245 |
+
# safehttpx
|
| 246 |
+
httpx2==2.12.0 \
|
| 247 |
+
--hash=sha256:7631fe9887a8a2275f4a2540e053aa670fcc50742864a9ae7c66e609fdcf12cf \
|
| 248 |
+
--hash=sha256:cc8b6eecb8661c146b8f89a60e97456ee086e91a784ed31ac450c3a9e613dd36
|
| 249 |
+
# via dearmon-sat-act-learning-lab
|
| 250 |
+
httpx2-jsfetch==1.0 ; sys_platform == 'emscripten' \
|
| 251 |
+
--hash=sha256:70a0e3eabfef7cce5ad9c629f7d01ca05e418f586646f4ddf14782e4c1454c60 \
|
| 252 |
+
--hash=sha256:cb916b707601e69a07721aabc8f3f6659be3a6893bc1ff5c6f9e02241df2da32
|
| 253 |
+
# via httpx2
|
| 254 |
+
huggingface-hub==1.27.0 \
|
| 255 |
+
--hash=sha256:7df6827c2f956c60fbaa64646e979e566db76f619dd0a9729dfb8c5a3eb4f68d \
|
| 256 |
+
--hash=sha256:c1fed40ea82a6b41b477f5243546549b792ae0a93abcea608cff66089bf8f8df
|
| 257 |
+
# via
|
| 258 |
+
# dearmon-sat-act-learning-lab
|
| 259 |
+
# gradio
|
| 260 |
+
# gradio-client
|
| 261 |
+
idna==3.19 \
|
| 262 |
+
--hash=sha256:5e0811a4383b21dc5838069f801c4fb62113b7447663d2530d2bd6e77b49bf15 \
|
| 263 |
+
--hash=sha256:815e7be7a7806d54abb586dc943addc79e8b2ee16915059658cbeff4b1b43bf4
|
| 264 |
+
# via
|
| 265 |
+
# anyio
|
| 266 |
+
# httpx
|
| 267 |
+
# httpx2
|
| 268 |
+
# requests
|
| 269 |
+
jinja2==3.1.6 \
|
| 270 |
+
--hash=sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d \
|
| 271 |
+
--hash=sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67
|
| 272 |
+
# via
|
| 273 |
+
# dearmon-sat-act-learning-lab
|
| 274 |
+
# gradio
|
| 275 |
+
jiter==0.16.0 \
|
| 276 |
+
--hash=sha256:0df91907609837f33341b8e6fe73b95991fdaa57caf1a0fbd343dffe826f386f \
|
| 277 |
+
--hash=sha256:1878349266f8ee36ecb1375cc5ba2f115f35fd9f0a1a4119e725e379126647f7 \
|
| 278 |
+
--hash=sha256:2ed5738ae4af18271a51a528b8811b0cbfa4a1858de9d83359e4169855d6a331 \
|
| 279 |
+
--hash=sha256:3a23f0e4f957e1be65752d2dfac9a5a06b1917af8dc85deb639c3b9d02e31290 \
|
| 280 |
+
--hash=sha256:44d019fa8cdaf89bf29c71b39e3712143fdd0ac76725c6ef954f9957a5ea8730 \
|
| 281 |
+
--hash=sha256:46add52f4ad47a08bfb1219f3e673da972191489a33016edefdb5ea55bfa8c48 \
|
| 282 |
+
--hash=sha256:51d7b836acb0108d7c77df1742332cac2a1fa04a74d6dacec46e7091f0e91274 \
|
| 283 |
+
--hash=sha256:561926e0573ffe4a32498420a76d64b16c513e1ab413b9d28158a8764ac701e5 \
|
| 284 |
+
--hash=sha256:5af7780e4a26bd7d0d989592bf9ef12ebf806b74ab709223ecca37c749872ea9 \
|
| 285 |
+
--hash=sha256:64d613743df53199b1aa256a7d328340da6d7078aac7705a7db9d7a791e9cfd2 \
|
| 286 |
+
--hash=sha256:67c3bc1760f8c99d805dcab4e644027142a53b1d5d861f18780ebdbd5d40b72a \
|
| 287 |
+
--hash=sha256:7b24c3492c5f4f84a37946ad9cf504910cf6a782d6a4e0689b6673c5894b4a1c \
|
| 288 |
+
--hash=sha256:96e38eea538c8ddf853a35727c7be0741c76c13f04148ac5c116222f50ece3b3 \
|
| 289 |
+
--hash=sha256:9c8a956fd72c2cf1e730d01ea080341f13aa0a97a4a33b51abebe725b7ae9ca9 \
|
| 290 |
+
--hash=sha256:c22a488f7b9218e245a0025a9ba6b100e2e54700831cf4cf16833a27fba3ad01 \
|
| 291 |
+
--hash=sha256:d284fb8d94d5855d60c44fefcab4bf966f1da6fada73992b01f6f0c9bc0c6702 \
|
| 292 |
+
--hash=sha256:d5bf78d0e05e45cfdd66558893938d59afe3d1b1a824a202039b20e607d25a72 \
|
| 293 |
+
--hash=sha256:f17d61a28b4b3e0e3e2ba98490c70501403b4d196f78732439160e7fd3678127 \
|
| 294 |
+
--hash=sha256:f4444a83f946605990c98f625cdd3d2725bfb818158760c5748c653170a20e0e
|
| 295 |
+
# via openai
|
| 296 |
+
joserfc==1.7.5 \
|
| 297 |
+
--hash=sha256:add2c2c84e8373b084d526a8b53daba5d7a513a118cd2dcd9fc9f979d0922159 \
|
| 298 |
+
--hash=sha256:d5ff536e658e17664f8c1b1ab60dc4aa62aa973fcef1edd33cc44bda45d6f5ea
|
| 299 |
+
# via authlib
|
| 300 |
+
kiwisolver==1.5.1 \
|
| 301 |
+
--hash=sha256:06a6917674de9e0fe3f66f5430787f59a9f2ddb64af9b714eaec547e29ef5c19 \
|
| 302 |
+
--hash=sha256:072bdb15a3c19a5b5dbc8f8fb1f4e1884bf4f3507eeb4cc6334401274d37a5c0 \
|
| 303 |
+
--hash=sha256:0ebdef3eae5336568147c39a55be6a2036ffde53faa9ca2d978989ae7c2da12c \
|
| 304 |
+
--hash=sha256:1209042a623ddfda5497e4066c7b77651dde8e1d3a9dd97599dc7e97f3b9b78c \
|
| 305 |
+
--hash=sha256:1798e83840c3f627246104c4d8a9639c60fa068adf9ce92b61791781fa8a68c1 \
|
| 306 |
+
--hash=sha256:2551cf9917af48ee7c4b29cc82320489508cf96fd26a51f6fc124de661cd44c7 \
|
| 307 |
+
--hash=sha256:26e8268480be5061d509e29669d59103c067a26377a56491630ece11762e3858 \
|
| 308 |
+
--hash=sha256:34633ecf50d16187ab8e5528b7a2530f2feb4e23f300db4672538b51cfc5cd38 \
|
| 309 |
+
--hash=sha256:38f6e0deb4d0a4615efe0c4efc5990b06ae450ab50a0b321c0b078b6d238c083 \
|
| 310 |
+
--hash=sha256:482676e5bd48d70ac99d9fc78863469845421e01184fa83f1f9366dc49f7e974 \
|
| 311 |
+
--hash=sha256:63fb7294b768f444eb4b068965f2662f28c2fd4161e23bd60fcf3ff27b74c046 \
|
| 312 |
+
--hash=sha256:6a797a1cefc8b9c93170db580337e1fe3d011ad18b1299943231279406342048 \
|
| 313 |
+
--hash=sha256:a5a00665d1a0e26763a7338d7e911d4598fbc1d50dd0d6b7919b7dc6c5d6569f \
|
| 314 |
+
--hash=sha256:ad8b9671348d7c8716715652ae11f85ed0eb99e265a2df2ca490577d69860b2c \
|
| 315 |
+
--hash=sha256:b03af77d77e50edba2030fd5f7c352ff209314b09030a3cba7c14edf9a09a444 \
|
| 316 |
+
--hash=sha256:bfd1de989b3330420e29de39352f5c049905c9e3ee67233a50d550e3d652c148 \
|
| 317 |
+
--hash=sha256:d27c2123977cb9269c30a49ba45f03a4323017ef693e19db4ec9dbe1299a3002 \
|
| 318 |
+
--hash=sha256:d79308fa689fac89cbcfbd4dbfc80b5f95c54c5a7fd4d194be221f9d33d026e6 \
|
| 319 |
+
--hash=sha256:f1303ef2eec81262a4b708c3e858afe58d7c75ad91c1c05266eda7673369859a
|
| 320 |
+
# via matplotlib
|
| 321 |
+
libsql==0.1.11 \
|
| 322 |
+
--hash=sha256:101b6e60f5333434b3e6107bfe2cf24cd5d1317286ad262cb6489941abde77d4 \
|
| 323 |
+
--hash=sha256:28dbc0165942c57d0dcfe0115eb4fde13f52929ce18e59a59e826ac77b647e11 \
|
| 324 |
+
--hash=sha256:74fde15d0cdc930da3b88a0cfcf9d7c9cafea945974d48d09394e574939f77b1 \
|
| 325 |
+
--hash=sha256:a9d7340f762ea6db8cdcc0345b1666a77cbaf313c28c7c6738533fc5844e8f54 \
|
| 326 |
+
--hash=sha256:c8c00c5e4d0906ff682ab3cad8473ef36aaa34080bcc553a2e636a73e79d9c2b
|
| 327 |
+
# via dearmon-sat-act-learning-lab
|
| 328 |
+
lxml==6.1.3 \
|
| 329 |
+
--hash=sha256:0c0710ac085a157b593c38fbcacd950f15c4afa8e2057527185875ab302752bc \
|
| 330 |
+
--hash=sha256:1aeca87830c4fe649dcf93fe2b059525b71c72587f21be4ae4af7103082a79fa \
|
| 331 |
+
--hash=sha256:21402998e4b78e7cce237d2788841aaa21ac9a4d1574d04dc2d12ee41ae807b5 \
|
| 332 |
+
--hash=sha256:379f8a75cf6eb7eef0af074b55f49ab73b868388a98de14646abcdfa4564bb11 \
|
| 333 |
+
--hash=sha256:38fc4e4e4e084e0bd491949482527d406788045c546d4f8789e93fc527b91385 \
|
| 334 |
+
--hash=sha256:3e42265103fb385d8642a78672edf376c6f7e1d3598a7a4f9cb1278f2f6b5f6f \
|
| 335 |
+
--hash=sha256:3e9a00d1c2c30936f7add097c41afc5da6556c580909104aafd382cac92a855c \
|
| 336 |
+
--hash=sha256:45222d94ddd511536f3b2f7d9deae3b2339b4ce0f075f1ca25703b07cad9dd21 \
|
| 337 |
+
--hash=sha256:48542c9acba9ff9450bd18d871d2c2c8787fdb283572b623d206f1b927cd7d9e \
|
| 338 |
+
--hash=sha256:5609efdb0d3c95499c00046bc53648b3482ec2175b5503d6e611b3f0555dc71d \
|
| 339 |
+
--hash=sha256:623c8799c17128753c65699f1c3aa32402657393a9ad6db09ed8b98ddf76611d \
|
| 340 |
+
--hash=sha256:909f4e927bb051f7740d6367285fc60cdcfdaf0258c2dba4ff5ba7eadadc250c \
|
| 341 |
+
--hash=sha256:97ce49699d87ebf8aad631b55d65b33219a4f1bfefbbf5bff19dc9af160aeaf9 \
|
| 342 |
+
--hash=sha256:a5c18810318303ce9afb3f95e2ddb54834f96fa699a8600433fd5a93dcf44c56 \
|
| 343 |
+
--hash=sha256:b37772102d44bb6628186accca3a121b1fa3a6b3d97518a8c29a5229ca4c0d0a \
|
| 344 |
+
--hash=sha256:b3ff39654f0ce6ebd4db154211136dbe7e8157bcc3bed2344c87f32c7c6ecb6c \
|
| 345 |
+
--hash=sha256:c55e71a9b1db1f107efb60da49c093689b74c5c31a708e5379e2fd9439d4fbb5 \
|
| 346 |
+
--hash=sha256:ddcf547bea2aee967d6a77779376a45e77e610e8465147a1f3d7e20d539d6e32 \
|
| 347 |
+
--hash=sha256:f683dc6300317700025e41d89a43e0276692ded16113a3c43eab704d605c58e5
|
| 348 |
+
# via python-docx
|
| 349 |
+
markdown-it-py==4.2.0 \
|
| 350 |
+
--hash=sha256:04a21681d6fbb623de53f6f364d352309d4094dd4194040a10fd51833e418d49 \
|
| 351 |
+
--hash=sha256:9f7ebbcd14fe59494226453aed97c1070d83f8d24b6fc3a3bcf9a38092641c4a
|
| 352 |
+
# via rich
|
| 353 |
+
markupsafe==3.0.3 \
|
| 354 |
+
--hash=sha256:1872df69a4de6aead3491198eaf13810b565bdbeec3ae2dc8780f14458ec73ce \
|
| 355 |
+
--hash=sha256:26a5784ded40c9e318cfc2bdb30fe164bdb8665ded9cd64d500a34fb42067b1c \
|
| 356 |
+
--hash=sha256:35add3b638a5d900e807944a078b51922212fb3dedb01633a8defc4b01a3c85f \
|
| 357 |
+
--hash=sha256:3a7e8ae81ae39e62a41ec302f972ba6ae23a5c5396c8e60113e9066ef893da0d \
|
| 358 |
+
--hash=sha256:722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698 \
|
| 359 |
+
--hash=sha256:77f0643abe7495da77fb436f50f8dab76dbc6e5fd25d39589a0f1fe6548bfa2b \
|
| 360 |
+
--hash=sha256:83891d0e9fb81a825d9a6d61e3f07550ca70a076484292a70fde82c4b807286f \
|
| 361 |
+
--hash=sha256:94c6f0bb423f739146aec64595853541634bde58b2135f27f61c1ffd1cd4d16a \
|
| 362 |
+
--hash=sha256:be8813b57049a7dc738189df53d69395eba14fb99345e0a5994914a3864c8a4b \
|
| 363 |
+
--hash=sha256:d53197da72cc091b024dd97249dfc7794d6a56530370992a5e1a08983ad9230e \
|
| 364 |
+
--hash=sha256:d6dd0be5b5b189d31db7cda48b91d7e0a9795f31430b7f271219ab30f1d3ac9d \
|
| 365 |
+
--hash=sha256:d88b440e37a16e651bda4c7c2b930eb586fd15ca7406cb39e211fcff3bf3017d
|
| 366 |
+
# via
|
| 367 |
+
# gradio
|
| 368 |
+
# jinja2
|
| 369 |
+
matplotlib==3.10.8 \
|
| 370 |
+
--hash=sha256:2299372c19d56bcd35cf05a2738308758d32b9eaed2371898d8f5bd33f084aa3 \
|
| 371 |
+
--hash=sha256:24d50994d8c5816ddc35411e50a86ab05f575e2530c02752e02538122613371f \
|
| 372 |
+
--hash=sha256:3ab4aabc72de4ff77b3ec33a6d78a68227bf1123465887f9905ba79184a1cc04 \
|
| 373 |
+
--hash=sha256:3c624e43ed56313651bc18a47f838b60d7b8032ed348911c54906b130b20071b \
|
| 374 |
+
--hash=sha256:64fcc24778ca0404ce0cb7b6b77ae1f4c7231cdd60e6778f999ee05cbd581b9a \
|
| 375 |
+
--hash=sha256:99eefd13c0dc3b3c1b4d561c1169e65fe47aab7b8158754d7c084088e2329466 \
|
| 376 |
+
--hash=sha256:b9a5ca4ac220a0cdd1ba6bcba3608547117d30468fefce49bb26f55c1a3d5c58 \
|
| 377 |
+
--hash=sha256:dd80ecb295460a5d9d260df63c43f4afbdd832d725a531f008dad1664f458adf
|
| 378 |
+
# via dearmon-sat-act-learning-lab
|
| 379 |
+
mdurl==0.1.2 \
|
| 380 |
+
--hash=sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8 \
|
| 381 |
+
--hash=sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba
|
| 382 |
+
# via markdown-it-py
|
| 383 |
+
mpmath==1.3.0 \
|
| 384 |
+
--hash=sha256:7a28eb2a9774d00c7bc92411c19a89209d5da7c4c9a9e227be8330a23a25b91f \
|
| 385 |
+
--hash=sha256:a0b2b9fe80bbcd81a6647ff13108738cfb482d481d826cc0e02f5b35e5c88d2c
|
| 386 |
+
# via sympy
|
| 387 |
+
numpy==2.5.2 \
|
| 388 |
+
--hash=sha256:14e373cfc6387177e8409dac3c7159be8eb05cd77096cd7c950268b86f62831c \
|
| 389 |
+
--hash=sha256:27650bb0e7140fa3d37b9923b4803645e0b125d190f326eecfd3f4dad8e8ade1 \
|
| 390 |
+
--hash=sha256:28ac63476ec7651484215ee7fa15a1f78b57c14621f01e392afe17b9a1390ce4 \
|
| 391 |
+
--hash=sha256:3cdec01fa790a186d430433fdd4d4ffb70eed6f0eeb4bf05c8dbe2dce0a9bcb8 \
|
| 392 |
+
--hash=sha256:4bbd96c833ecc8cc069ce518078fc8c60cb9cbfb0fea5b7a803ad65035596d03 \
|
| 393 |
+
--hash=sha256:65f188481f1669e26f62b701e8205d19e460fa4a9b52a1414ba382330e4a3414 \
|
| 394 |
+
--hash=sha256:6e8172ddfcf5cf74b811d372b570b83c60bd2de87a6fbfbebdadb4a9bd9c6cbb \
|
| 395 |
+
--hash=sha256:7999d4ddb0c4025018373fd787510d46e04c769467af22869707b3c1cfd459ab \
|
| 396 |
+
--hash=sha256:8ee9c4eeb8454b3660a8b53493563c3e121c2fc94fbd72b848ef814ed7b676a9 \
|
| 397 |
+
--hash=sha256:c1f017dc0875c9209d219f97feceb7d54c2661bb243deb4114478e1295808af7 \
|
| 398 |
+
--hash=sha256:d482d171c406ae88c5b19cad3b6a1c4c5209f886ab74bc44c2c865c23f52d860 \
|
| 399 |
+
--hash=sha256:d6a48072864e3324e194a8fbb3c657bcc5b5c869dbc64c9537b1d5c862572c0a
|
| 400 |
+
# via
|
| 401 |
+
# contourpy
|
| 402 |
+
# dearmon-sat-act-learning-lab
|
| 403 |
+
# gradio
|
| 404 |
+
# matplotlib
|
| 405 |
+
# pandas
|
| 406 |
+
openai==2.54.0 \
|
| 407 |
+
--hash=sha256:89089789197ccdb87f173a03145ed1598d00795220c93e96cf712b1cbf5e5f2b \
|
| 408 |
+
--hash=sha256:e3e6f8bc1ba30ddf381ace1a14340eed381cb984a1a59bd0f34b5be3b5d49cfa
|
| 409 |
+
# via dearmon-sat-act-learning-lab
|
| 410 |
+
orjson==3.12.0 \
|
| 411 |
+
--hash=sha256:010811c1b69773450a01cef97727a67b223242f350b77d4ca000e59a9ef2155a \
|
| 412 |
+
--hash=sha256:1192a7021b6d071aaf909864f6e924d6a2675ca360485b972b8401749311750b \
|
| 413 |
+
--hash=sha256:11edb4660a6680abee9788a3a9072208a2c96538cc1322bd79542065229d8e54 \
|
| 414 |
+
--hash=sha256:2d3a9da945a4d96ae758fdaaca56742e6b73b6fd554c5d8876f252a6dad70b83 \
|
| 415 |
+
--hash=sha256:532ff8cd4bd59a327a953a7dcde922c7fc25b85e29721bb8633265430d3a3873 \
|
| 416 |
+
--hash=sha256:53c0c474a9d9aff9aebfc0c88de1f28f843d940e6e3a80729abdf6a20274356f \
|
| 417 |
+
--hash=sha256:92ffc09e07233a6ab6d4e067f7841edcbcc134cb4812155cf171ea5255a421d7 \
|
| 418 |
+
--hash=sha256:a6cf4b18e7de173f209f2084ffbd736dd72389a396326ee80a7022168be232e5 \
|
| 419 |
+
--hash=sha256:aa3e43a6846e91d7bde3d5a9c66090fcd8744f569a9b6cffc5e1ca38f6a461c0 \
|
| 420 |
+
--hash=sha256:ad29eece0c601737f2a60edc2752a84e7a0785df3efb62e3012834700a5afe0d \
|
| 421 |
+
--hash=sha256:bf44e374aadde77b1f6109f1030be51433eb61984379852766b6f4e187db7b1e \
|
| 422 |
+
--hash=sha256:d14203fb1aae2ad9b3d52f8a0e82aeb10197ef1c9bc61da7f358bd70b00123d5
|
| 423 |
+
# via gradio
|
| 424 |
+
packaging==26.3 \
|
| 425 |
+
--hash=sha256:94edc256424af38762eb31306eed28beb9f0efc50a8837492c9d6fd6004aed79 \
|
| 426 |
+
--hash=sha256:d7193f7c8e4e93f444fde0262bf90af30e16fa0ad0ad44cb553c87339b23cd1c
|
| 427 |
+
# via
|
| 428 |
+
# gradio
|
| 429 |
+
# gradio-client
|
| 430 |
+
# huggingface-hub
|
| 431 |
+
# matplotlib
|
| 432 |
+
pandas==2.3.3 \
|
| 433 |
+
--hash=sha256:371a4ab48e950033bcf52b6527eccb564f52dc826c02afd9a1bc0ab731bba084 \
|
| 434 |
+
--hash=sha256:3fd2f887589c7aa868e02632612ba39acb0b8948faf5cc58f0850e165bd46f35 \
|
| 435 |
+
--hash=sha256:6d21f6d74eb1725c2efaa71a2bfc661a0689579b58e9c0ca58a739ff0b002b53 \
|
| 436 |
+
--hash=sha256:a16dcec078a01eeef8ee61bf64074b4e524a2a3f4b3be9326420cabe59c4778b \
|
| 437 |
+
--hash=sha256:a68e15f780eddf2b07d242e17a04aa187a7ee12b40b930bfdd78070556550e98 \
|
| 438 |
+
--hash=sha256:b3d11d2fda7eb164ef27ffc14b4fcab16a80e1ce67e9f57e19ec0afaf715ba89 \
|
| 439 |
+
--hash=sha256:e05e1af93b977f7eafa636d043f9f94c7ee3ac81af99c13508215942e64c993b \
|
| 440 |
+
--hash=sha256:ecaf1e12bdc03c86ad4a7ea848d66c685cb6851d807a26aa245ca3d2017a1908
|
| 441 |
+
# via
|
| 442 |
+
# dearmon-sat-act-learning-lab
|
| 443 |
+
# gradio
|
| 444 |
+
pillow==12.3.0 \
|
| 445 |
+
--hash=sha256:0dd2064cbc55aaec028ef5fbb60fa47bb6c3e7918e07ff17935284b227a9d2df \
|
| 446 |
+
--hash=sha256:331b624368d4f1d069149002f25f44bc61c8919ce8ddb3c45bdad8f6e2d89510 \
|
| 447 |
+
--hash=sha256:3b8182a766685eaa002637e28b4ec8d6b18819a0c71f579bf0dbaa5830297cce \
|
| 448 |
+
--hash=sha256:78cb2c6865a35ab8ff8b75fd122f6033b92a62c82801110e48ddd6c936a45d91 \
|
| 449 |
+
--hash=sha256:a2b55dd6b2a4c4b7d87ffa56bdb33fdc5fdb9a462173861a7bc097f17d91cb09 \
|
| 450 |
+
--hash=sha256:ba09209fbe443b4acccebe845d8a138b89a8f4fbaeedd44953490b5315d5e965 \
|
| 451 |
+
--hash=sha256:d9c7f76c0673154f044e9d78c8655fb4213f6ca31a836df48b40fe5d187717b9 \
|
| 452 |
+
--hash=sha256:dbce0b29841537a2fa4a214c2bbf14de3587c9680caa9b4e217568472490b28f \
|
| 453 |
+
--hash=sha256:e491916b378fba47242221bb9ead245211b70d504f495d105d17b14a24b4907c \
|
| 454 |
+
--hash=sha256:ffd0c5368496f41b0944be820fcb7a838aa6e623d250b01acf2643939c3f99d7
|
| 455 |
+
# via
|
| 456 |
+
# dearmon-sat-act-learning-lab
|
| 457 |
+
# gradio
|
| 458 |
+
# matplotlib
|
| 459 |
+
pycparser==3.0 ; implementation_name != 'PyPy' and platform_python_implementation != 'PyPy' \
|
| 460 |
+
--hash=sha256:600f49d217304a5902ac3c37e1281c9fe94e4d0489de643a9504c5cdfdfc6b29 \
|
| 461 |
+
--hash=sha256:b727414169a36b7d524c1c3e31839a521725078d7b2ff038656844266160a992
|
| 462 |
+
# via cffi
|
| 463 |
+
pydantic==2.13.5 \
|
| 464 |
+
--hash=sha256:346a034f080da3755d8e9cb5e00e8b07de1d39e4f6e2c87d8ab7cafa0b269a73 \
|
| 465 |
+
--hash=sha256:51a9c5f7b2f8e636f04c6cada605d9b6a3bf1348fdf945a3d8869b19bba0ee08
|
| 466 |
+
# via
|
| 467 |
+
# fastapi
|
| 468 |
+
# gradio
|
| 469 |
+
# openai
|
| 470 |
+
pydantic-core==2.46.5 \
|
| 471 |
+
--hash=sha256:013d6f3483d81e02e7c328831808f336c8596ee33b4bd4026b9ffb1e960b8942 \
|
| 472 |
+
--hash=sha256:0fc5be0abd4a407e200d844b404e33639a554e7bd0d448e7b9ae181be4789ac2 \
|
| 473 |
+
--hash=sha256:10416c15b8839ecc4ef4d0885da76da6fd0f67333a0eb8aff6d93c4b8f2910fc \
|
| 474 |
+
--hash=sha256:18a09e1e1011b462f2e32774f25859ef1223d5c2b0546a633cf56654710721e0 \
|
| 475 |
+
--hash=sha256:2bc9419666990c06d7397831f2126a1ecc3594aaa3ff7de5bf2d066802f4e07b \
|
| 476 |
+
--hash=sha256:347ec774390c87326a2e4929d58d3f7e8763a104d5d35f4cd595a4c952366433 \
|
| 477 |
+
--hash=sha256:4fdc8b93a41521988916eeaa271173fcca7fa0803d62f87675aac8dcec1c8e29 \
|
| 478 |
+
--hash=sha256:5cb482e9e84c851f4e623fe4acc1ced89168cf1fe18f7089db4548c8f5bbb65b \
|
| 479 |
+
--hash=sha256:5e81740c09e310f5aa5cbd3e434a01c154d4bef93241c7877b39f211d2b78ba8 \
|
| 480 |
+
--hash=sha256:816ff0a6550ffc06c098ccd2e0698600f9aa7da192a79eaa6f9af504a35db869 \
|
| 481 |
+
--hash=sha256:8e24d8f05fa2d28513d94e877e9c75ad66175376209b3977f916e240e623193c \
|
| 482 |
+
--hash=sha256:a39ac25a9a2fa4072efdb429833c4a4c8009a51ff9eea3eeae131713cd27991e \
|
| 483 |
+
--hash=sha256:b98134087d9de723658d17a42c7d0da8d6e2ef08015dee7dc93889047315f5e4 \
|
| 484 |
+
--hash=sha256:b9fe6fb92520e3fd61f2e49000b6911b188824f089b75973ea06d6267f0b476d \
|
| 485 |
+
--hash=sha256:c7ea57fc63aa7da93a1bd2d644e6577befae10c52c4e36377635eea1056a74f5 \
|
| 486 |
+
--hash=sha256:d925f3d9afd05a8c0fb3a1031463a8d59ebe5e2afad297e29c78be19e13b4e62 \
|
| 487 |
+
--hash=sha256:e652ab17569c94bff5475520f907b7148b8c24036a8ebbe5cf7cf7493d28579a \
|
| 488 |
+
--hash=sha256:e9c134bb666dd54b778b9fc0d2b50cbb7f979b9e3716f26a88c9ab3b6fc1dd0f \
|
| 489 |
+
--hash=sha256:efd62a42486f1bda5d24cb4f63d15a3c7768375fe83d36f9417b4ad7a2fb20b3 \
|
| 490 |
+
--hash=sha256:f7b0ec93a2893de856652154d73b7ba622f26fa97726487dcac373de5f4c6084
|
| 491 |
+
# via pydantic
|
| 492 |
+
pydub==0.25.1 \
|
| 493 |
+
--hash=sha256:65617e33033874b59d87db603aa1ed450633288aefead953b30bded59cb599a6 \
|
| 494 |
+
--hash=sha256:980a33ce9949cab2a569606b65674d748ecbca4f0796887fd6f46173a7b0d30f
|
| 495 |
+
# via gradio
|
| 496 |
+
pygments==2.21.0 \
|
| 497 |
+
--hash=sha256:2363c69b61c4a97c838da3b130dcd6468f4848992b21a82f2a63ec34377137d9 \
|
| 498 |
+
--hash=sha256:610ca751c9bc2492b38eb9a38a7fbc93edbbb2d7182edaf34e66ae493dee5c8c
|
| 499 |
+
# via rich
|
| 500 |
+
pyjwt==2.13.0 \
|
| 501 |
+
--hash=sha256:41571c89ca91598c79e8ef18a2d07367d4810fbbd6f637794879baf1b7703423 \
|
| 502 |
+
--hash=sha256:66adcc2aff09b3f1bbd95fc1e1577df8ac8723c978552fd43304c8a290ac5728
|
| 503 |
+
# via dearmon-sat-act-learning-lab
|
| 504 |
+
pyparsing==3.3.2 \
|
| 505 |
+
--hash=sha256:850ba148bd908d7e2411587e247a1e4f0327839c40e2e5e6d05a007ecc69911d \
|
| 506 |
+
--hash=sha256:c777f4d763f140633dcb6d8a3eda953bf7a214dc4eff598413c070bcdc117cbc
|
| 507 |
+
# via matplotlib
|
| 508 |
+
python-dateutil==2.9.0.post0 \
|
| 509 |
+
--hash=sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3 \
|
| 510 |
+
--hash=sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427
|
| 511 |
+
# via
|
| 512 |
+
# matplotlib
|
| 513 |
+
# pandas
|
| 514 |
+
python-docx==1.2.0 \
|
| 515 |
+
--hash=sha256:3fd478f3250fbbbfd3b94fe1e985955737c145627498896a8a6bf81f4baf66c7 \
|
| 516 |
+
--hash=sha256:7bc9d7b7d8a69c9c02ca09216118c86552704edc23bac179283f2e38f86220ce
|
| 517 |
+
# via dearmon-sat-act-learning-lab
|
| 518 |
+
python-multipart==0.0.32 \
|
| 519 |
+
--hash=sha256:be54b7f3fa167bb83e4fcd936b887b708f4e57fe75911c02aebf53efaf8d938e \
|
| 520 |
+
--hash=sha256:ff6d3f776f16878c894e52e107296ffc890e913c611b1a4ec6c44e2821fe2e23
|
| 521 |
+
# via gradio
|
| 522 |
+
pytz==2026.3.post1 \
|
| 523 |
+
--hash=sha256:2211d3fcf9a797d3405cac96ac7f61d80e6a644f72a3309607282fe8a2010c5d \
|
| 524 |
+
--hash=sha256:dd95840dd199baea12d9cc096a1d452caa6596a1c1e4b5f3dbd1541855d5e815
|
| 525 |
+
# via
|
| 526 |
+
# gradio
|
| 527 |
+
# pandas
|
| 528 |
+
pyyaml==6.0.3 \
|
| 529 |
+
--hash=sha256:41715c910c881bc081f1e8872880d3c650acf13dfa8214bad49ed4cede7c34ea \
|
| 530 |
+
--hash=sha256:5fcd34e47f6e0b794d17de1b4ff496c00986e1c83f7ab2fb8fcfe9616ff7477b \
|
| 531 |
+
--hash=sha256:5fdec68f91a0c6739b380c83b951e2c72ac0197ace422360e6d5a959d8d97b2c \
|
| 532 |
+
--hash=sha256:64386e5e707d03a7e172c0701abfb7e10f0fb753ee1d773128192742712a98fd \
|
| 533 |
+
--hash=sha256:7f047e29dcae44602496db43be01ad42fc6f1cc0d8cd6c83d342306c32270196 \
|
| 534 |
+
--hash=sha256:8dc52c23056b9ddd46818a57b78404882310fb473d63f17b07d5c40421e47f8e \
|
| 535 |
+
--hash=sha256:9149cad251584d5fb4981be1ecde53a1ca46c891a79788c0df828d2f166bda28 \
|
| 536 |
+
--hash=sha256:96b533f0e99f6579b3d4d4995707cf36df9100d67e0c8303a0c55b27b5f99bc5 \
|
| 537 |
+
--hash=sha256:ba1cc08a7ccde2d2ec775841541641e4548226580ab850948cbfda66a1befcdc \
|
| 538 |
+
--hash=sha256:d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f \
|
| 539 |
+
--hash=sha256:fc09d0aa354569bc501d4e787133afc08552722d3ab34836a80547331bb5d4a0
|
| 540 |
+
# via
|
| 541 |
+
# dearmon-sat-act-learning-lab
|
| 542 |
+
# gradio
|
| 543 |
+
# huggingface-hub
|
| 544 |
+
requests==2.34.2 \
|
| 545 |
+
--hash=sha256:2a0d60c172f83ac6ab31e4554906c0f3b3588d37b5cb939b1c061f4907e278e0 \
|
| 546 |
+
--hash=sha256:f288924cae4e29463698d6d60bc6a4da69c89185ad1e0bcc4104f584e960b9ed
|
| 547 |
+
# via dearmon-sat-act-learning-lab
|
| 548 |
+
rich==15.0.0 \
|
| 549 |
+
--hash=sha256:33bd4ef74232fb73fe9279a257718407f169c09b78a87ad3d296f548e27de0bb \
|
| 550 |
+
--hash=sha256:edd07a4824c6b40189fb7ac9bc4c52536e9780fbbfbddf6f1e2502c31b068c36
|
| 551 |
+
# via typer
|
| 552 |
+
safehttpx==0.1.7 \
|
| 553 |
+
--hash=sha256:c4f4a162db6993464d7ca3d7cc4af0ffc6515a606dfd220b9f82c6945d869cde \
|
| 554 |
+
--hash=sha256:db201c0978c41eddb8bb480f3eee59dd67304fdd91646035e9d9a720049a9d23
|
| 555 |
+
# via gradio
|
| 556 |
+
semantic-version==2.10.0 \
|
| 557 |
+
--hash=sha256:bdabb6d336998cbb378d4b9db3a4b56a1e3235701dc05ea2690d9a997ed5041c \
|
| 558 |
+
--hash=sha256:de78a3b8e0feda74cabc54aab2da702113e33ac9d9eb9d2389bcf1f58b7d9177
|
| 559 |
+
# via gradio
|
| 560 |
+
shellingham==1.5.4 \
|
| 561 |
+
--hash=sha256:7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686 \
|
| 562 |
+
--hash=sha256:8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de
|
| 563 |
+
# via typer
|
| 564 |
+
six==1.17.0 \
|
| 565 |
+
--hash=sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274 \
|
| 566 |
+
--hash=sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81
|
| 567 |
+
# via python-dateutil
|
| 568 |
+
sniffio==1.3.1 \
|
| 569 |
+
--hash=sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2 \
|
| 570 |
+
--hash=sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc
|
| 571 |
+
# via openai
|
| 572 |
+
socksio==1.0.0 \
|
| 573 |
+
--hash=sha256:95dc1f15f9b34e8d7b16f06d74b8ccf48f609af32ab33c608d08761c5dcbb1f3 \
|
| 574 |
+
--hash=sha256:f88beb3da5b5c38b9890469de67d0cb0f9d494b78b106ca1845f96c10b91c4ac
|
| 575 |
+
# via dearmon-sat-act-learning-lab
|
| 576 |
+
starlette==1.6.0 \
|
| 577 |
+
--hash=sha256:a86dd39d14bb45f85a3d18525215a9ef0cfd1f192ac793220e72598c90335f0c \
|
| 578 |
+
--hash=sha256:d4e3ac5e546444960c710297a3c9fc3f7ebae1b7e963f3d36173b49da535be9b
|
| 579 |
+
# via
|
| 580 |
+
# dearmon-sat-act-learning-lab
|
| 581 |
+
# fastapi
|
| 582 |
+
# gradio
|
| 583 |
+
sympy==1.14.0 \
|
| 584 |
+
--hash=sha256:d3d3fe8df1e5a0b42f0e7bdf50541697dbe7d23746e894990c030e2b05e72517 \
|
| 585 |
+
--hash=sha256:e091cc3e99d2141a0ba2847328f5479b05d94a6635cb96148ccb3f34671bd8f5
|
| 586 |
+
# via dearmon-sat-act-learning-lab
|
| 587 |
+
tomlkit==0.14.0 \
|
| 588 |
+
--hash=sha256:592064ed85b40fa213469f81ac584f67a4f2992509a7c3ea2d632208623a3680 \
|
| 589 |
+
--hash=sha256:cf00efca415dbd57575befb1f6634c4f42d2d87dbba376128adb42c121b87064
|
| 590 |
+
# via gradio
|
| 591 |
+
tqdm==4.70.0 \
|
| 592 |
+
--hash=sha256:55b0b0dbd97462d06ebee91e4dac24ed4d4702be82b24f07e6c1d27e08cea220 \
|
| 593 |
+
--hash=sha256:7f585706bfddbdebf89daac705b2dfcc16890130727d3197ca62c732b4310953
|
| 594 |
+
# via
|
| 595 |
+
# huggingface-hub
|
| 596 |
+
# openai
|
| 597 |
+
truststore==0.10.4 ; sys_platform != 'emscripten' \
|
| 598 |
+
--hash=sha256:9d91bd436463ad5e4ee4aba766628dd6cd7010cf3e2461756b3303710eebc301 \
|
| 599 |
+
--hash=sha256:adaeaecf1cbb5f4de3b1959b42d41f6fab57b2b1666adb59e89cb0b53361d981
|
| 600 |
+
# via
|
| 601 |
+
# httpcore2
|
| 602 |
+
# httpx2
|
| 603 |
+
typer==0.27.2 \
|
| 604 |
+
--hash=sha256:269b7eb9d3c202ca84b4bc9618cb04ebb43d3d4d1e567e4c768607232c05f945 \
|
| 605 |
+
--hash=sha256:b3a5fc4342d5fc8fda8fc3010b1cf117e9249aab7fae800c2eff62fd3842d97d
|
| 606 |
+
# via
|
| 607 |
+
# gradio
|
| 608 |
+
# hf-gradio
|
| 609 |
+
typing-extensions==4.16.0 \
|
| 610 |
+
--hash=sha256:481caa481374e813c1b176ada14e97f1f67a4539ce9cfeb3f350d78d6370c2e8 \
|
| 611 |
+
--hash=sha256:dc983d19a509c94dba722ee6abd33940f7c05a89e243c47e907eb4db6f1a43e5
|
| 612 |
+
# via
|
| 613 |
+
# anyio
|
| 614 |
+
# fastapi
|
| 615 |
+
# gradio
|
| 616 |
+
# gradio-client
|
| 617 |
+
# httpx2
|
| 618 |
+
# huggingface-hub
|
| 619 |
+
# openai
|
| 620 |
+
# pydantic
|
| 621 |
+
# pydantic-core
|
| 622 |
+
# python-docx
|
| 623 |
+
# starlette
|
| 624 |
+
# typing-inspection
|
| 625 |
+
typing-inspection==0.4.4 \
|
| 626 |
+
--hash=sha256:547274fa6b0a561ccf549cc9524b999a578e737d015d8709d021f9d0d13bea47 \
|
| 627 |
+
--hash=sha256:65b8397ba37ccbce054456aaccddfc91e6e3083c92824df348d96ca832f3f147
|
| 628 |
+
# via
|
| 629 |
+
# fastapi
|
| 630 |
+
# pydantic
|
| 631 |
+
tzdata==2026.3 \
|
| 632 |
+
--hash=sha256:4a1518b8993086a7982523e071643f3c0e5f213e75b21318e78bcabfff9d1415 \
|
| 633 |
+
--hash=sha256:dc096730c87af6cab1b171c9d532be840741ff5d459015e7f6947bd7d7e54931
|
| 634 |
+
# via pandas
|
| 635 |
+
urllib3==2.7.0 \
|
| 636 |
+
--hash=sha256:231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c \
|
| 637 |
+
--hash=sha256:9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897
|
| 638 |
+
# via requests
|
| 639 |
+
uvicorn==0.41.0 \
|
| 640 |
+
--hash=sha256:09d11cf7008da33113824ee5a1c6422d89fbc2ff476540d69a34c87fab8b571a \
|
| 641 |
+
--hash=sha256:29e35b1d2c36a04b9e180d4007ede3bcb32a85fbdfd6c6aeb3f26839de088187
|
| 642 |
+
# via
|
| 643 |
+
# dearmon-sat-act-learning-lab
|
| 644 |
+
# gradio
|
runtime.txt
CHANGED
|
@@ -1,2 +1 @@
|
|
| 1 |
-
python-3.12
|
| 2 |
-
|
|
|
|
| 1 |
+
python-3.12.13
|
|
|