{
  "date": "2026-10-17",
  "status": "RELEASED SOURCE \u2014 original frontend copies licensed as specified; third-party notices retained",
  "downloads": [
    {
      "name": "djvu-frontend-source-2026-10-17.zip",
      "kind": "frontend-source",
      "bytes": 1299256,
      "sha256": "ecf7944b2d3276e40c65bca26f72b095a710f7377aa6732346ac70ae86d79456"
    },
    {
      "name": "printbridge-frontend-source-2026-10-17.zip",
      "kind": "frontend-source",
      "bytes": 24452823,
      "sha256": "9a26993583e90087c6ab0ad1e45bc9b75fad1e413866330bd61b4992e2ce8e0a",
      "parts": [
        {
          "name": "printbridge-frontend-source-2026-10-17.zip.part01",
          "bytes": 20971520,
          "sha256": "2e2eb390a2e5025ed59d424973812445fd7d12fd0e840f66745f19a303eaa546"
        },
        {
          "name": "printbridge-frontend-source-2026-10-17.zip.part02",
          "bytes": 3481303,
          "sha256": "1b88edbde1d83b0dedbf1a9a382ec7c7aa8b798e978a5d03b2c7f8813b0ad097"
        }
      ]
    },
    {
      "name": "javascript-dependency-sources.zip",
      "kind": "dependency-source",
      "bytes": 6876162,
      "sha256": "adf9bd9db53ba3082fb5889c064d41b427f4dca6f682309afb41e444275cbafe"
    },
    {
      "name": "pymupdf-1.28.2.tar.gz",
      "kind": "upstream-source",
      "bytes": 87903557,
      "sha256": "5e0be7908a715aa20333caddd73f1d6f01e4cd0c26e869fa2dd0b7f344da2249",
      "upstream": {
        "url": "https://files.pythonhosted.org/packages/a3/fb/b6761fa2d5266f2cdb24c3b91f4023070ab7848381417678e7a289a1d52a/pymupdf-1.28.2.tar.gz",
        "sha256": "5e0be7908a715aa20333caddd73f1d6f01e4cd0c26e869fa2dd0b7f344da2249",
        "bytes": 87903557
      },
      "parts": [
        {
          "name": "pymupdf-1.28.2.tar.gz.part01",
          "bytes": 20971520,
          "sha256": "b71b2bbc4d7612ddc328129974cd266755231d0b4ae3982b8fb1ce7a39c86bab"
        },
        {
          "name": "pymupdf-1.28.2.tar.gz.part02",
          "bytes": 20971520,
          "sha256": "a2aedf57f9a2b25f1cc5054313ed815074620505a5041da04cd85aa548241fca"
        },
        {
          "name": "pymupdf-1.28.2.tar.gz.part03",
          "bytes": 20971520,
          "sha256": "abd8dc291ff01ace2a804bd734819126efde40a65c7d0304a9e884c772aa246e"
        },
        {
          "name": "pymupdf-1.28.2.tar.gz.part04",
          "bytes": 20971520,
          "sha256": "502ea01133e1ab96380483b4c7b147c39e3c21ed2cab20f70475eab555b3cbb1"
        },
        {
          "name": "pymupdf-1.28.2.tar.gz.part05",
          "bytes": 4017477,
          "sha256": "51647cabd153f28126ee5798b85cc371ecdab370e99e8398f26e94c882476cd4"
        }
      ]
    },
    {
      "name": "mupdf-1.28.2-source.tar.gz",
      "kind": "upstream-source",
      "bytes": 68898646,
      "sha256": "44075a84e329db55b9bef5f342a70fd26d69e48ad1d33cb89d9664581c641156",
      "upstream": {
        "url": "https://mupdf.com/downloads/archive/mupdf-1.28.2-source.tar.gz",
        "sha256": "44075a84e329db55b9bef5f342a70fd26d69e48ad1d33cb89d9664581c641156",
        "bytes": 68898646
      },
      "parts": [
        {
          "name": "mupdf-1.28.2-source.tar.gz.part01",
          "bytes": 20971520,
          "sha256": "1920ef1199102d271539b116865a41e02edf1d8f911c410e4e3ba2c317f1b448"
        },
        {
          "name": "mupdf-1.28.2-source.tar.gz.part02",
          "bytes": 20971520,
          "sha256": "33915e79220036bf7b531ad51e4934564cf56e652ba4fc455f5ec27d9f3e65b9"
        },
        {
          "name": "mupdf-1.28.2-source.tar.gz.part03",
          "bytes": 20971520,
          "sha256": "d189dce785be55667b79d2644e95a837a06ab3906a12593d6a623ff719d19b6f"
        },
        {
          "name": "mupdf-1.28.2-source.tar.gz.part04",
          "bytes": 5984086,
          "sha256": "7290d379f4c136be3fcb315e178decff03e7791a466add367230194d19618812"
        }
      ]
    },
    {
      "name": "pyodide-0.28.3-source.tar.gz",
      "kind": "upstream-source",
      "bytes": 1519033,
      "sha256": "28b21e4e708077cfc4cbb69f5da175771a08d16519278be6eda1381f076dde5e",
      "upstream": {
        "url": "https://codeload.github.com/pyodide/pyodide/tar.gz/refs/tags/0.28.3",
        "sha256": "28b21e4e708077cfc4cbb69f5da175771a08d16519278be6eda1381f076dde5e",
        "bytes": 1519033
      }
    },
    {
      "name": "pyodide-0.28.3.tgz",
      "kind": "upstream-runtime",
      "bytes": 5586594,
      "sha256": "bc3accb122c2c5d840b26ce56b100a21ab94aea4fe387a5b5c072ec6a88b7a62"
    }
  ],
  "maximumPartBytes": 20971520,
  "licenses": {
    "djvu": "GPL-3.0-only",
    "printbridge": "AGPL-3.0-only"
  },
  "instructions": "Download all parts for a chosen archive, manifest.json and assemble.py into one directory. Run python assemble.py to reconstruct and verify. Extract frontend ZIP and follow README.md; upstream source archives are separate and must accompany publication."
}