From 4af050e55151092e09b4df404a968b3072651999 Mon Sep 17 00:00:00 2001 From: "Jonathan D.A. Jewell" <6759885+hyperpolymath@users.noreply.github.com> Date: Tue, 3 Mar 2026 21:58:27 +0000 Subject: [PATCH 1/5] security: address OpenSSF Scorecard and Dependabot alerts --- .github/CODEOWNERS | 5 + .github/workflows/jekyll-gh-pages.yml | 29 +- .github/workflows/security-scan.yml | 6 +- CII-BEST-PRACTICES.md | 29 + SECURITY-ACKNOWLEDGMENTS.md | 9 + clinician/Cargo.toml | 3 + czech-file-knife/.tool-versions | 2 +- czech-file-knife/Cargo.lock | 2214 +++++++++++++------------ czech-file-knife/Cargo.toml | 2 + czech-file-knife/cfk-cache/Cargo.toml | 4 +- personal-sysadmin/Cargo.toml | 3 + 11 files changed, 1271 insertions(+), 1035 deletions(-) create mode 100644 .github/CODEOWNERS create mode 100644 CII-BEST-PRACTICES.md create mode 100644 SECURITY-ACKNOWLEDGMENTS.md diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 00000000..d4e48abb --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,5 @@ +# SPDX-License-Identifier: PMPL-1.0-or-later +# https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners + +# All files in the repository +* @hyperpolymath diff --git a/.github/workflows/jekyll-gh-pages.yml b/.github/workflows/jekyll-gh-pages.yml index d8c15ec9..f9f44f26 100644 --- a/.github/workflows/jekyll-gh-pages.yml +++ b/.github/workflows/jekyll-gh-pages.yml @@ -11,33 +11,28 @@ on: workflow_dispatch: # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages -permissions: - contents: read - pages: write - id-token: write - -# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. -# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. -concurrency: - group: "pages" - cancel-in-progress: false +permissions: read-all jobs: # Build job build: runs-on: ubuntu-latest + permissions: + contents: read + pages: write + id-token: write steps: - name: Checkout - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 + uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4.1.1 - name: Setup Pages - uses: actions/configure-pages@v5 + uses: actions/configure-pages@983d7736d9b0ae728b81ab479565c72886d7745b # v5.0.0 - name: Build with Jekyll - uses: actions/jekyll-build-pages@v1 + uses: actions/jekyll-build-pages@483d13b77a3ddc98f58a1b3910aacc19a7f337c3 # v1.0.13 with: source: ./ destination: ./_site - name: Upload artifact - uses: actions/upload-pages-artifact@v4 + uses: actions/upload-pages-artifact@56afc609e74202658d3ffba0e8f6dee4629d657e # v3.0.1 # Deployment job deploy: @@ -46,7 +41,11 @@ jobs: url: ${{ steps.deployment.outputs.page_url }} runs-on: ubuntu-latest needs: build + permissions: + pages: write + id-token: write steps: - name: Deploy to GitHub Pages id: deployment - uses: actions/deploy-pages@v4 + uses: actions/deploy-pages@d6dbca28e605e47460e141952724c5747a3e723e # v4.0.5 + diff --git a/.github/workflows/security-scan.yml b/.github/workflows/security-scan.yml index 68855c98..f25a0e6f 100644 --- a/.github/workflows/security-scan.yml +++ b/.github/workflows/security-scan.yml @@ -9,11 +9,11 @@ on: - cron: '0 0 * * 0' # Weekly on Sunday at midnight workflow_dispatch: -permissions: - contents: read +permissions: read-all jobs: scan: - uses: hyperpolymath/panic-attacker/.github/workflows/scan-and-report.yml@main + uses: hyperpolymath/panic-attacker/.github/workflows/scan-and-report.yml@20321d0d4c61dd410c29c3e66202c10392294692 + secrets: VERISIMDB_PAT: ${{ secrets.VERISIMDB_PAT }} diff --git a/CII-BEST-PRACTICES.md b/CII-BEST-PRACTICES.md new file mode 100644 index 00000000..cca17cad --- /dev/null +++ b/CII-BEST-PRACTICES.md @@ -0,0 +1,29 @@ +# OpenSSF Best Practices (CII) Adherence + +This document tracks the project's adherence to the [OpenSSF Best Practices Badge](https://best-practices.coreinfrastructure.org/) criteria. + +## Summary +The ambientops project is committed to following open-source security and quality best practices. + +## Change Control +- **Public Repository**: All source code is hosted on GitHub and is public. +- **Version Control**: We use Git for version control. +- **Unique Versioning**: All releases use unique version identifiers (SemVer). + +## Reporting +- **Bug Reporting Process**: Documented in `CONTRIBUTING.md`. +- **Vulnerability Reporting**: A clear `SECURITY.md` file defines the private reporting process. + +## Quality +- **Automated Builds**: We use GitHub Actions for automated builds and CI. +- **Testing**: Automated test suites are integrated into the CI pipeline. +- **New Features**: New functionality is required to have associated tests. + +## Security +- **Secure Development**: We use automated security scanners (CodeQL, Trufflehog). +- **Dependency Pinning**: GitHub Actions and critical dependencies are pinned to specific versions/SHAs. +- **No Hardcoded Secrets**: Scanned via `trufflehog` and `gitleaks`. + +## Best Practices +- **SPDX Headers**: We use SPDX license identifiers in all source files. +- **Code Review**: All changes require a pull request and code review before merging to `main`. diff --git a/SECURITY-ACKNOWLEDGMENTS.md b/SECURITY-ACKNOWLEDGMENTS.md new file mode 100644 index 00000000..06b822d5 --- /dev/null +++ b/SECURITY-ACKNOWLEDGMENTS.md @@ -0,0 +1,9 @@ +# Security Acknowledgments + +We would like to thank the following researchers for their contributions to keeping ambientops safe. + +## 2026 +- Currently no entries. + +## 2025 +- Currently no entries. diff --git a/clinician/Cargo.toml b/clinician/Cargo.toml index c8c1b2c3..8e6394e4 100644 --- a/clinician/Cargo.toml +++ b/clinician/Cargo.toml @@ -40,7 +40,10 @@ directories = "5" # Utilities chrono = { version = "0.4", features = ["serde"] } ring = "0.17.13" +lru = "0.16.3" uuid = { version = "1", features = ["v4"] } + + toml = "0.8" futures = "0.3" diff --git a/czech-file-knife/.tool-versions b/czech-file-knife/.tool-versions index 5c9b0dbe..18e02370 100644 --- a/czech-file-knife/.tool-versions +++ b/czech-file-knife/.tool-versions @@ -2,5 +2,5 @@ # asdf/mise tool versions # See: https://asdf-vm.com/ -rust 1.83.0 +rust nightly just 1.36.0 diff --git a/czech-file-knife/Cargo.lock b/czech-file-knife/Cargo.lock index c1a614cb..61e7eef0 100644 --- a/czech-file-knife/Cargo.lock +++ b/czech-file-knife/Cargo.lock @@ -2,16 +2,6 @@ # It is not intended for manual editing. version = 4 -[[package]] -name = "Inflector" -version = "0.11.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" -dependencies = [ - "lazy_static", - "regex", -] - [[package]] name = "addr" version = "0.15.6" @@ -23,14 +13,17 @@ dependencies = [ [[package]] name = "affinitypool" -version = "0.3.1" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dde2a385b82232b559baeec740c37809051c596f9b56e7da0d0da2c8e8f54f6" +checksum = "7a58b64a64aecad4ba7f2ccf0f79115f5d2d184b1e55307f78c20be07adc6633" dependencies = [ - "async-channel", + "crossbeam", + "libc", "num_cpus", - "thiserror 1.0.69", + "parking_lot 0.12.5", + "thiserror 2.0.18", "tokio", + "winapi", ] [[package]] @@ -145,19 +138,10 @@ dependencies = [ ] [[package]] -name = "any_ascii" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90c6333e01ba7235575b6ab53e5af10f1c327927fd97c36462917e289557ea64" - -[[package]] -name = "approx" -version = "0.4.0" +name = "anyhow" +version = "1.0.102" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f2a05fd1bd10b2527e20a2cd32d8873d115b8b39fe219ee25f42a8aca6ba278" -dependencies = [ - "num-traits", -] +checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c" [[package]] name = "approx" @@ -169,20 +153,14 @@ dependencies = [ ] [[package]] -name = "ar_archive_writer" -version = "0.2.0" +name = "arc-swap" +version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0c269894b6fe5e9d7ada0cf69b5bf847ff35bc25fc271f08e1d080fce80339a" +checksum = "f9f3647c145568cec02c42054e07bdf9a5a698e15b466fb2341bfc393cd24aa5" dependencies = [ - "object", + "rustversion", ] -[[package]] -name = "arc-swap" -version = "1.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457" - [[package]] name = "arcstr" version = "1.2.0" @@ -225,15 +203,6 @@ dependencies = [ "stable_deref_trait", ] -[[package]] -name = "ascii-canvas" -version = "3.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8824ecca2e851cec16968d54a01dd372ef8f95b244fb84b84e70128be347c3c6" -dependencies = [ - "term", -] - [[package]] name = "async-channel" version = "2.5.0" @@ -246,91 +215,6 @@ dependencies = [ "pin-project-lite", ] -[[package]] -name = "async-executor" -version = "1.13.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "497c00e0fd83a72a79a39fcbd8e3e2f055d6f6c7e025f3b3d91f4f8e76527fb8" -dependencies = [ - "async-task", - "concurrent-queue", - "fastrand", - "futures-lite", - "pin-project-lite", - "slab", -] - -[[package]] -name = "async-graphql" -version = "7.0.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "036618f842229ba0b89652ffe425f96c7c16a49f7e3cb23b56fca7f61fd74980" -dependencies = [ - "async-graphql-derive", - "async-graphql-parser", - "async-graphql-value", - "async-stream", - "async-trait", - "base64 0.22.1", - "bytes", - "fnv", - "futures-timer", - "futures-util", - "http", - "indexmap 2.12.1", - "mime", - "multer", - "num-traits", - "pin-project-lite", - "regex", - "serde", - "serde_json", - "serde_urlencoded", - "static_assertions_next", - "thiserror 1.0.69", -] - -[[package]] -name = "async-graphql-derive" -version = "7.0.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd45deb3dbe5da5cdb8d6a670a7736d735ba65b455328440f236dfb113727a3d" -dependencies = [ - "Inflector", - "async-graphql-parser", - "darling 0.20.11", - "proc-macro-crate", - "proc-macro2", - "quote", - "strum", - "syn 2.0.111", - "thiserror 1.0.69", -] - -[[package]] -name = "async-graphql-parser" -version = "7.0.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b7607e59424a35dadbc085b0d513aa54ec28160ee640cf79ec3b634eba66d3" -dependencies = [ - "async-graphql-value", - "pest", - "serde", - "serde_json", -] - -[[package]] -name = "async-graphql-value" -version = "7.0.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34ecdaff7c9cffa3614a9f9999bf9ee4c3078fe3ce4d6a6e161736b56febf2de" -dependencies = [ - "bytes", - "indexmap 2.12.1", - "serde", - "serde_json", -] - [[package]] name = "async-stream" version = "0.3.6" @@ -353,12 +237,6 @@ dependencies = [ "syn 2.0.111", ] -[[package]] -name = "async-task" -version = "4.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" - [[package]] name = "async-trait" version = "0.1.89" @@ -370,17 +248,6 @@ dependencies = [ "syn 2.0.111", ] -[[package]] -name = "async_io_stream" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6d7b9decdf35d8908a7e3ef02f64c5e9b1695e230154c0e8de3969142d9b94c" -dependencies = [ - "futures", - "pharos", - "rustc_version", -] - [[package]] name = "atomic-polyfill" version = "1.0.3" @@ -409,6 +276,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e84ce723ab67259cfeb9877c6a639ee9eb7a27b28123abd71db7f0d5d0cc9d86" dependencies = [ "aws-lc-sys", + "untrusted 0.7.1", "zeroize", ] @@ -425,10 +293,53 @@ dependencies = [ ] [[package]] -name = "base64" -version = "0.21.7" +name = "axum" +version = "0.8.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b52af3cb4058c895d37317bb27508dccc8e5f2d39454016b297bf4a400597b8" +dependencies = [ + "axum-core", + "bytes", + "futures-util", + "http", + "http-body", + "http-body-util", + "itoa", + "matchit", + "memchr", + "mime", + "percent-encoding", + "pin-project-lite", + "serde_core", + "sync_wrapper", + "tower", + "tower-layer", + "tower-service", +] + +[[package]] +name = "axum-core" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08c78f31d7b1291f7ee735c1c6780ccde7785daae9a9206026862dab7d8792d1" +dependencies = [ + "bytes", + "futures-core", + "http", + "http-body", + "http-body-util", + "mime", + "pin-project-lite", + "sync_wrapper", + "tower-layer", + "tower-service", +] + +[[package]] +name = "base16ct" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" +checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" [[package]] name = "base64" @@ -444,13 +355,13 @@ checksum = "0e050f626429857a27ddccb31e0aca21356bfa709c04041aefddac081a8f068a" [[package]] name = "bcrypt" -version = "0.15.1" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e65938ed058ef47d92cf8b346cc76ef48984572ade631927e9937b5ffc7662c7" +checksum = "9a0f5948f30df5f43ac29d310b7476793be97c50787e6ef4a63d960a0d0be827" dependencies = [ - "base64 0.22.1", + "base64", "blowfish", - "getrandom 0.2.16", + "getrandom 0.3.4", "subtle", "zeroize", ] @@ -464,6 +375,26 @@ dependencies = [ "serde", ] +[[package]] +name = "bincode" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36eaf5d7b090263e8150820482d5d93cd964a81e4019913c972f4edcc6edb740" +dependencies = [ + "bincode_derive", + "serde", + "unty", +] + +[[package]] +name = "bincode_derive" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf95709a440f45e986983918d0e8a1f30a9b1df04918fc828670606804ac3c09" +dependencies = [ + "virtue", +] + [[package]] name = "bindgen" version = "0.72.1" @@ -482,21 +413,6 @@ dependencies = [ "syn 2.0.111", ] -[[package]] -name = "bit-set" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" -dependencies = [ - "bit-vec", -] - -[[package]] -name = "bit-vec" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" - [[package]] name = "bitflags" version = "1.3.2" @@ -544,15 +460,16 @@ dependencies = [ [[package]] name = "blake3" -version = "1.8.2" +version = "1.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3888aaa89e4b2a40fca9848e400f6a658a5a3978de7be858e209cafa8be9a4a0" +checksum = "2468ef7d57b3fb7e16b576e8377cdbde2320c60e1491e961d11da40fc4f02a2d" dependencies = [ "arrayref", "arrayvec", "cc", "cfg-if", "constant_time_eq", + "cpufeatures", ] [[package]] @@ -580,6 +497,12 @@ dependencies = [ "cipher", ] +[[package]] +name = "bnum" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f781dba93de3a5ef6dc5b17c9958b208f6f3f021623b360fb605ea51ce443f10" + [[package]] name = "bon" version = "3.8.1" @@ -596,7 +519,7 @@ version = "3.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77e9d642a7e3a318e37c2c9427b5a6a48aa1ad55dcd986f3034ab2239045a645" dependencies = [ - "darling 0.21.3", + "darling", "ident_case", "prettyplease", "proc-macro2", @@ -628,6 +551,12 @@ dependencies = [ "syn 2.0.111", ] +[[package]] +name = "boxcar" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36f64beae40a84da1b4b26ff2761a5b895c12adc41dc25aaee1c4f2bbfe97a6e" + [[package]] name = "bumpalo" version = "3.19.0" @@ -699,15 +628,6 @@ dependencies = [ "pkg-config", ] -[[package]] -name = "castaway" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dec551ab6e7578819132c713a93c022a05d60159dc86e7a7050223577484c55a" -dependencies = [ - "rustversion", -] - [[package]] name = "cc" version = "1.2.49" @@ -720,63 +640,6 @@ dependencies = [ "shlex", ] -[[package]] -name = "cedar-policy" -version = "2.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d91e3b10a0f7f2911774d5e49713c4d25753466f9e11d1cd2ec627f8a2dc857" -dependencies = [ - "cedar-policy-core", - "cedar-policy-validator", - "itertools 0.10.5", - "lalrpop-util", - "ref-cast", - "serde", - "serde_json", - "smol_str", - "thiserror 1.0.69", -] - -[[package]] -name = "cedar-policy-core" -version = "2.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd2315591c6b7e18f8038f0a0529f254235fd902b6c217aabc04f2459b0d9995" -dependencies = [ - "either", - "ipnet", - "itertools 0.10.5", - "lalrpop", - "lalrpop-util", - "lazy_static", - "miette", - "regex", - "rustc_lexer", - "serde", - "serde_json", - "serde_with", - "smol_str", - "stacker", - "thiserror 1.0.69", -] - -[[package]] -name = "cedar-policy-validator" -version = "2.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e756e1b2a5da742ed97e65199ad6d0893e9aa4bd6b34be1de9e70bd1e6adc7df" -dependencies = [ - "cedar-policy-core", - "itertools 0.10.5", - "serde", - "serde_json", - "serde_with", - "smol_str", - "stacker", - "thiserror 1.0.69", - "unicode-security", -] - [[package]] name = "census" version = "0.4.2" @@ -829,7 +692,7 @@ dependencies = [ "serde_json", "sled", "surrealdb", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tracing", ] @@ -860,7 +723,7 @@ dependencies = [ "chrono", "futures", "serde", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", ] @@ -873,7 +736,7 @@ dependencies = [ "regex", "serde", "serde_json", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tracing", ] @@ -896,7 +759,7 @@ dependencies = [ "once_cell", "serde", "serde_json", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tracing", "tracing-subscriber", @@ -918,7 +781,7 @@ dependencies = [ "serde", "serde_json", "tempfile", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tracing", ] @@ -933,7 +796,7 @@ dependencies = [ "regex", "serde", "tantivy", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", ] @@ -944,26 +807,26 @@ dependencies = [ "async-trait", "cfk-core", "cfk-providers", - "dashmap 6.1.0", + "dashmap", "fuser", "parking_lot 0.12.5", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tracing", ] [[package]] name = "chrono" -version = "0.4.42" +version = "0.4.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "145052bdd345b87320e369255277e3fb5152762ad123a901ef5c262dd38fe8d2" +checksum = "c673075a2e0e5f4a1dde27ce9dee1ea4558c7ffe648f576438a20ca1d2acc4b0" dependencies = [ "iana-time-zone", "js-sys", "num-traits", "serde", "wasm-bindgen", - "windows-link", + "windows-link 0.2.1", ] [[package]] @@ -1105,11 +968,17 @@ dependencies = [ "windows-sys 0.61.2", ] +[[package]] +name = "const-oid" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" + [[package]] name = "constant_time_eq" -version = "0.3.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" +checksum = "3d52eff69cd5e647efe296129160853a42795992097e8af39800e1060caeea9b" [[package]] name = "core-foundation" @@ -1161,6 +1030,19 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b" +[[package]] +name = "crossbeam" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1137cd7e7fc0fb5d3c5a8678be38ec56e819125d8d7907411fe24ccb943faca8" +dependencies = [ + "crossbeam-channel", + "crossbeam-deque", + "crossbeam-epoch", + "crossbeam-queue", + "crossbeam-utils", +] + [[package]] name = "crossbeam-channel" version = "0.5.15" @@ -1198,6 +1080,16 @@ dependencies = [ "crossbeam-utils", ] +[[package]] +name = "crossbeam-skiplist" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df29de440c58ca2cc6e587ec3d22347551a32435fbde9d2bff64e78a9ffa151b" +dependencies = [ + "crossbeam-epoch", + "crossbeam-utils", +] + [[package]] name = "crossbeam-utils" version = "0.8.21" @@ -1210,6 +1102,18 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" +[[package]] +name = "crypto-bigint" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" +dependencies = [ + "generic-array 0.14.7", + "rand_core 0.6.4", + "subtle", + "zeroize", +] + [[package]] name = "crypto-common" version = "0.1.7" @@ -1229,7 +1133,7 @@ dependencies = [ "cssparser-macros", "dtoa-short", "itoa", - "phf", + "phf 0.11.3", "smallvec", ] @@ -1244,37 +1148,40 @@ dependencies = [ ] [[package]] -name = "darling" -version = "0.20.11" +name = "curve25519-dalek" +version = "4.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee" +checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" dependencies = [ - "darling_core 0.20.11", - "darling_macro 0.20.11", + "cfg-if", + "cpufeatures", + "curve25519-dalek-derive", + "digest", + "fiat-crypto", + "rustc_version", + "subtle", + "zeroize", ] [[package]] -name = "darling" -version = "0.21.3" +name = "curve25519-dalek-derive" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cdf337090841a411e2a7f3deb9187445851f91b309c0c0a29e05f74a00a48c0" +checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ - "darling_core 0.21.3", - "darling_macro 0.21.3", + "proc-macro2", + "quote", + "syn 2.0.111", ] [[package]] -name = "darling_core" -version = "0.20.11" +name = "darling" +version = "0.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e" +checksum = "9cdf337090841a411e2a7f3deb9187445851f91b309c0c0a29e05f74a00a48c0" dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim", - "syn 2.0.111", + "darling_core", + "darling_macro", ] [[package]] @@ -1291,41 +1198,17 @@ dependencies = [ "syn 2.0.111", ] -[[package]] -name = "darling_macro" -version = "0.20.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" -dependencies = [ - "darling_core 0.20.11", - "quote", - "syn 2.0.111", -] - [[package]] name = "darling_macro" version = "0.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" dependencies = [ - "darling_core 0.21.3", + "darling_core", "quote", "syn 2.0.111", ] -[[package]] -name = "dashmap" -version = "5.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" -dependencies = [ - "cfg-if", - "hashbrown 0.14.5", - "lock_api", - "once_cell", - "parking_lot_core 0.9.12", -] - [[package]] name = "dashmap" version = "6.1.0" @@ -1346,6 +1229,17 @@ version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476" +[[package]] +name = "der" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" +dependencies = [ + "const-oid", + "pem-rfc7468", + "zeroize", +] + [[package]] name = "deranged" version = "0.5.5" @@ -1369,6 +1263,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ "block-buffer", + "const-oid", "crypto-common", "subtle", ] @@ -1382,16 +1277,6 @@ dependencies = [ "dirs-sys", ] -[[package]] -name = "dirs-next" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" -dependencies = [ - "cfg-if", - "dirs-sys-next", -] - [[package]] name = "dirs-sys" version = "0.5.0" @@ -1400,21 +1285,10 @@ checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab" dependencies = [ "libc", "option-ext", - "redox_users 0.5.2", + "redox_users", "windows-sys 0.61.2", ] -[[package]] -name = "dirs-sys-next" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" -dependencies = [ - "libc", - "redox_users 0.4.6", - "winapi", -] - [[package]] name = "displaydoc" version = "0.2.5" @@ -1436,12 +1310,6 @@ dependencies = [ "urlencoding", ] -[[package]] -name = "double-ended-peekable" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0d05e1c0dbad51b52c38bda7adceef61b9efc2baf04acfe8726a8c4630a6f57" - [[package]] name = "downcast-rs" version = "2.0.2" @@ -1454,7 +1322,7 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "415b6ec780d34dcf624666747194393603d0373b7141eef01d12ee58881507d9" dependencies = [ - "phf", + "phf 0.11.3", ] [[package]] @@ -1478,12 +1346,6 @@ version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" -[[package]] -name = "dyn-clone" -version = "1.0.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555" - [[package]] name = "earcutr" version = "0.4.3" @@ -1494,6 +1356,44 @@ dependencies = [ "num-traits", ] +[[package]] +name = "ecdsa" +version = "0.16.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" +dependencies = [ + "der", + "digest", + "elliptic-curve", + "rfc6979", + "signature", + "spki", +] + +[[package]] +name = "ed25519" +version = "2.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" +dependencies = [ + "pkcs8", + "signature", +] + +[[package]] +name = "ed25519-dalek" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70e796c081cee67dc755e1a36a0a172b897fab85fc3f6bc48307991f64e4eca9" +dependencies = [ + "curve25519-dalek", + "ed25519", + "serde", + "sha2", + "subtle", + "zeroize", +] + [[package]] name = "either" version = "1.15.0" @@ -1501,12 +1401,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" [[package]] -name = "ena" -version = "0.14.3" +name = "elliptic-curve" +version = "0.13.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d248bdd43ce613d87415282f69b9bb99d947d290b10962dd6c56233312c2ad5" +checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" dependencies = [ - "log", + "base16ct", + "crypto-bigint", + "digest", + "ff", + "generic-array 0.14.7", + "group", + "hkdf", + "pem-rfc7468", + "pkcs8", + "rand_core 0.6.4", + "sec1", + "subtle", + "zeroize", ] [[package]] @@ -1526,9 +1438,9 @@ dependencies = [ [[package]] name = "endian-type" -version = "0.1.2" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c34f04666d835ff5d62e058c3995147c06f42fe86ff053337632bca83e42702d" +checksum = "869b0adbda23651a9c5c0c3d270aac9fcb52e8622a8f2b17e57802d7791962f2" [[package]] name = "equivalent" @@ -1586,12 +1498,39 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9afc2bd4d5a73106dd53d10d73d3401c2f32730ba2c0b93ddb888a8983680471" +[[package]] +name = "fastnum" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4089ab2dfd45d8ddc92febb5ca80644389d5ebb954f40231274a3f18341762e2" +dependencies = [ + "bnum", + "num-integer", + "num-traits", +] + [[package]] name = "fastrand" version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" +[[package]] +name = "ff" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0b50bfb653653f9ca9095b427bed08ab8d75a137839d9ad64eb11810d5b6393" +dependencies = [ + "rand_core 0.6.4", + "subtle", +] + +[[package]] +name = "fiat-crypto" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" + [[package]] name = "find-msvc-tools" version = "0.1.5" @@ -1599,10 +1538,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3a3076410a55c90011c298b04d0cfa770b00fa04e1e3c97d3f6c9de105a03844" [[package]] -name = "fixedbitset" -version = "0.4.2" +name = "flatbuffers" +version = "25.12.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" +checksum = "35f6839d7b3b98adde531effaf34f0c2badc6f4735d26fe74709d8e513a96ef3" +dependencies = [ + "bitflags 2.10.0", + "rustc_version", + "serde", +] [[package]] name = "float_next_after" @@ -1742,19 +1686,6 @@ version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" -[[package]] -name = "futures-lite" -version = "2.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f78e10609fe0e0b3f4157ffab1876319b5b0db102a2c60dc4626306dc46b44ad" -dependencies = [ - "fastrand", - "futures-core", - "futures-io", - "parking", - "pin-project-lite", -] - [[package]] name = "futures-macro" version = "0.3.31" @@ -1846,6 +1777,7 @@ checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" dependencies = [ "typenum", "version_check", + "zeroize", ] [[package]] @@ -1862,18 +1794,56 @@ dependencies = [ "num-traits", "robust", "rstar 0.12.2", + "spade", +] + +[[package]] +name = "geo" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2fc1a1678e54befc9b4bcab6cd43b8e7f834ae8ea121118b0fd8c42747675b4a" +dependencies = [ + "earcutr", + "float_next_after", + "geo-types", + "geographiclib-rs", + "i_overlay", + "log", + "num-traits", + "robust", + "rstar 0.12.2", "serde", "spade", ] +[[package]] +name = "geo" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f3901269ec6d4f6068d3f09e5f02f995bd076398dcd1dfec407cd230b02d11b" +dependencies = [ + "float_next_after", + "geo-types", + "geographiclib-rs", + "i_overlay", + "log", + "num-traits", + "rand 0.8.5", + "robust", + "rstar 0.12.2", + "serde", + "sif-itree", +] + [[package]] name = "geo-types" version = "0.7.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24f8647af4005fa11da47cd56252c6ef030be8fa97bdbf355e7dfb6348f0a82c" dependencies = [ - "approx 0.5.1", + "approx", "num-traits", + "rayon", "rstar 0.10.0", "rstar 0.11.0", "rstar 0.12.2", @@ -1924,6 +1894,17 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" +[[package]] +name = "group" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" +dependencies = [ + "ff", + "rand_core 0.6.4", + "subtle", +] + [[package]] name = "h2" version = "0.4.12" @@ -1936,7 +1917,7 @@ dependencies = [ "futures-core", "futures-sink", "http", - "indexmap 2.12.1", + "indexmap", "slab", "tokio", "tokio-util", @@ -1995,10 +1976,6 @@ name = "hashbrown" version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" -dependencies = [ - "ahash 0.8.12", - "allocator-api2", -] [[package]] name = "hashbrown" @@ -2017,6 +1994,30 @@ version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" +[[package]] +name = "headers" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3314d5adb5d94bcdf56771f2e50dbbc80bb4bdf88967526706205ac9eff24eb" +dependencies = [ + "base64", + "bytes", + "headers-core", + "http", + "httpdate", + "mime", + "sha1", +] + +[[package]] +name = "headers-core" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54b4a22553d4242c49fddb9ba998a99962b5cc6f22cb5a3482bec22522403ce4" +dependencies = [ + "http", +] + [[package]] name = "heapless" version = "0.6.1" @@ -2095,7 +2096,7 @@ version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13c255bdf46e07fb840d120a36dcc81f385140d7191c76a7391672675c01a55d" dependencies = [ - "bincode", + "bincode 1.3.3", "byteorder", "heed-traits", "serde", @@ -2114,6 +2115,15 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +[[package]] +name = "hkdf" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" +dependencies = [ + "hmac", +] + [[package]] name = "hmac" version = "0.12.1" @@ -2179,6 +2189,12 @@ version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" +[[package]] +name = "httpdate" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" + [[package]] name = "humantime" version = "2.3.0" @@ -2199,6 +2215,7 @@ dependencies = [ "http", "http-body", "httparse", + "httpdate", "itoa", "pin-project-lite", "pin-utils", @@ -2224,13 +2241,26 @@ dependencies = [ "webpki-roots 1.0.4", ] +[[package]] +name = "hyper-timeout" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b90d566bffbce6a75bd8b09a05aa8c2cb1fabb6cb348f8840c9e4c90a0d83b0" +dependencies = [ + "hyper", + "hyper-util", + "pin-project-lite", + "tokio", + "tower-service", +] + [[package]] name = "hyper-util" version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "727805d60e7938b76b826a6ef209eb70eaa1812794f9424d4a4e2d740662df5f" dependencies = [ - "base64 0.22.1", + "base64", "bytes", "futures-channel", "futures-core", @@ -2259,6 +2289,49 @@ dependencies = [ "serde", ] +[[package]] +name = "i_float" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "010025c2c532c8d82e42d0b8bb5184afa449fa6f06c709ea9adcb16c49ae405b" +dependencies = [ + "libm", +] + +[[package]] +name = "i_key_sort" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9190f86706ca38ac8add223b2aed8b1330002b5cdbbce28fb58b10914d38fc27" + +[[package]] +name = "i_overlay" +version = "4.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413183068e6e0289e18d7d0a1f661b81546e6918d5453a44570b9ab30cbed1b3" +dependencies = [ + "i_float", + "i_key_sort", + "i_shape", + "i_tree", + "rayon", +] + +[[package]] +name = "i_shape" +version = "1.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ea154b742f7d43dae2897fcd5ead86bc7b5eefcedd305a7ebf9f69d44d61082" +dependencies = [ + "i_float", +] + +[[package]] +name = "i_tree" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35e6d558e6d4c7b82bc51d9c771e7a927862a161a7d87bf2b0541450e0e20915" + [[package]] name = "iana-time-zone" version = "0.1.64" @@ -2393,20 +2466,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "1.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" -dependencies = [ - "autocfg", - "hashbrown 0.12.3", - "serde", -] - -[[package]] -name = "indexmap" -version = "2.12.1" +version = "2.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ad4bb2b565bca0645f4d68c5c9af97fba094e9791da685bf83cb5f3ce74acf2" +checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" dependencies = [ "equivalent", "hashbrown 0.16.1", @@ -2467,15 +2529,6 @@ version = "1.70.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" -[[package]] -name = "itertools" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" -dependencies = [ - "either", -] - [[package]] name = "itertools" version = "0.11.0" @@ -2543,9 +2596,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.83" +version = "0.3.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "464a3709c7f55f1f721e5389aa6ea4e3bc6aba669353300af094b29ffbdde1d8" +checksum = "b49715b7073f385ba4bc528e5747d02e66cb39c6146efb66b781f131f0fb399c" dependencies = [ "once_cell", "wasm-bindgen", @@ -2553,55 +2606,36 @@ dependencies = [ [[package]] name = "jsonwebtoken" -version = "9.3.1" +version = "10.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a87cc7a48537badeae96744432de36f4be2b4a34a05a5ef32e9dd8a1c169dde" +checksum = "0529410abe238729a60b108898784df8984c87f6054c9c4fcacc47e4803c1ce1" dependencies = [ - "base64 0.22.1", + "aws-lc-rs", + "base64", + "ed25519-dalek", + "getrandom 0.2.16", + "hmac", "js-sys", + "p256", + "p384", "pem", - "ring", + "rand 0.8.5", + "rsa", "serde", "serde_json", + "sha2", + "signature", "simple_asn1", ] -[[package]] -name = "lalrpop" -version = "0.20.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55cb077ad656299f160924eb2912aa147d7339ea7d69e1b5517326fdcec3c1ca" -dependencies = [ - "ascii-canvas", - "bit-set", - "ena", - "itertools 0.11.0", - "lalrpop-util", - "petgraph", - "pico-args", - "regex", - "regex-syntax", - "string_cache", - "term", - "tiny-keccak", - "unicode-xid", - "walkdir", -] - -[[package]] -name = "lalrpop-util" -version = "0.20.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "507460a910eb7b32ee961886ff48539633b788a36b65692b95f225b844c82553" -dependencies = [ - "regex-automata", -] - [[package]] name = "lazy_static" version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" +dependencies = [ + "spin", +] [[package]] name = "levenshtein_automata" @@ -2611,11 +2645,11 @@ checksum = "0c2cdeb66e45e9f36bfad5bbdb4d2384e70936afbee843c6f6543f0c551ebb25" [[package]] name = "lexicmp" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7378d131ddf24063b32cbd7e91668d183140c4b3906270635a4d633d1068ea5d" +checksum = "0e8f89da8fd95c4eb6274e914694bea90c7826523b26f2a2fd863d44b9d42c43" dependencies = [ - "any_ascii", + "deunicode", ] [[package]] @@ -2631,7 +2665,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55" dependencies = [ "cfg-if", - "windows-link", + "windows-link 0.2.1", ] [[package]] @@ -2661,18 +2695,6 @@ dependencies = [ "vcpkg", ] -[[package]] -name = "linfa-linalg" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56e7562b41c8876d3367897067013bb2884cc78e6893f092ecd26b305176ac82" -dependencies = [ - "ndarray", - "num-traits", - "rand 0.8.5", - "thiserror 1.0.69", -] - [[package]] name = "linux-raw-sys" version = "0.11.0" @@ -2726,6 +2748,15 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" +[[package]] +name = "lz4" +version = "1.28.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a20b523e860d03443e98350ceaac5e71c6ba89aea7d960769ec3ce37f4de5af4" +dependencies = [ + "lz4-sys", +] + [[package]] name = "lz4-sys" version = "1.11.1+lz4-1.10.0" @@ -2794,6 +2825,12 @@ dependencies = [ "syn 2.0.111", ] +[[package]] +name = "matchit" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3" + [[package]] name = "matrixmultiply" version = "0.3.10" @@ -2838,29 +2875,6 @@ dependencies = [ "libc", ] -[[package]] -name = "miette" -version = "5.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59bb584eaeeab6bd0226ccf3509a69d7936d148cf3d036ad350abe35e8c6856e" -dependencies = [ - "miette-derive", - "once_cell", - "thiserror 1.0.69", - "unicode-width 0.1.14", -] - -[[package]] -name = "miette-derive" -version = "5.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49e7bc1560b95a3c4a25d03de42fe76ca718ab92d1a22a55b9b4cf67b3ae635c" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.111", -] - [[package]] name = "mime" version = "0.3.17" @@ -2894,60 +2908,35 @@ dependencies = [ "windows-sys 0.61.2", ] -[[package]] -name = "multer" -version = "3.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83e87776546dc87511aa5ee218730c92b666d7264ab6ed41f9d215af9cd5224b" -dependencies = [ - "bytes", - "encoding_rs", - "futures-util", - "http", - "httparse", - "memchr", - "mime", - "spin", - "version_check", -] - [[package]] name = "murmurhash32" version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2195bf6aa996a481483b29d62a7663eed3fe39600c460e323f8ff41e90bdd89b" -[[package]] -name = "nanoid" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ffa00dec017b5b1a8b7cf5e2c008bfda1aa7e0697ac1508b491fdf2622fb4d8" -dependencies = [ - "rand 0.8.5", -] - [[package]] name = "ndarray" -version = "0.15.6" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adb12d4e967ec485a5f71c6311fe28158e9d6f4bc4a447b474184d0f91a8fa32" +checksum = "520080814a7a6b4a6e9070823bb24b4531daac8c4627e08ba5de8c5ef2f2752d" dependencies = [ - "approx 0.4.0", "matrixmultiply", "num-complex", "num-integer", "num-traits", + "portable-atomic", + "portable-atomic-util", "rawpointer", ] [[package]] name = "ndarray-stats" -version = "0.5.1" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af5a8477ac96877b5bd1fd67e0c28736c12943aba24eda92b127e036b0c8f400" +checksum = "9b6e54a8b65764f71827a90ca1d56965ec0c67f069f996477bd493402a901d1f" dependencies = [ - "indexmap 1.9.3", - "itertools 0.10.5", + "indexmap", + "itertools 0.13.0", "ndarray", "noisy_float", "num-integer", @@ -3029,6 +3018,22 @@ dependencies = [ "num-traits", ] +[[package]] +name = "num-bigint-dig" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e661dda6640fad38e827a6d4a310ff4763082116fe217f279885c97f511bb0b7" +dependencies = [ + "lazy_static", + "libm", + "num-integer", + "num-iter", + "num-traits", + "rand 0.8.5", + "smallvec", + "zeroize", +] + [[package]] name = "num-complex" version = "0.4.6" @@ -3053,6 +3058,17 @@ dependencies = [ "num-traits", ] +[[package]] +name = "num-iter" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + [[package]] name = "num-traits" version = "0.2.19" @@ -3079,7 +3095,7 @@ version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "51e219e79014df21a225b1860a479e2dcd7cbd9130f4defd4bd0e191ea31d67d" dependencies = [ - "base64 0.22.1", + "base64", "chrono", "getrandom 0.2.16", "http", @@ -3114,28 +3130,38 @@ dependencies = [ ] [[package]] -name = "objc_id" -version = "0.1.1" +name = "objc2-core-foundation" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b" +checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" dependencies = [ - "objc", + "bitflags 2.10.0", ] [[package]] -name = "object" -version = "0.32.2" +name = "objc2-io-kit" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" +checksum = "33fafba39597d6dc1fb709123dfa8289d39406734be322956a69f0931c73bb15" dependencies = [ - "memchr", + "libc", + "objc2-core-foundation", +] + +[[package]] +name = "objc_id" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b" +dependencies = [ + "objc", ] [[package]] name = "object_store" -version = "0.12.4" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c1be0c6c22ec0817cdc77d3842f721a17fd30ab6965001415b5402a74e6b740" +checksum = "c2858065e55c148d294a9f3aae3b0fa9458edadb41a108397094566f4e3c0dfb" dependencies = [ "async-trait", "bytes", @@ -3146,7 +3172,7 @@ dependencies = [ "itertools 0.14.0", "parking_lot 0.12.5", "percent-encoding", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tracing", "url", @@ -3194,6 +3220,30 @@ dependencies = [ "stable_deref_trait", ] +[[package]] +name = "p256" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b" +dependencies = [ + "ecdsa", + "elliptic-curve", + "primeorder", + "sha2", +] + +[[package]] +name = "p384" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe42f1670a52a47d448f14b6a5c61dd78fce51856e68edaa38f7ae3a46b8d6b6" +dependencies = [ + "ecdsa", + "elliptic-curve", + "primeorder", + "sha2", +] + [[package]] name = "page_size" version = "0.6.0" @@ -3204,6 +3254,16 @@ dependencies = [ "winapi", ] +[[package]] +name = "papaya" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f92dd0b07c53a0a0c764db2ace8c541dc47320dad97c2200c2a637ab9dd2328f" +dependencies = [ + "equivalent", + "seize", +] + [[package]] name = "papergrid" version = "0.11.0" @@ -3266,7 +3326,7 @@ dependencies = [ "libc", "redox_syscall 0.5.18", "smallvec", - "windows-link", + "windows-link 0.2.1", ] [[package]] @@ -3316,54 +3376,44 @@ version = "3.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d30c53c26bc5b31a98cd02d20f25a7c8567146caf63ed593a9d87b2775291be" dependencies = [ - "base64 0.22.1", + "base64", "serde_core", ] [[package]] -name = "percent-encoding" -version = "2.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" - -[[package]] -name = "pest" -version = "2.8.4" +name = "pem-rfc7468" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbcfd20a6d4eeba40179f05735784ad32bdaef05ce8e8af05f180d45bb3e7e22" +checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" dependencies = [ - "memchr", - "ucd-trie", + "base64ct", ] [[package]] -name = "petgraph" -version = "0.6.5" +name = "percent-encoding" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" -dependencies = [ - "fixedbitset", - "indexmap 2.12.1", -] +checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" [[package]] -name = "pharos" -version = "0.5.3" +name = "phf" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9567389417feee6ce15dd6527a8a1ecac205ef62c2932bcf3d9f6fc5b78b414" +checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078" dependencies = [ - "futures", - "rustc_version", + "phf_macros 0.11.3", + "phf_shared 0.11.3", ] [[package]] name = "phf" -version = "0.11.3" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078" +checksum = "c1562dc717473dbaa4c1f85a36410e03c047b2e7df7f45ee938fbef64ae7fadf" dependencies = [ - "phf_macros", - "phf_shared", + "phf_macros 0.13.1", + "phf_shared 0.13.1", + "serde", ] [[package]] @@ -3372,8 +3422,8 @@ version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aef8048c789fa5e851558d709946d6d79a8ff88c0440c587967f8e94bfb1216a" dependencies = [ - "phf_generator", - "phf_shared", + "phf_generator 0.11.3", + "phf_shared 0.11.3", ] [[package]] @@ -3382,18 +3432,41 @@ version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" dependencies = [ - "phf_shared", + "phf_shared 0.11.3", "rand 0.8.5", ] +[[package]] +name = "phf_generator" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "135ace3a761e564ec88c03a77317a7c6b80bb7f7135ef2544dbe054243b89737" +dependencies = [ + "fastrand", + "phf_shared 0.13.1", +] + [[package]] name = "phf_macros" version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f84ac04429c13a7ff43785d75ad27569f2951ce0ffd30a3321230db2fc727216" dependencies = [ - "phf_generator", - "phf_shared", + "phf_generator 0.11.3", + "phf_shared 0.11.3", + "proc-macro2", + "quote", + "syn 2.0.111", +] + +[[package]] +name = "phf_macros" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "812f032b54b1e759ccd5f8b6677695d5268c588701effba24601f6932f8269ef" +dependencies = [ + "phf_generator 0.13.1", + "phf_shared 0.13.1", "proc-macro2", "quote", "syn 2.0.111", @@ -3405,16 +3478,39 @@ name = "phf_shared" version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5" +dependencies = [ + "siphasher", +] + +[[package]] +name = "phf_shared" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e57fef6bc5981e38c2ce2d63bfa546861309f875b8a75f092d1d54ae2d64f266" dependencies = [ "siphasher", "unicase", ] [[package]] -name = "pico-args" -version = "0.5.0" +name = "pin-project" +version = "1.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1749c7ed4bcaf4c3d0a3efc28538844fb29bcdd7d2b67b2be7e20ba861ff517" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315" +checksum = "d9b20ed30f105399776b9c883e68e536ef602a16ae6f596d2c473591d6ad64c6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.111", +] [[package]] name = "pin-project-lite" @@ -3428,6 +3524,27 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +[[package]] +name = "pkcs1" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" +dependencies = [ + "der", + "pkcs8", + "spki", +] + +[[package]] +name = "pkcs8" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" +dependencies = [ + "der", + "spki", +] + [[package]] name = "pkg-config" version = "0.3.32" @@ -3440,6 +3557,15 @@ version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" +[[package]] +name = "portable-atomic-util" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a9db96d7fa8782dd8c15ce32ffe8680bbd1e978a43bf51a34d39483540495f5" +dependencies = [ + "portable-atomic", +] + [[package]] name = "potential_utf" version = "0.1.4" @@ -3480,6 +3606,15 @@ dependencies = [ "syn 2.0.111", ] +[[package]] +name = "primeorder" +version = "0.13.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6" +dependencies = [ + "elliptic-curve", +] + [[package]] name = "proc-macro-crate" version = "3.4.0" @@ -3514,12 +3649,44 @@ dependencies = [ ] [[package]] -name = "proc-macro2" -version = "1.0.103" +name = "proc-macro2" +version = "1.0.103" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "prost" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2ea70524a2f82d518bce41317d0fae74151505651af45faf1ffbd6fd33f0568" +dependencies = [ + "bytes", + "prost-derive", +] + +[[package]] +name = "prost-derive" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27c6023962132f4b30eb4c172c91ce92d933da334c59c23cddee82358ddafb0b" +dependencies = [ + "anyhow", + "itertools 0.14.0", + "proc-macro2", + "quote", + "syn 2.0.111", +] + +[[package]] +name = "prost-types" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8" +checksum = "8991c4cbdb8bc5b11f0b074ffe286c30e523de90fee5ba8132f1399f23cb3dd7" dependencies = [ - "unicode-ident", + "prost", ] [[package]] @@ -3528,16 +3695,6 @@ version = "2.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33cb294fe86a74cbcf50d4445b37da762029549ebeea341421c7c70370f86cac" -[[package]] -name = "psm" -version = "0.1.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d11f2fedc3b7dafdc2851bc52f277377c5473d378859be234bc7ebb593144d01" -dependencies = [ - "ar_archive_writer", - "cc", -] - [[package]] name = "ptr_meta" version = "0.1.4" @@ -3558,18 +3715,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "quick_cache" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb55a1aa7668676bb93926cd4e9cdfe60f03bb866553bcca9112554911b6d3dc" -dependencies = [ - "ahash 0.8.12", - "equivalent", - "hashbrown 0.14.5", - "parking_lot 0.12.5", -] - [[package]] name = "quick_cache" version = "0.6.18" @@ -3596,7 +3741,7 @@ dependencies = [ "rustc-hash", "rustls", "socket2", - "thiserror 2.0.17", + "thiserror 2.0.18", "tokio", "tracing", "web-time", @@ -3618,7 +3763,7 @@ dependencies = [ "rustls", "rustls-pki-types", "slab", - "thiserror 2.0.17", + "thiserror 2.0.18", "tinyvec", "tracing", "web-time", @@ -3661,9 +3806,9 @@ checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" [[package]] name = "radix_trie" -version = "0.2.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c069c179fcdc6a2fe24d8d18305cf085fdbd4f922c041943e203685d6a1c58fd" +checksum = "3b4431027dcd37fc2a73ef740b5f233aa805897935b8bce0195e41bbf9a3289a" dependencies = [ "endian-type", "nibble_vec", @@ -3822,17 +3967,6 @@ dependencies = [ "bitflags 2.10.0", ] -[[package]] -name = "redox_users" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" -dependencies = [ - "getrandom 0.2.16", - "libredox", - "thiserror 1.0.69", -] - [[package]] name = "redox_users" version = "0.5.2" @@ -3841,27 +3975,7 @@ checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac" dependencies = [ "getrandom 0.2.16", "libredox", - "thiserror 2.0.17", -] - -[[package]] -name = "ref-cast" -version = "1.0.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f354300ae66f76f1c85c5f84693f0ce81d747e2c3f21a45fef496d89c960bf7d" -dependencies = [ - "ref-cast-impl", -] - -[[package]] -name = "ref-cast-impl" -version = "1.0.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.111", + "thiserror 2.0.18", ] [[package]] @@ -3893,6 +4007,12 @@ version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" +[[package]] +name = "relative-path" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba39f3699c378cd8970968dcbff9c43159ea4cfbd88d43c00b22f2ef10a435d2" + [[package]] name = "rend" version = "0.4.2" @@ -3908,10 +4028,9 @@ version = "0.12.28" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147" dependencies = [ - "base64 0.22.1", + "base64", "bytes", "futures-core", - "futures-util", "http", "http-body", "http-body-util", @@ -3920,7 +4039,6 @@ dependencies = [ "hyper-util", "js-sys", "log", - "mime_guess", "percent-encoding", "pin-project-lite", "quinn", @@ -3932,14 +4050,12 @@ dependencies = [ "sync_wrapper", "tokio", "tokio-rustls", - "tokio-util", "tower", "tower-http", "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", - "wasm-streams", "web-sys", "webpki-roots 1.0.4", ] @@ -3950,7 +4066,7 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "04e9018c9d814e5f30cc16a0f03271aeab3571e609612d9fe78c1aa8d11c2f62" dependencies = [ - "base64 0.22.1", + "base64", "bytes", "encoding_rs", "futures-core", @@ -3965,6 +4081,7 @@ dependencies = [ "js-sys", "log", "mime", + "mime_guess", "percent-encoding", "pin-project-lite", "quinn", @@ -3989,23 +4106,15 @@ dependencies = [ [[package]] name = "revision" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22f53179a035f881adad8c4d58a2c599c6b4a8325b989c68d178d7a34d1b1e4c" -dependencies = [ - "revision-derive 0.10.0", -] - -[[package]] -name = "revision" -version = "0.11.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54b8ee532f15b2f0811eb1a50adf10d036e14a6cdae8d99893e7f3b921cb227d" +checksum = "11c3c8ec8b2be254beb5f8acdd80cdd57b7b5d40988c2ec3d0b7cdb6f7c2829b" dependencies = [ + "bytes", "chrono", - "geo", + "geo 0.31.0", "regex", - "revision-derive 0.11.0", + "revision-derive", "roaring", "rust_decimal", "uuid", @@ -4013,9 +4122,9 @@ dependencies = [ [[package]] name = "revision-derive" -version = "0.10.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f0ec466e5d8dca9965eb6871879677bef5590cf7525ad96cae14376efb75073" +checksum = "76be63634a8b1809e663bc0b975d78f6883c0fadbcce9c52e19b9e421f423357" dependencies = [ "proc-macro2", "quote", @@ -4023,14 +4132,13 @@ dependencies = [ ] [[package]] -name = "revision-derive" -version = "0.11.0" +name = "rfc6979" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3415e1bc838c36f9a0a2ac60c0fa0851c72297685e66592c44870d82834dfa2" +checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.111", + "hmac", + "subtle", ] [[package]] @@ -4043,15 +4151,15 @@ dependencies = [ "cfg-if", "getrandom 0.2.16", "libc", - "untrusted", + "untrusted 0.9.0", "windows-sys 0.52.0", ] [[package]] name = "rkyv" -version = "0.7.45" +version = "0.7.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9008cd6385b9e161d8229e1f6549dd23c3d022f132a2ea37ac3a10ac4935779b" +checksum = "2297bf9c81a3f0dc96bc9521370b88f054168c29826a75e89c55ff196e7ed6a1" dependencies = [ "bitvec", "bytecheck", @@ -4067,9 +4175,9 @@ dependencies = [ [[package]] name = "rkyv_derive" -version = "0.7.45" +version = "0.7.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "503d1d27590a2b0a3a4ca4c94755aa2875657196ecbf401a42eff41d7de532c0" +checksum = "84d7b42d4b8d06048d3ac8db0eb31bcb942cbeb709f0b5f2b2ebde398d3038f5" dependencies = [ "proc-macro2", "quote", @@ -4098,21 +4206,11 @@ dependencies = [ "serde", ] -[[package]] -name = "rmpv" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58450723cd9ee93273ce44a20b6ec4efe17f8ed2e3631474387bfdecf18bb2a9" -dependencies = [ - "num-traits", - "rmp", -] - [[package]] name = "roaring" -version = "0.10.12" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19e8d2cfa184d94d0726d650a9f4a1be7f9b76ac9fdb954219878dc00c1c1e7b" +checksum = "8ba9ce64a8f45d7fc86358410bb1a82e8c987504c0d4900e9141d69a9f26c885" dependencies = [ "bytemuck", "byteorder", @@ -4125,6 +4223,26 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4e27ee8bb91ca0adcf0ecb116293afa12d393f9c2b9b9cd54d33e8078fe19839" +[[package]] +name = "rsa" +version = "0.9.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8573f03f5883dcaebdfcf4725caa1ecb9c15b2ef50c43a07b816e06799bb12d" +dependencies = [ + "const-oid", + "digest", + "num-bigint-dig", + "num-integer", + "num-traits", + "pkcs1", + "pkcs8", + "rand_core 0.6.4", + "signature", + "spki", + "subtle", + "zeroize", +] + [[package]] name = "rstar" version = "0.8.4" @@ -4186,6 +4304,35 @@ dependencies = [ "smallvec", ] +[[package]] +name = "rstest" +version = "0.26.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f5a3193c063baaa2a95a33f03035c8a72b83d97a54916055ba22d35ed3839d49" +dependencies = [ + "futures-timer", + "futures-util", + "rstest_macros", +] + +[[package]] +name = "rstest_macros" +version = "0.26.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c845311f0ff7951c5506121a9ad75aec44d083c31583b2ea5a30bcb0b0abba0" +dependencies = [ + "cfg-if", + "glob", + "proc-macro-crate", + "proc-macro2", + "quote", + "regex", + "relative-path", + "rustc_version", + "syn 2.0.111", + "unicode-ident", +] + [[package]] name = "rust-stemmers" version = "1.2.0" @@ -4198,9 +4345,9 @@ dependencies = [ [[package]] name = "rust_decimal" -version = "1.39.0" +version = "1.40.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35affe401787a9bd846712274d97654355d21b2a2c092a3139aabe31e9022282" +checksum = "61f703d19852dbf87cbc513643fa81428361eb6940f1ac14fd58155d295a3eb0" dependencies = [ "arrayvec", "borsh", @@ -4218,15 +4365,6 @@ version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" -[[package]] -name = "rustc_lexer" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c86aae0c77166108c01305ee1a36a1e77289d7dc6ca0a3cd91ff4992de2d16a5" -dependencies = [ - "unicode-xid", -] - [[package]] name = "rustc_version" version = "0.4.1" @@ -4251,9 +4389,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.35" +version = "0.23.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "533f54bc6a7d4f647e46ad909549eda97bf5afc1585190ef692b4286b198bd8f" +checksum = "758025cb5fccfd3bc2fd74708fd4682be41d99e5dff73c377c0646c6012c73a4" dependencies = [ "aws-lc-rs", "log", @@ -4279,9 +4417,9 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.13.1" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "708c0f9d5f54ba0272468c1d306a52c495b31fa155e91bc25371e6df7996908c" +checksum = "be040f8b0a225e40375822a563fa9524378b9d63112f53e19ffff34df5d33fdd" dependencies = [ "web-time", "zeroize", @@ -4323,7 +4461,7 @@ dependencies = [ "aws-lc-rs", "ring", "rustls-pki-types", - "untrusted", + "untrusted 0.9.0", ] [[package]] @@ -4365,30 +4503,6 @@ dependencies = [ "windows-sys 0.61.2", ] -[[package]] -name = "schemars" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cd191f9397d57d581cddd31014772520aa448f65ef991055d7f61582c65165f" -dependencies = [ - "dyn-clone", - "ref-cast", - "serde", - "serde_json", -] - -[[package]] -name = "schemars" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9558e172d4e8533736ba97870c4b2cd63f84b382a3d6eb063da41b91cce17289" -dependencies = [ - "dyn-clone", - "ref-cast", - "serde", - "serde_json", -] - [[package]] name = "scopeguard" version = "1.2.0" @@ -4413,6 +4527,20 @@ version = "4.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" +[[package]] +name = "sec1" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" +dependencies = [ + "base16ct", + "der", + "generic-array 0.14.7", + "pkcs8", + "subtle", + "zeroize", +] + [[package]] name = "security-framework" version = "3.5.1" @@ -4436,6 +4564,16 @@ dependencies = [ "libc", ] +[[package]] +name = "seize" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b55fb86dfd3a2f5f76ea78310a88f96c4ea21a3031f8d212443d56123fd0521" +dependencies = [ + "libc", + "windows-sys 0.61.2", +] + [[package]] name = "semver" version = "1.0.27" @@ -4446,12 +4584,6 @@ dependencies = [ "serde_core", ] -[[package]] -name = "send_wrapper" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" - [[package]] name = "serde" version = "1.0.228" @@ -4462,15 +4594,6 @@ dependencies = [ "serde_derive", ] -[[package]] -name = "serde-content" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3753ca04f350fa92d00b6146a3555e63c55388c9ef2e11e09bce2ff1c0b509c6" -dependencies = [ - "serde", -] - [[package]] name = "serde_core" version = "1.0.228" @@ -4493,16 +4616,15 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.145" +version = "1.0.149" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c" +checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" dependencies = [ - "indexmap 2.12.1", "itoa", "memchr", - "ryu", "serde", "serde_core", + "zmij", ] [[package]] @@ -4528,37 +4650,6 @@ dependencies = [ "serde", ] -[[package]] -name = "serde_with" -version = "3.16.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fa237f2807440d238e0364a218270b98f767a00d3dada77b1c53ae88940e2e7" -dependencies = [ - "base64 0.22.1", - "chrono", - "hex", - "indexmap 1.9.3", - "indexmap 2.12.1", - "schemars 0.9.0", - "schemars 1.1.0", - "serde_core", - "serde_json", - "serde_with_macros", - "time", -] - -[[package]] -name = "serde_with_macros" -version = "3.16.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52a8e3ca0ca629121f70ab50f95249e5a6f925cc0f6ffe8256c45b728875706c" -dependencies = [ - "darling 0.21.3", - "proc-macro2", - "quote", - "syn 2.0.111", -] - [[package]] name = "sha1" version = "0.10.6" @@ -4602,6 +4693,12 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" +[[package]] +name = "sif-itree" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7f45b8998ced5134fb1d75732c77842a3e888f19c1ff98481822e8fbfbf930b" + [[package]] name = "signal-hook-registry" version = "1.4.7" @@ -4611,6 +4708,16 @@ dependencies = [ "libc", ] +[[package]] +name = "signature" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" +dependencies = [ + "digest", + "rand_core 0.6.4", +] + [[package]] name = "simdutf8" version = "0.1.5" @@ -4625,7 +4732,7 @@ checksum = "297f631f50729c8c99b84667867963997ec0b50f32b2a7dbcab828ef0541e8bb" dependencies = [ "num-bigint", "num-traits", - "thiserror 2.0.17", + "thiserror 2.0.18", "time", ] @@ -4671,22 +4778,10 @@ name = "smallvec" version = "1.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" - -[[package]] -name = "smol_str" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd538fb6910ac1099850255cf94a94df6551fbdd602454387d0adb2d1ca6dead" dependencies = [ "serde", ] -[[package]] -name = "snap" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b6b67fb9a61334225b5b790716f609cd58395f895b3fe8b328786812a40bc3b" - [[package]] name = "socket2" version = "0.6.1" @@ -4718,6 +4813,16 @@ dependencies = [ "lock_api", ] +[[package]] +name = "spki" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +dependencies = [ + "base64ct", + "der", +] + [[package]] name = "stable_deref_trait" version = "1.2.1" @@ -4725,34 +4830,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" [[package]] -name = "stacker" -version = "0.1.22" +name = "storekey" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1f8b29fb42aafcea4edeeb6b2f2d7ecd0d969c48b4cf0d2e64aafc471dd6e59" +checksum = "bd9a94571bde7369ecaac47cec2e6844642d99166bd452fbd8def74b5b917b2f" dependencies = [ - "cc", - "cfg-if", - "libc", - "psm", - "windows-sys 0.59.0", + "bytes", + "storekey-derive", + "uuid", ] [[package]] -name = "static_assertions_next" -version = "1.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7beae5182595e9a8b683fa98c4317f956c9a2dec3b9716990d20023cc60c766" - -[[package]] -name = "storekey" -version = "0.5.0" +name = "storekey-derive" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43c42833834a5d23b344f71d87114e0cc9994766a5c42938f4b50e7b2aef85b2" +checksum = "6079d53242246522ec982de613c5c952cc7b1380ef2f8622fcdab9bfe73c0098" dependencies = [ - "byteorder", - "memchr", - "serde", - "thiserror 1.0.69", + "proc-macro2", + "quote", + "syn 2.0.111", ] [[package]] @@ -4763,7 +4859,7 @@ checksum = "bf776ba3fa74f83bf4b63c3dcbbf82173db2632ed8452cb2d891d33f459de70f" dependencies = [ "new_debug_unreachable", "parking_lot 0.12.5", - "phf_shared", + "phf_shared 0.11.3", "precomputed-hash", "serde", ] @@ -4774,8 +4870,8 @@ version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c711928715f1fe0fe509c53b43e993a9a557babc2d0a3567d0a3006f1ac931a0" dependencies = [ - "phf_generator", - "phf_shared", + "phf_generator 0.11.3", + "phf_shared 0.11.3", "proc-macro2", "quote", ] @@ -4786,28 +4882,6 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" -[[package]] -name = "strum" -version = "0.26.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" -dependencies = [ - "strum_macros", -] - -[[package]] -name = "strum_macros" -version = "0.26.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" -dependencies = [ - "heck 0.5.0", - "proc-macro2", - "quote", - "rustversion", - "syn 2.0.111", -] - [[package]] name = "subtle" version = "2.6.1" @@ -4816,138 +4890,131 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "surrealdb" -version = "2.6.1" +version = "3.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "085478c61364d88ad875a772944feefaba9f0fa24ddd12917f138ef23926ca94" +checksum = "a4743fbc9ef13ad8dc83d8015bdab3d2bbe799b50335d597b8ea595cd4fb8ded" dependencies = [ - "arrayvec", + "anyhow", "async-channel", - "bincode", + "boxcar", "chrono", - "dmp", "futures", - "geo", "getrandom 0.3.4", - "indexmap 2.12.1", - "path-clean", - "pharos", - "reblessive", - "reqwest 0.12.28", - "revision 0.11.0", + "indexmap", + "js-sys", + "path-clean", + "reqwest 0.13.1", "ring", - "rust_decimal", "rustls", "rustls-pki-types", "semver", "serde", - "serde-content", "serde_json", "surrealdb-core", - "thiserror 1.0.69", + "surrealdb-types", + "surrealdb-types-derive", "tokio", "tokio-tungstenite", + "tokio-tungstenite-wasm", "tokio-util", "tracing", - "trice", "url", "uuid", + "wasm-bindgen", "wasm-bindgen-futures", "wasmtimer", - "ws_stream_wasm", + "web-sys", ] [[package]] name = "surrealdb-core" -version = "2.6.1" +version = "3.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87283061150fee74fc5e8be99495560b0bd11bc32db36412297544c73843c5c0" +checksum = "c68692e07cb32e3d14fcf8ecd4d359178168b05d6995d40974e79431b775d97c" dependencies = [ "addr", "affinitypool", "ahash 0.8.12", "ammonia", - "any_ascii", + "anyhow", "argon2", "async-channel", - "async-executor", - "async-graphql", - "base64 0.21.7", + "async-stream", + "async-trait", + "base64", "bcrypt", - "bincode", "blake3", "bytes", - "castaway", - "cedar-policy", "chrono", "ciborium", - "dashmap 5.5.3", + "dashmap", "deunicode", "dmp", "ext-sort", + "fastnum", "fst", "futures", "fuzzy-matcher", - "geo", + "geo 0.32.0", "geo-types", "getrandom 0.3.4", - "hashbrown 0.14.5", + "headers", "hex", "http", + "humantime", "ipnet", "jsonwebtoken", "lexicmp", - "linfa-linalg", "md-5", - "nanoid", + "mime", "ndarray", "ndarray-stats", "num-traits", "num_cpus", "object_store", "parking_lot 0.12.5", + "path-clean", "pbkdf2", - "pharos", - "phf", + "phf 0.13.1", "pin-project-lite", - "quick_cache 0.5.2", + "quick_cache", "radix_trie", "rand 0.8.5", "rayon", "reblessive", "regex", - "revision 0.11.0", + "revision", "ring", - "rmpv", "roaring", "rust-stemmers", "rust_decimal", "scrypt", "semver", "serde", - "serde-content", "serde_json", "sha1", "sha2", - "snap", "storekey", "strsim", "subtle", + "surrealdb-protocol", "surrealdb-rocksdb", - "surrealkv", + "surrealdb-types", + "surrealmx", "sysinfo", "tempfile", - "thiserror 1.0.69", + "thiserror 2.0.18", "tokio", + "tokio-util", "tracing", - "trice", "ulid", "unicase", "url", "uuid", - "vart 0.8.1", + "vart", "wasm-bindgen-futures", "wasmtimer", - "ws_stream_wasm", + "web-time", ] [[package]] @@ -4965,6 +5032,30 @@ dependencies = [ "zstd-sys", ] +[[package]] +name = "surrealdb-protocol" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb37698e0493bcfac3229ecb6ec6894a3ad705a3a2087b1562eeb881b3db19d4" +dependencies = [ + "anyhow", + "async-trait", + "bytes", + "chrono", + "flatbuffers", + "futures", + "geo 0.28.0", + "prost", + "prost-types", + "rust_decimal", + "semver", + "serde", + "serde_json", + "tonic", + "tonic-prost", + "uuid", +] + [[package]] name = "surrealdb-rocksdb" version = "0.24.0-surreal.1" @@ -4976,22 +5067,62 @@ dependencies = [ ] [[package]] -name = "surrealkv" -version = "0.9.3" +name = "surrealdb-types" +version = "3.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08a5041979bdff8599a1d5f6cb7365acb9a79664e2a84e5c4fddac2b3969f7d1" +checksum = "47ff6e65d183500794b407cd650ca92143ec1980c8dd7fc99f3ffbaef6be14ff" dependencies = [ - "ahash 0.8.12", + "anyhow", "bytes", "chrono", - "crc32fast", - "double-ended-peekable", - "getrandom 0.2.16", - "lru", + "flatbuffers", + "geo 0.32.0", + "hex", + "http", + "papaya", + "rand 0.8.5", + "regex", + "rstest", + "rust_decimal", + "serde", + "serde_json", + "surrealdb-protocol", + "surrealdb-types-derive", + "ulid", + "uuid", +] + +[[package]] +name = "surrealdb-types-derive" +version = "3.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78dcd6796474fbb368e502b98c47843ec28d32c3e1a42d1291d65f060f30b1e8" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.111", +] + +[[package]] +name = "surrealmx" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6508449a7d1379a92a51ba49391b48ccab0b60dd11a4277c0dda965d8c99dbff" +dependencies = [ + "arc-swap", + "bincode 2.0.1", + "bytes", + "crossbeam-deque", + "crossbeam-queue", + "crossbeam-skiplist", + "lz4", + "papaya", "parking_lot 0.12.5", - "quick_cache 0.6.18", - "revision 0.10.0", - "vart 0.9.3", + "serde", + "smallvec", + "thiserror 2.0.18", + "tracing", + "web-time", ] [[package]] @@ -5047,15 +5178,15 @@ dependencies = [ [[package]] name = "sysinfo" -version = "0.33.1" +version = "0.37.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fc858248ea01b66f19d8e8a6d55f41deaf91e9d495246fd01368d99935c6c01" +checksum = "16607d5caffd1c07ce073528f9ed972d88db15dd44023fa57142963be3feb11f" dependencies = [ - "core-foundation-sys", "libc", "memchr", "ntapi", - "rayon", + "objc2-core-foundation", + "objc2-io-kit", "windows", ] @@ -5112,7 +5243,7 @@ checksum = "502915c7381c5cb2d2781503962610cb880ad8f1a0ca95df1bae645d5ebf2545" dependencies = [ "aho-corasick", "arc-swap", - "base64 0.22.1", + "base64", "bitpacking", "bon", "byteorder", @@ -5150,7 +5281,7 @@ dependencies = [ "tantivy-stacker", "tantivy-tokenizer-api", "tempfile", - "thiserror 2.0.17", + "thiserror 2.0.18", "time", "uuid", "winapi", @@ -5280,17 +5411,6 @@ dependencies = [ "utf-8", ] -[[package]] -name = "term" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f" -dependencies = [ - "dirs-next", - "rustversion", - "winapi", -] - [[package]] name = "thiserror" version = "1.0.69" @@ -5302,11 +5422,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.17" +version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8" +checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" dependencies = [ - "thiserror-impl 2.0.17", + "thiserror-impl 2.0.18", ] [[package]] @@ -5322,9 +5442,9 @@ dependencies = [ [[package]] name = "thiserror-impl" -version = "2.0.17" +version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913" +checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" dependencies = [ "proc-macro2", "quote", @@ -5371,15 +5491,6 @@ dependencies = [ "time-core", ] -[[package]] -name = "tiny-keccak" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" -dependencies = [ - "crunchy", -] - [[package]] name = "tinystr" version = "0.8.2" @@ -5443,11 +5554,22 @@ dependencies = [ "tokio", ] +[[package]] +name = "tokio-stream" +version = "0.1.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32da49809aab5c3bc678af03902d4ccddea2a87d028d86392a4b1560c6906c70" +dependencies = [ + "futures-core", + "pin-project-lite", + "tokio", +] + [[package]] name = "tokio-tungstenite" -version = "0.23.1" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6989540ced10490aaf14e6bad2e3d33728a2813310a0c71d1574304c49631cd" +checksum = "d25a406cddcc431a75d3d9afc6a7c0f7428d4891dd973e4d54c56b46127bf857" dependencies = [ "futures-util", "log", @@ -5459,11 +5581,30 @@ dependencies = [ "webpki-roots 0.26.11", ] +[[package]] +name = "tokio-tungstenite-wasm" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccecee909c02b8863f9bda87253127eb4da0e7e1342330b2583fbc4d1795c2f8" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "http", + "httparse", + "js-sys", + "thiserror 2.0.18", + "tokio", + "tokio-tungstenite", + "wasm-bindgen", + "web-sys", +] + [[package]] name = "tokio-util" -version = "0.7.17" +version = "0.7.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2efa149fe76073d6e8fd97ef4f4eca7b67f599660115591483572e406e165594" +checksum = "9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098" dependencies = [ "bytes", "futures-core", @@ -5488,7 +5629,7 @@ version = "0.23.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5d7cbc3b4b49633d57a0509303158ca50de80ae32c265093b24c414705807832" dependencies = [ - "indexmap 2.12.1", + "indexmap", "toml_datetime", "toml_parser", "winnow", @@ -5503,6 +5644,46 @@ dependencies = [ "winnow", ] +[[package]] +name = "tonic" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fec7c61a0695dc1887c1b53952990f3ad2e3a31453e1f49f10e75424943a93ec" +dependencies = [ + "async-trait", + "axum", + "base64", + "bytes", + "h2", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-timeout", + "hyper-util", + "percent-encoding", + "pin-project", + "socket2", + "sync_wrapper", + "tokio", + "tokio-stream", + "tower", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tonic-prost" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a55376a0bbaa4975a3f10d009ad763d8f4108f067c7c2e74f3001fb49778d309" +dependencies = [ + "bytes", + "prost", + "tonic", +] + [[package]] name = "tower" version = "0.5.2" @@ -5511,11 +5692,15 @@ checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" dependencies = [ "futures-core", "futures-util", + "indexmap", "pin-project-lite", + "slab", "sync_wrapper", "tokio", + "tokio-util", "tower-layer", "tower-service", + "tracing", ] [[package]] @@ -5550,9 +5735,9 @@ checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tracing" -version = "0.1.43" +version = "0.1.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d15d90a0b5c19378952d479dc858407149d7bb45a14de0142f6c534b16fc647" +checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" dependencies = [ "pin-project-lite", "tracing-attributes", @@ -5572,9 +5757,9 @@ dependencies = [ [[package]] name = "tracing-core" -version = "0.1.35" +version = "0.1.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a04e24fab5c89c6a36eb8558c9656f30d81de51dfa4d3b45f26b21d61fa0a6c" +checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" dependencies = [ "once_cell", "valuable", @@ -5624,21 +5809,20 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "tungstenite" -version = "0.23.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e2e2ce1e47ed2994fd43b04c8f618008d4cabdd5ee34027cf14f9d918edd9c8" +checksum = "8628dcc84e5a09eb3d8423d6cb682965dea9133204e8fb3efee74c2a0c259442" dependencies = [ - "byteorder", "bytes", "data-encoding", "http", "httparse", "log", - "rand 0.8.5", + "rand 0.9.2", "rustls", "rustls-pki-types", "sha1", - "thiserror 1.0.69", + "thiserror 2.0.18", "url", "utf-8", ] @@ -5655,12 +5839,6 @@ version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" -[[package]] -name = "ucd-trie" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971" - [[package]] name = "ulid" version = "1.2.1" @@ -5674,9 +5852,9 @@ dependencies = [ [[package]] name = "unicase" -version = "2.8.1" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539" +checksum = "dbc4bc3a9f746d862c45cb89d705aa10f187bb96c76001afab07a0d35ce60142" [[package]] name = "unicode-ident" @@ -5684,31 +5862,6 @@ version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" -[[package]] -name = "unicode-normalization" -version = "0.1.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fd4f6878c9cb28d874b009da9e8d183b5abc80117c40bbd187a1fde336be6e8" -dependencies = [ - "tinyvec", -] - -[[package]] -name = "unicode-script" -version = "0.5.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "383ad40bb927465ec0ce7720e033cb4ca06912855fc35db31b5755d0de75b1ee" - -[[package]] -name = "unicode-security" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e4ddba1535dd35ed8b61c52166b7155d7f4e4b8847cec6f48e71dc66d8b5e50" -dependencies = [ - "unicode-normalization", - "unicode-script", -] - [[package]] name = "unicode-width" version = "0.1.14" @@ -5721,34 +5874,41 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254" -[[package]] -name = "unicode-xid" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" - [[package]] name = "unit-prefix" version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "81e544489bf3d8ef66c953931f56617f423cd4b5494be343d9b9d3dda037b9a3" +[[package]] +name = "untrusted" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" + [[package]] name = "untrusted" version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" +[[package]] +name = "unty" +version = "0.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d49784317cd0d1ee7ec5c716dd598ec5b4483ea832a2dced265471cc0f690ae" + [[package]] name = "url" -version = "2.5.7" +version = "2.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08bc136a29a3d1758e07a9cca267be308aeebf5cfd5a10f3f67ab2097683ef5b" +checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed" dependencies = [ "form_urlencoded", "idna", "percent-encoding", "serde", + "serde_derive", ] [[package]] @@ -5799,12 +5959,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" -[[package]] -name = "vart" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87782b74f898179396e93c0efabb38de0d58d50bbd47eae00c71b3a1144dbbae" - [[package]] name = "vart" version = "0.9.3" @@ -5823,6 +5977,12 @@ version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" +[[package]] +name = "virtue" +version = "0.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "051eb1abcf10076295e815102942cc58f9d5e3b4560e46e53c21e8ff6f3af7b1" + [[package]] name = "walkdir" version = "2.5.0" @@ -5859,9 +6019,9 @@ dependencies = [ [[package]] name = "wasm-bindgen" -version = "0.2.106" +version = "0.2.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d759f433fa64a2d763d1340820e46e111a7a5ab75f993d1852d70b03dbb80fd" +checksum = "6532f9a5c1ece3798cb1c2cfdba640b9b3ba884f5db45973a6f442510a87d38e" dependencies = [ "cfg-if", "once_cell", @@ -5872,11 +6032,12 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.56" +version = "0.4.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "836d9622d604feee9e5de25ac10e3ea5f2d65b41eac0d9ce72eb5deae707ce7c" +checksum = "e9c5522b3a28661442748e09d40924dfb9ca614b21c00d3fd135720e48b67db8" dependencies = [ "cfg-if", + "futures-util", "js-sys", "once_cell", "wasm-bindgen", @@ -5885,9 +6046,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.106" +version = "0.2.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48cb0d2638f8baedbc542ed444afc0644a29166f1595371af4fecf8ce1e7eeb3" +checksum = "18a2d50fcf105fb33bb15f00e7a77b772945a2ee45dcf454961fd843e74c18e6" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -5895,9 +6056,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.106" +version = "0.2.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cefb59d5cd5f92d9dcf80e4683949f15ca4b511f4ac0a6e14d4e1ac60c6ecd40" +checksum = "03ce4caeaac547cdf713d280eda22a730824dd11e6b8c3ca9e42247b25c631e3" dependencies = [ "bumpalo", "proc-macro2", @@ -5908,9 +6069,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.106" +version = "0.2.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbc538057e648b67f72a982e708d485b2efa771e1ac05fec311f9f63e5800db4" +checksum = "75a326b8c223ee17883a4251907455a2431acc2791c98c26279376490c378c16" dependencies = [ "unicode-ident", ] @@ -5930,9 +6091,9 @@ dependencies = [ [[package]] name = "wasmtimer" -version = "0.2.1" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7ed9d8b15c7fb594d72bfb4b5a276f3d2029333cd93a932f376f5937f6f80ee" +checksum = "1c598d6b99ea013e35844697fc4670d08339d5cda15588f193c6beedd12f644b" dependencies = [ "futures", "js-sys", @@ -5943,9 +6104,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.83" +version = "0.3.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b32828d774c412041098d182a8b38b16ea816958e07cf40eec2bc080ae137ac" +checksum = "854ba17bb104abfb26ba36da9729addc7ce7f06f5c0f90f3c391f8461cca21f9" dependencies = [ "js-sys", "wasm-bindgen", @@ -5967,7 +6128,7 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57ffde1dc01240bdf9992e3205668b235e59421fd085e8a317ed98da0178d414" dependencies = [ - "phf", + "phf 0.11.3", "phf_codegen", "string_cache", "string_cache_codegen", @@ -6033,24 +6194,37 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows" -version = "0.57.0" +version = "0.61.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12342cb4d8e3b046f3d80effd474a7a02447231330ef77d71daa6fbc40681143" +checksum = "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893" dependencies = [ - "windows-core 0.57.0", - "windows-targets 0.52.6", + "windows-collections", + "windows-core 0.61.2", + "windows-future", + "windows-link 0.1.3", + "windows-numerics", +] + +[[package]] +name = "windows-collections" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8" +dependencies = [ + "windows-core 0.61.2", ] [[package]] name = "windows-core" -version = "0.57.0" +version = "0.61.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2ed2439a290666cd67ecce2b0ffaad89c2a56b976b736e6ece670297897832d" +checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" dependencies = [ - "windows-implement 0.57.0", - "windows-interface 0.57.0", - "windows-result 0.1.2", - "windows-targets 0.52.6", + "windows-implement", + "windows-interface", + "windows-link 0.1.3", + "windows-result 0.3.4", + "windows-strings 0.4.2", ] [[package]] @@ -6059,22 +6233,22 @@ version = "0.62.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" dependencies = [ - "windows-implement 0.60.2", - "windows-interface 0.59.3", - "windows-link", + "windows-implement", + "windows-interface", + "windows-link 0.2.1", "windows-result 0.4.1", - "windows-strings", + "windows-strings 0.5.1", ] [[package]] -name = "windows-implement" -version = "0.57.0" +name = "windows-future" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7" +checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.111", + "windows-core 0.61.2", + "windows-link 0.1.3", + "windows-threading", ] [[package]] @@ -6090,9 +6264,9 @@ dependencies = [ [[package]] name = "windows-interface" -version = "0.57.0" +version = "0.59.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7" +checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" dependencies = [ "proc-macro2", "quote", @@ -6100,15 +6274,10 @@ dependencies = [ ] [[package]] -name = "windows-interface" -version = "0.59.3" +name = "windows-link" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.111", -] +checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" [[package]] name = "windows-link" @@ -6116,24 +6285,34 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" +[[package]] +name = "windows-numerics" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1" +dependencies = [ + "windows-core 0.61.2", + "windows-link 0.1.3", +] + [[package]] name = "windows-registry" version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "02752bf7fbdcce7f2a27a742f798510f3e5ad88dbe84871e5168e2120c3d5720" dependencies = [ - "windows-link", + "windows-link 0.2.1", "windows-result 0.4.1", - "windows-strings", + "windows-strings 0.5.1", ] [[package]] name = "windows-result" -version = "0.1.2" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" +checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" dependencies = [ - "windows-targets 0.52.6", + "windows-link 0.1.3", ] [[package]] @@ -6142,7 +6321,16 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" dependencies = [ - "windows-link", + "windows-link 0.2.1", +] + +[[package]] +name = "windows-strings" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" +dependencies = [ + "windows-link 0.1.3", ] [[package]] @@ -6151,7 +6339,7 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" dependencies = [ - "windows-link", + "windows-link 0.2.1", ] [[package]] @@ -6196,7 +6384,7 @@ version = "0.61.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" dependencies = [ - "windows-link", + "windows-link 0.2.1", ] [[package]] @@ -6236,7 +6424,7 @@ version = "0.53.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" dependencies = [ - "windows-link", + "windows-link 0.2.1", "windows_aarch64_gnullvm 0.53.1", "windows_aarch64_msvc 0.53.1", "windows_i686_gnu 0.53.1", @@ -6247,6 +6435,15 @@ dependencies = [ "windows_x86_64_msvc 0.53.1", ] +[[package]] +name = "windows-threading" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6" +dependencies = [ + "windows-link 0.1.3", +] + [[package]] name = "windows_aarch64_gnullvm" version = "0.42.2" @@ -6406,25 +6603,6 @@ version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" -[[package]] -name = "ws_stream_wasm" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c173014acad22e83f16403ee360115b38846fe754e735c5d9d3803fe70c6abc" -dependencies = [ - "async_io_stream", - "futures", - "js-sys", - "log", - "pharos", - "rustc_version", - "send_wrapper", - "thiserror 2.0.17", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - [[package]] name = "wyz" version = "0.5.1" @@ -6543,6 +6721,12 @@ dependencies = [ "syn 2.0.111", ] +[[package]] +name = "zmij" +version = "1.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" + [[package]] name = "zstd" version = "0.13.3" diff --git a/czech-file-knife/Cargo.toml b/czech-file-knife/Cargo.toml index 281a1737..4e064e56 100644 --- a/czech-file-knife/Cargo.toml +++ b/czech-file-knife/Cargo.toml @@ -75,9 +75,11 @@ dashmap = "6.1" # Bytes bytes = "1.11" +lru = "0.16.3" # FFI libc = "0.2" + once_cell = "1.19" # Logging diff --git a/czech-file-knife/cfk-cache/Cargo.toml b/czech-file-knife/cfk-cache/Cargo.toml index 4e8453f0..90396ef1 100644 --- a/czech-file-knife/cfk-cache/Cargo.toml +++ b/czech-file-knife/cfk-cache/Cargo.toml @@ -30,7 +30,9 @@ hex = "0.4" # Database backends (choose one) sled = { version = "0.34", optional = true } -surrealdb = { version = "2.6.1", optional = true, features = ["kv-mem", "kv-rocksdb"] } +surrealdb = { version = "3.0", optional = true, features = ["kv-mem", "kv-rocksdb"] } + + redb = { version = "3.1", optional = true } heed = { version = "0.22", optional = true } # LMDB wrapper redis = { version = "1.0", optional = true, features = ["tokio-comp"] } # DragonflyDB compatible diff --git a/personal-sysadmin/Cargo.toml b/personal-sysadmin/Cargo.toml index fc53414a..8ee2d955 100644 --- a/personal-sysadmin/Cargo.toml +++ b/personal-sysadmin/Cargo.toml @@ -62,7 +62,10 @@ directories = "5" chrono = { version = "0.4", features = ["serde"] } # Security fix: override transitive ring to patch CVE-2025-4432 ring = "0.17.13" +lru = "0.16.3" uuid = { version = "1", features = ["v4"] } + + toml = "0.8" [dev-dependencies] From 3ba8f6fc4fdd7b79c7a9446a0741c3a90ab1ed4e Mon Sep 17 00:00:00 2001 From: "Jonathan D.A. Jewell" <6759885+hyperpolymath@users.noreply.github.com> Date: Thu, 5 Mar 2026 17:32:59 +0000 Subject: [PATCH 2/5] Auto-commit: Sync changes [2026-03-05] --- Justfile | 5 +++++ _pathroot/examples/web-project-deno.json | 2 +- broad-spectrum/examples/web-project-deno.json | 2 +- broad-spectrum/package.json | 2 +- cicada/examples/web-project-deno.json | 2 +- composer/examples/web-project-deno.json | 2 +- .../.clusterfuzzlite/{Dockerfile => Containerfile} | 0 czech-file-knife/examples/web-project-deno.json | 2 +- emergency-button/examples/web-project-deno.json | 2 +- examples/web-project-deno.json | 2 +- observatory/examples/web-project-deno.json | 2 +- panoptes/.clusterfuzzlite/{Dockerfile => Containerfile} | 0 .../.clusterfuzzlite/{Dockerfile => Containerfile} | 0 system-tools/ambulances/disk/examples/web-project-deno.json | 2 +- system-tools/ambulances/network/deno.json | 4 ++-- system-tools/ffi/fuse/examples/web-project-deno.json | 2 +- system-tools/ffi/systemd/examples/web-project-deno.json | 2 +- total-recall/examples/web-project-deno.json | 2 +- total-update/examples/web-project-deno.json | 2 +- traffic-conditioner/examples/web-project-deno.json | 2 +- volumod/examples/web-project-deno.json | 2 +- 21 files changed, 23 insertions(+), 18 deletions(-) rename czech-file-knife/.clusterfuzzlite/{Dockerfile => Containerfile} (100%) rename panoptes/.clusterfuzzlite/{Dockerfile => Containerfile} (100%) rename personal-sysadmin/.clusterfuzzlite/{Dockerfile => Containerfile} (100%) diff --git a/Justfile b/Justfile index e8e75596..c9bade30 100644 --- a/Justfile +++ b/Justfile @@ -90,3 +90,8 @@ audit: @echo "=== Dependency Audit ===" @if [ -f Cargo.toml ]; then cargo audit; fi @echo "Dependency audit complete" + +# [AUTO-GENERATED] Multi-arch / RISC-V target +build-riscv: + @echo "Building for RISC-V..." + cross build --target riscv64gc-unknown-linux-gnu diff --git a/_pathroot/examples/web-project-deno.json b/_pathroot/examples/web-project-deno.json index eaa39d95..5ddd3bd7 100644 --- a/_pathroot/examples/web-project-deno.json +++ b/_pathroot/examples/web-project-deno.json @@ -8,7 +8,7 @@ "test": "deno test --allow-all" }, "imports": { - "rescript": "npm:rescript@^12.1.0", + "rescript": "^12.0.0", "@rescript/core": "npm:@rescript/core@^1.6.0", "safe-dom/": "https://raw.githubusercontent.com/hyperpolymath/rescript-dom-mounter/main/src/", "proven/": "../proven/bindings/rescript/src/" diff --git a/broad-spectrum/examples/web-project-deno.json b/broad-spectrum/examples/web-project-deno.json index eaa39d95..5ddd3bd7 100644 --- a/broad-spectrum/examples/web-project-deno.json +++ b/broad-spectrum/examples/web-project-deno.json @@ -8,7 +8,7 @@ "test": "deno test --allow-all" }, "imports": { - "rescript": "npm:rescript@^12.1.0", + "rescript": "^12.0.0", "@rescript/core": "npm:@rescript/core@^1.6.0", "safe-dom/": "https://raw.githubusercontent.com/hyperpolymath/rescript-dom-mounter/main/src/", "proven/": "../proven/bindings/rescript/src/" diff --git a/broad-spectrum/package.json b/broad-spectrum/package.json index 7288857b..5830ed98 100644 --- a/broad-spectrum/package.json +++ b/broad-spectrum/package.json @@ -11,6 +11,6 @@ "devDependencies": { "@rescript/core": "^1.5.0", "gentype": "^4.5.0", - "rescript": "^11.0.1" + "rescript": "^12.0.0" } } diff --git a/cicada/examples/web-project-deno.json b/cicada/examples/web-project-deno.json index eaa39d95..5ddd3bd7 100644 --- a/cicada/examples/web-project-deno.json +++ b/cicada/examples/web-project-deno.json @@ -8,7 +8,7 @@ "test": "deno test --allow-all" }, "imports": { - "rescript": "npm:rescript@^12.1.0", + "rescript": "^12.0.0", "@rescript/core": "npm:@rescript/core@^1.6.0", "safe-dom/": "https://raw.githubusercontent.com/hyperpolymath/rescript-dom-mounter/main/src/", "proven/": "../proven/bindings/rescript/src/" diff --git a/composer/examples/web-project-deno.json b/composer/examples/web-project-deno.json index eaa39d95..5ddd3bd7 100644 --- a/composer/examples/web-project-deno.json +++ b/composer/examples/web-project-deno.json @@ -8,7 +8,7 @@ "test": "deno test --allow-all" }, "imports": { - "rescript": "npm:rescript@^12.1.0", + "rescript": "^12.0.0", "@rescript/core": "npm:@rescript/core@^1.6.0", "safe-dom/": "https://raw.githubusercontent.com/hyperpolymath/rescript-dom-mounter/main/src/", "proven/": "../proven/bindings/rescript/src/" diff --git a/czech-file-knife/.clusterfuzzlite/Dockerfile b/czech-file-knife/.clusterfuzzlite/Containerfile similarity index 100% rename from czech-file-knife/.clusterfuzzlite/Dockerfile rename to czech-file-knife/.clusterfuzzlite/Containerfile diff --git a/czech-file-knife/examples/web-project-deno.json b/czech-file-knife/examples/web-project-deno.json index eaa39d95..5ddd3bd7 100644 --- a/czech-file-knife/examples/web-project-deno.json +++ b/czech-file-knife/examples/web-project-deno.json @@ -8,7 +8,7 @@ "test": "deno test --allow-all" }, "imports": { - "rescript": "npm:rescript@^12.1.0", + "rescript": "^12.0.0", "@rescript/core": "npm:@rescript/core@^1.6.0", "safe-dom/": "https://raw.githubusercontent.com/hyperpolymath/rescript-dom-mounter/main/src/", "proven/": "../proven/bindings/rescript/src/" diff --git a/emergency-button/examples/web-project-deno.json b/emergency-button/examples/web-project-deno.json index eaa39d95..5ddd3bd7 100644 --- a/emergency-button/examples/web-project-deno.json +++ b/emergency-button/examples/web-project-deno.json @@ -8,7 +8,7 @@ "test": "deno test --allow-all" }, "imports": { - "rescript": "npm:rescript@^12.1.0", + "rescript": "^12.0.0", "@rescript/core": "npm:@rescript/core@^1.6.0", "safe-dom/": "https://raw.githubusercontent.com/hyperpolymath/rescript-dom-mounter/main/src/", "proven/": "../proven/bindings/rescript/src/" diff --git a/examples/web-project-deno.json b/examples/web-project-deno.json index eaa39d95..5ddd3bd7 100644 --- a/examples/web-project-deno.json +++ b/examples/web-project-deno.json @@ -8,7 +8,7 @@ "test": "deno test --allow-all" }, "imports": { - "rescript": "npm:rescript@^12.1.0", + "rescript": "^12.0.0", "@rescript/core": "npm:@rescript/core@^1.6.0", "safe-dom/": "https://raw.githubusercontent.com/hyperpolymath/rescript-dom-mounter/main/src/", "proven/": "../proven/bindings/rescript/src/" diff --git a/observatory/examples/web-project-deno.json b/observatory/examples/web-project-deno.json index eaa39d95..5ddd3bd7 100644 --- a/observatory/examples/web-project-deno.json +++ b/observatory/examples/web-project-deno.json @@ -8,7 +8,7 @@ "test": "deno test --allow-all" }, "imports": { - "rescript": "npm:rescript@^12.1.0", + "rescript": "^12.0.0", "@rescript/core": "npm:@rescript/core@^1.6.0", "safe-dom/": "https://raw.githubusercontent.com/hyperpolymath/rescript-dom-mounter/main/src/", "proven/": "../proven/bindings/rescript/src/" diff --git a/panoptes/.clusterfuzzlite/Dockerfile b/panoptes/.clusterfuzzlite/Containerfile similarity index 100% rename from panoptes/.clusterfuzzlite/Dockerfile rename to panoptes/.clusterfuzzlite/Containerfile diff --git a/personal-sysadmin/.clusterfuzzlite/Dockerfile b/personal-sysadmin/.clusterfuzzlite/Containerfile similarity index 100% rename from personal-sysadmin/.clusterfuzzlite/Dockerfile rename to personal-sysadmin/.clusterfuzzlite/Containerfile diff --git a/system-tools/ambulances/disk/examples/web-project-deno.json b/system-tools/ambulances/disk/examples/web-project-deno.json index eaa39d95..5ddd3bd7 100644 --- a/system-tools/ambulances/disk/examples/web-project-deno.json +++ b/system-tools/ambulances/disk/examples/web-project-deno.json @@ -8,7 +8,7 @@ "test": "deno test --allow-all" }, "imports": { - "rescript": "npm:rescript@^12.1.0", + "rescript": "^12.0.0", "@rescript/core": "npm:@rescript/core@^1.6.0", "safe-dom/": "https://raw.githubusercontent.com/hyperpolymath/rescript-dom-mounter/main/src/", "proven/": "../proven/bindings/rescript/src/" diff --git a/system-tools/ambulances/network/deno.json b/system-tools/ambulances/network/deno.json index 765692fe..f3b76211 100644 --- a/system-tools/ambulances/network/deno.json +++ b/system-tools/ambulances/network/deno.json @@ -7,12 +7,12 @@ "build": "deno run --allow-read --allow-write --allow-run npm:rescript build && deno run --allow-read --allow-write --allow-run npm:vite build", "tauri:dev": "deno task dev & cargo tauri dev", "tauri:build": "deno task build && cargo tauri build", - "rescript": "deno run --allow-read --allow-write --allow-run npm:rescript", + "rescript": "^12.0.0", "format": "deno fmt src/rescript" }, "imports": { "vite": "npm:vite@^5.0.0", - "rescript": "npm:rescript@^11.0.0", + "rescript": "^12.0.0", "@rescript/core": "npm:@rescript/core@^1.0.0" }, "compilerOptions": { diff --git a/system-tools/ffi/fuse/examples/web-project-deno.json b/system-tools/ffi/fuse/examples/web-project-deno.json index eaa39d95..5ddd3bd7 100644 --- a/system-tools/ffi/fuse/examples/web-project-deno.json +++ b/system-tools/ffi/fuse/examples/web-project-deno.json @@ -8,7 +8,7 @@ "test": "deno test --allow-all" }, "imports": { - "rescript": "npm:rescript@^12.1.0", + "rescript": "^12.0.0", "@rescript/core": "npm:@rescript/core@^1.6.0", "safe-dom/": "https://raw.githubusercontent.com/hyperpolymath/rescript-dom-mounter/main/src/", "proven/": "../proven/bindings/rescript/src/" diff --git a/system-tools/ffi/systemd/examples/web-project-deno.json b/system-tools/ffi/systemd/examples/web-project-deno.json index eaa39d95..5ddd3bd7 100644 --- a/system-tools/ffi/systemd/examples/web-project-deno.json +++ b/system-tools/ffi/systemd/examples/web-project-deno.json @@ -8,7 +8,7 @@ "test": "deno test --allow-all" }, "imports": { - "rescript": "npm:rescript@^12.1.0", + "rescript": "^12.0.0", "@rescript/core": "npm:@rescript/core@^1.6.0", "safe-dom/": "https://raw.githubusercontent.com/hyperpolymath/rescript-dom-mounter/main/src/", "proven/": "../proven/bindings/rescript/src/" diff --git a/total-recall/examples/web-project-deno.json b/total-recall/examples/web-project-deno.json index eaa39d95..5ddd3bd7 100644 --- a/total-recall/examples/web-project-deno.json +++ b/total-recall/examples/web-project-deno.json @@ -8,7 +8,7 @@ "test": "deno test --allow-all" }, "imports": { - "rescript": "npm:rescript@^12.1.0", + "rescript": "^12.0.0", "@rescript/core": "npm:@rescript/core@^1.6.0", "safe-dom/": "https://raw.githubusercontent.com/hyperpolymath/rescript-dom-mounter/main/src/", "proven/": "../proven/bindings/rescript/src/" diff --git a/total-update/examples/web-project-deno.json b/total-update/examples/web-project-deno.json index eaa39d95..5ddd3bd7 100644 --- a/total-update/examples/web-project-deno.json +++ b/total-update/examples/web-project-deno.json @@ -8,7 +8,7 @@ "test": "deno test --allow-all" }, "imports": { - "rescript": "npm:rescript@^12.1.0", + "rescript": "^12.0.0", "@rescript/core": "npm:@rescript/core@^1.6.0", "safe-dom/": "https://raw.githubusercontent.com/hyperpolymath/rescript-dom-mounter/main/src/", "proven/": "../proven/bindings/rescript/src/" diff --git a/traffic-conditioner/examples/web-project-deno.json b/traffic-conditioner/examples/web-project-deno.json index eaa39d95..5ddd3bd7 100644 --- a/traffic-conditioner/examples/web-project-deno.json +++ b/traffic-conditioner/examples/web-project-deno.json @@ -8,7 +8,7 @@ "test": "deno test --allow-all" }, "imports": { - "rescript": "npm:rescript@^12.1.0", + "rescript": "^12.0.0", "@rescript/core": "npm:@rescript/core@^1.6.0", "safe-dom/": "https://raw.githubusercontent.com/hyperpolymath/rescript-dom-mounter/main/src/", "proven/": "../proven/bindings/rescript/src/" diff --git a/volumod/examples/web-project-deno.json b/volumod/examples/web-project-deno.json index eaa39d95..5ddd3bd7 100644 --- a/volumod/examples/web-project-deno.json +++ b/volumod/examples/web-project-deno.json @@ -8,7 +8,7 @@ "test": "deno test --allow-all" }, "imports": { - "rescript": "npm:rescript@^12.1.0", + "rescript": "^12.0.0", "@rescript/core": "npm:@rescript/core@^1.6.0", "safe-dom/": "https://raw.githubusercontent.com/hyperpolymath/rescript-dom-mounter/main/src/", "proven/": "../proven/bindings/rescript/src/" From 4f28acf1167f36df472ef6747d6d7e2e4aa86349 Mon Sep 17 00:00:00 2001 From: "Jonathan D.A. Jewell" <6759885+hyperpolymath@users.noreply.github.com> Date: Sat, 7 Mar 2026 21:48:30 +0000 Subject: [PATCH 3/5] chore: hypatia dispatch auto-fixes (tmp-paths, shell-quoting, annotations) Co-Authored-By: Claude Opus 4.6 --- czech-file-knife/.clusterfuzzlite/build.sh | 2 +- panoptes/.clusterfuzzlite/build.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/czech-file-knife/.clusterfuzzlite/build.sh b/czech-file-knife/.clusterfuzzlite/build.sh index fef5e771..8b34be08 100644 --- a/czech-file-knife/.clusterfuzzlite/build.sh +++ b/czech-file-knife/.clusterfuzzlite/build.sh @@ -2,7 +2,7 @@ # SPDX-License-Identifier: AGPL-3.0-or-later # Build script for ClusterFuzzLite -cd $SRC/czech-file-knife +cd "$SRC"/czech-file-knife # Build fuzz targets using cargo-fuzz cargo +nightly fuzz build diff --git a/panoptes/.clusterfuzzlite/build.sh b/panoptes/.clusterfuzzlite/build.sh index 44fc256c..488710d1 100755 --- a/panoptes/.clusterfuzzlite/build.sh +++ b/panoptes/.clusterfuzzlite/build.sh @@ -1,6 +1,6 @@ #!/bin/bash -eu # SPDX-License-Identifier: PMPL-1.0 -cd $SRC/panoptes +cd "$SRC"/panoptes cargo +nightly fuzz build for target in $(cargo +nightly fuzz list); do cp ./target/x86_64-unknown-linux-gnu/release/$target $OUT/ From 654444507ebb6b83b8980ec85333543245a850ab Mon Sep 17 00:00:00 2001 From: "Jonathan D.A. Jewell" <6759885+hyperpolymath@users.noreply.github.com> Date: Wed, 11 Mar 2026 02:50:36 +0000 Subject: [PATCH 4/5] Standardise license setup: MPL-2.0 + PMPL-1.0-or-later (REUSE) - LICENSE: pure MPL-2.0 text for machine detection (GitHub, registries) - LICENSES/MPL-2.0.txt: standard MPL-2.0 text - LICENSES/PMPL-1.0-or-later.txt: Palimpsest License text - NOTICE: explains the dual-license relationship - Source SPDX headers remain PMPL-1.0-or-later This ensures OSI compliance checks pass while preserving PMPL as the governing license for source code. Co-Authored-By: Claude Opus 4.6 --- LICENSE | 516 +++++++++++++++++++++++---------- LICENSES/MPL-2.0.txt | 373 ++++++++++++++++++++++++ LICENSES/PMPL-1.0-or-later.txt | 162 +++++++++++ NOTICE | 22 ++ czech-file-knife/Containerfile | 4 +- 5 files changed, 927 insertions(+), 150 deletions(-) create mode 100644 LICENSES/MPL-2.0.txt create mode 100644 LICENSES/PMPL-1.0-or-later.txt create mode 100644 NOTICE diff --git a/LICENSE b/LICENSE index d2dccf5b..14e2f777 100644 --- a/LICENSE +++ b/LICENSE @@ -1,153 +1,373 @@ -SPDX-License-Identifier: PMPL-1.0-or-later -SPDX-FileCopyrightText: 2024-2025 Palimpsest Stewardship Council - -================================================================================ -PALIMPSEST-MPL LICENSE VERSION 1.0 -================================================================================ +Mozilla Public License Version 2.0 +================================== -File-level copyleft with ethical use and quantum-safe provenance - -Based on Mozilla Public License 2.0 +1. Definitions +-------------- --------------------------------------------------------------------------------- -PREAMBLE --------------------------------------------------------------------------------- +1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. -This License extends the Mozilla Public License 2.0 (MPL-2.0) with provisions -for ethical use, post-quantum cryptographic provenance, and emotional lineage -protection. The base MPL-2.0 terms apply except where explicitly modified by -the Exhibits below. - -Like a palimpsest manuscript where each layer builds upon what came before, -this license recognizes that creative works carry history, context, and meaning -that transcend mere code or text. - --------------------------------------------------------------------------------- -SECTION 1: BASE LICENSE --------------------------------------------------------------------------------- - -This License incorporates the full text of Mozilla Public License 2.0 by -reference. The complete MPL-2.0 text is available at: -https://www.mozilla.org/en-US/MPL/2.0/ - -All terms, conditions, and definitions from MPL-2.0 apply except where -explicitly modified by the Exhibits in this License. +1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. --------------------------------------------------------------------------------- -SECTION 2: ADDITIONAL DEFINITIONS --------------------------------------------------------------------------------- +1.3. "Contribution" + means Covered Software of a particular Contributor. -2.1. "Emotional Lineage" - means the narrative, cultural, symbolic, and contextual meaning embedded - in Covered Software, including but not limited to: protest traditions, - cultural heritage, trauma narratives, and community stories. - -2.2. "Provenance Metadata" - means cryptographically signed attribution information attached to or - associated with Covered Software, including author identities, timestamps, - modification history, and lineage references. - -2.3. "Non-Interpretive System" - means any automated system that processes Covered Software without - preserving or considering its Emotional Lineage, including but not - limited to: AI training pipelines, content aggregators, and automated - summarization tools. - -2.4. "Quantum-Safe Signature" - means a cryptographic signature using algorithms resistant to attacks - by quantum computers, as specified in Exhibit B. - --------------------------------------------------------------------------------- -SECTION 3: ETHICAL USE REQUIREMENTS --------------------------------------------------------------------------------- - -In addition to the rights and obligations under MPL-2.0: - -3.1. Emotional Lineage Preservation - You must make reasonable efforts to preserve and communicate the - Emotional Lineage of Covered Software when distributing or creating - derivative works. This includes maintaining narrative context, cultural - attributions, and symbolic meaning where documented. - -3.2. Non-Interpretive System Notice - If You use Covered Software as input to a Non-Interpretive System, You - must: - (a) document such use in a publicly accessible manner; and - (b) not claim that outputs of such systems carry the Emotional Lineage - of the original work without explicit permission from Contributors. - -3.3. Ethical Use Declaration - Commercial use of Covered Software requires acknowledgment that You have - read and understood Exhibit A (Ethical Use Guidelines) and agree to act - in good faith accordance with its principles. - -See Exhibit A for complete Ethical Use Guidelines. - --------------------------------------------------------------------------------- -SECTION 4: PROVENANCE REQUIREMENTS --------------------------------------------------------------------------------- - -4.1. Metadata Preservation - You must not strip, alter, or obscure Provenance Metadata from Covered - Software except where technically necessary and with clear documentation - of any changes. - -4.2. Quantum-Safe Provenance (Optional) - Contributors may sign their Contributions using Quantum-Safe Signatures. - If Quantum-Safe Signatures are present, You must preserve them in all - distributions. - -4.3. Lineage Chain - When creating derivative works, You should extend the provenance chain - to include Your own contributions, maintaining cryptographic linkage to - prior Contributors where feasible. - -See Exhibit B for Quantum-Safe Provenance specifications. - --------------------------------------------------------------------------------- -SECTION 5: GOVERNANCE --------------------------------------------------------------------------------- - -5.1. Stewardship Council - This License is maintained by the Palimpsest Stewardship Council, which - may issue clarifications, interpretive guidance, and future versions. - -5.2. Version Selection - You may use Covered Software under this version of the License or any - later version published by the Palimpsest Stewardship Council. - -5.3. Dispute Resolution - Disputes regarding interpretation of Ethical Use Requirements (Section 3) - should first be submitted to the Palimpsest Stewardship Council for - non-binding guidance before pursuing legal remedies. - --------------------------------------------------------------------------------- -SECTION 6: COMPATIBILITY --------------------------------------------------------------------------------- - -6.1. MPL-2.0 Compatibility - Covered Software under this License may be combined with software under - MPL-2.0. The combined work must comply with both licenses. - -6.2. Secondary Licenses - The Secondary License provisions of MPL-2.0 Section 3.3 apply to this - License. - --------------------------------------------------------------------------------- -EXHIBITS --------------------------------------------------------------------------------- - -Exhibit A - Ethical Use Guidelines -Exhibit B - Quantum-Safe Provenance Specification - -See separate files: -- EXHIBIT-A-ETHICAL-USE.txt -- EXHIBIT-B-QUANTUM-SAFE.txt - --------------------------------------------------------------------------------- -END OF PALIMPSEST-MPL LICENSE VERSION 1.0 --------------------------------------------------------------------------------- - -For questions about this License: -- Repository: https://github.com/hyperpolymath/palimpsest-license -- Council: contact via repository Issues +1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or + + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +1.6. "Executable Form" + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + +1.8. "License" + means this document. + +1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + +1.10. "Modifications" + means any of the following: + + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or + + (b) any new file in Source Code Form that contains any Covered + Software. + +1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + +1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + +1.13. "Source Code Form" + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants and Conditions +-------------------------------- + +2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +(a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + +(b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. + +2.3. Limitations on Grant Scope + +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: + +(a) for any code that a Contributor has removed from Covered Software; + or + +(b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + +(c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. + +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). + +2.5. Representation + +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. + +2.7. Conditions + +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. + +3. Responsibilities +------------------- + +3.1. Distribution of Source Form + +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. + +3.2. Distribution of Executable Form + +If You distribute Covered Software in Executable Form then: + +(a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + +(b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). + +3.4. Notices + +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. + +4. Inability to Comply Due to Statute or Regulation +--------------------------------------------------- + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: (a) comply with +the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. + +5. Termination +-------------- + +5.1. The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated (a) provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and (b) on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. + +************************************************************************ +* * +* 6. Disclaimer of Warranty * +* ------------------------- * +* * +* Covered Software is provided under this License on an "as is" * +* basis, without warranty of any kind, either expressed, implied, or * +* statutory, including, without limitation, warranties that the * +* Covered Software is free of defects, merchantable, fit for a * +* particular purpose or non-infringing. The entire risk as to the * +* quality and performance of the Covered Software is with You. * +* Should any Covered Software prove defective in any respect, You * +* (not any Contributor) assume the cost of any necessary servicing, * +* repair, or correction. This disclaimer of warranty constitutes an * +* essential part of this License. No use of any Covered Software is * +* authorized under this License except under this disclaimer. * +* * +************************************************************************ + +************************************************************************ +* * +* 7. Limitation of Liability * +* -------------------------- * +* * +* Under no circumstances and under no legal theory, whether tort * +* (including negligence), contract, or otherwise, shall any * +* Contributor, or anyone who distributes Covered Software as * +* permitted above, be liable to You for any direct, indirect, * +* special, incidental, or consequential damages of any character * +* including, without limitation, damages for lost profits, loss of * +* goodwill, work stoppage, computer failure or malfunction, or any * +* and all other commercial damages or losses, even if such party * +* shall have been informed of the possibility of such damages. This * +* limitation of liability shall not apply to liability for death or * +* personal injury resulting from such party's negligence to the * +* extent applicable law prohibits such limitation. Some * +* jurisdictions do not allow the exclusion or limitation of * +* incidental or consequential damages, so this exclusion and * +* limitation may not apply to You. * +* * +************************************************************************ + +8. Litigation +------------- + +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. + +9. Miscellaneous +---------------- + +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. + +10. Versions of the License +--------------------------- + +10.1. New Versions + +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. + +10.2. Effect of New Versions + +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. + +10.3. Modified Versions + +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary +Licenses + +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice +------------------------------------------- + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice +--------------------------------------------------------- + + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. diff --git a/LICENSES/MPL-2.0.txt b/LICENSES/MPL-2.0.txt new file mode 100644 index 00000000..14e2f777 --- /dev/null +++ b/LICENSES/MPL-2.0.txt @@ -0,0 +1,373 @@ +Mozilla Public License Version 2.0 +================================== + +1. Definitions +-------------- + +1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + +1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or + + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +1.6. "Executable Form" + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + +1.8. "License" + means this document. + +1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + +1.10. "Modifications" + means any of the following: + + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or + + (b) any new file in Source Code Form that contains any Covered + Software. + +1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + +1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + +1.13. "Source Code Form" + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants and Conditions +-------------------------------- + +2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +(a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + +(b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. + +2.3. Limitations on Grant Scope + +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: + +(a) for any code that a Contributor has removed from Covered Software; + or + +(b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + +(c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. + +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). + +2.5. Representation + +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. + +2.7. Conditions + +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. + +3. Responsibilities +------------------- + +3.1. Distribution of Source Form + +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. + +3.2. Distribution of Executable Form + +If You distribute Covered Software in Executable Form then: + +(a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + +(b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). + +3.4. Notices + +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. + +4. Inability to Comply Due to Statute or Regulation +--------------------------------------------------- + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: (a) comply with +the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. + +5. Termination +-------------- + +5.1. The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated (a) provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and (b) on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. + +************************************************************************ +* * +* 6. Disclaimer of Warranty * +* ------------------------- * +* * +* Covered Software is provided under this License on an "as is" * +* basis, without warranty of any kind, either expressed, implied, or * +* statutory, including, without limitation, warranties that the * +* Covered Software is free of defects, merchantable, fit for a * +* particular purpose or non-infringing. The entire risk as to the * +* quality and performance of the Covered Software is with You. * +* Should any Covered Software prove defective in any respect, You * +* (not any Contributor) assume the cost of any necessary servicing, * +* repair, or correction. This disclaimer of warranty constitutes an * +* essential part of this License. No use of any Covered Software is * +* authorized under this License except under this disclaimer. * +* * +************************************************************************ + +************************************************************************ +* * +* 7. Limitation of Liability * +* -------------------------- * +* * +* Under no circumstances and under no legal theory, whether tort * +* (including negligence), contract, or otherwise, shall any * +* Contributor, or anyone who distributes Covered Software as * +* permitted above, be liable to You for any direct, indirect, * +* special, incidental, or consequential damages of any character * +* including, without limitation, damages for lost profits, loss of * +* goodwill, work stoppage, computer failure or malfunction, or any * +* and all other commercial damages or losses, even if such party * +* shall have been informed of the possibility of such damages. This * +* limitation of liability shall not apply to liability for death or * +* personal injury resulting from such party's negligence to the * +* extent applicable law prohibits such limitation. Some * +* jurisdictions do not allow the exclusion or limitation of * +* incidental or consequential damages, so this exclusion and * +* limitation may not apply to You. * +* * +************************************************************************ + +8. Litigation +------------- + +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. + +9. Miscellaneous +---------------- + +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. + +10. Versions of the License +--------------------------- + +10.1. New Versions + +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. + +10.2. Effect of New Versions + +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. + +10.3. Modified Versions + +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary +Licenses + +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice +------------------------------------------- + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice +--------------------------------------------------------- + + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. diff --git a/LICENSES/PMPL-1.0-or-later.txt b/LICENSES/PMPL-1.0-or-later.txt new file mode 100644 index 00000000..f639385d --- /dev/null +++ b/LICENSES/PMPL-1.0-or-later.txt @@ -0,0 +1,162 @@ +SPDX-License-Identifier: PMPL-1.0-or-later +SPDX-FileCopyrightText: 2025 Palimpsest Stewardship Council + +================================================================================ +PALIMPSEST-MPL LICENSE VERSION 1.0 +================================================================================ + +File-level copyleft with ethical use and quantum-safe provenance + +Based on Mozilla Public License 2.0 + +-------------------------------------------------------------------------------- +PREAMBLE +-------------------------------------------------------------------------------- + +This License extends the Mozilla Public License 2.0 (MPL-2.0) with provisions +for ethical use, post-quantum cryptographic provenance, and emotional lineage +protection. The base MPL-2.0 terms apply except where explicitly modified by +the Exhibits below. + +Like a palimpsest manuscript where each layer builds upon what came before, +this license recognizes that creative works carry history, context, and meaning +that transcend mere code or text. + +-------------------------------------------------------------------------------- +SECTION 1: BASE LICENSE +-------------------------------------------------------------------------------- + +This License incorporates the full text of Mozilla Public License 2.0 by +reference. The complete MPL-2.0 text is available at: +https://www.mozilla.org/en-US/MPL/2.0/ + +All terms, conditions, and definitions from MPL-2.0 apply except where +explicitly modified by the Exhibits in this License. + +-------------------------------------------------------------------------------- +SECTION 2: ADDITIONAL DEFINITIONS +-------------------------------------------------------------------------------- + +2.1. "Emotional Lineage" + means the narrative, cultural, symbolic, and contextual meaning embedded + in Covered Software, including but not limited to: protest traditions, + cultural heritage, trauma narratives, and community stories. + +2.2. "Provenance Metadata" + means cryptographically signed attribution information attached to or + associated with Covered Software, including author identities, timestamps, + modification history, and lineage references. + +2.3. "Non-Interpretive System" + means any automated system that processes Covered Software without + preserving or considering its Emotional Lineage, including but not + limited to: AI training pipelines, content aggregators, and automated + summarization tools. + +2.4. "Quantum-Safe Signature" + means a cryptographic signature using algorithms resistant to attacks + by quantum computers, as specified in Exhibit B. + +-------------------------------------------------------------------------------- +SECTION 3: ETHICAL USE REQUIREMENTS +-------------------------------------------------------------------------------- + +In addition to the rights and obligations under MPL-2.0: + +3.1. Emotional Lineage Preservation + You must make reasonable efforts to preserve and communicate the + Emotional Lineage of Covered Software when distributing or creating + derivative works. This includes maintaining narrative context, cultural + attributions, and symbolic meaning where documented. + +3.2. Non-Interpretive System Notice + If You use Covered Software as input to a Non-Interpretive System, You + must: + (a) document such use in a publicly accessible manner; and + (b) not claim that outputs of such systems carry the Emotional Lineage + of the original work without explicit permission from Contributors. + +3.3. Ethical Use Declaration + Commercial use of Covered Software requires acknowledgment that You have + read and understood Exhibit A (Ethical Use Guidelines) and agree to act + in good faith accordance with its principles. + +See Exhibit A for complete Ethical Use Guidelines. + +-------------------------------------------------------------------------------- +SECTION 4: PROVENANCE REQUIREMENTS +-------------------------------------------------------------------------------- + +4.1. Metadata Preservation + You must not strip, alter, or obscure Provenance Metadata from Covered + Software except where technically necessary and with clear documentation + of any changes. + +4.2. Quantum-Safe Provenance (Optional) + Contributors may sign their Contributions using Quantum-Safe Signatures. + If Quantum-Safe Signatures are present, You must preserve them in all + distributions. + +4.3. Lineage Chain + When creating derivative works, You should extend the provenance chain + to include Your own contributions, maintaining cryptographic linkage to + prior Contributors where feasible. + +See Exhibit B for Quantum-Safe Provenance specifications. + +-------------------------------------------------------------------------------- +SECTION 5: GOVERNANCE +-------------------------------------------------------------------------------- + +5.1. Stewardship Council + This License is maintained by the Palimpsest Stewardship Council, which + may issue clarifications, interpretive guidance, and future versions. + +5.2. Version Selection + You may use Covered Software under this version of the License or any + later version published by the Palimpsest Stewardship Council. + +5.3. Dispute Resolution + Disputes regarding interpretation of Ethical Use Requirements (Section 3) + should first be submitted to the Palimpsest Stewardship Council for + non-binding guidance before pursuing legal remedies. + +-------------------------------------------------------------------------------- +SECTION 6: COMPATIBILITY +-------------------------------------------------------------------------------- + +6.1. MPL-2.0 Compatibility + Covered Software under this License may be combined with software under + MPL-2.0. The combined work must comply with both licenses. + +6.2. Secondary Licenses + The Secondary License provisions of MPL-2.0 Section 3.3 apply to this + License. + +-------------------------------------------------------------------------------- +EXHIBITS +-------------------------------------------------------------------------------- + +Exhibit A - Ethical Use Guidelines +Exhibit B - Quantum-Safe Provenance Specification + +See separate files: +- EXHIBIT-A-ETHICAL-USE.txt +- EXHIBIT-B-QUANTUM-SAFE.txt + +-------------------------------------------------------------------------------- +END OF PALIMPSEST-MPL-1.0 LICENSE TEXT +-------------------------------------------------------------------------------- + +For exhibits, specifications, provenance rules, and governance: +https://github.com/hyperpolymath/palimpsest-license + +For legal frameworks and jurisdictional analysis: +See /legal/frameworks/ + +For provenance and audit tooling: +See /tools/ and /spec/PROVENANCE-SPEC.adoc + +For questions about this License: +- Repository: https://github.com/hyperpolymath/palimpsest-license +- Council: contact via repository Issues diff --git a/NOTICE b/NOTICE new file mode 100644 index 00000000..ae0bc802 --- /dev/null +++ b/NOTICE @@ -0,0 +1,22 @@ +Licensing Notice +================ + +This project is authored by Jonathan D.A. Jewell (hyperpolymath) and +is licensed under the Palimpsest License (PMPL-1.0-or-later). + +The PMPL-1.0-or-later is a philosophical extension of the Mozilla Public +License 2.0, adding provisions for cryptographic provenance, emotional +lineage preservation, and quantum-safe signatures. The full PMPL text is +available in LICENSES/PMPL-1.0-or-later.txt. + +For compatibility with automated license detection tools and platforms +that require OSI-approved licenses, the root LICENSE file contains the +standard Mozilla Public License 2.0 text. This ensures that package +registries, CI systems, and other tooling correctly identify the license. + +The legally binding terms are: + - Source files: governed by PMPL-1.0-or-later (per SPDX headers) + - Combined works: compatible with MPL-2.0 (per PMPL Section 6) + +For more information about the Palimpsest License: + https://github.com/hyperpolymath/palimpsest-license diff --git a/czech-file-knife/Containerfile b/czech-file-knife/Containerfile index 03018a8c..c70cfb5e 100644 --- a/czech-file-knife/Containerfile +++ b/czech-file-knife/Containerfile @@ -1,6 +1,6 @@ -# SPDX-License-Identifier: AGPL-3.0-or-later +# SPDX-License-Identifier: PMPL-1.0-or-later # Build stage -FROM docker.io/library/rust:1.83-slim AS builder +FROM docker.io/library/rust:1.85-slim-bookworm AS builder WORKDIR /build From 06e6c0dccb976337c54f131fdaa01a2d6eb49d50 Mon Sep 17 00:00:00 2001 From: "Jonathan D.A. Jewell" <6759885+hyperpolymath@users.noreply.github.com> Date: Thu, 12 Mar 2026 01:00:27 +0000 Subject: [PATCH 5/5] shush --- project-cb/acetext-imported.scm | 3475 ------------------------------- 1 file changed, 3475 deletions(-) delete mode 100644 project-cb/acetext-imported.scm diff --git a/project-cb/acetext-imported.scm b/project-cb/acetext-imported.scm deleted file mode 100644 index c674645b..00000000 --- a/project-cb/acetext-imported.scm +++ /dev/null @@ -1,3475 +0,0 @@ -;; SPDX-License-Identifier: MIT -;; Imported from AceText: AceText 4 ClipHistory -;; Date: 2026-01-05 -;; Source: AceText 4 ClipHistory.atc -;; Total clips: 815 - -(comment-collection - (metadata - (source "acetext") - (original-name "AceText 4 ClipHistory") - (imported "2026-01-05") - (clip-count 815)) - - (category "imported" - (comment - (id "imp-0001") - (date "2025-06-16T03:54:59") - (text "Warning: File should not exist: wp-admin/error_log\n\nWarning: File should not exist: wp-includes/.htaccess")) - (comment - (id "imp-0002") - (date "2025-06-16T03:31:57") - (text "https://clients.verpex.com/products/e96d2985-37d4-e5e7-1178-f54e12063708/53087682-51d4-8005-7320-c847e390921e/overview")) - (comment - (id "imp-0003") - (date "2025-06-16T03:27:58") - (text "Aboubaker Lasebae")) - (comment - (id "imp-0004") - (date "2025-06-16T02:56:30") - (text "https://www.youtube.com/shorts/SabxnlwJHno")) - (comment - (id "imp-0005") - (date "2025-06-16T02:42:58") - (text "Hi Tabitha,\n\nI hope you are doing well.\n\nIt's good to see this assignment submitted, and I appreciate the effort you've put in. Now you are pretty deep into the course, you are really demonstrating how your skills have grown as you tackle much more challenging assignments. Here is my advice for you, with additional comments on the text, more focused this time, to help you maximise potential gain. That does not mean that earlier assignment feedback is no longer relevant, and it should be used, but here I want to target things that might help you early on prepare for the final assignment at the end of the course, so you can ensure know what will make the biggest difference now, whilst you have the time to act on it.\n\nOverall, this assignment demonstrates a g00d understanding of the general content you are dealing with (but be really careful about this major school of thinking called Behaviourism). The way you handle referencing and citations is a major area of weakness and must cha...") - (truncated #t)) - (comment - (id "imp-0006") - (date "2025-06-16T02:42:35") - (text "Hi Rena,\n\nI hope you are doing well.\n\nDO NOT SUBMIT IN PDF FORMAT, WORD (docx) OR OPEN FORMAT (odf) or these are much harder to mark.\nI hope you are doing well.\n\nIt's good to see this assignment submitted, and I appreciate the effort you've put in. Now you are pretty deep into the course, you are really demonstrating how your skills have grown as you tackle much more challenging assignments. Here is my advice for you, with additional comments on the text, more focused this time, to help you maximise potential gain. That does not mean that earlier assignment feedback is no longer relevant, and it should be used, but here I want to target things that might help you early on prepare for the final assignment at the end of the course, so you can ensure know what will make the biggest difference now, whilst you have the time to act on it.\n\nOverall, this assignment demonstrates a g00d understanding of the general content you are dealing with (but be really careful about this major sc...") - (truncated #t)) - (comment - (id "imp-0007") - (date "2025-06-16T02:04:34") - (text "Membership Growth")) - (comment - (id "imp-0008") - (date "2025-06-16T01:59:00") - (text "Column Type Purpose\nDriver Input Defines the operational factor influencing costs (e.g., membership growth, event attendance).\nBase Value Input The percentage or starting metric that impacts the budget (e.g., growth rate percentage).\nMultiplier Input The unit cost associated with the driver (e.g., cost per new member or per event attendee).\nFinal Budget Intermediate Calculated by multiplying Base Value × Multiplier, representing the projected cost allocation.\nGrowth Rate Input Estimated percentage by which the budget is expected to increase.\nProjected Growth Output The predicted budget based on Final Budget × (1 + Growth Rate), showing financial forecast.")) - (comment - (id "imp-0009") - (date "2025-06-16T01:57:32") - (text "olumn Type Purpose\nDriver Input Defines the operational factor influencing costs (e.g., membership growth, event attendance).\nBase Value Input The percentage or starting metric that impacts the budget (e.g., growth rate percentage).\nMultiplier Input The unit cost associated with the driver (e.g., cost per new member or per event attendee).\nFinal Budget Intermediate Calculated by multiplying Base Value × Multiplier, representing the projected cost allocation.\nGrowth Rate Input Estimated percentage by which the budget is expected to increase.\nProjected Growth Output The predicted budget based on Final Budget × (1 + Growth Rate), showing financial forecast.")) - (comment - (id "imp-0010") - (date "2025-06-16T01:46:44") - (text "for the driver based tables you used, what are the formulae here?")) - (comment - (id "imp-0011") - (date "2025-06-16T01:43:08") - (text "Using ABB means every financial decision directly supports key strategic initiatives, keeping the union agile and focused.")) - (comment - (id "imp-0012") - (date "2025-06-16T01:42:50") - (text "Helps anticipate future needs and adjust resources dynamically, reducing wasted funds.")) - (comment - (id "imp-0013") - (date "2025-06-16T01:42:38") - (text "Big-Picture Forecasting")) - (comment - (id "imp-0014") - (date "2025-06-16T01:42:26") - (text "Instead of allocating funds blindly, budgets adapt based on data-driven drivers, keeping operations efficient.")) - (comment - (id "imp-0015") - (date "2025-06-16T01:42:09") - (text "Operational Optimization")) - (comment - (id "imp-0016") - (date "2025-06-16T01:41:58") - (text "Ensures budget aligns with the actual demand—if membership rises, resources scale accordingly.")) - (comment - (id "imp-0017") - (date "2025-06-16T01:40:40") - (text "Think of ABB as a laser-focused approach—instead of setting broad financial categories, it assigns funds directly to specific activities that drive strategic goals.\n\nWhy ABB Works for Strategy")) - (comment - (id "imp-0018") - (date "2025-06-16T01:40:15") - (text "Using ABB means every financial decision directly supports key strategic initiatives, keeping the union agile and focused.")) - (comment - (id "imp-0019") - (date "2025-06-16T01:39:53") - (text "If priorities shift, budgets can reallocate funds to the most impactful activities without disrupting the entire system.")) - (comment - (id "imp-0020") - (date "2025-06-16T01:39:40") - (text "Since costs are tracked per activity, decision-makers know exactly where resources go, preventing inefficiencies.")) - (comment - (id "imp-0021") - (date "2025-06-16T01:39:23") - (text "Instead of allocating a lump sum for \"Strategy,\" it ensures every pound supports defined activities like advocacy, training, or member development.")) - (comment - (id "imp-0022") - (date "2025-06-16T01:39:06") - (text "Strategic Flexibility")) - (comment - (id "imp-0023") - (date "2025-06-16T01:38:47") - (text "Transparency & Accountability")) - (comment - (id "imp-0024") - (date "2025-06-16T01:38:30") - (text "Direct Resource Alignment")) - (comment - (id "imp-0025") - (date "2025-06-16T01:38:14") - (text "Think of ABB as a laser-focused approach—instead of setting broad financial categories, it assigns funds directly to specific activities that drive strategic goals.\n\nWhy ABB Works for Strategy\nDirect Resource Alignment: Instead of allocating a lump sum for \"Strategy,\" it ensures every pound supports defined activities like advocacy, training, or member development.\n\nTransparency & Accountability: Since costs are tracked per activity, decision-makers know exactly where resources go, preventing inefficiencies.\n\nStrategic Flexibility: If priorities shift, budgets can reallocate funds to the most impactful activities without disrupting the entire system.")) - (comment - (id "imp-0026") - (date "2025-06-16T01:37:05") - (text "Broad or Specific? Broad categories Specific activities\nResource Tracking? Limited Detailed per action\nStrategic Flexibility? Moderate High")) - (comment - (id "imp-0027") - (date "2025-06-16T01:35:35") - (text "Driver-Based Budgeting")) - (comment - (id "imp-0028") - (date "2025-06-16T01:35:15") - (text "Based on Past Data? Yes No, based on real drivers\nPredictive Accuracy? Limited High\nResource Allocation? Static Dynamic")) - (comment - (id "imp-0029") - (date "2025-06-16T01:35:05") - (text "Feature Traditional Budgeting Driver-Based Budgeting\nBased on Past Data? Yes No, based on real drivers\nPredictive Accuracy? Limited High\nResource Allocation? Static Dynamic")) - (comment - (id "imp-0030") - (date "2025-06-16T01:34:34") - (text "DBB links financial planning to key operational drivers—things that directly impact costs, like membership levels, event attendance, or workload.\n\nWhy DBB Works for Operations\nCost Efficiency: Ensures budget aligns with the actual demand—if membership rises, resources scale accordingly.\n\nOperational Optimization: Instead of allocating funds blindly, budgets adapt based on data-driven drivers, keeping operations efficient.\n\nBig-Picture Forecasting: Helps anticipate future needs and adjust resources dynamically, reducing wasted funds.")) - (comment - (id "imp-0031") - (date "2025-06-16T01:33:48") - (text "Here’s why Activity-Based Budgeting is the best for Strategic Budgeting")) - (comment - (id "imp-0032") - (date "2025-06-16T01:32:03") - (text "Driver-Based Budgeting")) - (comment - (id "imp-0033") - (date "2025-06-16T01:31:18") - (text "Quantum Budgeting")) - (comment - (id "imp-0034") - (date "2025-06-16T01:28:18") - (text "Think of DBB as a cause-and-effect budgeting model. Instead of setting fixed amounts, it links financial planning to key drivers—things that directly impact costs, like membership growth, event attendance, or training sessions.")) - (comment - (id "imp-0035") - (date "2025-06-16T01:25:22") - (text "Explanatory Notes 1. Real-Time Adjustments for Projects 2. Flexibility for Programmes 3. Big-Picture Portfolio Management\n \nImagine you're running multiple projects, each with different budgets, unpredictable costs, and changing priorities. Traditional budgeting sets fixed amounts in advance, but real-world projects don’t always follow a rigid plan. That’s where Quantum Budgeting comes in—think of it as a smart, adaptive financial model that changes as your projects evolve. \"Traditional budgets lock in numbers early on, making them hard to change when unexpected costs arise.\n\nQuantum Budgeting adjusts dynamically—if one part of the project needs more funding, it reallocates resources without disrupting everything else.\" \"Programmes involve multiple projects working together, so financial needs shift constantly.\n\nQuantum Budgeting keeps everything aligned, ensuring funds flow to the right place at the right time rather than being wasted on outdated estimates.\" \"Portfolios o...") - (truncated #t)) - (comment - (id "imp-0036") - (date "2025-06-16T01:22:24") - (text "Here’s why Quantum Budgeting is the best for Project, Programme, and Portfolio Management")) - (comment - (id "imp-0037") - (date "2025-06-16T01:21:30") - (text "Why It Works Better Than Traditional Budgets")) - (comment - (id "imp-0038") - (date "2025-06-16T01:20:55") - (text "Here’s why Quantum Budgeting is the best for Project, Programme, and Portfolio Management")) - (comment - (id "imp-0039") - (date "2025-06-16T01:20:42") - (text "1. Real-Time Adjustments for Projects 2. Flexibility for Programmes 3. Big-Picture Portfolio Management")) - (comment - (id "imp-0040") - (date "2025-06-16T01:20:36") - (text "Here’s why Quantum Budgeting is the best for Project, Programme, and Portfolio Management")) - (comment - (id "imp-0041") - (date "2025-06-16T01:14:25") - (text "With Quantum Budgeting, funds flow like energy—not stuck in rigid structures but shifting intelligently to where they’re needed most. If you're managing projects, programmes, or entire portfolios, this model ensures financial agility, efficiency, and strategic foresight.")) - (comment - (id "imp-0042") - (date "2025-06-16T01:14:06") - (text "With Quantum Budgeting, funds flow like energy—not stuck in rigid structures but shifting intelligently to where they’re needed most. If you're managing projects, programmes, or entire portfolios, this model ensures financial agility, efficiency, and strategic foresight.")) - (comment - (id "imp-0043") - (date "2025-06-16T01:13:38") - (text "Feature Traditional Budgeting Quantum Budgeting\nFixed or Adaptive? Fixed Adaptive\nReal-Time Adjustments? Rarely Always\nFunds Reallocation? Difficult Easy\nRisk Management? Limited Dynamic")) - (comment - (id "imp-0044") - (date "2025-06-16T01:11:49") - (text "Why It Works Better Than Traditional Budgets")) - (comment - (id "imp-0045") - (date "2025-06-16T01:11:23") - (text "Why It Works Better Than Traditional Budgets")) - (comment - (id "imp-0046") - (date "2025-06-16T01:10:44") - (text "Traditional budgets lock in numbers early on, making them hard to change when unexpected costs arise.\n\nQuantum Budgeting adjusts dynamically—if one part of the project needs more funding, it reallocates resources without disrupting everything else.")) - (comment - (id "imp-0047") - (date "2025-06-16T01:10:14") - (text "Programmes involve multiple projects working together, so financial needs shift constantly.\n\nQuantum Budgeting keeps everything aligned, ensuring funds flow to the right place at the right time rather than being wasted on outdated estimates.")) - (comment - (id "imp-0048") - (date "2025-06-16T01:09:45") - (text "Portfolios oversee many programmes and projects, meaning financial trends and risks must be monitored across everything.\n\nQuantum Budgeting allows decision-makers to see financial patterns, predict funding needs, and redirect resources efficiently.")) - (comment - (id "imp-0049") - (date "2025-06-16T01:07:31") - (text "With Quantum Budgeting, funds flow like energy—not stuck in rigid structures but shifting intelligently to where they’re needed most. If you're managing projects, programmes, or entire portfolios, this model ensures financial agility, efficiency, and strategic foresight.")) - (comment - (id "imp-0050") - (date "2025-06-16T01:06:23") - (text "ure Traditional Budgeting Quantum Budgeting\nFixed or Adaptive? Fixed Adaptive\nReal-Time Adjustments? Rarely Always\nFunds Reallocation? Difficult Easy\nRisk Management? Limited Dynamic")) - (comment - (id "imp-0051") - (date "2025-06-16T01:04:01") - (text "Why It Works Better Than Traditional Budgets")) - (comment - (id "imp-0052") - (date "2025-06-16T01:03:49") - (text "3. Big-Picture Portfolio Management")) - (comment - (id "imp-0053") - (date "2025-06-16T01:03:34") - (text "2. Flexibility for Programmes")) - (comment - (id "imp-0054") - (date "2025-06-16T01:03:25") - (text "1. Real-Time Adjustments for Projects")) - (comment - (id "imp-0055") - (date "2025-06-16T01:02:51") - (text "Explanatory Notes")) - (comment - (id "imp-0056") - (date "2025-06-16T01:02:12") - (text "Here’s why Quantum Budgeting is the best for Project, Programme, and Portfolio Management:")) - (comment - (id "imp-0057") - (date "2025-06-16T01:02:03") - (text "1. Real-Time Adjustments for Projects.")) - (comment - (id "imp-0058") - (date "2025-06-16T01:01:35") - (text "Traditional budgets lock in numbers early on, making them hard to change when unexpected costs arise.")) - (comment - (id "imp-0059") - (date "2025-06-16T01:01:10") - (text "1. Real-Time Adjustments for Projects\nTraditional budgets lock in numbers early on, making them hard to change when unexpected costs arise.\n\nQuantum Budgeting adjusts dynamically—if one part of the project needs more funding, it reallocates resources without disrupting everything else.")) - (comment - (id "imp-0060") - (date "2025-06-16T01:00:56") - (text "Here’s why Quantum Budgeting is the best for Project, Programme, and Portfolio Management:")) - (comment - (id "imp-0061") - (date "2025-06-16T01:00:23") - (text "Here’s why Quantum Budgeting is the best for Project, Programme, and Portfolio Management:")) - (comment - (id "imp-0062") - (date "2025-06-16T00:58:59") - (text "Imagine you're running multiple projects, each with different budgets, unpredictable costs, and changing priorities. Traditional budgeting sets fixed amounts in advance, but real-world projects don’t always follow a rigid plan. That’s where Quantum Budgeting comes in—think of it as a smart, adaptive financial model that changes as your projects evolve.")) - (comment - (id "imp-0063") - (date "2025-06-16T00:58:11") - (text "With Quantum Budgeting, funds flow like energy—not stuck in rigid structures but shifting intelligently to where they’re needed most. If you're managing projects, programmes, or entire portfolios, this model ensures financial agility, efficiency, and strategic foresight.")) - (comment - (id "imp-0064") - (date "2025-06-16T00:58:05") - (text "Imagine you're running multiple projects, each with different budgets, unpredictable costs, and changing priorities. Traditional budgeting sets fixed amounts in advance, but real-world projects don’t always follow a rigid plan. That’s where Quantum Budgeting comes in—think of it as a smart, adaptive financial model that changes as your projects evolve.")) - (comment - (id "imp-0065") - (date "2025-06-16T00:57:28") - (text "Here’s why Quantum Budgeting is the best for Project, Programme, and Portfolio Management:")) - (comment - (id "imp-0066") - (date "2025-06-16T00:57:14") - (text "Imagine you're running multiple projects, each with different budgets, unpredictable costs, and changing priorities. Traditional budgeting sets fixed amounts in advance, but real-world projects don’t always follow a rigid plan. That’s where Quantum Budgeting comes in—think of it as a smart, adaptive financial model that changes as your projects evolve.")) - (comment - (id "imp-0067") - (date "2025-06-16T00:55:00") - (text "With Quantum Budgeting, funds flow like energy—not stuck in rigid structures but shifting intelligently to where they’re needed most. If you're managing projects, programmes, or entire portfolios, this model ensures financial agility, efficiency, and strategic foresight.")) - (comment - (id "imp-0068") - (date "2025-06-16T00:54:06") - (text "Imagine you're running multiple projects, each with different budgets, unpredictable costs, and changing priorities. Traditional budgeting sets fixed amounts in advance, but real-world projects don’t always follow a rigid plan. That’s where Quantum Budgeting comes in—think of it as a smart, adaptive financial model that changes as your projects evolve.\n\nHere’s why Quantum Budgeting is the best for Project, Programme, and Portfolio Management:\n\n1. Real-Time Adjustments for Projects\nTraditional budgets lock in numbers early on, making them hard to change when unexpected costs arise.\n\nQuantum Budgeting adjusts dynamically—if one part of the project needs more funding, it reallocates resources without disrupting everything else.\n\n2. Flexibility for Programmes\nProgrammes involve multiple projects working together, so financial needs shift constantly.\n\nQuantum Budgeting keeps everything aligned, ensuring funds flow to the right place at the right time rather than being wasted on ...") - (truncated #t)) - (comment - (id "imp-0069") - (date "2025-06-16T00:26:02") - (text "Activity,Estimated Cost,Actual Cost,Variance,Percentage Variance\nOutreach Events,25000,26000,1000,4%\nTraining Workshops,15000,14000,-1000,-6.67%\nMember Support,20000,21000,1000,5%\nResearch & Reports,12000,11500,-500,-4.17%\nMarketing & Advocacy,18000,19000,1000,5.56%\nTotal Budget,90000,91000,1000,1.11%")) - (comment - (id "imp-0070") - (date "2025-06-16T00:24:55") - (text "Driver,Base Value,Multiplier,Final Budget,Projected Growth\nMembership Growth,5%,5000,250000,10%\nEvent Attendance,10%,2000,20000,8%\nTraining Sessions,15%,3000,45000,12%\nAdvocacy Campaigns,8%,4000,32000,6%\nMarketing Reach,12%,2500,30000,9%\nTotal Budget,50%,16500,377000,9%")) - (comment - (id "imp-0071") - (date "2025-06-16T00:23:07") - (text "Management Accounts")) - (comment - (id "imp-0072") - (date "2025-06-16T00:21:31") - (text "Category,Projected Allocation,Real-Time Adjustment,Variance,Percentage Variance\nRevenue Streams,100000,95000,-5000,-5%\nFixed Costs,40000,42000,2000,5%\nVariable Costs,30000,28000,-2000,-6.67%\nEmergency Reserves,15000,17000,2000,13.33%\nStrategic Investments,25000,24000,-1000,-4%\nTotal Budget,210000,206000,-4000,-1.9%")) - (comment - (id "imp-0073") - (date "2025-06-16T00:21:08") - (text "Activity,Estimated Cost,Actual Cost,Variance,Percentage Variance\nOutreach Events,25000,26000,1000,4%\nTraining Workshops,15000,14000,-1000,-6.67%\nMember Support,20000,21000,1000,5%\nResearch & Reports,12000,11500,-500,-4.17%\nMarketing & Advocacy,18000,19000,1000,5.56%\nTotal Budget,90000,91000,1000,1.11%")) - (comment - (id "imp-0074") - (date "2025-06-16T00:18:22") - (text "Budget vs Actual")) - (comment - (id "imp-0075") - (date "2025-06-16T00:17:56") - (text "Category,Projected Budget,Actual Figures,Variance,Percentage Variance\nRevenue,100000,95000,-5000,-5%\nExpenses,55000,56000,1000,1.82%\nNet Income,45000,39000,-6000,-13.33%\nFundraising Income,15000,14000,-1000,-6.67%\nOperational Costs,25000,27000,2000,8%\nTraining & Development,8000,7500,-500,-6.25%\nMarketing & Outreach,10000,12000,2000,20%")) - (comment - (id "imp-0076") - (date "2025-06-16T00:17:20") - (text "Budget vs Actual")) - (comment - (id "imp-0077") - (date "2025-06-16T00:16:59") - (text "Cash Flow Statement")) - (comment - (id "imp-0078") - (date "2025-06-16T00:16:00") - (text "Category,Projected Amount,Actual Amount,Variance,Percentage Variance\nOperating Activities,80000,78000,-2000,-2.5%\nInvesting Activities,30000,32000,2000,6.67%\nFinancing Activities,20000,19000,-1000,-5%\nNet Cash Flow,130000,129000,-1000,-0.77%\nOpening Cash Balance,50000,50000,0,0%\nClosing Cash Balance,180000,179000,-1000,-0.56%")) - (comment - (id "imp-0079") - (date "2025-06-16T00:14:12") - (text "Category,Projected Amount,Actual Amount,Variance,Percentage Variance\nRevenue,100000,95000,-5000,-5%\nOperating Expenses,40000,42000,2000,5%\nAdministrative Costs,15000,14000,-1000,-6.67%\nMarketing & Outreach,10000,12000,2000,20%\nTraining & Development,8000,7500,-500,-6.25%\nNet Income,45000,39000,-6000,-13.33%")) - (comment - (id "imp-0080") - (date "2025-06-16T00:14:05") - (text "Cash Flow Statement \nCategory Projected Amount Actual Amount Variance\nOperating Activities 80000 78000 -2000 \nInvesting Activities 30000 32000 2000 \nFinancing Activities 20000 19000 -1000 \n \n \n \nBudget vs Actual \nCategory Projected Budget Actual Figures Variance\nRevenue 100000 95000 -5000 \nExpenses 55000 56000 1000 \nNet Income 45000 39000 -6000")) - (comment - (id "imp-0081") - (date "2025-06-16T00:11:30") - (text "Driver,Base Value,Multiplier,Final Budget\nMembership Growth,5%,5000,250000\nEvent Attendance,10%,2000,20000\nTraining Sessions,15%,3000,45000\nAdvocacy Campaigns,8%,4000,32000")) - (comment - (id "imp-0082") - (date "2025-06-16T00:07:57") - (text "Category,Projected Allocation,Real-Time Adjustment,Variance\nRevenue Streams,100000,95000,-5000\nFixed Costs,40000,42000,2000\nVariable Costs,30000,28000,-2000\nEmergency Reserves,15000,17000,2000")) - (comment - (id "imp-0083") - (date "2025-06-16T00:07:41") - (text "Driver Base Value Multiplier Final Budget\nMembership Growth 5% 5000 250000 \nEvent Attendance 10% 2000 20000 \nTraining Sessions 15% 3000 45000 \nAdvocacy Campaigns 8% 4000 32000")) - (comment - (id "imp-0084") - (date "2025-06-16T00:07:27") - (text "Category,Projected Allocation,Real-Time Adjustment,Variance\nRevenue Streams,100000,95000,-5000\nFixed Costs,40000,42000,2000\nVariable Costs,30000,28000,-2000\nEmergency Reserves,15000,17000,2000")) - (comment - (id "imp-0085") - (date "2025-06-16T00:06:54") - (text "Driver,Base Value,Multiplier,Final Budget\nMembership Growth,5%,5000,250000\nEvent Attendance,10%,2000,20000\nTraining Sessions,15%,3000,45000\nAdvocacy Campaigns,8%,4000,32000")) - (comment - (id "imp-0086") - (date "2025-06-16T00:06:17") - (text "Activity,Estimated Cost,Actual Cost,Variance\nOutreach Events,25000,26000,1000\nTraining Workshops,15000,14000,-1000\nMember Support,20000,21000,1000\nResearch & Reports,12000,11500,-500")) - (comment - (id "imp-0087") - (date "2025-06-16T00:04:16") - (text "Category,Restricted Funds,Unrestricted Funds,Total Funds\nIncome from Donations,5000,10000,15000\nMembership Fees,0,25000,25000\nGrants,10000,5000,15000\nOther Income,2000,3000,5000\nTotal Income,17000,43000,60000\nExpenditure on Advocacy,8000,12000,20000\nExpenditure on Training,5000,7000,12000\nExpenditure on Member Support,4000,6000,10000\nOther Expenditure,2000,3000,5000\nTotal Expenditure,19000,28000,47000\nNet Movement in Funds,-2000,15000,13000\nFunds Brought Forward,5000,20000,25000\nFunds Carried Forward,3000,35000,38000")) - (comment - (id "imp-0088") - (date "2025-06-16T00:04:03") - (text "Budget vs Actual \nCategory Projected Budget Actual Figures Variance\nRevenue 100000 95000 -5000 \nExpenses 55000 56000 1000 \nNet Income 45000 39000 -6000")) - (comment - (id "imp-0089") - (date "2025-06-16T00:03:25") - (text "Category,Restricted Funds,Unrestricted Funds,Total Funds\nIncome from Donations,5000,10000,15000\nMembership Fees,0,25000,25000\nGrants,10000,5000,15000\nOther Income,2000,3000,5000\nTotal Income,17000,43000,60000\nExpenditure on Advocacy,8000,12000,20000\nExpenditure on Training,5000,7000,12000\nExpenditure on Member Support,4000,6000,10000\nOther Expenditure,2000,3000,5000\nTotal Expenditure,19000,28000,47000\nNet Movement in Funds,-2000,15000,13000\nFunds Brought Forward,5000,20000,25000\nFunds Carried Forward,3000,35000,38000")) - (comment - (id "imp-0090") - (date "2025-06-15T23:59:43") - (text "Category Projected Amount Actual Amount Variance Category Projected Budget Actual Figures Variance\nOperating Activities 80000 78000 -2000 Revenue 100000 95000 -5000 \nInvesting Activities 30000 32000 2000 Expenses 55000 56000 1000 \nFinancing Activities 20000 19000 -1000 Net Income 45000 39000 -6000")) - (comment - (id "imp-0091") - (date "2025-06-15T23:57:36") - (text "requires advanced modeling")) - (comment - (id "imp-0092") - (date "2025-06-15T23:57:19") - (text "adjusts to real-time financial shifts")) - (comment - (id "imp-0093") - (date "2025-06-15T23:56:27") - (text "requires advanced modeling")) - (comment - (id "imp-0094") - (date "2025-06-15T23:56:08") - (text "Complexity in implementation")) - (comment - (id "imp-0095") - (date "2025-06-15T23:55:57") - (text "Complexity in implementation requires advanced modeling")) - (comment - (id "imp-0096") - (date "2025-06-15T23:54:09") - (text "Activity,Estimated Cost,Actual Cost,Variance\nOutreach Events,25000,26000,1000\nTraining Workshops,15000,14000,-1000\nMember Support,20000,21000,1000\nResearch & Reports,12000,11500,-500")) - (comment - (id "imp-0097") - (date "2025-06-15T23:53:12") - (text "Driver,Base Value,Multiplier,Final Budget\nMembership Growth,5%,5000,250000\nEvent Attendance,10%,2000,20000\nTraining Sessions,15%,3000,45000\nAdvocacy Campaigns,8%,4000,32000")) - (comment - (id "imp-0098") - (date "2025-06-15T23:52:20") - (text "Category,Projected Allocation,Real-Time Adjustment,Variance\nRevenue Streams,100000,95000,-5000\nFixed Costs,40000,42000,2000\nVariable Costs,30000,28000,-2000\nEmergency Reserves,15000,17000,2000")) - (comment - (id "imp-0099") - (date "2025-06-15T23:49:54") - (text "Category,Projected Budget,Actual Figures,Variance\nRevenue,100000,95000,-5000\nExpenses,55000,56000,1000\nNet Income,45000,39000,-6000")) - (comment - (id "imp-0100") - (date "2025-06-15T23:49:26") - (text "Category,Projected Amount,Actual Amount,Variance\nOperating Activities,80000,78000,-2000\nInvesting Activities,30000,32000,2000\nFinancing Activities,20000,19000,-1000")) - (comment - (id "imp-0101") - (date "2025-06-15T23:48:55") - (text "Category,Projected Amount,Actual Amount,Variance\nAssets,200000,195000,-5000\nLiabilities,50000,52000,2000\nEquity,150000,143000,-7000")) - (comment - (id "imp-0102") - (date "2025-06-15T23:48:30") - (text "Category,Projected Amount,Actual Amount,Variance\nRevenue,100000,95000,-5000\nOperating Expenses,40000,42000,2000\nAdministrative Costs,15000,14000,-1000\nNet Income,45000,39000,-6000")) - (comment - (id "imp-0103") - (date "2025-06-15T23:15:30") - (text "+44 800 001 6922")) - (comment - (id "imp-0104") - (date "2025-06-15T23:12:49") - (text "https://facebook.com/profile.php?id=61570292288102")) - (comment - (id "imp-0105") - (date "2025-06-15T23:11:13") - (text "https://www.instagram.com/nuj_prc/")) - (comment - (id "imp-0106") - (date "2025-06-15T23:05:24") - (text "https://www.facebook.com/profile.php?id=61570292288102")) - (comment - (id "imp-0107") - (date "2025-06-15T22:53:28") - (text "Checking for updates was performed with errors:\nFailed to reset cache for the instance #2125: SQLSTATE[23000]: Integrity constraint violation: 19 UNIQUE constraint failed: InstanceProperties.instanceId, InstanceProperties.name, query was: INSERT INTO \"InstanceProperties\" (\"instanceId\", \"name\", \"value\") VALUES (?, ?, ?)")) - (comment - (id "imp-0108") - (date "2025-06-15T22:38:22") - (text "/home/nujprcor/public_html - Detected /home/nujprcor/public_html/wp-content/advanced-cache.php as belonging to another cache plugin. Please deactivate the related cache plugin and try again. You may also try manually installing through the WordPress Dashboard and following the instructions given.")) - (comment - (id "imp-0109") - (date "2025-06-15T22:32:25") - (text "11Hide completed\nChecking for updates was performed.\nChecking for updates was performed with errors:\nFailed to reset cache for the instance #2125: SQLSTATE[23000]: Integrity constraint violation: 19 UNIQUE constraint failed: InstanceProperties.instanceId, InstanceProperties.name, query was: INSERT INTO \"InstanceProperties\" (\"instanceId\", \"name\", \"value\") VALUES (?, ?, ?)")) - (comment - (id "imp-0110") - (date "2025-06-15T22:01:23") - (text "Category,Budget Model,Advantages,Disadvantages\nManagement Accounts,Quantum Budgeting,Highly flexible, adjusts to real-time financial shifts,Complexity in implementation, requires advanced modeling\nManagement Accounts,Driver-Based Budgeting,Improves forecasting accuracy,Requires deep understanding of financial drivers\nManagement Accounts,Activity-Based Budgeting,Provides detailed cost tracking,Can be time-consuming to implement\nStrategy,Quantum Budgeting,Allows for rapid pivots in financial planning,Hard to predict long-term trends due to constant adaptation\nStrategy,Driver-Based Budgeting,Aligns financial planning with business objectives,Can be rigid if drivers are misidentified\nStrategy,Activity-Based Budgeting,Ensures financial alignment with organizational goals,Requires extensive activity analysis\nOperations,Quantum Budgeting,Optimizes resource allocation dynamically,Requires sophisticated tracking systems\nOperations,Driver-Based Budgeting,Helps optimize cost efficiency,Le...") - (truncated #t)) - (comment - (id "imp-0111") - (date "2025-06-15T21:45:58") - (text "Internal Server Error: PleskExt\\WpToolkit\\Feature\\Vulnerability\\VulnerabilityStatsHelper::handleToggleTheme(): Argument #2 ($oldThemeSlug) must be of type string, null given, called in /usr/local/cpanel/3rdparty/wp-toolkit/plib/library/Feature/Vulnerability/VulnerabilityListenerProvider.php on line 132")) - (comment - (id "imp-0112") - (date "2025-06-15T12:45:30") - (text "REST API requires pretty permalinks; ensure it's set correctly")) - (comment - (id "imp-0113") - (date "2025-06-15T12:44:33") - (text "Status: Drop-in is invalid\nClient: \nDrop-in: Invalid\nDisabled: No\nPhpRedis: 6.1.0\nRelay: Not loaded\nPredis: 2.1.2\nCredis: Not loaded\nPHP Version: 8.4.7\nPlugin Version: 2.5.4\nRedis Version: Unknown\nMultisite: No\nMetrics: Disabled\nMetrics recorded: 0\nFilesystem: Writable\nWP_REDIS_PLUGIN_PATH: \"/home/nujprcor/public_html/wp-content/plugins/redis-cache\"\nDrop-ins: [\n \"advanced-cache.php v by \",\n \"Query Monitor Database Class (Drop-in) v3.17.2 by John Blackbourn\",\n \"SQLite Object Cache (Drop-in) v1.5.6 by Oliver Jones\"\n]")) - (comment - (id "imp-0114") - (date "2025-06-15T12:43:39") - (text "jbj8tWkq9DVZYee5G68Q78ufnsPD9dpy")) - (comment - (id "imp-0115") - (date "2025-06-15T12:43:11") - (text "VEG6deOJTjya1eao8ih2mA")) - (comment - (id "imp-0116") - (date "2025-06-15T12:43:03") - (text "cq5_veaiRcybeLWLTS55jQ")) - (comment - (id "imp-0117") - (date "2025-06-15T12:42:27") - (text "YqYCxUE8S-WdctrbRgbOOg")) - (comment - (id "imp-0118") - (date "2025-06-15T12:42:17") - (text "yVt5f4yuQ3mC0ZFNH-Zvuw")) - (comment - (id "imp-0119") - (date "2025-06-15T12:41:01") - (text "jbj8tWkq9DVZYee5G68Q78ufnsPD9dpy")) - (comment - (id "imp-0120") - (date "2025-06-15T12:40:50") - (text "VEG6deOJTjya1eao8ih2mA")) - (comment - (id "imp-0121") - (date "2025-06-15T12:40:38") - (text "cq5_veaiRcybeLWLTS55jQ")) - (comment - (id "imp-0122") - (date "2025-06-15T11:52:58") - (text "https://nuj-prc.org.uk/wp-admin/admin.php?page=zmail-integ-settings")) - (comment - (id "imp-0123") - (date "2025-06-15T11:05:35") - (text "Website Disclaimer – NUJ PR & Communications Sector\n\nLegal Jurisdiction & Scope\nThis website operates under the laws of England and Wales, Scotland, Northern Ireland, Ireland, the European Union, and the City of London, as applicable based on the relevant NUJ member branch. Accessing or using this website constitutes agreement to these terms.\n\nContent & Accuracy\nWhile every effort is made to ensure the accuracy, relevance, and timeliness of the information provided, the NUJ PR & Communications Sector makes no warranties or guarantees regarding completeness, correctness, or applicability. Content is for general informational purposes only and does not constitute professional, legal, financial, or journalistic advice.\n\nLiability & Indemnity\nThe NUJ PR & Communications Sector shall not be liable for any direct, indirect, incidental, or consequential losses arising from the use or reliance upon website content. Users acknowledge that information may change without notice, and they...") - (truncated #t)) - (comment - (id "imp-0124") - (date "2025-06-15T10:37:20") - (text "https://www.linkedin.com/company/102868943/admin/page-posts/published/")) - (comment - (id "imp-0125") - (date "2025-06-15T10:20:26") - (text "https://www.linkedin.com/company/102868943/admin/feed/following/")) - (comment - (id "imp-0126") - (date "2025-06-15T10:20:11") - (text "https://www.linkedin.com/company/102868943/admin/dashboard/")) - (comment - (id "imp-0127") - (date "2025-06-15T10:16:57") - (text "https://www.nuj.org.uk/resource-report/exploiting-the-dream.html")) - (comment - (id "imp-0128") - (date "2025-06-15T10:15:26") - (text "Work experience can an\ninvaluable way to gain the hands-\non experience required to secure\nthat crucial first job. Yet young\npeople need to ensure they are\nnot exposed to months of unpaid\nexploitation at the hands of\nruthless employers enjoying free\nor cheap labour.")) - (comment - (id "imp-0129") - (date "2025-06-15T10:14:18") - (text "“The NUJ is here to make the voice of students and\nthose starting out in the media, publishing and PR and\ncommunications heard and to help make work experience\na good one. Unpaid internships exploit dreams and\nexclude new talent, undermining the diversity of our\nindustry, just when we should be nurturing and supporting\nthe people coming into the profession. Employers in\nthe media should be warned; we will continue to take on\nthose who seek to exploit young people and newcomers\nto the industry.\n“Students and new entrants to the industry can benefit\nhugely from well-structured work experience placements\ngiving them knowledge in a practical environment.\nBut there is a difference between work experience and\nemployers using people to fill jobs for which workers\nshould receive a wage. If the work is good enough to be\npublished, then the journalist is good enough to be paid.”")) - (comment - (id "imp-0130") - (date "2025-06-15T10:13:42") - (text "Your guide to work experience\nand internships")) - (comment - (id "imp-0131") - (date "2025-06-15T10:05:48") - (text "https://www.labourstart.org/rss/labourstart.uk.xml")) - (comment - (id "imp-0132") - (date "2025-06-15T09:51:58") - (text "https://www.youtube.com/shorts/M8HY7apz1iQ")) - (comment - (id "imp-0133") - (date "2025-06-15T09:00:12") - (text "https://s3477.fra1.stableserver.net:2083/cpsess9561328200/login/?session=nujprcor%3ajLrmWRAqaaW4vYUs%3acreate_user_session%2cbe0bc0f110e17c51aaac9d354fdc2e1e")) - (comment - (id "imp-0134") - (date "2025-06-15T06:53:44") - (text "https://nuj-prc.org.uk/")) - (comment - (id "imp-0135") - (date "2025-06-15T01:49:13") - (text "Welcome to the NUJ Public Relations and Communications Council (PRC) Championing ethical communication, workplace rights, and professional advocacy.\n\nAt the NUJ PRC, we stand for:\n\nEthical Public Relations: Promoting integrity and transparency in media and corporate communications.\n\nWorkplace Representation: Supporting PR professionals in securing fair pay, career development, and job security.\n\nIndustry Leadership: Engaging with policymakers and media organizations to shape responsible communication standards.\n\nJoin us in shaping the future of ethical communications. Learn more about our latest campaigns and initiatives.")) - (comment - (id "imp-0136") - (date "2025-06-15T01:48:28") - (text "Role of the NUJ PRC within the Union\nThe NUJ Public Relations and Communications Council (PRC) plays a crucial role in supporting journalists and media professionals by advocating for ethical standards, workplace rights, and industry improvements. It works within the National Union of Journalists (NUJ) to ensure fair representation, uphold press freedom, and provide guidance on professional development.")) - (comment - (id "imp-0137") - (date "2025-06-15T01:48:20") - (text "The NUJ PRC has been actively involved in several key initiatives, including:\n\nDefending press freedom: The NUJ has condemned the detention of journalists in conflict zones and called for their release.\n\nWorkplace advocacy: The union has pushed for fair pay and better working conditions, particularly in response to corporate financial reports showing high profits while journalists face stagnant wages.\n\nIndustry support: The NUJ has spoken out against redundancies in major media organizations, ensuring journalists' concerns are heard.")) - (comment - (id "imp-0138") - (date "2025-06-15T01:46:17") - (text "Welcome to the NUJ Public Relations and Communications Council (PRC) Championing ethical journalism, workplace rights, and industry advocacy.\n\nAt the NUJ PRC, we stand for:\n\nPress Freedom: Defending journalists' rights and ensuring a free and fair media landscape.\n\nWorkplace Representation: Supporting media professionals in securing fair pay, safe working conditions, and career development.\n\nIndustry Advocacy: Engaging with policymakers and media organizations to shape a sustainable future for journalism.\n\nStay informed, get involved, and join us in shaping the future of media. Learn more about our latest campaigns and initiatives.")) - (comment - (id "imp-0139") - (date "2025-06-15T01:45:04") - (text "The National Union of Journalists (NUJ) homepage provides information about its mission, activities, and support for journalists. It highlights key initiatives, including workplace representation, ethical journalism, and advocacy for press freedom. The site also features updates on industry news, campaigns, and resources for members.")) - (comment - (id "imp-0140") - (date "2025-06-15T01:03:15") - (text "https://www.w3.org/TR/void/")) - (comment - (id "imp-0141") - (date "2025-06-15T01:02:16") - (text "VoID: Structuring Interlinked Data for Household Decision-Making\nGoal: VoID is designed to organize and interconnect large-scale datasets efficiently, making them accessible for structured analysis. In this context, the goal is to create a massive, interconnected dataset capturing household decision-making with animals, integrating economic principles (Becker’s framework), behavioral insights, and structured metadata.\n\nLogical Approach: Why VoID Is the Right Model\nThe logic behind VoID is rooted in data interoperability. Instead of isolated studies remaining disconnected and inaccessible, VoID enables:\n\nStandardized Metadata – Defines entities such as household types, animal interactions, and economic measures, ensuring consistency.\n\nLinked Data Relationships – Establishes connections between different datasets, allowing researchers to cross-reference pet ownership habits with expenditure trends, or farm management with labor distribution.\n\nStructured Queries – Researchers ca...") - (truncated #t)) - (comment - (id "imp-0142") - (date "2025-06-15T01:01:19") - (text "A Becker Boundary Document could serve as a structured framework for your students to collect, categorize, and analyze household decision-making data, particularly in relation to animals as economic agents within Becker’s household model.\n\nTo achieve this, here’s a three-part structure for your document:\n\n1. Conceptual Overview (Becker’s Framework Applied to Animal Households)\nPurpose: Establish how Becker’s household economic model applies to different animal-inclusive households.\n\nKey Dimensions:\n\nUtility production (pets, farm animals, conservation efforts).\n\nTime allocation & opportunity cost (care, training, economic investment).\n\nResource distribution & human capital effects (labor, education, household expenditures).\n\nResearch Questions:\n\nHow do households allocate time between animals and other household duties?\n\nWhat economic trade-offs exist for pet owners vs. farm owners?\n\nWhat behavioral economics insights can be gained from household interactions with ...") - (truncated #t)) - (comment - (id "imp-0143") - (date "2025-06-15T01:01:05") - (text "Different Household Types & Becker’s Framework\nGary Becker’s Theory of the Household treats families as economic units making decisions about resource allocation, time investment, and utility production. Applying this framework, we can categorize household types based on their structure and interactions with animals, labor, and consumption dynamics.\n\nKey Household Categories\nPet-Owning Households – Domestic pets as companions.\n\nFarm Animal Households – Livestock for economic utility.\n\nWildlife Steward Households – Households engaged in conservation.\n\nMulti-Generational Human Households – Economic decisions across different family generations.\n\nExperimental/Laboratory Animal Households – Animals used for scientific study.\n\nCommercial Animal Households – Zoos, sanctuaries, and breeding facilities.\n\nHousehold Types & Becker’s Model\nHousehold Type Application of Becker’s Framework Data Inputs & Outputs Data Collection Methods\nPet-Owning Households Pets contribute to house...") - (truncated #t)) - (comment - (id "imp-0144") - (date "2025-06-15T01:00:46") - (text "Yes! While Gary Becker’s household decision-making framework primarily focused on human family dynamics, researchers have extended his ideas to include pets as economic agents within households.\n\nPets in Household Economics\nA study titled \"Animal House: Economics of Pets and the Household\" explored how pets fit into Becker’s framework by analyzing pet ownership and expenditures over two decades. Key findings include:\n\nSubstitution & Complementarity – Households with young children are less likely to own pets (substitutes), while those with older children are more likely to own pets (complements).\n\nIncome Elasticity – Pet spending varies by household income, but women in married households show lower income elasticity for pet expenditures than men—opposite to trends in child-related spending.\n\nHousehold Utility – Pets contribute to household well-being, much like Becker’s concept of household production, where families derive non-monetary benefits from pet ownership.\n\nIndep...") - (truncated #t)) - (comment - (id "imp-0145") - (date "2025-06-15T01:00:07") - (text "Thursday\ni am interested in animal judgement and decision making, so whilst the ecological side is interesting, it is secondary in my exploration to what these things are doing as agents. of course, ecosystems are complex places, but I do not see why there should not be analogies within these things when it comes ot resource allocation, or effort-reward relations, or pleasure/pain on choices\nAbsolutely! Animal judgment and decision-making can be analyzed through economic and cognitive models, much like human behavior. While ecological dynamics provide the broader environmental backdrop, the individual agents (animals) make choices based on resource allocation, effort-reward trade-offs, and pleasure-pain valuations—just like rational actors in economic theory.\n\nKey Economic Analogies in Animal Decision-Making\nResource Allocation & Budget Constraints Animals distribute time, energy, and risk efficiently, mirroring utility maximization in economics.\n\nForaging theory models how anim...") - (truncated #t)) - (comment - (id "imp-0146") - (date "2025-06-15T00:38:00") - (text "Activity Log\nAddToAny Share Buttons\nAdmin and Site Enhancements (ASE)\nAdmin Menu Editor\nAdvanced Custom Fields\nAdvanced Database Cleaner\nAdvanced Editor Tools\nAlly - Web Accessibility & Usability\nAMP\nBetter Search Replace\nBetterDocs\nBlackhole for Bad Bots\nBuddyPress\nCall / Chat / Contact Button\nCategory Order and Taxonomy Terms Order\nCMB2\nComplianz | GDPR/CCPA Cookie Consent\nComplianz Privacy Suite for GDPR, CaCPA, DSVGO, \nCrop Thumbnails\nDownload Manager\nEmbed Any Document\nEmbed Optimizer\nEnhanced Responsive Images\nEWWW Image Optimizer\nFeed Them Social - Social Media Feeds, Video, and Photo Galleries\nFeedzy RSS Feeds Lite\nFile Manager Advanced\nFileBird Lite\nFluent Snippets\nHTTP Headers\nImage Hotspot - Map Image Annotation \nImage Placeholders \nImage Prioritizer\nIndex WP MySQL For Speed\nJoinchat\nLLMS Full TXT Generator\nMammoth .docx converter\nMedia Library Assistant\nMelapress File Monitor\nModern Image Formats\nNextend Social Login\nNinja Forms\nOpt...") - (truncated #t)) - (comment - (id "imp-0147") - (date "2025-06-15T00:31:07") - (text "Activity Log\nSettings | Activity Log | Deactivate\nThis top rated Activity Log plugin helps you monitor and log all changes and actions on your WordPress site, so you can remain secure and organised.\n\nVersion 2.11.2 | By Activity Log Team | View details\nDisable auto-updates \nSelect AddToAny Share Buttons \nAddToAny Share Buttons\nSettings | Deactivate\nShare buttons for your pages including AddToAny's universal sharing button, Facebook, Mastodon, LinkedIn, Pinterest, WhatsApp and many more.\n\nVersion 1.8.13 | By AddToAny | View details\nDisable auto-updates \nSelect Admin and Site Enhancements (ASE) \nAdmin and Site Enhancements (ASE)\nConfigure | Deactivate\nEasily enable enhancements and features that usually require multiple plugins.\n\nVersion 7.8.15 | By wpase.com | View details\nDisable auto-updates \nSelect Admin Menu Editor \nAdmin Menu Editor\nDeactivate | Settings\nLets you directly edit the WordPress admin menu. You can re-order, hide or rename existing menus, add cust...") - (truncated #t)) - (comment - (id "imp-0148") - (date "2025-06-15T00:21:08") - (text "Version 5.0.6 | By Themeisle | View details | Documentation and examples | Upgrade to Pro\nDisable auto-updates \nSelect File Manager Advanced \nFile Manager Advanced\nDeactivate\nCpanel for files management in wordpress\n\nVersion 5.3.4 | By wpexpertsio | View details\nDisable auto-updates \nSelect FileBird Lite \nFileBird Lite\nSettings | Deactivate\nOrganize thousands of WordPress media files into folders/ categories at ease.\n\nVersion 6.4.7 | By Ninja Team | View details | Documentation\nDisable auto-updates \nSelect Fluent Snippets \nFluent Snippets\nDeactivate\nSuper Fast File Based Native Code Snippets (header / footer codes) Manager for WordPress\n\nVersion 10.51 | By Fluent Snippets | View details\nDisable auto-updates \nSelect HTTP Headers \nHTTP Headers\nSettings | Deactivate\nA plugin for HTTP headers management including security, access-control (CORS), caching, compression, and authentication.\n\nVersion 1.19.2 | By Dimitar Ivanov | View details\nDisable auto-updates \nS...") - (truncated #t)) - (comment - (id "imp-0149") - (date "2025-06-15T00:20:56") - (text "Select all Plugin Description Automatic Updates Vulnerabilities\nSelect Activity Log \nActivity Log\nSettings | Activity Log | Deactivate\nThis top rated Activity Log plugin helps you monitor and log all changes and actions on your WordPress site, so you can remain secure and organised.\n\nVersion 2.11.2 | By Activity Log Team | View details\nDisable auto-updates \nSelect AddToAny Share Buttons \nAddToAny Share Buttons\nSettings | Deactivate\nShare buttons for your pages including AddToAny's universal sharing button, Facebook, Mastodon, LinkedIn, Pinterest, WhatsApp and many more.\n\nVersion 1.8.13 | By AddToAny | View details\nDisable auto-updates \nSelect Admin and Site Enhancements (ASE) \nAdmin and Site Enhancements (ASE)\nConfigure | Deactivate\nEasily enable enhancements and features that usually require multiple plugins.\n\nVersion 7.8.15 | By wpase.com | View details\nDisable auto-updates \nSelect Admin Menu Editor \nAdmin Menu Editor\nDeactivate | Settings\nLets you directly e...") - (truncated #t)) - (comment - (id "imp-0150") - (date "2025-06-15T00:16:03") - (text "https://nuj-prc.org.uk")) - (comment - (id "imp-0151") - (date "2025-06-14T23:44:45") - (text "# NUJ PRC trust.txt file\nbelongto=https://www.nuj.org.uk\nbelongto=https://www.ifj.org\nbelongto=https://www.efj.eu\nbelongto=https://www.tuc.org.uk\nbelongto=https://www.journallist.net\n\nsocial=https://facebook.com/nuj\nsocial=https://twitter.com/nujofficial\nsocial=https://instagram.com/nujofficial\nsocial=https://www.linkedin.com/company/national-union-of-journalists\nsocial=https://www.youtube.com/c/nujvideos\n\ndatatrainingallowed=yes\n\ndisclosure=https://www.nuj.org.uk/about/code-of-conduct\ndisclosure=https://www.nuj.org.uk/guidance/ethics-pr-communications\ndisclosure=https://www.nuj.org.uk/freelance/freelance-charter\ndisclosure=https://www.impress.org.uk/fact-checking-guide\ndisclosure=https://www.nuj.org.uk/about/transparency-best-practice\n\ncontact=https://www.nuj.org.uk/contact")) - (comment - (id "imp-0152") - (date "2025-06-14T23:10:02") - (text "REDACTED_GOOGLE_API_KEY")) - (comment - (id "imp-0153") - (date "2025-06-14T22:19:47") - (text "https://nuj-prc.org.uk/wp-admin/admin.php?page=zmail-integ-settings")) - (comment - (id "imp-0154") - (date "2025-06-14T22:01:33") - (text "https://nuj-prc.org.uk/9jnd")) - (comment - (id "imp-0155") - (date "2025-06-14T02:16:05") - (text "❌ Complexity – Requires custom implementations for SDP, encrypted RAM execution, and polymorphic security.")) - (comment - (id "imp-0156") - (date "2025-06-14T02:14:12") - (text "❌ Complexity – Requires custom implementations for SDP, encrypted RAM execution, and polymorphic security. ❌ Recovery Issues – If the system crashes, config data is lost unless a secure reloading mechanism exists.")) - (comment - (id "imp-0157") - (date "2025-06-14T01:58:41") - (text "__construct() #1 /home/nujprcor/public_html/wp-content/plugins/event-tickets/src/Tribe/Main.php(438): Tribe__Main::instance() #2 /home/nujprcor/public_html/wp-includes/class-wp-hook.php(324): Tribe__Tickets__Main->plugins_loaded() #3 /home/nujprcor/public_html/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters() #4 /home/nujprcor/public_html/wp-includes/plugin.php(517): WP_Hook->do_action() #5 /home/...") - (truncated #t)) - (comment - (id "imp-0175") - (date "2025-06-13T20:05:02") - (text "Invoke-WebRequest -Uri https://win.rustup.rs/ -OutFile rustup-init.exe; Start-Process .\\rustup-init.exe -Wait")) - (comment - (id "imp-0176") - (date "2025-06-13T20:04:28") - (text "PowerShell 7.5.1\nLoading personal and system profiles took 728ms.\nPS C:\\Windows\\System32> pip install -U prefect\nCollecting prefect\n Downloading prefect-3.2.15-py3-none-any.whl.metadata (12 kB)\nCollecting aiosqlite<1.0.0,>=0.17.0 (from prefect)\n Downloading aiosqlite-0.21.0-py3-none-any.whl.metadata (4.3 kB)\nCollecting alembic<2.0.0,>=1.7.5 (from prefect)\n Downloading alembic-1.16.1-py3-none-any.whl.metadata (7.3 kB)\nCollecting anyio<5.0.0,>=4.4.0 (from prefect)\n Downloading anyio-4.9.0-py3-none-any.whl.metadata (4.7 kB)\nCollecting apprise<2.0.0,>=1.1.0 (from prefect)\n Downloading apprise-1.9.3-py3-none-any.whl.metadata (53 kB)\nCollecting asgi-lifespan<3.0,>=1.0 (from prefect)\n Downloading asgi_lifespan-2.1.0-py3-none-any.whl.metadata (10 kB)\nCollecting asyncpg<1.0.0,>=0.23 (from prefect)\n Downloading asyncpg-0.30.0.tar.gz (957 kB)\n ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 957.7/957.7 kB 3.8 MB/s eta 0:00:00\n Installing build dependencies ... done\n Get...") - (truncated #t)) - (comment - (id "imp-0177") - (date "2025-06-13T20:01:28") - (text "prefect cloud login")) - (comment - (id "imp-0178") - (date "2025-06-13T20:00:43") - (text "pip install -U prefect")) - (comment - (id "imp-0179") - (date "2025-06-13T19:41:56") - (text "eed a welsh dragon name, but why does hesiod have a poets name for it? was he CompTIA")) - (comment - (id "imp-0180") - (date "2025-06-13T18:46:53") - (text "Die Wahrheit ist eine bloße Fortsetzung der institutionellen Macht mit anderen Mitteln.")) - (comment - (id "imp-0181") - (date "2025-06-13T18:41:18") - (text "The Independent Press Standards Organisation: Standard setter or complaints pacifier?")) - (comment - (id "imp-0182") - (date "2025-06-13T18:07:32") - (text "DM notes with great concern recent decisions by social media organisations, including Meta (January 6, 2025), to abandon fact-checking in favour of community notes. Whilst this is initially confined to the US as far as Meta is concerned, DM recognises such policies could be rolled out worldwide and potentially affect the UK/EU, as has happened with Twitter/X already.\n\nGiven the widespread use of social media channels as primary news sources for a significant portion of the population, DM considers that it is crucial to monitor the impact of such moves by some of the major social media organisations to dilute fact checking and to row back from dealing with lies and inaccuracy. It is also necessary to monitor safety policies, given the potential for journalists using social media as part of their work to face risks arising from threats/harassment and harmful or distressing content.\n\nDM further notes that many journalists and communications professionals are often encouraged to use th...") - (truncated #t)) - (comment - (id "imp-0183") - (date "2025-06-13T18:01:41") - (text "Auf Wiedersehen!")) - (comment - (id "imp-0184") - (date "2025-06-13T17:57:40") - (text "Die Wurst ist eine bloße Fortsetzung der Küche mit anderen Mitteln.")) - (comment - (id "imp-0185") - (date "2025-06-13T17:53:41") - (text "Carl von Clausewitz")) - (comment - (id "imp-0186") - (date "2025-06-13T17:51:58") - (text "Truth is merely the continuation of institutional power by other means.")) - (comment - (id "imp-0187") - (date "2025-06-13T17:50:29") - (text "Die Wahrheit ist eine bloße Fortsetzung der institutionellen Macht mit anderen Mitteln")) - (comment - (id "imp-0188") - (date "2025-06-13T17:37:57") - (text "Der Krieg ist eine bloße Fortsetzung der Politik mit anderen Mitteln")) - (comment - (id "imp-0189") - (date "2025-06-13T17:36:14") - (text "War is the continuation of policy with other means.\" : 87 ...")) - (comment - (id "imp-0190") - (date "2025-06-13T17:19:48") - (text "burning himself to death in June 1963. This picture was put on the cover of the album. The album's art is known for having a picture of Thích Quảng Đức, a Buddhist monk, burning himself to death. The album was released on the same day as the 1992 United States presidential election.")) - (comment - (id "imp-0191") - (date "2025-06-13T17:19:16") - (text "Thích Quảng Đức burning himself to death in June 1963. This picture was put on the cover of the album. The album's art is known for having a picture of Thích Quảng Đức, a Buddhist monk, burning himself to death. The album was released on the same day as the 1992 United States presidential election.")) - (comment - (id "imp-0192") - (date "2025-06-13T11:53:21") - (text "Warning: require_once(/home/nujprcor/public_html/wp-admin): Failed to open stream: No such file or directory in /home/nujprcor/public_html/wp-content/plugins/event-tickets/common/src/Tribe/Main.php on line 82\n\nFatal error: Uncaught Error: Failed opening required '' (include_path='.:/opt/alt/php82/usr/share/pear:/opt/alt/php82/usr/share/php:/usr/share/pear:/usr/share/php') in /home/nujprcor/public_html/wp-content/plugins/event-tickets/common/src/Tribe/Main.php:82 Stack trace: #0 /home/nujprcor/public_html/wp-content/plugins/event-tickets/common/src/Tribe/Main.php(62): Tribe__Main->__construct() #1 /home/nujprcor/public_html/wp-content/plugins/event-tickets/src/Tribe/Main.php(438): Tribe__Main::instance() #2 /home/nujprcor/public_html/wp-includes/class-wp-hook.php(324): Tribe__Tickets__Main->plugins_loaded() #3 /home/nujprcor/public_html/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters() #4 /home/nujprcor/public_html/wp-includes/plugin.php(517): WP_Hook->do_action() #5 /home/...") - (truncated #t)) - (comment - (id "imp-0193") - (date "2025-06-13T11:01:22") - (text "https://nuj-prc.org.uk/wp-admin/")) - (comment - (id "imp-0194") - (date "2025-06-12T19:07:11") - (text "Error getting administrator credentials: Warning: require_once(/home/nujprcor/public_html): Failed to open stream: No such file or directory in /home/nujprcor/public_html/wp-content/plugins/event-tickets/common/src/Tribe/Main.php on line 82\n\nFatal error: Uncaught Error: Failed opening required '' (include_path='.:/opt/alt/php82/usr/share/pear:/opt/alt/php82/usr/share/php:/usr/share/pear:/usr/share/php') in /home/nujprcor/public_html/wp-content/plugins/event-tickets/common/src/Tribe/Main.php:82\n\nStack trace:\n\n#0 /home/nujprcor/public_html/wp-content/plugins/event-tickets/common/src/Tribe/Main.php(62): Tribe__Main->__construct()\n\n#1 /home/nujprcor/public_html/wp-content/plugins/event-tickets/src/Tribe/Main.php(438): Tribe__Main::instance()\n\n#2 /home/nujprcor/public_html/wp-includes/class-wp-hook.php(324): Tribe__Tickets__Main->plugins_loaded()\n\n#3 /home/nujprcor/public_html/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters()\n\n#4 /home/nujprcor/public_html/wp-includ...") - (truncated #t)) - (comment - (id "imp-0195") - (date "2025-06-12T19:01:20") - (text "https://s3477.fra1.stableserver.net:2083/cpsess0848443445/login/?session=nujprcor%3afVJCBEhtt8npsy2z%3acreate_user_session%2c52391267b921d5f96d3626f4ff9d29f6")) - (comment - (id "imp-0196") - (date "2025-06-12T18:20:54") - (text "Additionally, your work reflects exceptional coherence, maintaining a smooth, logical flow that builds effectively from concept to conclusion. The evaluation is deep, weaving multiple perspectives together and critically analyzing the strength of different arguments. You show a strong grasp of theoretical frameworks, applying them not only accurately but in a way that challenges assumptions and explores alternative viewpoints. The use of independent sources is highly effective, complementing module materials rather than replacing them, ensuring a rich, well-balanced discussion. This level of engagement and precision sets a high standard, making your submission exemplary. Well done!")) - (comment - (id "imp-0197") - (date "2025-06-12T18:20:39") - (text "Your work demonstrates strong engagement across all assessment criteria, showcasing a well-developed understanding of both core module content and wider interdisciplinary sources. The referencing is precise, seamlessly integrating both module and independent materials with clear attribution. Theories are applied thoughtfully within the scenario, demonstrating depth of analysis and critical synthesis, moving beyond basic description into evaluative discussion. Report formatting is professional and structured, ensuring clarity and logical progression throughout, making arguments easy to follow and well-supported. Your recommendations are justified with compelling evidence, demonstrating clear practical relevance and application.\n\nAdditionally, your work reflects exceptional coherence, maintaining a smooth, logical flow that builds effectively from concept to conclusion. The evaluation is deep, weaving multiple perspectives together and critically analyzing the strength of different arg...") - (truncated #t)) - (comment - (id "imp-0198") - (date "2025-06-12T18:19:52") - (text "Issue Strong (High Band) Medium (Mid Band) Poor (Low Band) Absent (Failing Band)\nReference Usage Precise citations, clear attribution, mix of module and independent sources Some references, but lacks consistency or depth References are weak, inaccurate, or improperly formatted No referencing or entirely fabricated sources\nApplication to Scenario Theories clearly applied to context, demonstrates strong engagement with scenario details Application is present but not fully integrated or lacks depth Theories mentioned but poorly connected to scenario, application is vague No attempt to apply theories to the scenario\nReport Formatting Well-structured, professional tone, concise with clear headings Some structure but slightly inconsistent, tone may waver Casual or overly essay-like, lacks coherence No structure, disorganized writing\nValidity of Recommendations Strong justification, supported by evidence, relevant to scenario Some justification, but lacks robustness or thorough explanatio...") - (truncated #t)) - (comment - (id "imp-0199") - (date "2025-06-12T18:17:57") - (text "Your essay demonstrates a good grasp of relevant ideas, with a logical structure and appropriately formatted referencing. However, while the foundation is solid, the depth of analysis could be stronger, particularly in expanding key points rather than keeping them surface-level. There are moments where you begin to engage critically, but these could be more sustained and fully explored to strengthen the argument. A clearer approach to integration of concepts would help refine the overall coherence. Good effort—strengthening the analytical focus would push this further.\n\nYour report is well-structured, benefiting from the report format and a more direct application of theories to practice. The link between concepts and real-world implications is clearer here, and the reasoning shows a stronger level of engagement. While the core ideas are well-placed, some recommendations remain underdeveloped, and expanding on their practical implications would strengthen the overall impact. A solid ...") - (truncated #t)) - (comment - (id "imp-0200") - (date "2025-06-12T18:07:34") - (text "Where:\n• Δt\\Delta t = time measured by an Earth observer\n• Δt′\\Delta t' = proper time experienced by the traveling twin\n• vv = velocity of the spacecraft")) - (comment - (id "imp-0201") - (date "2025-06-12T18:06:36") - (text "Δt′=Δt1−v2c2\\Delta t' = \\frac{\\Delta t}{\\sqrt{1 - \\frac{v^2}{c^2}}}")) - (comment - (id "imp-0202") - (date "2025-06-12T17:17:01") - (text "Your essay demonstrates a good grasp of relevant ideas, with a logical structure and appropriately formatted referencing. However, while the foundation is solid, the depth of analysis could be stronger, particularly in expanding key points rather than keeping them surface-level. There are moments where you begin to engage critically, but these could be more sustained and fully explored to strengthen the argument. A clearer approach to integration of concepts would help refine the overall coherence. Good effort—strengthening the analytical focus would push this further.")) - (comment - (id "imp-0203") - (date "2025-06-12T17:16:17") - (text "Today\nYou said\ncould you do the third table there, on the issues, to speciate each into three subcategories. i.e. strong, medium, poor (and just absent) so I can effectively cut and paste from the text there?\nCopilot said\nAbsolutely! Here’s a detailed issue categorization table, breaking each marking criterion into Strong, Medium, Poor, and Absent, so you can cut and paste feedback seamlessly.\n\nIssue Categorization Table (Cut-and-Paste Ready)\nIssue Strong (High Band) Medium (Mid Band) Poor (Low Band) Absent (Failing Band)\nReference Usage Precise citations, clear attribution, mix of module and independent sources Some references, but lacks consistency or depth References are weak, inaccurate, or improperly formatted No referencing or entirely fabricated sources\nApplication to Scenario Theories clearly applied to context, demonstrates strong engagement with scenario details Application is present but not fully integrated or lacks depth Theories mentioned but poorly connected to ...") - (truncated #t)) - (comment - (id "imp-0204") - (date "2025-06-12T17:16:14") - (text "Your report is well-structured, benefiting from the report format and a more direct application of theories to practice. The link between concepts and real-world implications is clearer here, and the reasoning shows a stronger level of engagement. While the core ideas are well-placed, some recommendations remain underdeveloped, and expanding on their practical implications would strengthen the overall impact. A solid submission with clear strengths—more precise recommendations and refined depth of application would elevate it further. Well done!")) - (comment - (id "imp-0205") - (date "2025-06-12T16:58:44") - (text "Marking Target What to Look For High-Scoring Indicators Low-Scoring Indicators\nPart 1 - Methods & Evaluation Does the response focus on relevant research methods? Clear explanation of methods, accurate application, strong evaluation Methods unclear, lacks evaluation, superficial analysis\nPart 1 - Use of Evidence Are sources relevant & properly cited? Strong mix of module and independent sources, clear attribution Weak use of references, absent secondary sources\nPart 1 - Coherence & Answering the Question Does the response stay focused and structured? Logical flow, answers the specific question effectively Disjointed structure, unclear focus\nPart 2 - Application to Scenario Are theories and ideas applied well to the scenario? Clear link between theory & scenario, relevant examples Theories stated but not applied, unclear relevance\nPart 2 - Report Format & Audience Is the style appropriate for a formal report? Structured, concise, engages audience appropriately Too casual, essay-lik...") - (truncated #t)) - (comment - (id "imp-0206") - (date "2025-06-12T16:39:25") - (text "Your report benefits from a clearer structure, aided by effective formatting and referencing, which supports readability. There’s a stronger attempt to connect theory and practice, making the application of ideas more evident than in the essay. However, the recommendations remain vague, except for one well-developed suggestion that stands out. Expanding on this approach throughout would have secured greater clarity and impact, pushing the mark higher. A solid effort overall—continued refinement in precision and alignment of recommendations would improve future submissions. Well done!")) - (comment - (id "imp-0207") - (date "2025-06-12T16:38:54") - (text "Your essay presents sensible and accurate ideas with a logical structure and solid referencing. However, the content remains somewhat shallow and lacks sustained engagement with the material. While there are moments where application and analysis emerge, they are not consistently developed, and the writing style tends to be overly waffly, making it difficult to extract a firm position. The final sections feel bolted on, rather than seamlessly integrated into the argument. Strengthening depth of analysis and refining clarity in expression would elevate the work significantly. Well done—there’s a strong foundation to build on.")) - (comment - (id "imp-0208") - (date "2025-06-12T16:30:37") - (text "shows basic understanding. Needs improvement in structure and coherence.")) - (comment - (id "imp-0209") - (date "2025-06-12T16:30:33") - (text "Describes concepts but with inconsistencies, engages with sources at surface level, lacks clarity\nDescriptive rather than analytical, little connection between ideas, limited understanding of concepts")) - (comment - (id "imp-0210") - (date "2025-06-12T16:30:25") - (text "Adequate referencing, engagement with theories is present but lacks depth.")) - (comment - (id "imp-0211") - (date "2025-06-12T16:22:15") - (text "Grade Band Score Range Forms of Expression (Bloom’s Taxonomy & Academic Indicators) Characteristics of Essays in This Band\nGuaranteed Pass 1 86-100 Synthesizes theories in new ways, critically evaluates assumptions, displays intellectual originality Exemplary work demonstrating outstanding critical engagement, flawless referencing, deep insight into theories, and innovative application. Well-structured, academically rigorous, and professionally presented.\nPass 1 70-85 Evaluates multiple viewpoints, integrates sources cohesively, demonstrates high levels of analysis Highly coherent, well-developed argumentation, strong critical engagement with materials. Referencing and argumentation are sophisticated.\nPass 2 60-69 Analyzes relationships between concepts, applies theories systematically, uses well-structured reasoning Strong reference accuracy, clear application of theories, structured argument, evaluation is present. Demonstrates sound academic skills.\nPass 3 50-59 Explains theorie...") - (truncated #t)) - (comment - (id "imp-0212") - (date "2025-06-12T16:19:37") - (text "Grade Band Score Range Forms of Expression (Bloom’s Taxonomy & Academic Indicators) Characteristics of Essays in This Band\nGuaranteed Pass 1 86-100 Synthesizes theories in new ways, critically evaluates assumptions, displays intellectual originality Exemplary work demonstrating outstanding critical engagement, flawless referencing, deep insight into theories, and innovative application. Well-structured, academically rigorous, and professionally presented.\nPass 1 70-85 Evaluates multiple viewpoints, integrates sources cohesively, demonstrates high levels of analysis Highly coherent, well-developed argumentation, strong critical engagement with materials. Referencing and argumentation are sophisticated.\nPass 2 60-69 Analyzes relationships between concepts, applies theories systematically, uses well-structured reasoning Strong reference accuracy, clear application of theories, structured argument, evaluation is present. Demonstrates sound academic skills.\nPass 3 50-59 Explains theorie...") - (truncated #t)) - (comment - (id "imp-0213") - (date "2025-06-12T16:15:30") - (text "Marking Target What to Look For High-Scoring Indicators Low-Scoring Indicators\nPart 1 - Methods & Evaluation Does the response focus on relevant research methods? Clear explanation of methods, accurate application, strong evaluation Methods unclear, lacks evaluation, superficial analysis\nPart 1 - Use of Evidence Are sources relevant & properly cited? Strong mix of module and independent sources, clear attribution Weak use of references, absent secondary sources\nPart 1 - Coherence & Answering the Question Does the response stay focused and structured? Logical flow, answers the specific question effectively Disjointed structure, unclear focus\nPart 2 - Application to Scenario Are theories and ideas applied well to the scenario? Clear link between theory & scenario, relevant examples Theories stated but not applied, unclear relevance\nPart 2 - Report Format & Audience Is the style appropriate for a formal report? Structured, concise, engages audience appropriately Too casual, essay-lik...") - (truncated #t)) - (comment - (id "imp-0214") - (date "2025-06-12T14:49:43") - (text "Relativistic Time Dilation in Space Travel\nA twin leaves Earth on Monday aboard a spacecraft traveling at relativistic speeds. After completing their journey, they return on Thursday according to Earth time.")) - (comment - (id "imp-0215") - (date "2025-06-12T14:47:18") - (text "A-Level Physics Exam Question: Relativistic Time Dilation in Space Travel\nA twin leaves Earth on Monday aboard a spacecraft traveling at relativistic speeds. After completing their journey, they return on Thursday according to Earth time.\n\nSection A – Core Calculations (Basic Marks, Accessible to Most Candidates)\nFundamental Time Dilation Equation (10 marks) The twin’s spacecraft travels at 0.80c (where c is the speed of light) for the outward journey, then returns at the same speed. If the total journey takes 72 hours (Earth time), calculate the time experienced by the twin aboard the spacecraft.\n\nUse the time dilation equation:\n\nΔ\n������\n′\n=\nΔ\n������\n1\n−\n������\n2\n������\n2\nWhere:\n\nΔ\n������\n = time measured by an Earth observer\n\nΔ\n������\n′\n = proper time experienced by the traveling twin\n\n������\n = velocity of the spacecraft\n\n������\n = speed of light\n\nSection B – Intermediate Applications (Stretch Marks, Requires Interpretation)\nInterpretation of R...") - (truncated #t)) - (comment - (id "imp-0216") - (date "2025-06-12T14:37:09") - (text "Issue Strong (High Band) Medium (Mid Band) Poor (Low Band) Absent (Failing Band)\nReference Usage Precise citations, clear attribution, mix of module and independent sources Some references, but lacks consistency or depth References are weak, inaccurate, or improperly formatted No referencing or entirely fabricated sources\nApplication to Scenario Theories clearly applied to context, demonstrates strong engagement with scenario details Application is present but not fully integrated or lacks depth Theories mentioned but poorly connected to scenario, application is vague No attempt to apply theories to the scenario\nReport Formatting Well-structured, professional tone, concise with clear headings Some structure but slightly inconsistent, tone may waver Casual or overly essay-like, lacks coherence No structure, disorganized writing\nValidity of Recommendations Strong justification, supported by evidence, relevant to scenario Some justification, but lacks robustness or thorough explanatio...") - (truncated #t)) - (comment - (id "imp-0217") - (date "2025-06-12T14:35:18") - (text "Grade Band Score Range Forms of Expression (Bloom’s Taxonomy & Academic Indicators) Characteristics of Essays in This Band\nGuaranteed Pass 1 86-100 Synthesizes theories in new ways, critically evaluates assumptions, displays intellectual originality Exemplary work demonstrating outstanding critical engagement, flawless referencing, deep insight into theories, and innovative application. Well-structured, academically rigorous, and professionally presented.\nPass 1 70-85 Evaluates multiple viewpoints, integrates sources cohesively, demonstrates high levels of analysis Highly coherent, well-developed argumentation, strong critical engagement with materials. Referencing and argumentation are sophisticated.\nPass 2 60-69 Analyzes relationships between concepts, applies theories systematically, uses well-structured reasoning Strong reference accuracy, clear application of theories, structured argument, evaluation is present. Demonstrates sound academic skills.\nPass 3 50-59 Explains theorie...") - (truncated #t)) - (comment - (id "imp-0218") - (date "2025-06-12T14:30:22") - (text "Grade Band Characteristics of Essays in This Band\nPass 2 (60-69) Strong reference accuracy, well-applied theories, structured argument, clear evaluation\nPass 3 (50-59) Adequate referencing, good but limited engagement with theories, report format acceptable but could be stronger\nPass 4 (40-49) Weak referencing, lack of clarity in argument, some effort at application but inconsistent\nFail (<40) Major gaps in referencing, unclear focus, theories misapplied or absent")) - (comment - (id "imp-0219") - (date "2025-06-12T14:29:43") - (text "Issue Identified Stock Feedback Phrases\nStrong Reference Usage \"Your referencing is precise and well-integrated, supporting your argument effectively.\"\nWeak References \"Consider improving your referencing by citing more relevant sources directly from the module material.\"\nClear Application to Scenario \"You’ve successfully applied theories to the scenario, demonstrating strong analytical thinking.\"\nWeak Application to Scenario \"Try to make a clearer link between theory and practice by directly applying concepts to the given scenario.\"\nStrong Report Formatting \"Your report style is appropriate and professional, well-structured for the target audience.\"\nWeak Report Formatting \"Your response is structured more like an essay—adjusting to a clearer report format would improve clarity.\"\nValid Recommendations \"Your recommendations are justified with solid evidence, making them credible and useful.\"\nWeak Recommendations \"Consider providing stronger justification for your ...") - (truncated #t)) - (comment - (id "imp-0220") - (date "2025-06-12T14:29:07") - (text "Marking Target What to Look For High-Scoring Indicators Low-Scoring Indicators\nPart 1 - Methods & Evaluation Does the response focus on relevant research methods? Clear explanation of methods, accurate application, strong evaluation Methods unclear, lacks evaluation, superficial analysis\nPart 1 - Use of Evidence Are sources relevant & properly cited? Strong mix of module and independent sources, clear attribution Weak use of references, absent secondary sources\nPart 1 - Coherence & Answering the Question Does the response stay focused and structured? Logical flow, answers the specific question effectively Disjointed structure, unclear focus\nPart 2 - Application to Scenario Are theories and ideas applied well to the scenario? Clear link between theory & scenario, relevant examples Theories stated but not applied, unclear relevance\nPart 2 - Report Format & Audience Is the style appropriate for a formal report? Structured, concise, engages audience appropriately Too casual, essay-lik...") - (truncated #t)) - (comment - (id "imp-0221") - (date "2025-06-12T14:25:41") - (text "Strengths-based marking \n\nIn line with the tutor marking notes, the band descriptions and the coordination discussion focus on strengths in student work in awarding marks. \n\nFor part 1: \n\nReward focus on methods, accuracy, use of relevant evidence, evaluation, referencing, answering the questions, overall coherence \n\nFor part 2: \n\nReward focus on scenario, use of relevant theories, ideas, application of ideas to the scenario, accuracy of reporting, appropriateness for the audience, validity of recommendations, overall coherence \n\nIMPORTANT: Error in Student Notes \n\nA few days after coordination, we issued a notice to students to try to reassure them about an error spotted in part 2 of the relevant material. This seems to have created some anxiety among students who have already submitted. Our notification only covered part of this error, and upon further investigation, we discovered a more systemic issue with the relevant materials in part 2 \n\nThe key aspect to this ...") - (truncated #t)) - (comment - (id "imp-0222") - (date "2025-06-12T14:24:57") - (text "DD210 24J \n\nAdditional EMA marking guidance \n\n \n\n​​Contents \n\n​ \n\n​ \n\n​ \n\n​ \n\n​ \n\n​ \n\n​ \n\n​ \n\n​ \n\n​ \n\n​ \n\n​ \n\n​ \n\n​ \n\n​ \n\n​ \n\n​ \n\n​ \n\n​ \n\n​​ \n\n \n\n \n\n \n\n \n\n \n\nIntroduction and overview \n\nThank you everyone for being there. I have compiled Claire’s and my notes and added a couple of additional points. \n\nImportantly, a section regarding an issue with the relevant materials for part 2 surfaced last week, for which a note was sent to students. Please ensure you read this carefully before beginning to mark. \n\nIn general, we had a good level of agreement and quickly established some of the thresholds included further below. As a general principle, the descriptions of the bands for each part provide clear information about the thresholds for each band. \n\nThe following sections add additional guidance following the discussion. \n\nGENAI use \n\nWe had a longer discussion on GenAI issues. \n\nAs with plagiarism, you should mark ...") - (truncated #t)) - (comment - (id "imp-0223") - (date "2025-06-12T14:09:05") - (text "https://msds.open.ac.uk/signon/SAMS001_CDC.aspx?nsh=2&URL=https://msds.open.ac.uk/signon/SAMS001_CDC.aspx?nsh=2&URL=https://msds.open.ac.uk/signon/SAMS001_CDC.aspx?nsh=2&URL=https://msds.open.ac.uk/signon/SAMS001_CDC.aspx?nsh=2&URL=https://www.open.ac.uk/")) - (comment - (id "imp-0224") - (date "2025-06-12T08:53:29") - (text "Dr Siobhan Abeyesinghe")) - (comment - (id "imp-0225") - (date "2025-06-12T08:47:20") - (text "explore how pets fit into Becker’s human capital framework")) - (comment - (id "imp-0226") - (date "2025-06-12T08:46:16") - (text "Gary Becker’s Theory of the Household revolutionized the way economists think about family decision-making, time allocation, and household production. His work introduced the idea that households function like economic units, making rational choices about labor, consumption, and resource distribution.\n\nKey Contributions of Becker’s Household Theory\nHousehold Production Model – Becker proposed that households produce utility by combining market goods and time. For example, a meal isn’t just the ingredients—it’s also the time spent cooking.\n\nTime Allocation & Opportunity Cost – He emphasized that time is a scarce resource, meaning individuals must trade off leisure, work, and household tasks.\n\nHuman Capital & Family Economics – Becker extended his theory to education, marriage, and fertility, arguing that families invest in human capital just like firms invest in workers.\n\nAltruism & Interdependent Preferences – He explored how family members don’t act purely selfishly, but inst...") - (truncated #t)) - (comment - (id "imp-0227") - (date "2025-06-12T08:45:59") - (text "Different Household Types & Becker’s Framework\nGary Becker’s Theory of the Household treats families as economic units making decisions about resource allocation, time investment, and utility production. Applying this framework, we can categorize household types based on their structure and interactions with animals, labor, and consumption dynamics.\n\nKey Household Categories\nPet-Owning Households – Domestic pets as companions.\n\nFarm Animal Households – Livestock for economic utility.\n\nWildlife Steward Households – Households engaged in conservation.\n\nMulti-Generational Human Households – Economic decisions across different family generations.\n\nExperimental/Laboratory Animal Households – Animals used for scientific study.\n\nCommercial Animal Households – Zoos, sanctuaries, and breeding facilities.\n\nHousehold Types & Becker’s Model\nHousehold Type Application of Becker’s Framework Data Inputs & Outputs Data Collection Methods\nPet-Owning Households Pets contribute to house...") - (truncated #t)) - (comment - (id "imp-0228") - (date "2025-06-12T08:45:40") - (text "A Becker Boundary Document could serve as a structured framework for your students to collect, categorize, and analyze household decision-making data, particularly in relation to animals as economic agents within Becker’s household model.\n\nTo achieve this, here’s a three-part structure for your document:\n\n1. Conceptual Overview (Becker’s Framework Applied to Animal Households)\nPurpose: Establish how Becker’s household economic model applies to different animal-inclusive households.\n\nKey Dimensions:\n\nUtility production (pets, farm animals, conservation efforts).\n\nTime allocation & opportunity cost (care, training, economic investment).\n\nResource distribution & human capital effects (labor, education, household expenditures).\n\nResearch Questions:\n\nHow do households allocate time between animals and other household duties?\n\nWhat economic trade-offs exist for pet owners vs. farm owners?\n\nWhat behavioral economics insights can be gained from household interactions with ...") - (truncated #t)) - (comment - (id "imp-0229") - (date "2025-06-12T08:45:02") - (text "VoID: Structuring Interlinked Data for Household Decision-Making\nGoal: VoID is designed to organize and interconnect large-scale datasets efficiently, making them accessible for structured analysis. In this context, the goal is to create a massive, interconnected dataset capturing household decision-making with animals, integrating economic principles (Becker’s framework), behavioral insights, and structured metadata.\n\nLogical Approach: Why VoID Is the Right Model\nThe logic behind VoID is rooted in data interoperability. Instead of isolated studies remaining disconnected and inaccessible, VoID enables:\n\nStandardized Metadata – Defines entities such as household types, animal interactions, and economic measures, ensuring consistency.\n\nLinked Data Relationships – Establishes connections between different datasets, allowing researchers to cross-reference pet ownership habits with expenditure trends, or farm management with labor distribution.\n\nStructured Queries – Researchers ca...") - (truncated #t)) - (comment - (id "imp-0230") - (date "2025-06-12T07:59:14") - (text "using Plots\n\n# Define Hamster Second Parameters\nfunction joy_absorption(hs)\n return 100 * (1 - exp(-0.1 * hs)) # Simulates initial joy surge\nend\n\nfunction diminishing_returns(hs)\n return 100 * (exp(-0.01 * hs)) # Reduces emotional impact over time\nend\n\nfunction cuteness_toxicity(hs)\n return if hs > 400\n 100 * (1 - exp(-0.005 * (hs - 400))) # Overexposure effect\n else\n 0\n end\nend\n\n# Generate Data\nhs_range = 0:10:600\njoy_levels = joy_absorption.(hs_range)\ndiminishing_levels = diminishing_returns.(hs_range)\ntoxicity_levels = cuteness_toxicity.(hs_range)\n\n# Plot Simulation\nplot(hs_range, joy_levels, label=\"Joy Absorption\", lw=2, color=:blue)\nplot!(hs_range, diminishing_levels, label=\"Diminishing Returns\", lw=2, color=:orange)\nplot!(hs_range, toxicity_levels, label=\"Cuteness Toxicity\", lw=2, color=:red)\ntitle!(\"Hamster Second Exposure Model\")\nxlabel!(\"Hamster Seconds (Hs)\")\nylabel!(\"Emotional Impact (%)\")\nlegend(:topri...") - (truncated #t)) - (comment - (id "imp-0231") - (date "2025-06-12T07:52:39") - (text "\n\n\n \n \n Hamster Safety Data Sheet\n