{
  "$schema": "https://loremfile.dev/schema/manifest-v1.json",
  "schema_version": 1,
  "catalog_version": "1.2.0",
  "generated_at": "2026-09-22T06:59:34Z",
  "base_url": "https://loremfile.dev/",
  "license": "CC0-1.0",
  "license_url": "https://creativecommons.org/publicdomain/zero/1.0/",
  "source": "https://github.com/kumarprabhashanand/loremfile",
  "toolchain_image": "ghcr.io/kumarprabhashanand/loremfile-toolchain@sha256:1d66d83de2483700858745a9d27120af001588019882098eb67a301fdd2f2ad6",
  "count": 228,
  "total_bytes": 595163271,
  "formats": [
    "7z",
    "aac",
    "aiff",
    "arrow",
    "avi",
    "avif",
    "avro",
    "bin",
    "bmp",
    "bz2",
    "css",
    "csv",
    "der",
    "docx",
    "edge",
    "eml",
    "epub",
    "flac",
    "geojson",
    "gif",
    "gpx",
    "gz",
    "har",
    "hls",
    "html",
    "ico",
    "ics",
    "ini",
    "ipynb",
    "jpg",
    "js",
    "json",
    "kml",
    "kmz",
    "log",
    "m4a",
    "mbox",
    "md",
    "mkv",
    "mov",
    "mp3",
    "mp4",
    "ndjson",
    "ogg",
    "ogv",
    "opus",
    "otf",
    "parquet",
    "pdf",
    "pem",
    "png",
    "pptx",
    "rtf",
    "sql",
    "sqlite",
    "srt",
    "svg",
    "tar",
    "tiff",
    "toml",
    "ts",
    "tsv",
    "ttf",
    "txt",
    "vcf",
    "vtt",
    "wasm",
    "wav",
    "webm",
    "webmanifest",
    "webp",
    "woff",
    "woff2",
    "xlsx",
    "xml",
    "xz",
    "yaml",
    "zip",
    "zst"
  ],
  "fixtures": [
    {
      "path": "7z/3-text-files.7z",
      "url": "https://loremfile.dev/7z/3-text-files.7z",
      "format": "7z",
      "ext": "7z",
      "mime": "application/x-7z-compressed",
      "bytes": 1356,
      "sha256": "096f365bcb768719ba75f2059c07085f29275cbdbda5c762b56e54bb329dc17d",
      "size_class": "free",
      "phase": 1,
      "description": "Three small Lorem Ipsum text files in a 7z archive with LZMA2 compression.",
      "tags": [
        "archive",
        "text"
      ],
      "edge_case": false,
      "props": {
        "entries": 3,
        "directories": 0,
        "encrypted": false,
        "uncompressed_bytes": 3323
      },
      "generator": "archive.sevenzip",
      "generator_params": {
        "count": 3
      },
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "aac/adts-30s.aac",
      "url": "https://loremfile.dev/aac/adts-30s.aac",
      "format": "aac",
      "ext": "aac",
      "mime": "audio/aac",
      "bytes": 490385,
      "sha256": "025d763833640583eb310b7c016b4e1beefc884c57c3faafd92111f2d3d8da23",
      "size_class": "free",
      "phase": 1,
      "description": "A 440 Hz sine wave, thirty seconds, 48 kHz stereo AAC at 128 kbps as a raw ADTS stream.",
      "tags": [
        "audio",
        "codec-aac"
      ],
      "edge_case": false,
      "props": {
        "duration_ms": 30042,
        "video_streams": 0,
        "audio_streams": 1,
        "subtitle_streams": 0,
        "acodec": "aac",
        "sample_rate": 48000,
        "channels": 2
      },
      "generator": "media_audio.encoded",
      "generator_params": {
        "codec": "aac",
        "duration": 30,
        "bitrate": "128k",
        "container": "adts"
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "aiff/3s.aiff",
      "url": "https://loremfile.dev/aiff/3s.aiff",
      "format": "aiff",
      "ext": "aiff",
      "mime": "audio/aiff",
      "bytes": 529254,
      "sha256": "adb6ccfcc326d079189b74ac88b7da5ea1dca42b556db47d29e300c45829e610",
      "size_class": "free",
      "phase": 1,
      "description": "A 440 Hz sine wave: three seconds of 44.1 kHz, 16-bit, stereo big-endian PCM.",
      "tags": [
        "audio"
      ],
      "edge_case": false,
      "props": {
        "duration_ms": 3000,
        "video_streams": 0,
        "audio_streams": 1,
        "subtitle_streams": 0,
        "acodec": "pcm_s16be",
        "sample_rate": 44100,
        "channels": 2
      },
      "generator": "media_audio.pcm",
      "generator_params": {
        "duration": 3,
        "sample_rate": 44100,
        "bits": 16,
        "channels": 2,
        "container": "aiff"
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "arrow/people-1000.arrow",
      "url": "https://loremfile.dev/arrow/people-1000.arrow",
      "format": "arrow",
      "ext": "arrow",
      "mime": "application/vnd.apache.arrow.file",
      "bytes": 260674,
      "sha256": "52e3d2033bec6ffd5cd01e29c4dba5aef170f646b4339f2e4b4e5456d75b416f",
      "size_class": "free",
      "phase": 1,
      "description": "1,000 rows of the shared people dataset in the Arrow IPC file format (not the stream format), one record batch.",
      "tags": [
        "data",
        "dataset-people"
      ],
      "edge_case": false,
      "props": {
        "rows": 1000,
        "columns": 14,
        "row_groups": 1,
        "column_names": [
          "id",
          "first_name",
          "last_name",
          "email",
          "phone",
          "street",
          "city",
          "country",
          "birth_date",
          "signup_at",
          "balance",
          "is_active",
          "tags",
          "bio"
        ]
      },
      "generator": "columnar.arrow_people",
      "generator_params": {
        "rows": 1000
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "avi/640x480-5s.avi",
      "url": "https://loremfile.dev/avi/640x480-5s.avi",
      "format": "avi",
      "ext": "avi",
      "mime": "video/x-msvideo",
      "bytes": 1734596,
      "sha256": "30db7d163cc591c4253792e38af294566a1ab3d589c94944d914d9f8a40c1521",
      "size_class": "free",
      "phase": 1,
      "description": "640x480 at 30 fps, five seconds, MPEG-4 Part 2 video with MP3 audio.",
      "tags": [
        "video",
        "codec-mp3"
      ],
      "edge_case": false,
      "props": {
        "duration_ms": 5040,
        "video_streams": 1,
        "audio_streams": 1,
        "subtitle_streams": 0,
        "width": 640,
        "height": 480,
        "vcodec": "mpeg4",
        "fps": 30.0,
        "acodec": "mp3",
        "sample_rate": 48000,
        "channels": 1
      },
      "generator": "media_video.avi",
      "generator_params": {
        "width": 640,
        "height": 480,
        "duration": 5
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "avif/640x480.avif",
      "url": "https://loremfile.dev/avif/640x480.avif",
      "format": "avif",
      "ext": "avif",
      "mime": "image/avif",
      "bytes": 1284,
      "sha256": "c8e3c01650f906bed2073056b23fdaf3f7373b23bbb4ad006d8b06ef30d7c681",
      "size_class": "free",
      "phase": 1,
      "description": "A colour-bar test card with a border, centre cross and a label giving the dimensions and mode, encoded to AVIF with avifenc at speed 6, single-threaded.",
      "tags": [
        "image"
      ],
      "edge_case": false,
      "props": {
        "width": 640,
        "height": 480,
        "mode": "RGB",
        "frames": 1,
        "animated": false,
        "format": "avif",
        "progressive": false
      },
      "generator": "image.avif_from_png",
      "generator_params": {
        "width": 640,
        "height": 480,
        "quality": 60
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "avro/people-1000.avro",
      "url": "https://loremfile.dev/avro/people-1000.avro",
      "format": "avro",
      "ext": "avro",
      "mime": "application/avro",
      "bytes": 109157,
      "sha256": "5222ff857db756363624c0e5ccd80578865b8dfb2155d3dabda89f9ebb979978",
      "size_class": "free",
      "phase": 1,
      "description": "1,000 rows of the shared people dataset as Avro, deflate-compressed, with the writer schema embedded in the file header.",
      "tags": [
        "data",
        "dataset-people"
      ],
      "edge_case": false,
      "props": {
        "rows": 1000,
        "columns": 14,
        "compression": "deflate",
        "column_names": [
          "id",
          "first_name",
          "last_name",
          "email",
          "phone",
          "street",
          "city",
          "country",
          "birth_date",
          "signup_at",
          "balance",
          "is_active",
          "tags",
          "bio"
        ]
      },
      "generator": "columnar.avro_people",
      "generator_params": {
        "rows": 1000
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "bin/1-byte.bin",
      "url": "https://loremfile.dev/bin/1-byte.bin",
      "format": "bin",
      "ext": "bin",
      "mime": "application/octet-stream",
      "bytes": 1,
      "sha256": "6e340b9cffb37a989ca544e6bb780a2c78901d3fb33738768511a30617afa01d",
      "size_class": "exact",
      "phase": 1,
      "description": "A single NUL byte. The smallest non-empty file, for minimum-size and off-by-one checks.",
      "tags": [
        "binary",
        "boundary"
      ],
      "edge_case": false,
      "props": {
        "pattern": "zeros"
      },
      "generator": "binary.zeros",
      "generator_params": {
        "size": 1
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "bin/100kb.bin",
      "url": "https://loremfile.dev/bin/100kb.bin",
      "format": "bin",
      "ext": "bin",
      "mime": "application/octet-stream",
      "bytes": 100000,
      "sha256": "1cafc20f3681bd54dadc3ca599da92f3c872a230877f1a02d8443abe5e31e6ab",
      "size_class": "exact",
      "phase": 1,
      "description": "Exactly 100,000 bytes of high-entropy SHAKE-256 output (decimal units). Incompressible, so transfer sizes are honest.",
      "tags": [
        "binary",
        "sized"
      ],
      "edge_case": false,
      "props": {
        "pattern": "shake256"
      },
      "generator": "binary.shake",
      "generator_params": {
        "size": 100000
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "bin/100mb.bin",
      "url": "https://loremfile.dev/bin/100mb.bin",
      "format": "bin",
      "ext": "bin",
      "mime": "application/octet-stream",
      "bytes": 100000000,
      "sha256": "91c606b058d7574e4464aecb439f2cb35610e3256e792e1ddcaf59f8cc6daa06",
      "size_class": "exact",
      "phase": 1,
      "description": "Exactly 100,000,000 bytes of high-entropy SHAKE-256 output (decimal units). Incompressible, so transfer sizes are honest.",
      "tags": [
        "binary",
        "sized"
      ],
      "edge_case": false,
      "props": {
        "pattern": "shake256"
      },
      "generator": "binary.shake",
      "generator_params": {
        "size": 100000000
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "bin/10kb.bin",
      "url": "https://loremfile.dev/bin/10kb.bin",
      "format": "bin",
      "ext": "bin",
      "mime": "application/octet-stream",
      "bytes": 10000,
      "sha256": "4324b36a696da2adca177b18e7ef92e9bff56539c139f02e131d900d7a4bd4c8",
      "size_class": "exact",
      "phase": 1,
      "description": "Exactly 10,000 bytes of high-entropy SHAKE-256 output (decimal units). Incompressible, so transfer sizes are honest.",
      "tags": [
        "binary",
        "sized"
      ],
      "edge_case": false,
      "props": {
        "pattern": "shake256"
      },
      "generator": "binary.shake",
      "generator_params": {
        "size": 10000
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "bin/10mb-minus-1.bin",
      "url": "https://loremfile.dev/bin/10mb-minus-1.bin",
      "format": "bin",
      "ext": "bin",
      "mime": "application/octet-stream",
      "bytes": 9999999,
      "sha256": "e902c1449d86f1c3a0d429235df6d00668b2e137cbe5d050acf5480936a75c72",
      "size_class": "boundary",
      "phase": 1,
      "description": "Exactly one byte under 10mb, for testing an upload limit's boundary rather than its middle.",
      "tags": [
        "binary",
        "boundary",
        "sized"
      ],
      "edge_case": false,
      "props": {
        "pattern": "shake256"
      },
      "generator": "binary.shake",
      "generator_params": {
        "size": 9999999
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "bin/10mb-plus-1.bin",
      "url": "https://loremfile.dev/bin/10mb-plus-1.bin",
      "format": "bin",
      "ext": "bin",
      "mime": "application/octet-stream",
      "bytes": 10000001,
      "sha256": "b87d12c8003dd2147e04d77ddde17d6ac91b410d1cda0f3c6937a62aaa64aa4c",
      "size_class": "boundary",
      "phase": 1,
      "description": "Exactly one byte over 10mb, for testing an upload limit's boundary rather than its middle.",
      "tags": [
        "binary",
        "boundary",
        "sized"
      ],
      "edge_case": false,
      "props": {
        "pattern": "shake256"
      },
      "generator": "binary.shake",
      "generator_params": {
        "size": 10000001
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "bin/10mb.bin",
      "url": "https://loremfile.dev/bin/10mb.bin",
      "format": "bin",
      "ext": "bin",
      "mime": "application/octet-stream",
      "bytes": 10000000,
      "sha256": "c1c3d1806aab7902ef54c5a115b49d13c75bf33aab2ace9690059cc47746f3c8",
      "size_class": "exact",
      "phase": 1,
      "description": "Exactly 10,000,000 bytes of high-entropy SHAKE-256 output (decimal units). Incompressible, so transfer sizes are honest.",
      "tags": [
        "binary",
        "sized"
      ],
      "edge_case": false,
      "props": {
        "pattern": "shake256"
      },
      "generator": "binary.shake",
      "generator_params": {
        "size": 10000000
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "bin/10mib-minus-1.bin",
      "url": "https://loremfile.dev/bin/10mib-minus-1.bin",
      "format": "bin",
      "ext": "bin",
      "mime": "application/octet-stream",
      "bytes": 10485759,
      "sha256": "47fbe2a6260da9b09b1316f17e4fbce517a276356ee705ab9c8c5881f5bc9c6c",
      "size_class": "boundary",
      "phase": 1,
      "description": "Exactly one byte under 10mib, for testing an upload limit's boundary rather than its middle.",
      "tags": [
        "binary",
        "boundary",
        "sized"
      ],
      "edge_case": false,
      "props": {
        "pattern": "shake256"
      },
      "generator": "binary.shake",
      "generator_params": {
        "size": 10485759
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "bin/10mib-plus-1.bin",
      "url": "https://loremfile.dev/bin/10mib-plus-1.bin",
      "format": "bin",
      "ext": "bin",
      "mime": "application/octet-stream",
      "bytes": 10485761,
      "sha256": "c278c7fb096eb6b2c6afe0d9745088d51ff1b23f3e8f292a527237739fd8b243",
      "size_class": "boundary",
      "phase": 1,
      "description": "Exactly one byte over 10mib, for testing an upload limit's boundary rather than its middle.",
      "tags": [
        "binary",
        "boundary",
        "sized"
      ],
      "edge_case": false,
      "props": {
        "pattern": "shake256"
      },
      "generator": "binary.shake",
      "generator_params": {
        "size": 10485761
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "bin/10mib.bin",
      "url": "https://loremfile.dev/bin/10mib.bin",
      "format": "bin",
      "ext": "bin",
      "mime": "application/octet-stream",
      "bytes": 10485760,
      "sha256": "8b61143960294ef0b15ef78c9bdf8a93d348bc6eb5b4d25b5275786deb7286a5",
      "size_class": "exact",
      "phase": 1,
      "description": "Exactly 10,485,760 bytes of high-entropy SHAKE-256 output (binary units). Incompressible, so transfer sizes are honest.",
      "tags": [
        "binary",
        "sized"
      ],
      "edge_case": false,
      "props": {
        "pattern": "shake256"
      },
      "generator": "binary.shake",
      "generator_params": {
        "size": 10485760
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "bin/1kb.bin",
      "url": "https://loremfile.dev/bin/1kb.bin",
      "format": "bin",
      "ext": "bin",
      "mime": "application/octet-stream",
      "bytes": 1000,
      "sha256": "b181d555c3239350cc0cb7909cf775b9713886ef832333fdc6f4e16fa29a67ff",
      "size_class": "exact",
      "phase": 1,
      "description": "Exactly 1,000 bytes of high-entropy SHAKE-256 output (decimal units). Incompressible, so transfer sizes are honest.",
      "tags": [
        "binary",
        "sized"
      ],
      "edge_case": false,
      "props": {
        "pattern": "shake256"
      },
      "generator": "binary.shake",
      "generator_params": {
        "size": 1000
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "bin/1kib.bin",
      "url": "https://loremfile.dev/bin/1kib.bin",
      "format": "bin",
      "ext": "bin",
      "mime": "application/octet-stream",
      "bytes": 1024,
      "sha256": "349f21852239b51841dad4077a2ee623ccbc63689a9b7332f6b9b505cf0f5321",
      "size_class": "exact",
      "phase": 1,
      "description": "Exactly 1,024 bytes of high-entropy SHAKE-256 output (binary units). Incompressible, so transfer sizes are honest.",
      "tags": [
        "binary",
        "sized"
      ],
      "edge_case": false,
      "props": {
        "pattern": "shake256"
      },
      "generator": "binary.shake",
      "generator_params": {
        "size": 1024
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "bin/1mb-minus-1.bin",
      "url": "https://loremfile.dev/bin/1mb-minus-1.bin",
      "format": "bin",
      "ext": "bin",
      "mime": "application/octet-stream",
      "bytes": 999999,
      "sha256": "f166cac06117b42d76eac5e83c66758ed8c15d363d8d0f06888efe21378112be",
      "size_class": "boundary",
      "phase": 1,
      "description": "Exactly one byte under 1mb, for testing an upload limit's boundary rather than its middle.",
      "tags": [
        "binary",
        "boundary",
        "sized"
      ],
      "edge_case": false,
      "props": {
        "pattern": "shake256"
      },
      "generator": "binary.shake",
      "generator_params": {
        "size": 999999
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "bin/1mb-plus-1.bin",
      "url": "https://loremfile.dev/bin/1mb-plus-1.bin",
      "format": "bin",
      "ext": "bin",
      "mime": "application/octet-stream",
      "bytes": 1000001,
      "sha256": "0471e9355c40fc85716d52f00e088146c4028f166c24d14362be41166b547444",
      "size_class": "boundary",
      "phase": 1,
      "description": "Exactly one byte over 1mb, for testing an upload limit's boundary rather than its middle.",
      "tags": [
        "binary",
        "boundary",
        "sized"
      ],
      "edge_case": false,
      "props": {
        "pattern": "shake256"
      },
      "generator": "binary.shake",
      "generator_params": {
        "size": 1000001
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "bin/1mb.bin",
      "url": "https://loremfile.dev/bin/1mb.bin",
      "format": "bin",
      "ext": "bin",
      "mime": "application/octet-stream",
      "bytes": 1000000,
      "sha256": "03eae64884613c3475a6dc48fc80cae57effc51a2a8e99f8566648c8c0eb6305",
      "size_class": "exact",
      "phase": 1,
      "description": "Exactly 1,000,000 bytes of high-entropy SHAKE-256 output (decimal units). Incompressible, so transfer sizes are honest.",
      "tags": [
        "binary",
        "sized"
      ],
      "edge_case": false,
      "props": {
        "pattern": "shake256"
      },
      "generator": "binary.shake",
      "generator_params": {
        "size": 1000000
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "bin/1mib-minus-1.bin",
      "url": "https://loremfile.dev/bin/1mib-minus-1.bin",
      "format": "bin",
      "ext": "bin",
      "mime": "application/octet-stream",
      "bytes": 1048575,
      "sha256": "cada4eefeb3c0ae79f80f6760d5bb695dc8d25d9c49098a20edd32501f804f4d",
      "size_class": "boundary",
      "phase": 1,
      "description": "Exactly one byte under 1mib, for testing an upload limit's boundary rather than its middle.",
      "tags": [
        "binary",
        "boundary",
        "sized"
      ],
      "edge_case": false,
      "props": {
        "pattern": "shake256"
      },
      "generator": "binary.shake",
      "generator_params": {
        "size": 1048575
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "bin/1mib-plus-1.bin",
      "url": "https://loremfile.dev/bin/1mib-plus-1.bin",
      "format": "bin",
      "ext": "bin",
      "mime": "application/octet-stream",
      "bytes": 1048577,
      "sha256": "d40cc51ba5f93b8660d0efae0f51ed47e23cfdaa3ad365afc19d9f84d75d64b9",
      "size_class": "boundary",
      "phase": 1,
      "description": "Exactly one byte over 1mib, for testing an upload limit's boundary rather than its middle.",
      "tags": [
        "binary",
        "boundary",
        "sized"
      ],
      "edge_case": false,
      "props": {
        "pattern": "shake256"
      },
      "generator": "binary.shake",
      "generator_params": {
        "size": 1048577
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "bin/1mib.bin",
      "url": "https://loremfile.dev/bin/1mib.bin",
      "format": "bin",
      "ext": "bin",
      "mime": "application/octet-stream",
      "bytes": 1048576,
      "sha256": "16671d869f6fe6f2dd2947e602b1c20da20e385dd12cc5b53ea88412de4f0c18",
      "size_class": "exact",
      "phase": 1,
      "description": "Exactly 1,048,576 bytes of high-entropy SHAKE-256 output (binary units). Incompressible, so transfer sizes are honest.",
      "tags": [
        "binary",
        "sized"
      ],
      "edge_case": false,
      "props": {
        "pattern": "shake256"
      },
      "generator": "binary.shake",
      "generator_params": {
        "size": 1048576
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "bin/50mb.bin",
      "url": "https://loremfile.dev/bin/50mb.bin",
      "format": "bin",
      "ext": "bin",
      "mime": "application/octet-stream",
      "bytes": 50000000,
      "sha256": "7b9f6b2383880b89d5cb2e702028221ec8caf6bb92eada9117b25fc8ae2d8353",
      "size_class": "exact",
      "phase": 1,
      "description": "Exactly 50,000,000 bytes of high-entropy SHAKE-256 output (decimal units). Incompressible, so transfer sizes are honest.",
      "tags": [
        "binary",
        "sized"
      ],
      "edge_case": false,
      "props": {
        "pattern": "shake256"
      },
      "generator": "binary.shake",
      "generator_params": {
        "size": 50000000
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "bin/incrementing-1mb.bin",
      "url": "https://loremfile.dev/bin/incrementing-1mb.bin",
      "format": "bin",
      "ext": "bin",
      "mime": "application/octet-stream",
      "bytes": 1000000,
      "sha256": "67870dfc9c64e7aa270a3f7e8051ae65d207f93fc3df04d7572e6365af69cd0d",
      "size_class": "exact",
      "phase": 1,
      "description": "One megabyte of 0x00-0xFF repeating. Every byte value appears and any offset is obvious by eye, which makes range requests easy to check.",
      "tags": [
        "binary",
        "sized"
      ],
      "edge_case": false,
      "props": {
        "pattern": "incrementing"
      },
      "generator": "binary.incrementing",
      "generator_params": {
        "size": 1000000
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "bin/ones-1mb.bin",
      "url": "https://loremfile.dev/bin/ones-1mb.bin",
      "format": "bin",
      "ext": "bin",
      "mime": "application/octet-stream",
      "bytes": 1000000,
      "sha256": "bfa872a3021d48c84643f831ee5f9358bceccf3ad6a5f8b3a7a00e0b3f22bdbc",
      "size_class": "exact",
      "phase": 1,
      "description": "One megabyte of 0xFF bytes.",
      "tags": [
        "binary",
        "sized"
      ],
      "edge_case": false,
      "props": {
        "pattern": "ones"
      },
      "generator": "binary.ones",
      "generator_params": {
        "size": 1000000
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "bin/zeros-10mb.bin",
      "url": "https://loremfile.dev/bin/zeros-10mb.bin",
      "format": "bin",
      "ext": "bin",
      "mime": "application/octet-stream",
      "bytes": 10000000,
      "sha256": "f5e02aa71e67f41d79023a128ca35bad86cf7b6656967bfe0884b3a3c4325eaf",
      "size_class": "exact",
      "phase": 1,
      "description": "Ten megabytes of NUL bytes, for compression and sparse-file behaviour.",
      "tags": [
        "binary",
        "sized"
      ],
      "edge_case": false,
      "props": {
        "pattern": "zeros"
      },
      "generator": "binary.zeros",
      "generator_params": {
        "size": 10000000
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "bin/zeros-1mb.bin",
      "url": "https://loremfile.dev/bin/zeros-1mb.bin",
      "format": "bin",
      "ext": "bin",
      "mime": "application/octet-stream",
      "bytes": 1000000,
      "sha256": "d29751f2649b32ff572b5e0a9f541ea660a50f94ff0beedfb0b692b924cc8025",
      "size_class": "exact",
      "phase": 1,
      "description": "One megabyte of NUL bytes. Compresses to almost nothing, which is the point.",
      "tags": [
        "binary",
        "sized"
      ],
      "edge_case": false,
      "props": {
        "pattern": "zeros"
      },
      "generator": "binary.zeros",
      "generator_params": {
        "size": 1000000
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "bmp/24bit-256x256.bmp",
      "url": "https://loremfile.dev/bmp/24bit-256x256.bmp",
      "format": "bmp",
      "ext": "bmp",
      "mime": "image/bmp",
      "bytes": 196662,
      "sha256": "f6030a36778514f5f7bcb74a2266d24a3614730668e104cfb58b970ad0fd8a30",
      "size_class": "free",
      "phase": 1,
      "description": "A colour-bar test card with a border, centre cross and a label giving the dimensions and mode, uncompressed 24-bit BMP.",
      "tags": [
        "image"
      ],
      "edge_case": false,
      "props": {
        "width": 256,
        "height": 256,
        "mode": "RGB",
        "frames": 1,
        "animated": false,
        "format": "bmp",
        "progressive": false
      },
      "generator": "image.testcard",
      "generator_params": {
        "width": 256,
        "height": 256,
        "fmt": "BMP"
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "bz2/lorem-1mb.txt.bz2",
      "url": "https://loremfile.dev/bz2/lorem-1mb.txt.bz2",
      "format": "bz2",
      "ext": "txt.bz2",
      "mime": "application/x-bzip2",
      "bytes": 151824,
      "sha256": "dd76e4d5e02c249359f9f9a89b97f9e0f9faba7a9f071785f33b80f6df22d4cd",
      "size_class": "free",
      "phase": 1,
      "description": "Exactly 1,000,000 bytes of Lorem Ipsum compressed as a single bzip2 stream, so the compression ratio is that of ordinary text.",
      "tags": [
        "archive",
        "text"
      ],
      "edge_case": false,
      "props": {
        "compression": "bz2",
        "members": 1,
        "uncompressed_bytes": 1000000
      },
      "generator": "archive.compressed_text",
      "generator_params": {
        "size": 1000000,
        "kind": "bz2"
      },
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "css/basic.css",
      "url": "https://loremfile.dev/css/basic.css",
      "format": "css",
      "ext": "css",
      "mime": "text/css; charset=utf-8",
      "bytes": 579,
      "sha256": "8473e4d88c5f179f138ee8d35c711dbe5f3f0eb77714eb442f921d37d2242972",
      "size_class": "free",
      "phase": 1,
      "description": "A small stylesheet with custom properties, a grid layout, a media query for dark mode and a feature query.",
      "tags": [
        "web",
        "text"
      ],
      "edge_case": false,
      "props": {
        "rules": 10,
        "at_rules": 2,
        "custom_properties": 9
      },
      "generator": "web.css_basic",
      "generator_params": {},
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "csv/10mb.csv",
      "url": "https://loremfile.dev/csv/10mb.csv",
      "format": "csv",
      "ext": "csv",
      "mime": "text/csv; charset=utf-8",
      "bytes": 9749583,
      "sha256": "2cc79929706451724223af6de04711327fcf0629bda08a623dfaa5397bc3eaf5",
      "size_class": "approx",
      "phase": 1,
      "description": "About 10MB of people rows, fitted to within 5% of the nominal size. Still a prefix of the same dataset.",
      "tags": [
        "data",
        "dataset-people",
        "sized"
      ],
      "edge_case": false,
      "props": {
        "encoding": "utf-8",
        "bom": false,
        "line_ending": "lf",
        "lines": 38462,
        "max_line_bytes": 379,
        "rows": 38461,
        "columns": 14,
        "delimiter": ",",
        "has_header": true,
        "quoted_fields": false
      },
      "generator": "data.csv_sized",
      "generator_params": {
        "size": 10000000
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "csv/1mb.csv",
      "url": "https://loremfile.dev/csv/1mb.csv",
      "format": "csv",
      "ext": "csv",
      "mime": "text/csv; charset=utf-8",
      "bytes": 965447,
      "sha256": "349847940e5b32738c0984d0bb6b7d3e170c5ecd1afb47291da675b146f07726",
      "size_class": "approx",
      "phase": 1,
      "description": "About 1MB of people rows, fitted to within 5% of the nominal size. Still a prefix of the same dataset.",
      "tags": [
        "data",
        "dataset-people",
        "sized"
      ],
      "edge_case": false,
      "props": {
        "encoding": "utf-8",
        "bom": false,
        "line_ending": "lf",
        "lines": 3847,
        "max_line_bytes": 375,
        "rows": 3846,
        "columns": 14,
        "delimiter": ",",
        "has_header": true,
        "quoted_fields": false
      },
      "generator": "data.csv_sized",
      "generator_params": {
        "size": 1000000
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "csv/people-10-quoted-newlines.csv",
      "url": "https://loremfile.dev/csv/people-10-quoted-newlines.csv",
      "format": "csv",
      "ext": "csv",
      "mime": "text/csv; charset=utf-8",
      "bytes": 2697,
      "sha256": "95f102f3c59a616c92bad2eadfae97c8081daee2722b87a11e5bddd0e061c160",
      "size_class": "free",
      "phase": 1,
      "description": "Ten people rows where the bio field contains a real newline inside a quoted field, which is where line-by-line splitting goes wrong.",
      "tags": [
        "data",
        "dataset-people"
      ],
      "edge_case": false,
      "props": {
        "encoding": "utf-8",
        "bom": false,
        "line_ending": "lf",
        "lines": 20,
        "max_line_bytes": 202,
        "rows": 10,
        "columns": 14,
        "delimiter": ",",
        "has_header": true,
        "quoted_fields": true
      },
      "generator": "data.csv_people",
      "generator_params": {
        "rows": 10,
        "quoted_newlines": true
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "csv/people-10-semicolon.csv",
      "url": "https://loremfile.dev/csv/people-10-semicolon.csv",
      "format": "csv",
      "ext": "csv",
      "mime": "text/csv; charset=utf-8",
      "bytes": 2679,
      "sha256": "31a1de884bdb372bb6b5a5e0ada211f8acd4e07f2c8068458cedb3cc49c30346",
      "size_class": "free",
      "phase": 1,
      "description": "The same ten people rows delimited by semicolons, as European locales export.",
      "tags": [
        "data",
        "dataset-people"
      ],
      "edge_case": false,
      "props": {
        "encoding": "utf-8",
        "bom": false,
        "line_ending": "lf",
        "lines": 11,
        "max_line_bytes": 342,
        "rows": 10,
        "columns": 14,
        "delimiter": ";",
        "has_header": true,
        "quoted_fields": false
      },
      "generator": "data.csv_people",
      "generator_params": {
        "rows": 10,
        "delimiter": ";"
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "csv/people-10-utf8-bom.csv",
      "url": "https://loremfile.dev/csv/people-10-utf8-bom.csv",
      "format": "csv",
      "ext": "csv",
      "mime": "text/csv; charset=utf-8",
      "bytes": 2682,
      "sha256": "cf14b9d8523c5d3d6a26dd13ceaaf8c953b175a560044a5820fb117eeb1c69a5",
      "size_class": "free",
      "phase": 1,
      "description": "Ten people rows preceded by a UTF-8 byte-order mark, which many CSV readers leave attached to the first column name.",
      "tags": [
        "data",
        "dataset-people",
        "encoding"
      ],
      "edge_case": false,
      "props": {
        "encoding": "utf-8",
        "bom": true,
        "line_ending": "lf",
        "lines": 11,
        "max_line_bytes": 342,
        "rows": 10,
        "columns": 14,
        "delimiter": ",",
        "has_header": true,
        "quoted_fields": false
      },
      "generator": "data.csv_people",
      "generator_params": {
        "rows": 10,
        "bom": true
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "csv/people-10.csv",
      "url": "https://loremfile.dev/csv/people-10.csv",
      "format": "csv",
      "ext": "csv",
      "mime": "text/csv; charset=utf-8",
      "bytes": 2679,
      "sha256": "5b51c9c031ef0c7d098909ce79cd573300e75cb922ffe485bc47ebb8c8ea118b",
      "size_class": "free",
      "phase": 1,
      "description": "10 rows of the shared synthetic people dataset with a header row. The same rows appear in every other people-10 fixture.",
      "tags": [
        "data",
        "dataset-people"
      ],
      "edge_case": false,
      "props": {
        "encoding": "utf-8",
        "bom": false,
        "line_ending": "lf",
        "lines": 11,
        "max_line_bytes": 342,
        "rows": 10,
        "columns": 14,
        "delimiter": ",",
        "has_header": true,
        "quoted_fields": false
      },
      "generator": "data.csv_people",
      "generator_params": {
        "rows": 10
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "csv/people-1000.csv",
      "url": "https://loremfile.dev/csv/people-1000.csv",
      "format": "csv",
      "ext": "csv",
      "mime": "text/csv; charset=utf-8",
      "bytes": 249645,
      "sha256": "415edcfa97d82e5e532d5582d854fb836ab7a2167a1ea49c74e4e851719b586f",
      "size_class": "free",
      "phase": 1,
      "description": "1,000 rows of the shared synthetic people dataset with a header row. The same rows appear in every other people-1000 fixture.",
      "tags": [
        "data",
        "dataset-people"
      ],
      "edge_case": false,
      "props": {
        "encoding": "utf-8",
        "bom": false,
        "line_ending": "lf",
        "lines": 1001,
        "max_line_bytes": 369,
        "rows": 1000,
        "columns": 14,
        "delimiter": ",",
        "has_header": true,
        "quoted_fields": false
      },
      "generator": "data.csv_people",
      "generator_params": {
        "rows": 1000
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "csv/people-100k.csv",
      "url": "https://loremfile.dev/csv/people-100k.csv",
      "format": "csv",
      "ext": "csv",
      "mime": "text/csv; charset=utf-8",
      "bytes": 25395296,
      "sha256": "d698f2d2c402f109796d225b0a9ad7123347bdcdc31965a9cacf879a10a43885",
      "size_class": "free",
      "phase": 1,
      "description": "100,000 rows of the shared synthetic people dataset with a header row. The same rows appear in every other people-100k fixture.",
      "tags": [
        "data",
        "dataset-people"
      ],
      "edge_case": false,
      "props": {
        "encoding": "utf-8",
        "bom": false,
        "line_ending": "lf",
        "lines": 100001,
        "max_line_bytes": 380,
        "rows": 100000,
        "columns": 14,
        "delimiter": ",",
        "has_header": true,
        "quoted_fields": false
      },
      "generator": "data.csv_people",
      "generator_params": {
        "rows": 100000
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "der/self-signed-ed25519-cert.der",
      "url": "https://loremfile.dev/der/self-signed-ed25519-cert.der",
      "format": "der",
      "ext": "der",
      "mime": "application/pkix-cert",
      "bytes": 359,
      "sha256": "6a8241d991bef7242d2dce1dcb55bf4509a1949ddb4c107ad8424d5c1a18c551",
      "size_class": "free",
      "phase": 1,
      "description": "The self-signed Ed25519 certificate for fixture.example in binary DER encoding, byte for byte the same certificate as the PEM fixture.",
      "tags": [
        "binary"
      ],
      "edge_case": false,
      "props": {
        "kind": "certificate",
        "subject_cn": "fixture.example",
        "issuer_cn": "fixture.example",
        "self_signed": true,
        "algorithm": "ed25519",
        "serial": 1409983142208024964197,
        "dns_names": [
          "fixture.example"
        ],
        "has_private_key": false
      },
      "generator": "cert.self_signed_certificate",
      "generator_params": {
        "encoding": "der"
      },
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "docx/10mb.docx",
      "url": "https://loremfile.dev/docx/10mb.docx",
      "format": "docx",
      "ext": "docx",
      "mime": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
      "bytes": 10110885,
      "sha256": "167506d57ee99c0537bb27f77f45a4ab379c9a1bf0eaf75b6dd948d808dcb7e6",
      "size_class": "approx",
      "phase": 1,
      "description": "About 10MB: one Lorem Ipsum paragraph per embedded incompressible seeded-noise PNG, so the size is honest rather than padded.",
      "tags": [
        "document",
        "sized",
        "image",
        "large"
      ],
      "edge_case": false,
      "props": {
        "paragraphs": 52,
        "tables": 0,
        "table_rows": 0,
        "images": 51,
        "words": 3371
      },
      "generator": "office.docx_sized",
      "generator_params": {
        "size": 10000000
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "docx/1mb.docx",
      "url": "https://loremfile.dev/docx/1mb.docx",
      "format": "docx",
      "ext": "docx",
      "mime": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
      "bytes": 1024867,
      "sha256": "fa18a9869daf153cf362bf10cb0df3b5658a000190cda563af586a86e7742525",
      "size_class": "approx",
      "phase": 1,
      "description": "About 1MB: one Lorem Ipsum paragraph per embedded incompressible seeded-noise PNG, so the size is honest rather than padded.",
      "tags": [
        "document",
        "sized",
        "image"
      ],
      "edge_case": false,
      "props": {
        "paragraphs": 6,
        "tables": 0,
        "table_rows": 0,
        "images": 5,
        "words": 354
      },
      "generator": "office.docx_sized",
      "generator_params": {
        "size": 1000000
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "docx/1page.docx",
      "url": "https://loremfile.dev/docx/1page.docx",
      "format": "docx",
      "ext": "docx",
      "mime": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
      "bytes": 37209,
      "sha256": "955ad6f8d4da5ce212dc0ce961598e2ccc8cfe26a5940ed925da59941e29f3c8",
      "size_class": "free",
      "phase": 1,
      "description": "One page: a heading and three paragraphs of Lorem Ipsum in the default Word styles. The page count is what Word renders it as; .docx stores no page count of its own.",
      "tags": [
        "document",
        "text"
      ],
      "edge_case": false,
      "props": {
        "paragraphs": 4,
        "tables": 0,
        "table_rows": 0,
        "images": 0,
        "words": 170
      },
      "generator": "office.docx_basic",
      "generator_params": {
        "paragraphs": 3
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "docx/with-images.docx",
      "url": "https://loremfile.dev/docx/with-images.docx",
      "format": "docx",
      "ext": "docx",
      "mime": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
      "bytes": 41377,
      "sha256": "232214dc50d763d22c43c8c351897e59ee9525b58b262e401d0a3589601e68ea",
      "size_class": "free",
      "phase": 1,
      "description": "Two published PNG fixtures embedded as pictures, read from the bytes that were actually published rather than regenerated.",
      "tags": [
        "document",
        "image"
      ],
      "edge_case": false,
      "props": {
        "paragraphs": 3,
        "tables": 0,
        "table_rows": 0,
        "images": 2,
        "words": 167
      },
      "generator": "office.docx_with_images",
      "generator_params": {
        "images": [
          "png/100x100.png",
          "png/640x480.png"
        ]
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "docx/with-table.docx",
      "url": "https://loremfile.dev/docx/with-table.docx",
      "format": "docx",
      "ext": "docx",
      "mime": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
      "bytes": 37092,
      "sha256": "8d3f871d805825bf26ed9cb92ff05b8b196aa29d14f93531db5c4787ee57844f",
      "size_class": "free",
      "phase": 1,
      "description": "A ten-row table of the shared people dataset with a bold header row, in the Table Grid style.",
      "tags": [
        "document",
        "dataset-people"
      ],
      "edge_case": false,
      "props": {
        "paragraphs": 1,
        "tables": 1,
        "table_rows": 11,
        "images": 0,
        "words": 1
      },
      "generator": "office.docx_with_table",
      "generator_params": {
        "rows": 10
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "edge/csv-ragged-rows.csv",
      "url": "https://loremfile.dev/edge/csv-ragged-rows.csv",
      "format": "edge",
      "ext": "csv",
      "mime": "text/csv; charset=utf-8",
      "bytes": 65,
      "sha256": "9244d4cbab1ecaa017abf973bd9c84af96c2173f3641ac20c41e09dc01d28a99",
      "size_class": "free",
      "phase": 1,
      "description": "A CSV whose rows carry different field counts: one short, one long.",
      "tags": [
        "data",
        "invalid"
      ],
      "edge_case": true,
      "props": {
        "defect": "invalid-syntax",
        "intended_format": "csv",
        "bytes": 65
      },
      "generator": "edge.csv_ragged_rows",
      "generator_params": {},
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "edge/jpg-truncated-50pct.jpg",
      "url": "https://loremfile.dev/edge/jpg-truncated-50pct.jpg",
      "format": "edge",
      "ext": "jpg",
      "mime": "image/jpeg",
      "bytes": 7496,
      "sha256": "cc4e1314fe88d3d09fafad05845ea00b152a916962939a5673423a8cdcbf293e",
      "size_class": "free",
      "phase": 1,
      "description": "The first half of jpg/640x480.jpg: scan data ends with no end-of-image marker.",
      "tags": [
        "image",
        "truncated"
      ],
      "edge_case": true,
      "props": {
        "defect": "truncated",
        "intended_format": "jpg",
        "bytes": 7496,
        "fraction": 0.5
      },
      "generator": "edge.truncated",
      "generator_params": {
        "source": "jpg/640x480.jpg",
        "fraction": 0.5
      },
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "edge/json-bom.json",
      "url": "https://loremfile.dev/edge/json-bom.json",
      "format": "edge",
      "ext": "json",
      "mime": "application/json; charset=utf-8",
      "bytes": 80,
      "sha256": "f5f8c80d2a1ae06f3688cee56c6ee09eed3586e9c41b17c5af272d0411ca9b6a",
      "size_class": "free",
      "phase": 1,
      "description": "Valid JSON preceded by a UTF-8 byte-order mark, which RFC 8259 does not allow.",
      "tags": [
        "data",
        "encoding"
      ],
      "edge_case": true,
      "props": {
        "defect": "bom",
        "intended_format": "json",
        "bytes": 80
      },
      "generator": "edge.json_bom",
      "generator_params": {},
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "edge/json-trailing-comma.json",
      "url": "https://loremfile.dev/edge/json-trailing-comma.json",
      "format": "edge",
      "ext": "json",
      "mime": "application/json; charset=utf-8",
      "bytes": 64,
      "sha256": "1530058a5dcb98221617a8ecfcecaf43a488bd4fb740d39a5a5fbc26a7c5f042",
      "size_class": "free",
      "phase": 1,
      "description": "JSON with a trailing comma in an array and an object: valid JavaScript, invalid JSON.",
      "tags": [
        "data",
        "invalid"
      ],
      "edge_case": true,
      "props": {
        "defect": "invalid-syntax",
        "intended_format": "json",
        "bytes": 64
      },
      "generator": "edge.json_trailing_comma",
      "generator_params": {},
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "edge/mp4-truncated-50pct.mp4",
      "url": "https://loremfile.dev/edge/mp4-truncated-50pct.mp4",
      "format": "edge",
      "ext": "mp4",
      "mime": "video/mp4",
      "bytes": 987287,
      "sha256": "5e7ce6d14210ed3d2c9d85d00b3274b26616f65aac7f636ab34ee62c9d3d8e7c",
      "size_class": "free",
      "phase": 1,
      "description": "The first half of mp4/720p-5s.mp4: a partial media stream inside a box that claims more.",
      "tags": [
        "video",
        "truncated"
      ],
      "edge_case": true,
      "props": {
        "defect": "truncated",
        "intended_format": "mp4",
        "bytes": 987287,
        "fraction": 0.5
      },
      "generator": "edge.truncated",
      "generator_params": {
        "source": "mp4/720p-5s.mp4",
        "fraction": 0.5
      },
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "edge/pdf-truncated-60pct.pdf",
      "url": "https://loremfile.dev/edge/pdf-truncated-60pct.pdf",
      "format": "edge",
      "ext": "pdf",
      "mime": "application/pdf",
      "bytes": 2610,
      "sha256": "6fe887efddee486a18728ba1af3ed693cc04b28eca383d682e7a365f7c7fd0f2",
      "size_class": "free",
      "phase": 1,
      "description": "The first 60% of pdf/a4-3pages.pdf: the header reads, then the file stops mid-object.",
      "tags": [
        "document",
        "truncated"
      ],
      "edge_case": true,
      "props": {
        "defect": "truncated",
        "intended_format": "pdf",
        "bytes": 2610,
        "fraction": 0.6
      },
      "generator": "edge.truncated",
      "generator_params": {
        "source": "pdf/a4-3pages.pdf",
        "fraction": 0.6
      },
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "edge/pdf-with-png-extension.png",
      "url": "https://loremfile.dev/edge/pdf-with-png-extension.png",
      "format": "edge",
      "ext": "png",
      "mime": "image/png",
      "bytes": 1795,
      "sha256": "0c547013439f2cf2c21e675485907ce0809da702dd75921afcc81a5fb46721e9",
      "size_class": "free",
      "phase": 1,
      "description": "The bytes of pdf/a4-1page.pdf under a .png name, served as image/png.",
      "tags": [
        "document",
        "mismatched"
      ],
      "edge_case": true,
      "props": {
        "defect": "mismatched-extension",
        "intended_format": "pdf",
        "bytes": 1795
      },
      "generator": "edge.copied",
      "generator_params": {
        "source": "pdf/a4-1page.pdf"
      },
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "edge/png-with-pdf-extension.pdf",
      "url": "https://loremfile.dev/edge/png-with-pdf-extension.pdf",
      "format": "edge",
      "ext": "pdf",
      "mime": "application/pdf",
      "bytes": 1387,
      "sha256": "aad08c4f806eefeccf9bcec1430b4fe2a55ee176ff154c3999541f971b178b56",
      "size_class": "free",
      "phase": 1,
      "description": "The bytes of png/100x100.png under a .pdf name, served as application/pdf.",
      "tags": [
        "image",
        "mismatched"
      ],
      "edge_case": true,
      "props": {
        "defect": "mismatched-extension",
        "intended_format": "png",
        "bytes": 1387
      },
      "generator": "edge.copied",
      "generator_params": {
        "source": "png/100x100.png"
      },
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "edge/utf8-invalid-bytes.txt",
      "url": "https://loremfile.dev/edge/utf8-invalid-bytes.txt",
      "format": "edge",
      "ext": "txt",
      "mime": "text/plain; charset=utf-8",
      "bytes": 143,
      "sha256": "a8ae0f5961fb30c7e39edeaa5647a459b6fbfad242da392b4ea18ffdfe4aea1b",
      "size_class": "free",
      "phase": 1,
      "description": "Text served as UTF-8 that contains byte sequences UTF-8 does not allow.",
      "tags": [
        "text",
        "encoding"
      ],
      "edge_case": true,
      "props": {
        "defect": "invalid-encoding",
        "intended_format": "txt",
        "bytes": 143
      },
      "generator": "edge.utf8_invalid_bytes",
      "generator_params": {},
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "edge/xml-unclosed-tag.xml",
      "url": "https://loremfile.dev/edge/xml-unclosed-tag.xml",
      "format": "edge",
      "ext": "xml",
      "mime": "application/xml; charset=utf-8",
      "bytes": 122,
      "sha256": "34ecd6048dd18aaa5ef43b0fa2644896e6bf7a90a0713fe3022c996c782ae5cb",
      "size_class": "free",
      "phase": 1,
      "description": "XML with an element that is never closed, so it is not well-formed.",
      "tags": [
        "data",
        "invalid"
      ],
      "edge_case": true,
      "props": {
        "defect": "invalid-syntax",
        "intended_format": "xml",
        "bytes": 122
      },
      "generator": "edge.xml_unclosed_tag",
      "generator_params": {},
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "edge/zero-byte.csv",
      "url": "https://loremfile.dev/edge/zero-byte.csv",
      "format": "edge",
      "ext": "csv",
      "mime": "text/csv; charset=utf-8",
      "bytes": 0,
      "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
      "size_class": "free",
      "phase": 1,
      "description": "An empty file served as text/csv, with no header row.",
      "tags": [
        "data",
        "invalid"
      ],
      "edge_case": true,
      "props": {
        "defect": "zero-byte",
        "intended_format": "csv",
        "bytes": 0
      },
      "generator": "edge.zero_byte",
      "generator_params": {},
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "edge/zero-byte.json",
      "url": "https://loremfile.dev/edge/zero-byte.json",
      "format": "edge",
      "ext": "json",
      "mime": "application/json; charset=utf-8",
      "bytes": 0,
      "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
      "size_class": "free",
      "phase": 1,
      "description": "An empty file served as application/json, where a parser expects at least a value.",
      "tags": [
        "data",
        "invalid"
      ],
      "edge_case": true,
      "props": {
        "defect": "zero-byte",
        "intended_format": "json",
        "bytes": 0
      },
      "generator": "edge.zero_byte",
      "generator_params": {},
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "edge/zero-byte.mp4",
      "url": "https://loremfile.dev/edge/zero-byte.mp4",
      "format": "edge",
      "ext": "mp4",
      "mime": "video/mp4",
      "bytes": 0,
      "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
      "size_class": "free",
      "phase": 1,
      "description": "An empty file served as video/mp4.",
      "tags": [
        "video",
        "invalid"
      ],
      "edge_case": true,
      "props": {
        "defect": "zero-byte",
        "intended_format": "mp4",
        "bytes": 0
      },
      "generator": "edge.zero_byte",
      "generator_params": {},
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "edge/zero-byte.pdf",
      "url": "https://loremfile.dev/edge/zero-byte.pdf",
      "format": "edge",
      "ext": "pdf",
      "mime": "application/pdf",
      "bytes": 0,
      "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
      "size_class": "free",
      "phase": 1,
      "description": "An empty file served as application/pdf.",
      "tags": [
        "document",
        "invalid"
      ],
      "edge_case": true,
      "props": {
        "defect": "zero-byte",
        "intended_format": "pdf",
        "bytes": 0
      },
      "generator": "edge.zero_byte",
      "generator_params": {},
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "edge/zero-byte.png",
      "url": "https://loremfile.dev/edge/zero-byte.png",
      "format": "edge",
      "ext": "png",
      "mime": "image/png",
      "bytes": 0,
      "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
      "size_class": "free",
      "phase": 1,
      "description": "An empty file served as image/png.",
      "tags": [
        "image",
        "invalid"
      ],
      "edge_case": true,
      "props": {
        "defect": "zero-byte",
        "intended_format": "png",
        "bytes": 0
      },
      "generator": "edge.zero_byte",
      "generator_params": {},
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "edge/zero-byte.txt",
      "url": "https://loremfile.dev/edge/zero-byte.txt",
      "format": "edge",
      "ext": "txt",
      "mime": "text/plain; charset=utf-8",
      "bytes": 0,
      "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
      "size_class": "free",
      "phase": 1,
      "description": "An empty file served as text/plain.",
      "tags": [
        "text",
        "invalid"
      ],
      "edge_case": true,
      "props": {
        "defect": "zero-byte",
        "intended_format": "txt",
        "bytes": 0
      },
      "generator": "edge.zero_byte",
      "generator_params": {},
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "edge/zero-byte.zip",
      "url": "https://loremfile.dev/edge/zero-byte.zip",
      "format": "edge",
      "ext": "zip",
      "mime": "application/zip",
      "bytes": 0,
      "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
      "size_class": "free",
      "phase": 1,
      "description": "An empty file served as application/zip, with not even an end-of-central-directory record.",
      "tags": [
        "archive",
        "invalid"
      ],
      "edge_case": true,
      "props": {
        "defect": "zero-byte",
        "intended_format": "zip",
        "bytes": 0
      },
      "generator": "edge.zero_byte",
      "generator_params": {},
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "edge/zip-directory-traversal-name.zip",
      "url": "https://loremfile.dev/edge/zip-directory-traversal-name.zip",
      "format": "edge",
      "ext": "zip",
      "mime": "application/zip",
      "bytes": 782,
      "sha256": "d59046db73a6587cf4cd27b313a7a3c9e6217425c22400c73c129277423eacee",
      "size_class": "free",
      "phase": 1,
      "description": "A readable zip holding an entry named ../evil.txt. An extractor that joins entry names to a destination without sanitising them writes outside that directory.",
      "tags": [
        "archive",
        "invalid"
      ],
      "edge_case": true,
      "props": {
        "defect": "hostile-name",
        "intended_format": "zip",
        "bytes": 782,
        "hostile_entries": [
          "../evil.txt"
        ]
      },
      "generator": "edge.zip_traversal_name",
      "generator_params": {},
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "edge/zip-truncated-50pct.zip",
      "url": "https://loremfile.dev/edge/zip-truncated-50pct.zip",
      "format": "edge",
      "ext": "zip",
      "mime": "application/zip",
      "bytes": 911,
      "sha256": "2589429530f531890bb47b74077884cd27ca3c85665fe522ea399ae6d757bbc4",
      "size_class": "free",
      "phase": 1,
      "description": "The first half of zip/3-text-files.zip: local headers survive, the central directory does not.",
      "tags": [
        "archive",
        "truncated"
      ],
      "edge_case": true,
      "props": {
        "defect": "truncated",
        "intended_format": "zip",
        "bytes": 911,
        "fraction": 0.5
      },
      "generator": "edge.truncated",
      "generator_params": {
        "source": "zip/3-text-files.zip",
        "fraction": 0.5
      },
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "eml/plain-text.eml",
      "url": "https://loremfile.dev/eml/plain-text.eml",
      "format": "eml",
      "ext": "eml",
      "mime": "message/rfc822",
      "bytes": 1531,
      "sha256": "3e56b059b9255395a67a74d341fab5b72a6e5b3e5682e9d3e9fc71c021ad44f8",
      "size_class": "free",
      "phase": 1,
      "description": "A single text/plain message: the simplest thing a mail parser has to read, with a fixed date and Message-ID.",
      "tags": [
        "mail",
        "text"
      ],
      "edge_case": false,
      "props": {
        "parts": 1,
        "content_types": [
          "text/plain"
        ],
        "attachments": 0,
        "multipart": false,
        "date": "Wed, 01 Jan 2020 00:00:00 +0000",
        "has_message_id": true,
        "subject": "A plain text message"
      },
      "generator": "mail.plain_text",
      "generator_params": {},
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "eml/with-attachments.eml",
      "url": "https://loremfile.dev/eml/with-attachments.eml",
      "format": "eml",
      "ext": "eml",
      "mime": "message/rfc822",
      "bytes": 4089,
      "sha256": "8c8972bbe8b0b4e1a28c0627bb0607ac23ced5cb96e2ea2fd1fb228bffdc2853",
      "size_class": "free",
      "phase": 1,
      "description": "A message carrying two published fixtures as attachments, a PDF and a PNG, read from the bytes that were published.",
      "tags": [
        "mail",
        "document",
        "image"
      ],
      "edge_case": false,
      "props": {
        "parts": 4,
        "content_types": [
          "application/pdf",
          "image/png",
          "multipart/mixed",
          "text/plain"
        ],
        "attachments": 2,
        "multipart": true,
        "date": "Wed, 01 Jan 2020 00:00:00 +0000",
        "has_message_id": true,
        "subject": "A message with attachments"
      },
      "generator": "mail.with_attachments",
      "generator_params": {
        "attachments": [
          "pdf/minimal.pdf",
          "png/100x100.png"
        ]
      },
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "epub/epub3-3chapters.epub",
      "url": "https://loremfile.dev/epub/epub3-3chapters.epub",
      "format": "epub",
      "ext": "epub",
      "mime": "application/epub+zip",
      "bytes": 4871,
      "sha256": "a4e177da44becedc8cfe1016d37b4b0a7c3e447b892842d9814c9cbecfc18090",
      "size_class": "free",
      "phase": 1,
      "description": "EPUB 3.0: three XHTML chapters of Lorem Ipsum, a nav document with a table of contents, and a stylesheet. Identifier and modification date are fixed, so the bytes never move.",
      "tags": [
        "document",
        "text",
        "multi-page"
      ],
      "edge_case": false,
      "props": {
        "chapters": 3,
        "documents": 4,
        "epub_version": "3.0",
        "has_nav": true
      },
      "generator": "office.epub3",
      "generator_params": {
        "chapters": 3,
        "paragraphs": 4
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "flac/sine-440hz-30s.flac",
      "url": "https://loremfile.dev/flac/sine-440hz-30s.flac",
      "format": "flac",
      "ext": "flac",
      "mime": "audio/flac",
      "bytes": 411820,
      "sha256": "9af664bced907c264292baf3e61e0d6e64d3c63ecf16d2ac26be80a9ece5a842",
      "size_class": "free",
      "phase": 1,
      "description": "A 440 Hz sine wave, thirty seconds, 48 kHz stereo, losslessly compressed.",
      "tags": [
        "audio"
      ],
      "edge_case": false,
      "props": {
        "duration_ms": 30000,
        "video_streams": 0,
        "audio_streams": 1,
        "subtitle_streams": 0,
        "acodec": "flac",
        "sample_rate": 48000,
        "channels": 2
      },
      "generator": "media_audio.encoded",
      "generator_params": {
        "codec": "flac",
        "duration": 30
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "geojson/points-100.geojson",
      "url": "https://loremfile.dev/geojson/points-100.geojson",
      "format": "geojson",
      "ext": "geojson",
      "mime": "application/geo+json; charset=utf-8",
      "bytes": 35344,
      "sha256": "ed1a30ef9c8987db652a901a2eaa1c3170a89b06213a89b1712e0a7469c332a5",
      "size_class": "free",
      "phase": 1,
      "description": "A FeatureCollection of 100 Point features with names, categories, elevations and timestamps, inside a bounding box over the South Atlantic.",
      "tags": [
        "data",
        "geo"
      ],
      "edge_case": false,
      "props": {
        "encoding": "utf-8",
        "bom": false,
        "line_ending": "lf",
        "lines": 1711,
        "max_line_bytes": 45,
        "top_type": "object",
        "items": 100,
        "features": 100,
        "geometry_types": [
          "Point"
        ]
      },
      "generator": "geo.geojson_points",
      "generator_params": {
        "count": 100
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "gif/1x1.gif",
      "url": "https://loremfile.dev/gif/1x1.gif",
      "format": "gif",
      "ext": "gif",
      "mime": "image/gif",
      "bytes": 43,
      "sha256": "52aa9dc78b0daa1ea5bdec0d17e8acd7a4ea0c237d5c5a2398fcf530a62e9ff0",
      "size_class": "free",
      "phase": 1,
      "description": "A single-pixel GIF: the smallest useful image of this format.",
      "tags": [
        "image"
      ],
      "edge_case": false,
      "props": {
        "width": 1,
        "height": 1,
        "mode": "P",
        "frames": 1,
        "animated": false,
        "format": "gif",
        "progressive": false
      },
      "generator": "image.testcard",
      "generator_params": {
        "width": 1,
        "height": 1,
        "fmt": "GIF"
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "gif/animated-10frames-256x256.gif",
      "url": "https://loremfile.dev/gif/animated-10frames-256x256.gif",
      "format": "gif",
      "ext": "gif",
      "mime": "image/gif",
      "bytes": 37550,
      "sha256": "064f3026cf7096dea94ff7c948765d1c3972d6adb69cc0ac05069e202f1aaeb5",
      "size_class": "free",
      "phase": 1,
      "description": "An animated GIF of 10 frames at 100 ms, looping forever.",
      "tags": [
        "image",
        "animated"
      ],
      "edge_case": false,
      "props": {
        "width": 256,
        "height": 256,
        "mode": "P",
        "frames": 10,
        "animated": true,
        "format": "gif",
        "progressive": false
      },
      "generator": "image.animated",
      "generator_params": {
        "width": 256,
        "height": 256,
        "frames": 10,
        "fmt": "GIF",
        "duration_ms": 100
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "gpx/track-100-points.gpx",
      "url": "https://loremfile.dev/gpx/track-100-points.gpx",
      "format": "gpx",
      "ext": "gpx",
      "mime": "application/gpx+xml",
      "bytes": 12873,
      "sha256": "143bd0b1690ae9ab674233ec510a9fd06e173d37b37cbc3d0fa01821fdb3188f",
      "size_class": "free",
      "phase": 1,
      "description": "A GPX 1.1 track of 100 points in one segment, each with an elevation and a monotonic timestamp.",
      "tags": [
        "data",
        "geo"
      ],
      "edge_case": false,
      "props": {
        "encoding": "utf-8",
        "bom": false,
        "line_ending": "lf",
        "lines": 415,
        "max_line_bytes": 102,
        "root_element": "gpx",
        "has_dtd": false,
        "namespaces": [
          "http://www.topografix.com/GPX/1/1",
          "http://www.w3.org/2001/XMLSchema-instance"
        ],
        "track_points": 100,
        "tracks": 1
      },
      "generator": "geo.gpx_track",
      "generator_params": {
        "points": 100
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "gz/lorem-1mb.txt.gz",
      "url": "https://loremfile.dev/gz/lorem-1mb.txt.gz",
      "format": "gz",
      "ext": "txt.gz",
      "mime": "application/gzip",
      "bytes": 252288,
      "sha256": "c14dfc81ae69d4bd665228536358a3630ed8b8d58dccf8f79dc6dbc712c9eb6d",
      "size_class": "free",
      "phase": 1,
      "description": "Exactly 1,000,000 bytes of Lorem Ipsum compressed as a single gzip stream, so the compression ratio is that of ordinary text.",
      "tags": [
        "archive",
        "text"
      ],
      "edge_case": false,
      "props": {
        "compression": "gz",
        "members": 1,
        "uncompressed_bytes": 1000000
      },
      "generator": "archive.compressed_text",
      "generator_params": {
        "size": 1000000,
        "kind": "gz"
      },
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "gz/multi-member-3.gz",
      "url": "https://loremfile.dev/gz/multi-member-3.gz",
      "format": "gz",
      "ext": "gz",
      "mime": "application/gzip",
      "bytes": 839,
      "sha256": "2d2e7dbef7362d34a0c8c7369b836e509a4dda12bdcc838a79131251001faa39",
      "size_class": "free",
      "phase": 1,
      "description": "Three gzip members concatenated into one file, which a reader must decompress to the end to read in full.",
      "tags": [
        "archive",
        "text"
      ],
      "edge_case": false,
      "props": {
        "compression": "gz",
        "members": 3,
        "uncompressed_bytes": 1440
      },
      "generator": "archive.gzip_multi_member",
      "generator_params": {
        "members": 3
      },
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "har/simple-3-requests.har",
      "url": "https://loremfile.dev/har/simple-3-requests.har",
      "format": "har",
      "ext": "har",
      "mime": "application/json; charset=utf-8",
      "bytes": 3636,
      "sha256": "7cc7125995effea6924dc1002299b710e8b1b0b09ac93619ecdc6cbb6bb7da38",
      "size_class": "free",
      "phase": 1,
      "description": "One page and three requests — a document, a stylesheet and an image — with fixed start times and timings.",
      "tags": [
        "web",
        "data"
      ],
      "edge_case": false,
      "props": {
        "entries": 3,
        "version": "1.2",
        "pages": 1,
        "started": "2020-01-01T00:00:00Z"
      },
      "generator": "web.har",
      "generator_params": {},
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "hls/720p-10s/index.m3u8",
      "url": "https://loremfile.dev/hls/720p-10s/index.m3u8",
      "format": "hls",
      "ext": "m3u8",
      "mime": "application/vnd.apple.mpegurl",
      "bytes": 258,
      "sha256": "d1667dd4d163891d663378b1af8f2d636161f6bf1a35c00549ecdaf2d7ac7fb8",
      "size_class": "free",
      "phase": 1,
      "description": "The media playlist: VOD type, five segments of about two seconds, relative URIs and a closing #EXT-X-ENDLIST.",
      "tags": [
        "video",
        "web"
      ],
      "edge_case": false,
      "props": {
        "segments": 5,
        "target_duration_s": 2,
        "playlist_type": "VOD"
      },
      "generator": "hls.member",
      "generator_params": {
        "member": "index.m3u8",
        "width": 1280,
        "height": 720,
        "duration": 10,
        "segment_seconds": 2
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "hls/720p-10s/seg-000.ts",
      "url": "https://loremfile.dev/hls/720p-10s/seg-000.ts",
      "format": "hls",
      "ext": "ts",
      "mime": "video/mp2t",
      "bytes": 819680,
      "sha256": "a77e30353149d9d695c8ae477c05ea74b685f3d79ccbd531c4a6195fe4aec293",
      "size_class": "free",
      "phase": 1,
      "description": "Segment 0 of the 720p HLS stream: H.264 plus AAC in an MPEG-2 transport stream.",
      "tags": [
        "video",
        "codec-h264"
      ],
      "edge_case": false,
      "props": {
        "duration_ms": 2021,
        "video_streams": 1,
        "audio_streams": 1,
        "subtitle_streams": 0,
        "width": 1280,
        "height": 720,
        "vcodec": "h264",
        "fps": 30.0,
        "acodec": "aac",
        "sample_rate": 48000,
        "channels": 1
      },
      "generator": "hls.member",
      "generator_params": {
        "member": "seg-000.ts",
        "width": 1280,
        "height": 720,
        "duration": 10,
        "segment_seconds": 2
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "hls/720p-10s/seg-001.ts",
      "url": "https://loremfile.dev/hls/720p-10s/seg-001.ts",
      "format": "hls",
      "ext": "ts",
      "mime": "video/mp2t",
      "bytes": 841676,
      "sha256": "f70b73344e68d3ef1fd379f031b592cef1ffe252dcd90b12e37e6b4541e87777",
      "size_class": "free",
      "phase": 1,
      "description": "Segment 1 of the 720p HLS stream: H.264 plus AAC in an MPEG-2 transport stream.",
      "tags": [
        "video",
        "codec-h264"
      ],
      "edge_case": false,
      "props": {
        "duration_ms": 2059,
        "video_streams": 1,
        "audio_streams": 1,
        "subtitle_streams": 0,
        "width": 1280,
        "height": 720,
        "vcodec": "h264",
        "fps": 30.0,
        "acodec": "aac",
        "sample_rate": 48000,
        "channels": 1
      },
      "generator": "hls.member",
      "generator_params": {
        "member": "seg-001.ts",
        "width": 1280,
        "height": 720,
        "duration": 10,
        "segment_seconds": 2
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "hls/720p-10s/seg-002.ts",
      "url": "https://loremfile.dev/hls/720p-10s/seg-002.ts",
      "format": "hls",
      "ext": "ts",
      "mime": "video/mp2t",
      "bytes": 814792,
      "sha256": "16dd1980a173c71fe0dcc8fc62e6e10186ae18248dd793cc0f8aa54513996a5b",
      "size_class": "free",
      "phase": 1,
      "description": "Segment 2 of the 720p HLS stream: H.264 plus AAC in an MPEG-2 transport stream.",
      "tags": [
        "video",
        "codec-h264"
      ],
      "edge_case": false,
      "props": {
        "duration_ms": 2053,
        "video_streams": 1,
        "audio_streams": 1,
        "subtitle_streams": 0,
        "width": 1280,
        "height": 720,
        "vcodec": "h264",
        "fps": 30.0,
        "acodec": "aac",
        "sample_rate": 48000,
        "channels": 1
      },
      "generator": "hls.member",
      "generator_params": {
        "member": "seg-002.ts",
        "width": 1280,
        "height": 720,
        "duration": 10,
        "segment_seconds": 2
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "hls/720p-10s/seg-003.ts",
      "url": "https://loremfile.dev/hls/720p-10s/seg-003.ts",
      "format": "hls",
      "ext": "ts",
      "mime": "video/mp2t",
      "bytes": 834720,
      "sha256": "07b7ffb47e2e529bd9b56face44cf698c753e6dbf60ec1cf7ada168c893bc358",
      "size_class": "free",
      "phase": 1,
      "description": "Segment 3 of the 720p HLS stream: H.264 plus AAC in an MPEG-2 transport stream.",
      "tags": [
        "video",
        "codec-h264"
      ],
      "edge_case": false,
      "props": {
        "duration_ms": 2048,
        "video_streams": 1,
        "audio_streams": 1,
        "subtitle_streams": 0,
        "width": 1280,
        "height": 720,
        "vcodec": "h264",
        "fps": 30.0,
        "acodec": "aac",
        "sample_rate": 48000,
        "channels": 1
      },
      "generator": "hls.member",
      "generator_params": {
        "member": "seg-003.ts",
        "width": 1280,
        "height": 720,
        "duration": 10,
        "segment_seconds": 2
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "hls/720p-10s/seg-004.ts",
      "url": "https://loremfile.dev/hls/720p-10s/seg-004.ts",
      "format": "hls",
      "ext": "ts",
      "mime": "video/mp2t",
      "bytes": 811220,
      "sha256": "c2a29ee8a67ed11aa73fcdfc9b5675558c3d3cd0ab752c5d03ebc09231aeb61f",
      "size_class": "free",
      "phase": 1,
      "description": "Segment 4 of the 720p HLS stream: H.264 plus AAC in an MPEG-2 transport stream.",
      "tags": [
        "video",
        "codec-h264"
      ],
      "edge_case": false,
      "props": {
        "duration_ms": 2069,
        "video_streams": 1,
        "audio_streams": 1,
        "subtitle_streams": 0,
        "width": 1280,
        "height": 720,
        "vcodec": "h264",
        "fps": 30.0,
        "acodec": "aac",
        "sample_rate": 48000,
        "channels": 1
      },
      "generator": "hls.member",
      "generator_params": {
        "member": "seg-004.ts",
        "width": 1280,
        "height": 720,
        "duration": 10,
        "segment_seconds": 2
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "html/all-elements.html",
      "url": "https://loremfile.dev/html/all-elements.html",
      "format": "html",
      "ext": "html",
      "mime": "text/html; charset=utf-8",
      "bytes": 2609,
      "sha256": "b58484daa1c7316038715dcecbca9ec324d5ce456bcc7825fe78a1f207e47901",
      "size_class": "free",
      "phase": 1,
      "description": "Semantic sections, a table with a caption and header cells, a form with no action, lists, a figure, and media elements pointing at published fixtures.",
      "tags": [
        "web",
        "text"
      ],
      "edge_case": false,
      "props": {
        "markup": "html",
        "elements": 74,
        "lang": "en",
        "dir": "",
        "inline_style": false,
        "inline_script": false,
        "tables": 1
      },
      "generator": "web.html_all_elements",
      "generator_params": {},
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "html/basic.html",
      "url": "https://loremfile.dev/html/basic.html",
      "format": "html",
      "ext": "html",
      "mime": "text/html; charset=utf-8",
      "bytes": 779,
      "sha256": "9eb16facba002d05f5e891e6e537a9a0e12e108862eaaecbc492a91227f3a543",
      "size_class": "free",
      "phase": 1,
      "description": "A minimal, valid HTML5 document: a doctype, a declared charset, a heading and two paragraphs.",
      "tags": [
        "web",
        "text"
      ],
      "edge_case": false,
      "props": {
        "markup": "html",
        "elements": 8,
        "lang": "en",
        "dir": "",
        "inline_style": false,
        "inline_script": false,
        "tables": 0
      },
      "generator": "web.html_basic",
      "generator_params": {},
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "html/with-inline-css.html",
      "url": "https://loremfile.dev/html/with-inline-css.html",
      "format": "html",
      "ext": "html",
      "mime": "text/html; charset=utf-8",
      "bytes": 696,
      "sha256": "025f933b4f2d4219651eebea1ef6ccc6fff9221c8e8b4285b27b2a570cd85fc2",
      "size_class": "free",
      "phase": 1,
      "description": "A document whose styles live in a style block rather than an external sheet.",
      "tags": [
        "web",
        "text"
      ],
      "edge_case": false,
      "props": {
        "markup": "html",
        "elements": 9,
        "lang": "en",
        "dir": "",
        "inline_style": true,
        "inline_script": false,
        "tables": 0
      },
      "generator": "web.html_inline_css",
      "generator_params": {},
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "html/with-inline-js.html",
      "url": "https://loremfile.dev/html/with-inline-js.html",
      "format": "html",
      "ext": "html",
      "mime": "text/html; charset=utf-8",
      "bytes": 947,
      "sha256": "d23612abb8d09e0cab9d8063eee4eec986fa7aeef70832f85ab5c502038bb0cd",
      "size_class": "free",
      "phase": 1,
      "description": "A document with one inline script that logs a line and does nothing else. The edge serves it with a sandbox CSP, so a browser runs nothing.",
      "tags": [
        "web",
        "text"
      ],
      "edge_case": false,
      "props": {
        "markup": "html",
        "elements": 8,
        "lang": "en",
        "dir": "",
        "inline_style": false,
        "inline_script": true,
        "tables": 0
      },
      "generator": "web.html_inline_js",
      "generator_params": {},
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "ico/favicon-16-32-48.ico",
      "url": "https://loremfile.dev/ico/favicon-16-32-48.ico",
      "format": "ico",
      "ext": "ico",
      "mime": "image/x-icon",
      "bytes": 1507,
      "sha256": "db56d2d53c213822ca18b51cd58592ebc88774a3c93a1fd1e75377100b3170ae",
      "size_class": "free",
      "phase": 1,
      "description": "A favicon containing 16x16, 32x32 and 48x48 images in one file, the shape a real favicon.ico has.",
      "tags": [
        "image"
      ],
      "edge_case": false,
      "props": {
        "width": 48,
        "height": 48,
        "mode": "RGBA",
        "frames": 1,
        "animated": false,
        "format": "ico",
        "progressive": false,
        "sizes": [
          16,
          32,
          48
        ]
      },
      "generator": "image.ico_multi",
      "generator_params": {
        "sizes": [
          16,
          32,
          48
        ]
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "ics/recurring-weekly-rrule.ics",
      "url": "https://loremfile.dev/ics/recurring-weekly-rrule.ics",
      "format": "ics",
      "ext": "ics",
      "mime": "text/calendar; charset=utf-8",
      "bytes": 318,
      "sha256": "e4a3d58c558f217d01d599c488bd1d8c39e82c47dfbc922f0e7323e3cf6ebb67",
      "size_class": "free",
      "phase": 1,
      "description": "A weekly series of ten occurrences expressed as one event plus an RRULE, the form a client must expand itself.",
      "tags": [
        "calendar",
        "text"
      ],
      "edge_case": false,
      "props": {
        "events": 1,
        "timezones": 0,
        "recurring": true,
        "all_day": false,
        "timezone_ids": []
      },
      "generator": "calendar.ics_recurring",
      "generator_params": {
        "count": 10
      },
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "ics/single-event.ics",
      "url": "https://loremfile.dev/ics/single-event.ics",
      "format": "ics",
      "ext": "ics",
      "mime": "text/calendar; charset=utf-8",
      "bytes": 403,
      "sha256": "ea484fff8efeef8be380a84184b91f991c6ba1a9773f1480d7ddf7ec85fad1bc",
      "size_class": "free",
      "phase": 1,
      "description": "One timed event of an hour with a summary, description and location, in UTC.",
      "tags": [
        "calendar",
        "text"
      ],
      "edge_case": false,
      "props": {
        "events": 1,
        "timezones": 0,
        "recurring": false,
        "all_day": false,
        "timezone_ids": []
      },
      "generator": "calendar.ics_single_event",
      "generator_params": {},
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "ini/config.ini",
      "url": "https://loremfile.dev/ini/config.ini",
      "format": "ini",
      "ext": "ini",
      "mime": "text/plain; charset=utf-8",
      "bytes": 468,
      "sha256": "886ca94c8f0a4761e944f6fbe8c5842bbecec1d942d1a80b5d62bb52e3593502",
      "size_class": "free",
      "phase": 1,
      "description": "A configuration file with sections, ';' and '#' comments, quoted and empty values, a comma list and non-ASCII characters.",
      "tags": [
        "text",
        "data"
      ],
      "edge_case": false,
      "props": {
        "encoding": "utf-8",
        "bom": false,
        "line_ending": "lf",
        "lines": 26,
        "max_line_bytes": 51
      },
      "generator": "text.ini_config",
      "generator_params": {},
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "ipynb/simple-with-outputs.ipynb",
      "url": "https://loremfile.dev/ipynb/simple-with-outputs.ipynb",
      "format": "ipynb",
      "ext": "ipynb",
      "mime": "application/x-ipynb+json",
      "bytes": 1094,
      "sha256": "2233f68dec9e15f341bb94aede12648220f599641702e8bcf18206382d69aa58",
      "size_class": "free",
      "phase": 1,
      "description": "Three cells — one Markdown, two code — with an execution result and a stdout stream already stored in the file.",
      "tags": [
        "web",
        "data",
        "text"
      ],
      "edge_case": false,
      "props": {
        "cells": 3,
        "code_cells": 2,
        "outputs": 2
      },
      "generator": "web.ipynb",
      "generator_params": {},
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "jpg/100x100.jpg",
      "url": "https://loremfile.dev/jpg/100x100.jpg",
      "format": "jpg",
      "ext": "jpg",
      "mime": "image/jpeg",
      "bytes": 4615,
      "sha256": "5c738d2f9ffa80a8294e2dde32ebfd400a71ae5db26cc9742de982b4ea53a3b3",
      "size_class": "free",
      "phase": 1,
      "description": "A colour-bar test card with a border, centre cross and a label giving the dimensions and mode. 100x100, quality 85, 4:2:0 chroma subsampling.",
      "tags": [
        "image"
      ],
      "edge_case": false,
      "props": {
        "width": 100,
        "height": 100,
        "mode": "RGB",
        "frames": 1,
        "animated": false,
        "format": "jpeg",
        "progressive": false
      },
      "generator": "image.testcard",
      "generator_params": {
        "width": 100,
        "height": 100,
        "fmt": "JPEG",
        "quality": 85
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "jpg/10mb.jpg",
      "url": "https://loremfile.dev/jpg/10mb.jpg",
      "format": "jpg",
      "ext": "jpg",
      "mime": "image/jpeg",
      "bytes": 10006097,
      "sha256": "9c0aafe20bc223c40b33dde4c15581994be7ac49b0285cf88693a81de6585bbe",
      "size_class": "approx",
      "phase": 1,
      "description": "About 10MB of seeded noise at quality 95, 4:4:4 — noise does not compress, so the size is honest.",
      "tags": [
        "image",
        "sized"
      ],
      "edge_case": false,
      "props": {
        "width": 1024,
        "height": 4035,
        "mode": "RGB",
        "frames": 1,
        "animated": false,
        "format": "jpeg",
        "progressive": false
      },
      "generator": "image.noise_sized",
      "generator_params": {
        "size": 10000000,
        "fmt": "JPEG",
        "quality": 95
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "jpg/1920x1080.jpg",
      "url": "https://loremfile.dev/jpg/1920x1080.jpg",
      "format": "jpg",
      "ext": "jpg",
      "mime": "image/jpeg",
      "bytes": 56817,
      "sha256": "071f0c721c4efa457b26160300ef2d6f2e3fa82b4667f3ba6e687d77005c0330",
      "size_class": "free",
      "phase": 1,
      "description": "A colour-bar test card with a border, centre cross and a label giving the dimensions and mode. 1920x1080, quality 85, 4:2:0 chroma subsampling.",
      "tags": [
        "image"
      ],
      "edge_case": false,
      "props": {
        "width": 1920,
        "height": 1080,
        "mode": "RGB",
        "frames": 1,
        "animated": false,
        "format": "jpeg",
        "progressive": false
      },
      "generator": "image.testcard",
      "generator_params": {
        "width": 1920,
        "height": 1080,
        "fmt": "JPEG",
        "quality": 85
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "jpg/1mb.jpg",
      "url": "https://loremfile.dev/jpg/1mb.jpg",
      "format": "jpg",
      "ext": "jpg",
      "mime": "image/jpeg",
      "bytes": 991379,
      "sha256": "63382ed1cbb89249822074bf9675d58829e444934f32a3acd7ee2facbd7f27e2",
      "size_class": "approx",
      "phase": 1,
      "description": "About 1MB of seeded noise at quality 95, 4:4:4 — noise does not compress, so the size is honest.",
      "tags": [
        "image",
        "sized"
      ],
      "edge_case": false,
      "props": {
        "width": 1024,
        "height": 400,
        "mode": "RGB",
        "frames": 1,
        "animated": false,
        "format": "jpeg",
        "progressive": false
      },
      "generator": "image.noise_sized",
      "generator_params": {
        "size": 1000000,
        "fmt": "JPEG",
        "quality": 95
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "jpg/4000x3000.jpg",
      "url": "https://loremfile.dev/jpg/4000x3000.jpg",
      "format": "jpg",
      "ext": "jpg",
      "mime": "image/jpeg",
      "bytes": 279204,
      "sha256": "d2acbce8dafa6e22f458735c1f817e6e87e4465373e55288574ec6d18f507d7a",
      "size_class": "free",
      "phase": 1,
      "description": "A colour-bar test card with a border, centre cross and a label giving the dimensions and mode. 4000x3000, quality 85, 4:2:0 chroma subsampling.",
      "tags": [
        "image"
      ],
      "edge_case": false,
      "props": {
        "width": 4000,
        "height": 3000,
        "mode": "RGB",
        "frames": 1,
        "animated": false,
        "format": "jpeg",
        "progressive": false
      },
      "generator": "image.testcard",
      "generator_params": {
        "width": 4000,
        "height": 3000,
        "fmt": "JPEG",
        "quality": 85
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "jpg/640x480.jpg",
      "url": "https://loremfile.dev/jpg/640x480.jpg",
      "format": "jpg",
      "ext": "jpg",
      "mime": "image/jpeg",
      "bytes": 14992,
      "sha256": "9ce1d9c344dc3fb5a9f893729d098422d753295d540539110dbb91db7c43166d",
      "size_class": "free",
      "phase": 1,
      "description": "A colour-bar test card with a border, centre cross and a label giving the dimensions and mode. 640x480, quality 85, 4:2:0 chroma subsampling.",
      "tags": [
        "image"
      ],
      "edge_case": false,
      "props": {
        "width": 640,
        "height": 480,
        "mode": "RGB",
        "frames": 1,
        "animated": false,
        "format": "jpeg",
        "progressive": false
      },
      "generator": "image.testcard",
      "generator_params": {
        "width": 640,
        "height": 480,
        "fmt": "JPEG",
        "quality": 85
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "jpg/cmyk-640x480.jpg",
      "url": "https://loremfile.dev/jpg/cmyk-640x480.jpg",
      "format": "jpg",
      "ext": "jpg",
      "mime": "image/jpeg",
      "bytes": 25267,
      "sha256": "492ccd56ac18fee7453597967e56b517f03c75f837efa9201f0b6b2b593a1d58",
      "size_class": "free",
      "phase": 1,
      "description": "A CMYK JPEG, the colour space that trips pipelines expecting RGB.",
      "tags": [
        "image"
      ],
      "edge_case": false,
      "props": {
        "width": 640,
        "height": 640,
        "mode": "CMYK",
        "frames": 1,
        "animated": false,
        "format": "jpeg",
        "progressive": false
      },
      "generator": "image.testcard",
      "generator_params": {
        "width": 640,
        "height": 640,
        "fmt": "JPEG",
        "mode": "CMYK"
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "jpg/exif-orientation-6-640x480.jpg",
      "url": "https://loremfile.dev/jpg/exif-orientation-6-640x480.jpg",
      "format": "jpg",
      "ext": "jpg",
      "mime": "image/jpeg",
      "bytes": 16048,
      "sha256": "bba067a21d2463486b5f51d34951d7bcaea760762ad20179ca832d86c3e48bec",
      "size_class": "free",
      "phase": 1,
      "description": "Pixels stored rotated with EXIF orientation 6. The label reads upright only when the viewer honours the tag, so a viewer that ignores EXIF shows it sideways.",
      "tags": [
        "image"
      ],
      "edge_case": false,
      "props": {
        "width": 480,
        "height": 640,
        "mode": "RGB",
        "frames": 1,
        "animated": false,
        "format": "jpeg",
        "progressive": false,
        "exif_orientation": 6
      },
      "generator": "image.exif_orientation",
      "generator_params": {
        "width": 640,
        "height": 480,
        "orientation": 6
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "jpg/progressive-1920x1080.jpg",
      "url": "https://loremfile.dev/jpg/progressive-1920x1080.jpg",
      "format": "jpg",
      "ext": "jpg",
      "mime": "image/jpeg",
      "bytes": 30994,
      "sha256": "0079d22b465f5ef8c79d702feec659d880ac9e521d3a2437d6e05b40d3166255",
      "size_class": "free",
      "phase": 1,
      "description": "A colour-bar test card with a border, centre cross and a label giving the dimensions and mode, saved as a progressive JPEG rather than baseline.",
      "tags": [
        "image"
      ],
      "edge_case": false,
      "props": {
        "width": 1920,
        "height": 1080,
        "mode": "RGB",
        "frames": 1,
        "animated": false,
        "format": "jpeg",
        "progressive": true
      },
      "generator": "image.testcard",
      "generator_params": {
        "width": 1920,
        "height": 1080,
        "fmt": "JPEG",
        "quality": 85,
        "progressive": true
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "js/hello-console.js",
      "url": "https://loremfile.dev/js/hello-console.js",
      "format": "js",
      "ext": "js",
      "mime": "text/javascript; charset=utf-8",
      "bytes": 158,
      "sha256": "65a874537624bd682428f5c53d2acca15c29e078fec691147ec4aec069bbd943",
      "size_class": "free",
      "phase": 1,
      "description": "A function and a console.log call. The whole file, so what it can do is obvious at a glance.",
      "tags": [
        "web",
        "text"
      ],
      "edge_case": false,
      "props": {
        "lines": 6,
        "logs": 1
      },
      "generator": "web.js_hello",
      "generator_params": {},
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "json/10mb.json",
      "url": "https://loremfile.dev/json/10mb.json",
      "format": "json",
      "ext": "json",
      "mime": "application/json; charset=utf-8",
      "bytes": 9996549,
      "sha256": "1f68350e3e19ab908209cf0b8847098a8a1b195f42098e469bdfafdec9ea2cdd",
      "size_class": "approx",
      "phase": 1,
      "description": "About 10MB of people objects, fitted to within 5% of the nominal size.",
      "tags": [
        "data",
        "dataset-people",
        "sized"
      ],
      "edge_case": false,
      "props": {
        "encoding": "utf-8",
        "bom": false,
        "line_ending": "lf",
        "lines": 353195,
        "max_line_bytes": 229,
        "top_type": "array",
        "items": 19368,
        "max_depth": 3
      },
      "generator": "data.json_sized",
      "generator_params": {
        "size": 10000000
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "json/1mb.json",
      "url": "https://loremfile.dev/json/1mb.json",
      "format": "json",
      "ext": "json",
      "mime": "application/json; charset=utf-8",
      "bytes": 997720,
      "sha256": "3ed7ca2999e2dbf99c56e11b0e950e6b524919c6ca8370180fcb00a70d392c3c",
      "size_class": "approx",
      "phase": 1,
      "description": "About 1MB of people objects, fitted to within 5% of the nominal size.",
      "tags": [
        "data",
        "dataset-people",
        "sized"
      ],
      "edge_case": false,
      "props": {
        "encoding": "utf-8",
        "bom": false,
        "line_ending": "lf",
        "lines": 35430,
        "max_line_bytes": 225,
        "top_type": "array",
        "items": 1942,
        "max_depth": 3
      },
      "generator": "data.json_sized",
      "generator_params": {
        "size": 1000000
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "json/all-types.json",
      "url": "https://loremfile.dev/json/all-types.json",
      "format": "json",
      "ext": "json",
      "mime": "application/json; charset=utf-8",
      "bytes": 708,
      "sha256": "ad8102e4fb3e348ccd991bb1426cc8b233e83a4f4568a798f5314fc7001a8baf",
      "size_class": "free",
      "phase": 1,
      "description": "Every JSON scalar shape worth testing: null, booleans, negative zero, exponents, integers beyond 2^53 and 2^63, unicode escapes, a surrogate pair, and empty containers.",
      "tags": [
        "data",
        "unicode"
      ],
      "edge_case": false,
      "props": {
        "encoding": "utf-8",
        "bom": false,
        "line_ending": "lf",
        "lines": 23,
        "max_line_bytes": 81,
        "top_type": "object",
        "items": 21,
        "max_depth": 5
      },
      "generator": "data.json_all_types",
      "generator_params": {},
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "json/nested-100-levels.json",
      "url": "https://loremfile.dev/json/nested-100-levels.json",
      "format": "json",
      "ext": "json",
      "mime": "application/json; charset=utf-8",
      "bytes": 1380,
      "sha256": "ddb1c93ed61e7cdead0f4de82c7aea553e89c0c25d16e6d88bd1f1b7a861d001",
      "size_class": "free",
      "phase": 1,
      "description": "An object nested 100 levels deep, for parsers with a recursion limit.",
      "tags": [
        "data",
        "stress"
      ],
      "edge_case": false,
      "props": {
        "encoding": "utf-8",
        "bom": false,
        "line_ending": "lf",
        "lines": 1,
        "max_line_bytes": 1379,
        "top_type": "object",
        "items": 1,
        "max_depth": 100
      },
      "generator": "data.json_nested",
      "generator_params": {
        "depth": 100
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "json/people-10.json",
      "url": "https://loremfile.dev/json/people-10.json",
      "format": "json",
      "ext": "json",
      "mime": "application/json; charset=utf-8",
      "bytes": 5186,
      "sha256": "f7d7ab0e1247de87ab92d0bfe52166cc9b56a5e18bdb06f559759762a64bfad1",
      "size_class": "free",
      "phase": 1,
      "description": "An array of 10 people objects, pretty-printed with two-space indentation.",
      "tags": [
        "data",
        "dataset-people"
      ],
      "edge_case": false,
      "props": {
        "encoding": "utf-8",
        "bom": false,
        "line_ending": "lf",
        "lines": 182,
        "max_line_bytes": 217,
        "top_type": "array",
        "items": 10,
        "max_depth": 3
      },
      "generator": "data.json_people",
      "generator_params": {
        "rows": 10
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "json/people-1000.json",
      "url": "https://loremfile.dev/json/people-1000.json",
      "format": "json",
      "ext": "json",
      "mime": "application/json; charset=utf-8",
      "bytes": 512687,
      "sha256": "31eaccbd1d079346d0aa2abf75d6b4fdfedbec298b04ed1dbf13f10e3a5a62d8",
      "size_class": "free",
      "phase": 1,
      "description": "An array of 1,000 people objects, pretty-printed with two-space indentation.",
      "tags": [
        "data",
        "dataset-people"
      ],
      "edge_case": false,
      "props": {
        "encoding": "utf-8",
        "bom": false,
        "line_ending": "lf",
        "lines": 18237,
        "max_line_bytes": 225,
        "top_type": "array",
        "items": 1000,
        "max_depth": 3
      },
      "generator": "data.json_people",
      "generator_params": {
        "rows": 1000
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "kml/placemarks-10.kml",
      "url": "https://loremfile.dev/kml/placemarks-10.kml",
      "format": "kml",
      "ext": "kml",
      "mime": "application/vnd.google-earth.kml+xml",
      "bytes": 2394,
      "sha256": "bb0a4902d30eb160b440839017b984b47d470ea3be9a73df1b9aa2272ccf5120",
      "size_class": "free",
      "phase": 1,
      "description": "A KML 2.2 document with ten Point placemarks, each with a name and description.",
      "tags": [
        "data",
        "geo"
      ],
      "edge_case": false,
      "props": {
        "encoding": "utf-8",
        "bom": false,
        "line_ending": "lf",
        "lines": 57,
        "max_line_bytes": 113,
        "root_element": "kml",
        "has_dtd": false,
        "namespaces": [
          "http://www.opengis.net/kml/2.2"
        ],
        "placemarks": 10
      },
      "generator": "geo.kml_placemarks",
      "generator_params": {
        "count": 10
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "kmz/placemarks-10.kmz",
      "url": "https://loremfile.dev/kmz/placemarks-10.kmz",
      "format": "kmz",
      "ext": "kmz",
      "mime": "application/vnd.google-earth.kmz",
      "bytes": 790,
      "sha256": "1912370c5f3ab5d9da84442c589ed3d5032c6000e6d3c261635040080f9f626b",
      "size_class": "free",
      "phase": 1,
      "description": "Ten Point placemarks zipped as KMZ, with doc.kml as the first entry as the format expects.",
      "tags": [
        "data",
        "geo",
        "archive"
      ],
      "edge_case": false,
      "props": {
        "entries": 1,
        "directories": 0,
        "method": "deflate",
        "encrypted": false,
        "zip64": false,
        "comment": "",
        "placemarks": 10
      },
      "generator": "geo.kmz_placemarks",
      "generator_params": {
        "count": 10
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "log/json-lines-app-1000.log",
      "url": "https://loremfile.dev/log/json-lines-app-1000.log",
      "format": "log",
      "ext": "log",
      "mime": "text/plain; charset=utf-8",
      "bytes": 167666,
      "sha256": "77dda5f5c4be751d238e25d7c9a997d3c4276003e064c47d8dff6ef2e801370f",
      "size_class": "free",
      "phase": 1,
      "description": "1,000 application log records, one JSON object per line.",
      "tags": [
        "text",
        "data"
      ],
      "edge_case": false,
      "props": {
        "encoding": "utf-8",
        "bom": false,
        "line_ending": "lf",
        "lines": 1000,
        "max_line_bytes": 208
      },
      "generator": "text.json_lines_log",
      "generator_params": {
        "count": 1000
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "log/nginx-access-1000-lines.log",
      "url": "https://loremfile.dev/log/nginx-access-1000-lines.log",
      "format": "log",
      "ext": "log",
      "mime": "text/plain; charset=utf-8",
      "bytes": 110093,
      "sha256": "542b5e7e5bea196e34ae724d9837e0f7de2554a9ea66d51fe28ff2c688c9e2fc",
      "size_class": "free",
      "phase": 1,
      "description": "1,000 nginx combined-format access lines with fixed timestamps and RFC 5737 documentation IP addresses.",
      "tags": [
        "text",
        "data"
      ],
      "edge_case": false,
      "props": {
        "encoding": "utf-8",
        "bom": false,
        "line_ending": "lf",
        "lines": 1000,
        "max_line_bytes": 127
      },
      "generator": "text.nginx_access_log",
      "generator_params": {
        "count": 1000
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "m4a/aac-30s.m4a",
      "url": "https://loremfile.dev/m4a/aac-30s.m4a",
      "format": "m4a",
      "ext": "m4a",
      "mime": "audio/mp4",
      "bytes": 486931,
      "sha256": "913845e49d5ea939c5deaa05bc6752c5f031c05abb2edd40978cadb279e2f4ec",
      "size_class": "free",
      "phase": 1,
      "description": "A 440 Hz sine wave, thirty seconds, 48 kHz stereo AAC at 128 kbps in an MP4 container.",
      "tags": [
        "audio",
        "codec-aac"
      ],
      "edge_case": false,
      "props": {
        "duration_ms": 30000,
        "video_streams": 0,
        "audio_streams": 1,
        "subtitle_streams": 0,
        "acodec": "aac",
        "sample_rate": 48000,
        "channels": 2
      },
      "generator": "media_audio.encoded",
      "generator_params": {
        "codec": "aac",
        "duration": 30,
        "bitrate": "128k",
        "container": "ipod"
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "mbox/3-messages.mbox",
      "url": "https://loremfile.dev/mbox/3-messages.mbox",
      "format": "mbox",
      "ext": "mbox",
      "mime": "application/mbox",
      "bytes": 2922,
      "sha256": "176774b9f6720f5d2bac78e752513644e1764e1cd5d3460c06e704ff65495d48",
      "size_class": "free",
      "phase": 1,
      "description": "Three plain-text messages separated by `From ` lines, each with a fixed date and Message-ID.",
      "tags": [
        "mail",
        "text"
      ],
      "edge_case": false,
      "props": {
        "messages": 3,
        "subjects": [
          "Message 1 of 3",
          "Message 2 of 3",
          "Message 3 of 3"
        ],
        "content_types": [
          "text/plain"
        ]
      },
      "generator": "mail.mbox",
      "generator_params": {
        "count": 3
      },
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "md/all-elements.md",
      "url": "https://loremfile.dev/md/all-elements.md",
      "format": "md",
      "ext": "md",
      "mime": "text/markdown; charset=utf-8",
      "bytes": 920,
      "sha256": "2ca6240ea3aceb259413b32bf6d60994567e897c8520660048e43011f6ba5221",
      "size_class": "free",
      "phase": 1,
      "description": "Markdown exercising every common element: headings, emphasis, ordered and nested lists, a table, fenced code blocks with languages, a blockquote, a link, an image, a footnote and a raw HTML block.",
      "tags": [
        "text",
        "document"
      ],
      "edge_case": false,
      "props": {
        "encoding": "utf-8",
        "bom": false,
        "line_ending": "lf",
        "lines": 50,
        "max_line_bytes": 171
      },
      "generator": "text.markdown_all_elements",
      "generator_params": {},
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "md/readme-style.md",
      "url": "https://loremfile.dev/md/readme-style.md",
      "format": "md",
      "ext": "md",
      "mime": "text/markdown; charset=utf-8",
      "bytes": 4096,
      "sha256": "6a7ceaf6516842df270d3dff9c02eba86776437f290cd80336fc49b431025603",
      "size_class": "exact",
      "phase": 1,
      "description": "A README-shaped Markdown document of exactly 4,096 bytes.",
      "tags": [
        "text",
        "document"
      ],
      "edge_case": false,
      "props": {
        "encoding": "utf-8",
        "bom": false,
        "line_ending": "lf",
        "lines": 19,
        "max_line_bytes": 754
      },
      "generator": "text.lorem_sized",
      "generator_params": {
        "size": 4096
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "mkv/720p-5s.mkv",
      "url": "https://loremfile.dev/mkv/720p-5s.mkv",
      "format": "mkv",
      "ext": "mkv",
      "mime": "video/x-matroska",
      "bytes": 1971254,
      "sha256": "d97d49b7549a830a722c235fff583532e846f397a39d5cae5856fbb9b41f82e4",
      "size_class": "free",
      "phase": 1,
      "description": "1280x720 at 30 fps, five seconds, H.264 plus AAC in Matroska.",
      "tags": [
        "video",
        "codec-h264",
        "codec-aac"
      ],
      "edge_case": false,
      "props": {
        "duration_ms": 5021,
        "video_streams": 1,
        "audio_streams": 1,
        "subtitle_streams": 0,
        "width": 1280,
        "height": 720,
        "vcodec": "h264",
        "fps": 30.0,
        "acodec": "aac",
        "sample_rate": 48000,
        "channels": 1
      },
      "generator": "media_video.mp4",
      "generator_params": {
        "width": 1280,
        "height": 720,
        "duration": 5,
        "container": "matroska"
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "mov/720p-5s.mov",
      "url": "https://loremfile.dev/mov/720p-5s.mov",
      "format": "mov",
      "ext": "mov",
      "mime": "video/quicktime",
      "bytes": 1974629,
      "sha256": "1832e6b344fb62c99916b22d291cd48b2e209135a6db1cdfd6d27e57fbf0acc6",
      "size_class": "free",
      "phase": 1,
      "description": "1280x720 at 30 fps, five seconds, H.264 plus AAC in a QuickTime container.",
      "tags": [
        "video",
        "codec-h264",
        "codec-aac"
      ],
      "edge_case": false,
      "props": {
        "duration_ms": 5000,
        "video_streams": 1,
        "audio_streams": 1,
        "subtitle_streams": 0,
        "width": 1280,
        "height": 720,
        "vcodec": "h264",
        "fps": 30.0,
        "acodec": "aac",
        "sample_rate": 48000,
        "channels": 1
      },
      "generator": "media_video.mp4",
      "generator_params": {
        "width": 1280,
        "height": 720,
        "duration": 5,
        "container": "mov"
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "mp3/10mb.mp3",
      "url": "https://loremfile.dev/mp3/10mb.mp3",
      "format": "mp3",
      "ext": "mp3",
      "mime": "audio/mpeg",
      "bytes": 9950996,
      "sha256": "c9efb7476277383553596af6167a763eebe266f04ab67d7ec42a608df3f02bb2",
      "size_class": "approx",
      "phase": 1,
      "description": "About 10MB of 440 Hz sine at a constant 128 kbps — roughly ten minutes of audio.",
      "tags": [
        "audio",
        "sized",
        "codec-mp3",
        "large"
      ],
      "edge_case": false,
      "props": {
        "duration_ms": 621912,
        "video_streams": 0,
        "audio_streams": 1,
        "subtitle_streams": 0,
        "acodec": "mp3",
        "sample_rate": 48000,
        "channels": 2
      },
      "generator": "media_audio.mp3_sized",
      "generator_params": {
        "size": 10000000
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "mp3/1mb.mp3",
      "url": "https://loremfile.dev/mp3/1mb.mp3",
      "format": "mp3",
      "ext": "mp3",
      "mime": "audio/mpeg",
      "bytes": 996116,
      "sha256": "01098f9e99ac08a0b1d4a630ebd1b263e46a399349928b86dc0a3f4d3eea9a20",
      "size_class": "approx",
      "phase": 1,
      "description": "About 1MB of 440 Hz sine at a constant 128 kbps, so the duration follows from the size rather than the other way round.",
      "tags": [
        "audio",
        "sized",
        "codec-mp3"
      ],
      "edge_case": false,
      "props": {
        "duration_ms": 62232,
        "video_streams": 0,
        "audio_streams": 1,
        "subtitle_streams": 0,
        "acodec": "mp3",
        "sample_rate": 48000,
        "channels": 2
      },
      "generator": "media_audio.mp3_sized",
      "generator_params": {
        "size": 1000000
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "mp3/silence-5s.mp3",
      "url": "https://loremfile.dev/mp3/silence-5s.mp3",
      "format": "mp3",
      "ext": "mp3",
      "mime": "audio/mpeg",
      "bytes": 81044,
      "sha256": "e347b8227f47b104b400ec74568a50f567604ce81312351f62478a97b863a254",
      "size_class": "free",
      "phase": 1,
      "description": "Five seconds of digital silence — a valid MP3 with nothing in it, for code that treats silence as failure.",
      "tags": [
        "audio",
        "codec-mp3"
      ],
      "edge_case": false,
      "props": {
        "duration_ms": 5040,
        "video_streams": 0,
        "audio_streams": 1,
        "subtitle_streams": 0,
        "acodec": "mp3",
        "sample_rate": 48000,
        "channels": 2
      },
      "generator": "media_audio.encoded",
      "generator_params": {
        "codec": "mp3",
        "duration": 5,
        "source": "silence",
        "bitrate": "128k"
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "mp3/sine-440hz-30s.mp3",
      "url": "https://loremfile.dev/mp3/sine-440hz-30s.mp3",
      "format": "mp3",
      "ext": "mp3",
      "mime": "audio/mpeg",
      "bytes": 480788,
      "sha256": "3820efa1481d02e6db8bfd1782ddee1a2d1c27cfab1d470ff0757b2f93770c1e",
      "size_class": "free",
      "phase": 1,
      "description": "A 440 Hz sine wave, thirty seconds, 128 kbps stereo — long enough to test seeking and scrubbing.",
      "tags": [
        "audio",
        "codec-mp3"
      ],
      "edge_case": false,
      "props": {
        "duration_ms": 30024,
        "video_streams": 0,
        "audio_streams": 1,
        "subtitle_streams": 0,
        "acodec": "mp3",
        "sample_rate": 48000,
        "channels": 2
      },
      "generator": "media_audio.encoded",
      "generator_params": {
        "codec": "mp3",
        "duration": 30,
        "bitrate": "128k"
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "mp3/sine-440hz-3s.mp3",
      "url": "https://loremfile.dev/mp3/sine-440hz-3s.mp3",
      "format": "mp3",
      "ext": "mp3",
      "mime": "audio/mpeg",
      "bytes": 48788,
      "sha256": "a24d882d024a457a0b12cb1ff331bee29f76959bb9b438aa72780c4269e077c5",
      "size_class": "free",
      "phase": 1,
      "description": "A 440 Hz sine wave, three seconds, 128 kbps stereo. The smallest useful audio sample. Measured duration is 3024 ms: an MP3 frame holds 1152 samples, so the encoder rounds up to a whole frame.",
      "tags": [
        "audio",
        "codec-mp3"
      ],
      "edge_case": false,
      "props": {
        "duration_ms": 3024,
        "video_streams": 0,
        "audio_streams": 1,
        "subtitle_streams": 0,
        "acodec": "mp3",
        "sample_rate": 48000,
        "channels": 2
      },
      "generator": "media_audio.encoded",
      "generator_params": {
        "codec": "mp3",
        "duration": 3,
        "bitrate": "128k"
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "mp3/stereo-lr-5s.mp3",
      "url": "https://loremfile.dev/mp3/stereo-lr-5s.mp3",
      "format": "mp3",
      "ext": "mp3",
      "mime": "audio/mpeg",
      "bytes": 81044,
      "sha256": "586c87ba825c1c4c8d6917554094f72236dad2f3444b780fedc4f2539dcb1726",
      "size_class": "free",
      "phase": 1,
      "description": "440 Hz in the left channel, 880 Hz in the right. If your pipeline swaps or downmixes channels, this is the file that shows it.",
      "tags": [
        "audio",
        "codec-mp3"
      ],
      "edge_case": false,
      "props": {
        "duration_ms": 5040,
        "video_streams": 0,
        "audio_streams": 1,
        "subtitle_streams": 0,
        "acodec": "mp3",
        "sample_rate": 48000,
        "channels": 2
      },
      "generator": "media_audio.encoded",
      "generator_params": {
        "codec": "mp3",
        "duration": 5,
        "source": "stereo-lr",
        "bitrate": "128k"
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "mp3/with-id3v2-tags-3s.mp3",
      "url": "https://loremfile.dev/mp3/with-id3v2-tags-3s.mp3",
      "format": "mp3",
      "ext": "mp3",
      "mime": "audio/mpeg",
      "bytes": 51480,
      "sha256": "a71e94a5ca504c24604fb692102ec88317a7bd380b3a3a6eab1aafc6ae9e6154",
      "size_class": "free",
      "phase": 1,
      "description": "Three seconds of 440 Hz carrying ID3v2.3 tags — title, artist, album, year and a PNG cover image taken from the published 100x100 fixture.",
      "tags": [
        "audio",
        "codec-mp3"
      ],
      "edge_case": false,
      "props": {
        "duration_ms": 3024,
        "video_streams": 1,
        "audio_streams": 1,
        "subtitle_streams": 0,
        "width": 100,
        "height": 100,
        "vcodec": "png",
        "fps": 0,
        "acodec": "mp3",
        "sample_rate": 48000,
        "channels": 2
      },
      "generator": "media_audio.mp3_tagged",
      "generator_params": {
        "duration": 3,
        "cover": "png/100x100.png"
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "added_in": "1.2.0",
      "bytes": 7829049,
      "deprecated": false,
      "description": "1920x1080 at 30 fps, ten seconds, H.264 plus AAC.",
      "edge_case": false,
      "ext": "mp4",
      "format": "mp4",
      "generator": "media_video.mp4",
      "generator_params": {
        "duration": 10,
        "height": 1080,
        "width": 1920
      },
      "mime": "video/mp4",
      "path": "mp4/1080p-10s.mp4",
      "phase": 1,
      "props": {
        "acodec": "aac",
        "audio_streams": 1,
        "channels": 1,
        "duration_ms": 10000,
        "fps": 30.0,
        "height": 1080,
        "sample_rate": 48000,
        "subtitle_streams": 0,
        "vcodec": "h264",
        "video_streams": 1,
        "width": 1920
      },
      "sha256": "d47a9f351638d4b330a08dff4a86e4fad62855492375a7296af857acdc1e12d8",
      "size_class": "free",
      "status": "active",
      "supersededBy": null,
      "tags": [
        "video",
        "codec-h264",
        "codec-aac"
      ],
      "url": "https://loremfile.dev/mp4/1080p-10s.mp4"
    },
    {
      "added_in": "1.2.0",
      "bytes": 10062489,
      "deprecated": false,
      "description": "About 10MB: 1280x720 at 30 fps for sixty seconds, two-pass at a flat bitrate.",
      "edge_case": false,
      "ext": "mp4",
      "format": "mp4",
      "generator": "media_video.mp4_sized",
      "generator_params": {
        "duration": 60,
        "size": 10000000
      },
      "mime": "video/mp4",
      "path": "mp4/10mb.mp4",
      "phase": 1,
      "props": {
        "acodec": "aac",
        "audio_streams": 1,
        "channels": 1,
        "duration_ms": 60000,
        "fps": 30.0,
        "height": 720,
        "sample_rate": 48000,
        "subtitle_streams": 0,
        "vcodec": "h264",
        "video_streams": 1,
        "width": 1280
      },
      "sha256": "75b9fa17ad73324fcee4cd321da6e157543ed9d4fd22626398dd797bd1e9e343",
      "size_class": "approx",
      "status": "active",
      "supersededBy": null,
      "tags": [
        "video",
        "sized",
        "codec-h264",
        "large"
      ],
      "url": "https://loremfile.dev/mp4/10mb.mp4"
    },
    {
      "path": "mp4/1mb.mp4",
      "url": "https://loremfile.dev/mp4/1mb.mp4",
      "format": "mp4",
      "ext": "mp4",
      "mime": "video/mp4",
      "bytes": 979114,
      "sha256": "7d646fa0effe0607ae260bbe332bc5023a9425fbbdeb2c1285b08ca7ea1b3a55",
      "size_class": "approx",
      "phase": 1,
      "description": "About 1MB: 1280x720 at 30 fps for ten seconds, two-pass at a flat bitrate so the size is met by the encoder rather than by padding.",
      "tags": [
        "video",
        "sized",
        "codec-h264"
      ],
      "edge_case": false,
      "props": {
        "duration_ms": 10000,
        "video_streams": 1,
        "audio_streams": 1,
        "subtitle_streams": 0,
        "width": 1280,
        "height": 720,
        "vcodec": "h264",
        "fps": 30.0,
        "acodec": "aac",
        "sample_rate": 48000,
        "channels": 1
      },
      "generator": "media_video.mp4_sized",
      "generator_params": {
        "size": 1000000,
        "duration": 10
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "mp4/360p-5s.mp4",
      "url": "https://loremfile.dev/mp4/360p-5s.mp4",
      "format": "mp4",
      "ext": "mp4",
      "mime": "video/mp4",
      "bytes": 577525,
      "sha256": "ed72f1443f157a985f45a01bda6ff4d98a838fae1607b2338b4a3f266978b7ed",
      "size_class": "free",
      "phase": 1,
      "description": "640x360 at 30 fps, five seconds, H.264 plus AAC. The small one, for quick tests.",
      "tags": [
        "video",
        "codec-h264",
        "codec-aac"
      ],
      "edge_case": false,
      "props": {
        "duration_ms": 5000,
        "video_streams": 1,
        "audio_streams": 1,
        "subtitle_streams": 0,
        "width": 640,
        "height": 360,
        "vcodec": "h264",
        "fps": 30.0,
        "acodec": "aac",
        "sample_rate": 48000,
        "channels": 1
      },
      "generator": "media_video.mp4",
      "generator_params": {
        "width": 640,
        "height": 360,
        "duration": 5
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "added_in": "1.2.0",
      "bytes": 50081140,
      "deprecated": false,
      "description": "About 50MB: 1280x720 at 30 fps for two minutes, two-pass at a flat bitrate. The largest video in the launch set.",
      "edge_case": false,
      "ext": "mp4",
      "format": "mp4",
      "generator": "media_video.mp4_sized",
      "generator_params": {
        "duration": 120,
        "size": 50000000
      },
      "mime": "video/mp4",
      "path": "mp4/50mb.mp4",
      "phase": 1,
      "props": {
        "acodec": "aac",
        "audio_streams": 1,
        "channels": 1,
        "duration_ms": 120000,
        "fps": 30.0,
        "height": 720,
        "sample_rate": 48000,
        "subtitle_streams": 0,
        "vcodec": "h264",
        "video_streams": 1,
        "width": 1280
      },
      "sha256": "509e34f369aa3d8c6f98b02661a5b7dfb757759687928db366418f9adf719ae9",
      "size_class": "approx",
      "status": "active",
      "supersededBy": null,
      "tags": [
        "video",
        "sized",
        "codec-h264",
        "large"
      ],
      "url": "https://loremfile.dev/mp4/50mb.mp4"
    },
    {
      "path": "mp4/720p-5s.mp4",
      "url": "https://loremfile.dev/mp4/720p-5s.mp4",
      "format": "mp4",
      "ext": "mp4",
      "mime": "video/mp4",
      "bytes": 1974574,
      "sha256": "62f538e309e954d684da11d56aca69d68317bf2f023d2674c61486f0acd61c17",
      "size_class": "free",
      "phase": 1,
      "description": "1280x720 at 30 fps, five seconds, H.264 plus AAC. The default sample if you need just one.",
      "tags": [
        "video",
        "codec-h264",
        "codec-aac"
      ],
      "edge_case": false,
      "props": {
        "duration_ms": 5000,
        "video_streams": 1,
        "audio_streams": 1,
        "subtitle_streams": 0,
        "width": 1280,
        "height": 720,
        "vcodec": "h264",
        "fps": 30.0,
        "acodec": "aac",
        "sample_rate": 48000,
        "channels": 1
      },
      "generator": "media_video.mp4",
      "generator_params": {
        "width": 1280,
        "height": 720,
        "duration": 5
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "mp4/h264-baseline-720p-5s.mp4",
      "url": "https://loremfile.dev/mp4/h264-baseline-720p-5s.mp4",
      "format": "mp4",
      "ext": "mp4",
      "mime": "video/mp4",
      "bytes": 2085508,
      "sha256": "701b1a23e75387af7adf3dc10880732f1d1d9caea7377f5bf6f89cd02ecd642c",
      "size_class": "free",
      "phase": 1,
      "description": "H.264 Baseline profile at level 3.0 — the constrained profile old devices and some hardware decoders need.",
      "tags": [
        "video",
        "codec-h264",
        "codec-aac"
      ],
      "edge_case": false,
      "props": {
        "duration_ms": 5000,
        "video_streams": 1,
        "audio_streams": 1,
        "subtitle_streams": 0,
        "width": 1280,
        "height": 720,
        "vcodec": "h264",
        "fps": 30.0,
        "acodec": "aac",
        "sample_rate": 48000,
        "channels": 1
      },
      "generator": "media_video.mp4",
      "generator_params": {
        "width": 1280,
        "height": 720,
        "duration": 5,
        "profile": "baseline",
        "level": "3.0"
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "mp4/no-audio-720p-5s.mp4",
      "url": "https://loremfile.dev/mp4/no-audio-720p-5s.mp4",
      "format": "mp4",
      "ext": "mp4",
      "mime": "video/mp4",
      "bytes": 1890893,
      "sha256": "941f98f457cb89272b7d99e60ce801ce3a68b47a86711effe00bb98c5d591691",
      "size_class": "free",
      "phase": 1,
      "description": "1280x720 with no audio track at all — for code paths that assume every video has one.",
      "tags": [
        "video",
        "codec-h264"
      ],
      "edge_case": false,
      "props": {
        "duration_ms": 5000,
        "video_streams": 1,
        "audio_streams": 0,
        "subtitle_streams": 0,
        "width": 1280,
        "height": 720,
        "vcodec": "h264",
        "fps": 30.0
      },
      "generator": "media_video.mp4",
      "generator_params": {
        "width": 1280,
        "height": 720,
        "duration": 5,
        "audio": false
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "mp4/vertical-1080x1920-5s.mp4",
      "url": "https://loremfile.dev/mp4/vertical-1080x1920-5s.mp4",
      "format": "mp4",
      "ext": "mp4",
      "mime": "video/mp4",
      "bytes": 4286625,
      "sha256": "38d6edf4f7fe7c3d1ad6e3542a6e23bba4364dceb5a63c82538e1e910754b5f2",
      "size_class": "free",
      "phase": 1,
      "description": "Portrait 1080x1920, the shape phones record and social apps expect. Five seconds.",
      "tags": [
        "video",
        "codec-h264"
      ],
      "edge_case": false,
      "props": {
        "duration_ms": 5000,
        "video_streams": 1,
        "audio_streams": 1,
        "subtitle_streams": 0,
        "width": 1080,
        "height": 1920,
        "vcodec": "h264",
        "fps": 30.0,
        "acodec": "aac",
        "sample_rate": 48000,
        "channels": 1
      },
      "generator": "media_video.mp4",
      "generator_params": {
        "width": 1080,
        "height": 1920,
        "duration": 5
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "ndjson/people-1000.ndjson",
      "url": "https://loremfile.dev/ndjson/people-1000.ndjson",
      "format": "ndjson",
      "ext": "ndjson",
      "mime": "application/x-ndjson; charset=utf-8",
      "bytes": 408525,
      "sha256": "dc26a29b2bc4f2e59721bf7bed312ccb4c4cf486954c229bd4869c3fcca14ead",
      "size_class": "free",
      "phase": 1,
      "description": "1,000 people objects, one compact JSON object per line.",
      "tags": [
        "data",
        "dataset-people"
      ],
      "edge_case": false,
      "props": {
        "encoding": "utf-8",
        "bom": false,
        "line_ending": "lf",
        "lines": 1000,
        "max_line_bytes": 531,
        "top_type": "object",
        "items": 1000,
        "max_depth": 2
      },
      "generator": "data.ndjson_people",
      "generator_params": {
        "rows": 1000
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "ogg/vorbis-30s.ogg",
      "url": "https://loremfile.dev/ogg/vorbis-30s.ogg",
      "format": "ogg",
      "ext": "ogg",
      "mime": "audio/ogg",
      "bytes": 95083,
      "sha256": "33ed0fc093e68fe0878661accb78ec36621dc954134d9c8b41b39c7f07c331a2",
      "size_class": "free",
      "phase": 1,
      "description": "A 440 Hz sine wave, thirty seconds, 48 kHz stereo Vorbis at quality 4.",
      "tags": [
        "audio"
      ],
      "edge_case": false,
      "props": {
        "duration_ms": 30000,
        "video_streams": 0,
        "audio_streams": 1,
        "subtitle_streams": 0,
        "acodec": "vorbis",
        "sample_rate": 48000,
        "channels": 2
      },
      "generator": "media_audio.encoded",
      "generator_params": {
        "codec": "vorbis",
        "duration": 30,
        "quality": "4"
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "ogv/720p-5s.ogv",
      "url": "https://loremfile.dev/ogv/720p-5s.ogv",
      "format": "ogv",
      "ext": "ogv",
      "mime": "video/ogg",
      "bytes": 3801030,
      "sha256": "6a1eb108c735d70a0c187961156a84356fcd9c28652dc743ff1f2e9ae8f40a5f",
      "size_class": "free",
      "phase": 1,
      "description": "1280x720 at 30 fps, five seconds, Theora video with Vorbis audio.",
      "tags": [
        "video"
      ],
      "edge_case": false,
      "props": {
        "duration_ms": 5000,
        "video_streams": 1,
        "audio_streams": 1,
        "subtitle_streams": 0,
        "width": 1280,
        "height": 720,
        "vcodec": "theora",
        "fps": 30.0,
        "acodec": "vorbis",
        "sample_rate": 48000,
        "channels": 1
      },
      "generator": "media_video.ogv",
      "generator_params": {
        "width": 1280,
        "height": 720,
        "duration": 5
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "opus/30s.opus",
      "url": "https://loremfile.dev/opus/30s.opus",
      "format": "opus",
      "ext": "opus",
      "mime": "audio/opus",
      "bytes": 431592,
      "sha256": "31bd52b1593ccffc4b250b4ba78886fe5967581793be06c8ce8abe67e04f2a4a",
      "size_class": "free",
      "phase": 1,
      "description": "A 440 Hz sine wave, thirty seconds, stereo Opus at 96 kbps.",
      "tags": [
        "audio",
        "codec-opus"
      ],
      "edge_case": false,
      "props": {
        "duration_ms": 30006,
        "video_streams": 0,
        "audio_streams": 1,
        "subtitle_streams": 0,
        "acodec": "opus",
        "sample_rate": 48000,
        "channels": 2
      },
      "generator": "media_audio.encoded",
      "generator_params": {
        "codec": "opus",
        "duration": 30,
        "bitrate": "96k"
      },
      "added_in": "1.2.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "otf/loremfile-sans.otf",
      "url": "https://loremfile.dev/otf/loremfile-sans.otf",
      "format": "otf",
      "ext": "otf",
      "mime": "font/otf",
      "bytes": 4268,
      "sha256": "c127a5370fe65f0041381d1b77ec63cafb4718b3d6df0c8f70e6046805979ab6",
      "size_class": "free",
      "phase": 1,
      "description": "The Loremfile Sans family as OpenType with CFF outlines: 95 printable ASCII glyphs drawn as rectangles of varying width, with fixed head timestamps and an unrestricted embedding permission.",
      "tags": [
        "font"
      ],
      "edge_case": false,
      "props": {
        "glyphs": 96,
        "cmap_entries": 95,
        "units_per_em": 1000,
        "family": "Loremfile Sans",
        "outlines": "cff",
        "flavor": "",
        "embeddable": true
      },
      "generator": "font.family",
      "generator_params": {
        "cff": true
      },
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "parquet/people-1000.parquet",
      "url": "https://loremfile.dev/parquet/people-1000.parquet",
      "format": "parquet",
      "ext": "parquet",
      "mime": "application/vnd.apache.parquet",
      "bytes": 114469,
      "sha256": "a1eda1fe1cdd535133b49af0a8fd63dbdd8e341759135366ef65872a665facad",
      "size_class": "free",
      "phase": 1,
      "description": "1,000 rows of the shared people dataset as Parquet, snappy-compressed, in a single row group. The same rows as every other people fixture.",
      "tags": [
        "data",
        "dataset-people"
      ],
      "edge_case": false,
      "props": {
        "rows": 1000,
        "columns": 14,
        "row_groups": 1,
        "compression": "snappy",
        "column_names": [
          "id",
          "first_name",
          "last_name",
          "email",
          "phone",
          "street",
          "city",
          "country",
          "birth_date",
          "signup_at",
          "balance",
          "is_active",
          "tags",
          "bio"
        ]
      },
      "generator": "columnar.parquet_people",
      "generator_params": {
        "rows": 1000
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "parquet/people-100k.parquet",
      "url": "https://loremfile.dev/parquet/people-100k.parquet",
      "format": "parquet",
      "ext": "parquet",
      "mime": "application/vnd.apache.parquet",
      "bytes": 9756012,
      "sha256": "341d373aa40ced687920b3e58d40d78bc7c8cd0d29ac1b9360c9bed5de1a7478",
      "size_class": "free",
      "phase": 1,
      "description": "100,000 rows of the shared people dataset as Parquet, snappy-compressed, in a single row group. The same rows as every other people fixture.",
      "tags": [
        "data",
        "dataset-people"
      ],
      "edge_case": false,
      "props": {
        "rows": 100000,
        "columns": 14,
        "row_groups": 1,
        "compression": "snappy",
        "column_names": [
          "id",
          "first_name",
          "last_name",
          "email",
          "phone",
          "street",
          "city",
          "country",
          "birth_date",
          "signup_at",
          "balance",
          "is_active",
          "tags",
          "bio"
        ]
      },
      "generator": "columnar.parquet_people",
      "generator_params": {
        "rows": 100000
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "pdf/10mb.pdf",
      "url": "https://loremfile.dev/pdf/10mb.pdf",
      "format": "pdf",
      "ext": "pdf",
      "mime": "application/pdf",
      "bytes": 9924917,
      "sha256": "909a9462ffec89a92fa03e7fe255eb0fb0143725bbd6fac39392527937bb1752",
      "size_class": "approx",
      "phase": 1,
      "description": "About 10MB: A4 pages each embedding one incompressible seeded-noise JPEG plate, so the size is honest rather than padded.",
      "tags": [
        "document",
        "sized",
        "image"
      ],
      "edge_case": false,
      "props": {
        "pages": 42,
        "page_width_pt": 595.28,
        "page_height_pt": 841.89,
        "encrypted": false,
        "pdf_version": "1.4",
        "has_outline": false,
        "has_images": true
      },
      "generator": "pdf.sized",
      "generator_params": {
        "size": 10000000
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "pdf/1mb.pdf",
      "url": "https://loremfile.dev/pdf/1mb.pdf",
      "format": "pdf",
      "ext": "pdf",
      "mime": "application/pdf",
      "bytes": 976137,
      "sha256": "59b7ad1fb978ba412c8cfce57b263cf3bbfa01ce5fdc05584c3be32ed535d615",
      "size_class": "approx",
      "phase": 1,
      "description": "About 1MB: A4 pages each embedding one incompressible seeded-noise JPEG plate, so the size is honest rather than padded.",
      "tags": [
        "document",
        "sized",
        "image"
      ],
      "edge_case": false,
      "props": {
        "pages": 4,
        "page_width_pt": 595.28,
        "page_height_pt": 841.89,
        "encrypted": false,
        "pdf_version": "1.4",
        "has_outline": false,
        "has_images": true
      },
      "generator": "pdf.sized",
      "generator_params": {
        "size": 1000000
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "pdf/a4-10pages.pdf",
      "url": "https://loremfile.dev/pdf/a4-10pages.pdf",
      "format": "pdf",
      "ext": "pdf",
      "mime": "application/pdf",
      "bytes": 11246,
      "sha256": "20cf4cec5afaab709b5ebd0401784bac289415a17b92ce6b9ffdbf78418079ba",
      "size_class": "free",
      "phase": 1,
      "description": "A4 portrait, 10 pages of Lorem Ipsum in the Helvetica core font with page numbers. No embedded fonts.",
      "tags": [
        "document",
        "multi-page",
        "text"
      ],
      "edge_case": false,
      "props": {
        "pages": 10,
        "page_width_pt": 595.28,
        "page_height_pt": 841.89,
        "encrypted": false,
        "pdf_version": "1.4",
        "has_outline": false,
        "has_images": false
      },
      "generator": "pdf.basic",
      "generator_params": {
        "pages": 10,
        "page_numbers": true
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "pdf/a4-1page.pdf",
      "url": "https://loremfile.dev/pdf/a4-1page.pdf",
      "format": "pdf",
      "ext": "pdf",
      "mime": "application/pdf",
      "bytes": 1795,
      "sha256": "0c547013439f2cf2c21e675485907ce0809da702dd75921afcc81a5fb46721e9",
      "size_class": "free",
      "phase": 1,
      "description": "A4 portrait, 1 page of Lorem Ipsum in the Helvetica core font. No embedded fonts.",
      "tags": [
        "document",
        "text"
      ],
      "edge_case": false,
      "props": {
        "pages": 1,
        "page_width_pt": 595.28,
        "page_height_pt": 841.89,
        "encrypted": false,
        "pdf_version": "1.4",
        "has_outline": false,
        "has_images": false
      },
      "generator": "pdf.basic",
      "generator_params": {
        "pages": 1
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "pdf/a4-3pages.pdf",
      "url": "https://loremfile.dev/pdf/a4-3pages.pdf",
      "format": "pdf",
      "ext": "pdf",
      "mime": "application/pdf",
      "bytes": 4351,
      "sha256": "2eb9f305a958647fc9bab6c64ec975f61c7ad0031f62b142a8ebe21c2cb6f67e",
      "size_class": "free",
      "phase": 1,
      "description": "A4 portrait, 3 pages of Lorem Ipsum in the Helvetica core font with page numbers. No embedded fonts.",
      "tags": [
        "document",
        "multi-page",
        "text"
      ],
      "edge_case": false,
      "props": {
        "pages": 3,
        "page_width_pt": 595.28,
        "page_height_pt": 841.89,
        "encrypted": false,
        "pdf_version": "1.4",
        "has_outline": false,
        "has_images": false
      },
      "generator": "pdf.basic",
      "generator_params": {
        "pages": 3,
        "page_numbers": true
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "pdf/a4-encrypted-1page.pdf",
      "url": "https://loremfile.dev/pdf/a4-encrypted-1page.pdf",
      "format": "pdf",
      "ext": "pdf",
      "mime": "application/pdf",
      "bytes": 1875,
      "sha256": "b148ac457d4d79017820716429c77441309e1a9610f52990646073d350b931be",
      "size_class": "free",
      "phase": 1,
      "description": "AES-128 encrypted. User password 'loremfile', owner password 'loremfile-owner' - both are published here on purpose, because an encrypted fixture nobody can open would be useless. Printing and copying are permitted.",
      "tags": [
        "document",
        "encrypted"
      ],
      "edge_case": false,
      "props": {
        "pages": 1,
        "page_width_pt": 595.28,
        "page_height_pt": 841.89,
        "encrypted": true,
        "pdf_version": "1.5",
        "has_outline": false,
        "has_images": false
      },
      "generator": "pdf.encrypted",
      "generator_params": {
        "user_password": "loremfile",
        "owner_password": "loremfile-owner",
        "pages": 1
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "pdf/a4-landscape-1page.pdf",
      "url": "https://loremfile.dev/pdf/a4-landscape-1page.pdf",
      "format": "pdf",
      "ext": "pdf",
      "mime": "application/pdf",
      "bytes": 1682,
      "sha256": "6ed3118f1cdfc2468a55eb680217469a5e881a2a22d46c89301757153665e205",
      "size_class": "free",
      "phase": 1,
      "description": "A4 landscape, one page — the page box is wider than it is tall.",
      "tags": [
        "document",
        "text"
      ],
      "edge_case": false,
      "props": {
        "pages": 1,
        "page_width_pt": 841.89,
        "page_height_pt": 595.28,
        "encrypted": false,
        "pdf_version": "1.4",
        "has_outline": false,
        "has_images": false
      },
      "generator": "pdf.basic",
      "generator_params": {
        "pages": 1,
        "orientation": "landscape"
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "pdf/a4-with-images-2pages.pdf",
      "url": "https://loremfile.dev/pdf/a4-with-images-2pages.pdf",
      "format": "pdf",
      "ext": "pdf",
      "mime": "application/pdf",
      "bytes": 27542,
      "sha256": "26ef320881bbdd870ce1aa6e7c6d0948d86a6cc13fe5b3f1381380321ad49126",
      "size_class": "free",
      "phase": 1,
      "description": "Two pages, each embedding a published image fixture: the 640x480 PNG and the 640x480 JPEG. Built from the published bytes, not regenerated.",
      "tags": [
        "document",
        "image",
        "multi-page"
      ],
      "edge_case": false,
      "props": {
        "pages": 2,
        "page_width_pt": 595.28,
        "page_height_pt": 841.89,
        "encrypted": false,
        "pdf_version": "1.4",
        "has_outline": false,
        "has_images": true
      },
      "generator": "pdf.with_images",
      "generator_params": {
        "png": "png/640x480.png",
        "jpg": "jpg/640x480.jpg"
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "pdf/a4-with-table-1page.pdf",
      "url": "https://loremfile.dev/pdf/a4-with-table-1page.pdf",
      "format": "pdf",
      "ext": "pdf",
      "mime": "application/pdf",
      "bytes": 2059,
      "sha256": "6e0645e0898ad29c906d74bb027c753c74205cfcd984fed2531634466939cbc2",
      "size_class": "free",
      "phase": 1,
      "description": "One page holding a ten-row table of the shared people dataset.",
      "tags": [
        "document",
        "dataset-people"
      ],
      "edge_case": false,
      "props": {
        "pages": 1,
        "page_width_pt": 595.28,
        "page_height_pt": 841.89,
        "encrypted": false,
        "pdf_version": "1.4",
        "has_outline": false,
        "has_images": false
      },
      "generator": "pdf.with_table",
      "generator_params": {
        "rows": 10
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "pdf/blank-1page.pdf",
      "url": "https://loremfile.dev/pdf/blank-1page.pdf",
      "format": "pdf",
      "ext": "pdf",
      "mime": "application/pdf",
      "bytes": 966,
      "sha256": "d730ea6cd76242e13cebf6cbb939345f8abef28e5ad60fba13b7ed4579947b49",
      "size_class": "free",
      "phase": 1,
      "description": "A structurally valid PDF with one page and no content at all.",
      "tags": [
        "document"
      ],
      "edge_case": false,
      "props": {
        "pages": 1,
        "page_width_pt": 595.28,
        "page_height_pt": 841.89,
        "encrypted": false,
        "pdf_version": "1.4",
        "has_outline": false,
        "has_images": false
      },
      "generator": "pdf.blank",
      "generator_params": {
        "pages": 1
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "pdf/letter-1page.pdf",
      "url": "https://loremfile.dev/pdf/letter-1page.pdf",
      "format": "pdf",
      "ext": "pdf",
      "mime": "application/pdf",
      "bytes": 1860,
      "sha256": "edcde03faebda8e404a57d923871172223cbefa7a28e25acf17ae99d7bf5da5d",
      "size_class": "free",
      "phase": 1,
      "description": "US Letter portrait, one page. Same content as the A4 fixture, different page box.",
      "tags": [
        "document",
        "text"
      ],
      "edge_case": false,
      "props": {
        "pages": 1,
        "page_width_pt": 612.0,
        "page_height_pt": 792.0,
        "encrypted": false,
        "pdf_version": "1.4",
        "has_outline": false,
        "has_images": false
      },
      "generator": "pdf.basic",
      "generator_params": {
        "pages": 1,
        "page_size": "letter"
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "pdf/minimal.pdf",
      "url": "https://loremfile.dev/pdf/minimal.pdf",
      "format": "pdf",
      "ext": "pdf",
      "mime": "application/pdf",
      "bytes": 586,
      "sha256": "07508e71a1366a3e60af7b58c027fc07ebc774e9feac52e937dd82ab1a1c6e43",
      "size_class": "free",
      "phase": 1,
      "description": "The smallest structurally valid PDF this catalog offers: one page, the word 'Hello', a hand-written cross-reference table and nothing else.",
      "tags": [
        "document"
      ],
      "edge_case": false,
      "props": {
        "pages": 1,
        "page_width_pt": 595.0,
        "page_height_pt": 842.0,
        "encrypted": false,
        "pdf_version": "1.4",
        "has_outline": false,
        "has_images": false
      },
      "generator": "pdf.minimal",
      "generator_params": {},
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "pem/self-signed-ed25519-cert.pem",
      "url": "https://loremfile.dev/pem/self-signed-ed25519-cert.pem",
      "format": "pem",
      "ext": "pem",
      "mime": "application/x-pem-file",
      "bytes": 542,
      "sha256": "cbefdc05c831c5f36240181c08344b1387a112507f50f92b90c6bab8920faeb2",
      "size_class": "free",
      "phase": 1,
      "description": "A self-signed Ed25519 certificate for fixture.example, valid from 2020 to 2120, with a fixed serial. Ed25519 signs deterministically, so the bytes never move.",
      "tags": [
        "text",
        "binary"
      ],
      "edge_case": false,
      "props": {
        "kind": "certificate",
        "subject_cn": "fixture.example",
        "issuer_cn": "fixture.example",
        "self_signed": true,
        "algorithm": "ed25519",
        "serial": 1409983142208024964197,
        "dns_names": [
          "fixture.example"
        ],
        "has_private_key": false
      },
      "generator": "cert.self_signed_certificate",
      "generator_params": {
        "encoding": "pem"
      },
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "png/100x100.png",
      "url": "https://loremfile.dev/png/100x100.png",
      "format": "png",
      "ext": "png",
      "mime": "image/png",
      "bytes": 1387,
      "sha256": "aad08c4f806eefeccf9bcec1430b4fe2a55ee176ff154c3999541f971b178b56",
      "size_class": "free",
      "phase": 1,
      "description": "A colour-bar test card with a border, centre cross and a label giving the dimensions and mode. 100x100, RGB.",
      "tags": [
        "image"
      ],
      "edge_case": false,
      "props": {
        "width": 100,
        "height": 100,
        "mode": "RGB",
        "frames": 1,
        "animated": false,
        "format": "png",
        "progressive": false
      },
      "generator": "image.testcard",
      "generator_params": {
        "width": 100,
        "height": 100,
        "fmt": "PNG"
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "png/1920x1080.png",
      "url": "https://loremfile.dev/png/1920x1080.png",
      "format": "png",
      "ext": "png",
      "mime": "image/png",
      "bytes": 11110,
      "sha256": "94b8e6784b271a17691abde4552c2886876ce3d5861d6fd4df860f110ce4e85d",
      "size_class": "free",
      "phase": 1,
      "description": "A colour-bar test card with a border, centre cross and a label giving the dimensions and mode. 1920x1080, RGB.",
      "tags": [
        "image"
      ],
      "edge_case": false,
      "props": {
        "width": 1920,
        "height": 1080,
        "mode": "RGB",
        "frames": 1,
        "animated": false,
        "format": "png",
        "progressive": false
      },
      "generator": "image.testcard",
      "generator_params": {
        "width": 1920,
        "height": 1080,
        "fmt": "PNG"
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "png/1mb.png",
      "url": "https://loremfile.dev/png/1mb.png",
      "format": "png",
      "ext": "png",
      "mime": "image/png",
      "bytes": 1000147,
      "sha256": "fa5e0d23a88567931ecf49361fe7643c9e5282d7cbe80a99538d5d9fdec26bf2",
      "size_class": "approx",
      "phase": 1,
      "description": "About 1 MB of seeded RGB noise. Incompressible, so the size is honest.",
      "tags": [
        "image",
        "sized"
      ],
      "edge_case": false,
      "props": {
        "width": 1024,
        "height": 325,
        "mode": "RGB",
        "frames": 1,
        "animated": false,
        "format": "png",
        "progressive": false
      },
      "generator": "image.noise_sized",
      "generator_params": {
        "size": 1000000,
        "fmt": "PNG"
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "png/1x1.png",
      "url": "https://loremfile.dev/png/1x1.png",
      "format": "png",
      "ext": "png",
      "mime": "image/png",
      "bytes": 69,
      "sha256": "c47dd9465c00e9a0c8b85e9ea58d3034a0d23b9cf926113602f3460752a4eb96",
      "size_class": "free",
      "phase": 1,
      "description": "A single white pixel: the smallest useful PNG.",
      "tags": [
        "image"
      ],
      "edge_case": false,
      "props": {
        "width": 1,
        "height": 1,
        "mode": "RGB",
        "frames": 1,
        "animated": false,
        "format": "png",
        "progressive": false
      },
      "generator": "image.testcard",
      "generator_params": {
        "width": 1,
        "height": 1,
        "fmt": "PNG"
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "png/640x480.png",
      "url": "https://loremfile.dev/png/640x480.png",
      "format": "png",
      "ext": "png",
      "mime": "image/png",
      "bytes": 4208,
      "sha256": "5329c9114fbac502ca9dd40c79414c1ba1c43f90e26da1f0f8edbe546a3fb4ff",
      "size_class": "free",
      "phase": 1,
      "description": "A colour-bar test card with a border, centre cross and a label giving the dimensions and mode. 640x480, RGB.",
      "tags": [
        "image"
      ],
      "edge_case": false,
      "props": {
        "width": 640,
        "height": 480,
        "mode": "RGB",
        "frames": 1,
        "animated": false,
        "format": "png",
        "progressive": false
      },
      "generator": "image.testcard",
      "generator_params": {
        "width": 640,
        "height": 480,
        "fmt": "PNG"
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "png/animated-apng-10frames-128x128.png",
      "url": "https://loremfile.dev/png/animated-apng-10frames-128x128.png",
      "format": "png",
      "ext": "png",
      "mime": "image/png",
      "bytes": 9083,
      "sha256": "e4f0fcbc246f86af0b366de27935e75610ffad8153f8db94c04d7d03a4131068",
      "size_class": "free",
      "phase": 1,
      "description": "An animated PNG of 10 frames at 100 ms, the colour bars rotating one step per frame so the animation is obviously running.",
      "tags": [
        "image",
        "animated"
      ],
      "edge_case": false,
      "props": {
        "width": 128,
        "height": 128,
        "mode": "RGB",
        "frames": 10,
        "animated": true,
        "format": "png",
        "progressive": false
      },
      "generator": "image.animated",
      "generator_params": {
        "width": 128,
        "height": 128,
        "frames": 10,
        "fmt": "PNG",
        "duration_ms": 100
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "png/grayscale-512x512.png",
      "url": "https://loremfile.dev/png/grayscale-512x512.png",
      "format": "png",
      "ext": "png",
      "mime": "image/png",
      "bytes": 1881,
      "sha256": "ecc0db02f7b421e5007b4b589f39058ed24c2372646ea2b152d754c67913dc16",
      "size_class": "free",
      "phase": 1,
      "description": "A colour-bar test card with a border, centre cross and a label giving the dimensions and mode, converted to 8-bit greyscale.",
      "tags": [
        "image"
      ],
      "edge_case": false,
      "props": {
        "width": 512,
        "height": 512,
        "mode": "L",
        "frames": 1,
        "animated": false,
        "format": "png",
        "progressive": false
      },
      "generator": "image.testcard",
      "generator_params": {
        "width": 512,
        "height": 512,
        "fmt": "PNG",
        "mode": "L"
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "png/transparent-256x256.png",
      "url": "https://loremfile.dev/png/transparent-256x256.png",
      "format": "png",
      "ext": "png",
      "mime": "image/png",
      "bytes": 3231,
      "sha256": "7a1101a249d2324d0ce7629b2bb0eea0dc08dbc91b7c71454e2a2e341c754367",
      "size_class": "free",
      "phase": 1,
      "description": "A colour-bar test card with a border, centre cross and a label giving the dimensions and mode, with a horizontal alpha ramp so transparency is visible rather than uniform.",
      "tags": [
        "image",
        "transparent"
      ],
      "edge_case": false,
      "props": {
        "width": 256,
        "height": 256,
        "mode": "RGBA",
        "frames": 1,
        "animated": false,
        "format": "png",
        "progressive": false
      },
      "generator": "image.testcard",
      "generator_params": {
        "width": 256,
        "height": 256,
        "fmt": "PNG",
        "mode": "RGBA"
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "pptx/10slides.pptx",
      "url": "https://loremfile.dev/pptx/10slides.pptx",
      "format": "pptx",
      "ext": "pptx",
      "mime": "application/vnd.openxmlformats-officedocument.presentationml.presentation",
      "bytes": 37736,
      "sha256": "fe9207f2d294a9648dd05b01fa5186bae9b9acc3540db910192a7531fc3583f3",
      "size_class": "free",
      "phase": 1,
      "description": "Ten 16:9 title-and-content slides of Lorem Ipsum, each with its own title.",
      "tags": [
        "document",
        "multi-page",
        "text"
      ],
      "edge_case": false,
      "props": {
        "slides": 10,
        "layouts": 1,
        "images": 0,
        "slide_width_emu": 12191695,
        "slide_height_emu": 6858000,
        "notes": 0
      },
      "generator": "office.pptx_basic",
      "generator_params": {
        "slides": 10
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "pptx/1mb.pptx",
      "url": "https://loremfile.dev/pptx/1mb.pptx",
      "format": "pptx",
      "ext": "pptx",
      "mime": "application/vnd.openxmlformats-officedocument.presentationml.presentation",
      "bytes": 1028118,
      "sha256": "a4604de2925c140890f78dae6cdb8dde6ed09edd436c40c158817f9fb8740386",
      "size_class": "approx",
      "phase": 1,
      "description": "About 1MB: one slide per embedded incompressible seeded-noise PNG, each with a speaker note, so the size is honest rather than padded.",
      "tags": [
        "document",
        "sized",
        "image"
      ],
      "edge_case": false,
      "props": {
        "slides": 5,
        "layouts": 1,
        "images": 5,
        "slide_width_emu": 12191695,
        "slide_height_emu": 6858000,
        "notes": 5
      },
      "generator": "office.pptx_sized",
      "generator_params": {
        "size": 1000000
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "pptx/1slide.pptx",
      "url": "https://loremfile.dev/pptx/1slide.pptx",
      "format": "pptx",
      "ext": "pptx",
      "mime": "application/vnd.openxmlformats-officedocument.presentationml.presentation",
      "bytes": 28621,
      "sha256": "4b5e7d13384211f5f1287f5ff9118849fb824c6e723d7838ab5ad2b2078c1069",
      "size_class": "free",
      "phase": 1,
      "description": "A single 16:9 title-and-content slide of Lorem Ipsum.",
      "tags": [
        "document",
        "text"
      ],
      "edge_case": false,
      "props": {
        "slides": 1,
        "layouts": 1,
        "images": 0,
        "slide_width_emu": 12191695,
        "slide_height_emu": 6858000,
        "notes": 0
      },
      "generator": "office.pptx_basic",
      "generator_params": {
        "slides": 1
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "rtf/simple.rtf",
      "url": "https://loremfile.dev/rtf/simple.rtf",
      "format": "rtf",
      "ext": "rtf",
      "mime": "application/rtf",
      "bytes": 1694,
      "sha256": "c7d9d289bfe739af9adcc14890294c2aea3d3b3d69d3cb4c751d1624ab8792e0",
      "size_class": "free",
      "phase": 1,
      "description": "Three paragraphs of Lorem Ipsum in Times New Roman. Every byte is ASCII, so no reader has to guess an encoding.",
      "tags": [
        "document",
        "text"
      ],
      "edge_case": false,
      "props": {
        "encoding": "utf-8",
        "bom": false,
        "line_ending": "lf",
        "lines": 5,
        "max_line_bytes": 740,
        "paragraphs": 3,
        "has_font_table": true
      },
      "generator": "office.rtf_simple",
      "generator_params": {
        "paragraphs": 3
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "sql/people-1000-inserts-portable.sql",
      "url": "https://loremfile.dev/sql/people-1000-inserts-portable.sql",
      "format": "sql",
      "ext": "sql",
      "mime": "application/sql",
      "bytes": 429863,
      "sha256": "7979a92f6555b6ab292a5a227728ed34df170fa53cc095d082cdcbcc00d08071",
      "size_class": "free",
      "phase": 1,
      "description": "One CREATE TABLE and 1,000 INSERT statements for the shared people dataset, using only syntax that every major database accepts.",
      "tags": [
        "data",
        "dataset-people"
      ],
      "edge_case": false,
      "props": {
        "encoding": "utf-8",
        "bom": false,
        "line_ending": "lf",
        "lines": 1018,
        "max_line_bytes": 549
      },
      "generator": "data.sql_inserts",
      "generator_params": {
        "rows": 1000
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "sqlite/multi-table-with-fk-indexes-views.sqlite",
      "url": "https://loremfile.dev/sqlite/multi-table-with-fk-indexes-views.sqlite",
      "format": "sqlite",
      "ext": "sqlite",
      "mime": "application/vnd.sqlite3",
      "bytes": 131072,
      "sha256": "2cd9dd7ef369cfdbea875729d0bede93d029b10ba14006a596267a01ea5a7798",
      "size_class": "free",
      "phase": 1,
      "description": "Four tables with a foreign key from orders to people, two indexes, a view aggregating order totals, and an insert trigger. What a schema inspector should be tested against.",
      "tags": [
        "data",
        "dataset-people",
        "dataset-orders",
        "dataset-products"
      ],
      "edge_case": false,
      "props": {
        "tables": 4,
        "table_names": [
          "audit",
          "orders",
          "people",
          "products"
        ],
        "rows_total": 800,
        "page_size": 4096,
        "journal_mode": "delete",
        "has_fts": false,
        "views": 1,
        "indexes": 2,
        "triggers": 1
      },
      "generator": "columnar.sqlite_multi_table",
      "generator_params": {
        "people": 200,
        "orders": 500
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "sqlite/people-1000.sqlite",
      "url": "https://loremfile.dev/sqlite/people-1000.sqlite",
      "format": "sqlite",
      "ext": "sqlite",
      "mime": "application/vnd.sqlite3",
      "bytes": 270336,
      "sha256": "8cdde9ab53003ef4b0c161acd2881f80569e0f50bb6f8484659258a8a982cbba",
      "size_class": "free",
      "phase": 1,
      "description": "A single table holding 1,000 rows of the shared people dataset. Page size 4096, journal mode DELETE, vacuumed so the file is byte-stable.",
      "tags": [
        "data",
        "dataset-people"
      ],
      "edge_case": false,
      "props": {
        "tables": 1,
        "table_names": [
          "people"
        ],
        "rows_total": 1000,
        "page_size": 4096,
        "journal_mode": "delete",
        "has_fts": false,
        "views": 0,
        "indexes": 0,
        "triggers": 0
      },
      "generator": "columnar.sqlite_people",
      "generator_params": {
        "rows": 1000
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "srt/3-cues.srt",
      "url": "https://loremfile.dev/srt/3-cues.srt",
      "format": "srt",
      "ext": "srt",
      "mime": "application/x-subrip",
      "bytes": 268,
      "sha256": "5bb48da561bdf662a782954640db67350200ac1fb8607ba612b8958678cdf21b",
      "size_class": "free",
      "phase": 1,
      "description": "Three consecutive cues of three seconds each, the smallest useful subtitle file.",
      "tags": [
        "text",
        "web"
      ],
      "edge_case": false,
      "props": {
        "cues": 3,
        "encoding": "utf-8"
      },
      "generator": "web.srt",
      "generator_params": {
        "count": 3
      },
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "svg/simple-shapes.svg",
      "url": "https://loremfile.dev/svg/simple-shapes.svg",
      "format": "svg",
      "ext": "svg",
      "mime": "image/svg+xml",
      "bytes": 683,
      "sha256": "55a2a8d63fdef8350da3bd380634b1a9b603e276786736e8f806342129e7924e",
      "size_class": "free",
      "phase": 1,
      "description": "A rectangle, a circle and a polyline path with explicit width and height attributes. No script, no external references.",
      "tags": [
        "image",
        "web"
      ],
      "edge_case": false,
      "props": {
        "encoding": "utf-8",
        "bom": false,
        "line_ending": "lf",
        "lines": 12,
        "max_line_bytes": 84,
        "root_element": "svg",
        "width": "200",
        "height": "200",
        "viewbox": "0 0 200 200",
        "has_dtd": false,
        "elements": 7
      },
      "generator": "svg.simple_shapes",
      "generator_params": {
        "width": 200,
        "height": 200
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "svg/with-embedded-png.svg",
      "url": "https://loremfile.dev/svg/with-embedded-png.svg",
      "format": "svg",
      "ext": "svg",
      "mime": "image/svg+xml",
      "bytes": 3370,
      "sha256": "ddbcd340a5cba962c152010335d57494ac25d8e2bf09ebcc8486260e337e104b",
      "size_class": "free",
      "phase": 1,
      "description": "An SVG whose only raster content is a PNG data URI, so nothing is fetched from the network when it renders.",
      "tags": [
        "image",
        "web"
      ],
      "edge_case": false,
      "props": {
        "encoding": "utf-8",
        "bom": false,
        "line_ending": "lf",
        "lines": 15,
        "max_line_bytes": 1394,
        "root_element": "svg",
        "width": "200",
        "height": "200",
        "viewbox": "0 0 200 200",
        "has_dtd": false,
        "elements": 7
      },
      "generator": "svg.with_embedded_png",
      "generator_params": {
        "width": 200,
        "height": 200
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "tar/3-text-files.tar",
      "url": "https://loremfile.dev/tar/3-text-files.tar",
      "format": "tar",
      "ext": "tar",
      "mime": "application/x-tar",
      "bytes": 10240,
      "sha256": "151c9747df1ec4e3aca336c53827db51359bf906b58d5605f9973bcc51229ca6",
      "size_class": "free",
      "phase": 1,
      "description": "Three small Lorem Ipsum text files in an uncompressed tar, every entry owned by uid 0 with a fixed timestamp.",
      "tags": [
        "archive",
        "text"
      ],
      "edge_case": false,
      "props": {
        "entries": 3,
        "directories": 0,
        "symlinks": 0,
        "tar_format": "pax",
        "compression": "",
        "max_name_bytes": 12,
        "mtimes": [
          0
        ],
        "uncompressed_bytes": 2812
      },
      "generator": "archive.tar_text_files",
      "generator_params": {
        "count": 3
      },
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "tar/3-text-files.tar.gz",
      "url": "https://loremfile.dev/tar/3-text-files.tar.gz",
      "format": "tar",
      "ext": "tar.gz",
      "mime": "application/gzip",
      "bytes": 1152,
      "sha256": "1c202077fc9ef67d96a3028942ef8d3caa0acfe2e8ab14421ed94d6723676ff7",
      "size_class": "free",
      "phase": 1,
      "description": "The same three text files, gzip-compressed: the .tar.gz that most tooling means by 'a tarball'.",
      "tags": [
        "archive",
        "text"
      ],
      "edge_case": false,
      "props": {
        "entries": 3,
        "directories": 0,
        "symlinks": 0,
        "tar_format": "pax",
        "compression": "gz",
        "max_name_bytes": 12,
        "mtimes": [
          0
        ],
        "uncompressed_bytes": 2705
      },
      "generator": "archive.tar_text_files",
      "generator_params": {
        "count": 3,
        "compression": "gz"
      },
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "tar/3-text-files.tar.xz",
      "url": "https://loremfile.dev/tar/3-text-files.tar.xz",
      "format": "tar",
      "ext": "tar.xz",
      "mime": "application/x-xz",
      "bytes": 1268,
      "sha256": "223207bb0929a4bada3cc0d3d95e2e1637c5f2dc11ec3655790c24fa492bda4f",
      "size_class": "free",
      "phase": 1,
      "description": "The same three text files, xz-compressed.",
      "tags": [
        "archive",
        "text"
      ],
      "edge_case": false,
      "props": {
        "entries": 3,
        "directories": 0,
        "symlinks": 0,
        "tar_format": "pax",
        "compression": "xz",
        "max_name_bytes": 12,
        "mtimes": [
          0
        ],
        "uncompressed_bytes": 2905
      },
      "generator": "archive.tar_text_files",
      "generator_params": {
        "count": 3,
        "compression": "xz"
      },
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "tiff/rgb-640x480.tiff",
      "url": "https://loremfile.dev/tiff/rgb-640x480.tiff",
      "format": "tiff",
      "ext": "tiff",
      "mime": "image/tiff",
      "bytes": 921740,
      "sha256": "c51242d1fb3ac0b3ba42832ba5769958cfaa98932a8701dd58e2fdfba7cc65c6",
      "size_class": "free",
      "phase": 1,
      "description": "A colour-bar test card with a border, centre cross and a label giving the dimensions and mode, uncompressed RGB TIFF.",
      "tags": [
        "image"
      ],
      "edge_case": false,
      "props": {
        "width": 640,
        "height": 480,
        "mode": "RGB",
        "frames": 1,
        "animated": false,
        "format": "tiff",
        "progressive": false
      },
      "generator": "image.testcard",
      "generator_params": {
        "width": 640,
        "height": 480,
        "fmt": "TIFF",
        "compression": "raw"
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "toml/config.toml",
      "url": "https://loremfile.dev/toml/config.toml",
      "format": "toml",
      "ext": "toml",
      "mime": "application/toml; charset=utf-8",
      "bytes": 751,
      "sha256": "a150205d8b5820503abc0b6f2465e098f4e5657ca4fff251ba531a9739aa0599",
      "size_class": "free",
      "phase": 1,
      "description": "Tables, nested tables, an array of tables, multi-line basic and literal strings, underscored integers, and offset, local, date and time values.",
      "tags": [
        "data"
      ],
      "edge_case": false,
      "props": {
        "encoding": "utf-8",
        "bom": false,
        "line_ending": "lf",
        "lines": 39,
        "max_line_bytes": 76,
        "documents": 1,
        "top_keys": [
          "dates",
          "endpoints",
          "notes",
          "owner",
          "server",
          "title"
        ]
      },
      "generator": "data.toml_config",
      "generator_params": {},
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "ts/720p-5s.ts",
      "url": "https://loremfile.dev/ts/720p-5s.ts",
      "format": "ts",
      "ext": "ts",
      "mime": "video/mp2t",
      "bytes": 2054840,
      "sha256": "6c67c70e6774a111d13601b73c07ec854601acdabb6ddde0a2c114e61643ba1c",
      "size_class": "free",
      "phase": 1,
      "description": "1280x720 at 30 fps, five seconds, H.264 plus AAC in an MPEG-2 transport stream.",
      "tags": [
        "video",
        "codec-h264",
        "codec-aac"
      ],
      "edge_case": false,
      "props": {
        "duration_ms": 5021,
        "video_streams": 1,
        "audio_streams": 1,
        "subtitle_streams": 0,
        "width": 1280,
        "height": 720,
        "vcodec": "h264",
        "fps": 30.0,
        "acodec": "aac",
        "sample_rate": 48000,
        "channels": 1
      },
      "generator": "media_video.mp4",
      "generator_params": {
        "width": 1280,
        "height": 720,
        "duration": 5,
        "container": "mpegts"
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "tsv/people-1000.tsv",
      "url": "https://loremfile.dev/tsv/people-1000.tsv",
      "format": "tsv",
      "ext": "tsv",
      "mime": "text/tab-separated-values; charset=utf-8",
      "bytes": 249645,
      "sha256": "e71259a6d256308cc3c10951a6925db712e10e3efc9a0196ba03ba7ad0526aaf",
      "size_class": "free",
      "phase": 1,
      "description": "1,000 rows of the shared people dataset, tab-delimited, with a header row.",
      "tags": [
        "data",
        "dataset-people"
      ],
      "edge_case": false,
      "props": {
        "encoding": "utf-8",
        "bom": false,
        "line_ending": "lf",
        "lines": 1001,
        "max_line_bytes": 369,
        "rows": 1000,
        "columns": 14,
        "delimiter": "\t",
        "has_header": true,
        "quoted_fields": false
      },
      "generator": "data.csv_people",
      "generator_params": {
        "rows": 1000,
        "delimiter": "\t"
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "ttf/loremfile-sans.ttf",
      "url": "https://loremfile.dev/ttf/loremfile-sans.ttf",
      "format": "ttf",
      "ext": "ttf",
      "mime": "font/ttf",
      "bytes": 5616,
      "sha256": "3dcec7f2c8f0e8150e04260b6ccf1b5219553fc74ed27e8c8fd785f3e34118f9",
      "size_class": "free",
      "phase": 1,
      "description": "The Loremfile Sans family as TrueType: 95 printable ASCII glyphs drawn as rectangles of varying width, with fixed head timestamps and an unrestricted embedding permission.",
      "tags": [
        "font"
      ],
      "edge_case": false,
      "props": {
        "glyphs": 96,
        "cmap_entries": 95,
        "units_per_em": 1000,
        "family": "Loremfile Sans",
        "outlines": "glyf",
        "flavor": "",
        "embeddable": true
      },
      "generator": "font.family",
      "generator_params": {},
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "txt/crlf.txt",
      "url": "https://loremfile.dev/txt/crlf.txt",
      "format": "txt",
      "ext": "txt",
      "mime": "text/plain; charset=utf-8",
      "bytes": 8981,
      "sha256": "db7bb5580f83f7b3e1807b7a4d7d52785732effcdbcf37c9e677b1aedf145fa2",
      "size_class": "free",
      "phase": 1,
      "description": "100 lines of Lorem Ipsum with Windows (CRLF) line endings.",
      "tags": [
        "text",
        "encoding"
      ],
      "edge_case": false,
      "props": {
        "encoding": "utf-8",
        "bom": false,
        "line_ending": "crlf",
        "lines": 100,
        "max_line_bytes": 155
      },
      "generator": "text.lines",
      "generator_params": {
        "count": 100,
        "line_ending": "crlf"
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "txt/emoji-only.txt",
      "url": "https://loremfile.dev/txt/emoji-only.txt",
      "format": "txt",
      "ext": "txt",
      "mime": "text/plain; charset=utf-8",
      "bytes": 1488,
      "sha256": "f90d2f4614647353750bb7f20cf73e6b03cc0a50d00f327a60ff3f3c750094e6",
      "size_class": "free",
      "phase": 1,
      "description": "Nothing but emoji sequences, including ZWJ families and skin-tone modifiers.",
      "tags": [
        "text",
        "unicode"
      ],
      "edge_case": false,
      "props": {
        "encoding": "utf-8",
        "bom": false,
        "line_ending": "lf",
        "lines": 1,
        "max_line_bytes": 1487
      },
      "generator": "text.emoji_only",
      "generator_params": {
        "count": 200
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "txt/latin1.txt",
      "url": "https://loremfile.dev/txt/latin1.txt",
      "format": "txt",
      "ext": "txt",
      "mime": "text/plain; charset=iso-8859-1",
      "bytes": 1151,
      "sha256": "02bb4b88958fc264d39cb56f5476b0d9e6ecc74f33e1c7759cf5014af2dc29eb",
      "size_class": "free",
      "phase": 1,
      "description": "Western European text encoded as ISO-8859-1, not UTF-8.",
      "tags": [
        "text",
        "encoding"
      ],
      "edge_case": false,
      "props": {
        "encoding": "iso-8859-1",
        "bom": false,
        "line_ending": "lf",
        "lines": 5,
        "max_line_bytes": 455
      },
      "generator": "text.encoded",
      "generator_params": {
        "encoding": "iso-8859-1"
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "txt/lf.txt",
      "url": "https://loremfile.dev/txt/lf.txt",
      "format": "txt",
      "ext": "txt",
      "mime": "text/plain; charset=utf-8",
      "bytes": 9039,
      "sha256": "fab8f35fccc97eb2f1583dc4628b0674ab7c5536eb009381ddc600f735a5048e",
      "size_class": "free",
      "phase": 1,
      "description": "100 lines of Lorem Ipsum with Unix (LF) line endings.",
      "tags": [
        "text",
        "encoding"
      ],
      "edge_case": false,
      "props": {
        "encoding": "utf-8",
        "bom": false,
        "line_ending": "lf",
        "lines": 100,
        "max_line_bytes": 137
      },
      "generator": "text.lines",
      "generator_params": {
        "count": 100,
        "line_ending": "lf"
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "txt/lorem-100kb.txt",
      "url": "https://loremfile.dev/txt/lorem-100kb.txt",
      "format": "txt",
      "ext": "txt",
      "mime": "text/plain; charset=utf-8",
      "bytes": 100000,
      "sha256": "a24a2ab8e69194a3d817cb9e6fb86e3a73e7aa12dc6635741b0cdc4736bf1ac3",
      "size_class": "exact",
      "phase": 1,
      "description": "Exactly 100,000 bytes of Lorem Ipsum, LF line endings, cut at a word boundary and space-padded before the final newline.",
      "tags": [
        "text",
        "sized"
      ],
      "edge_case": false,
      "props": {
        "encoding": "utf-8",
        "bom": false,
        "line_ending": "lf",
        "lines": 439,
        "max_line_bytes": 771
      },
      "generator": "text.lorem_sized",
      "generator_params": {
        "size": 100000
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "txt/lorem-10mb.txt",
      "url": "https://loremfile.dev/txt/lorem-10mb.txt",
      "format": "txt",
      "ext": "txt",
      "mime": "text/plain; charset=utf-8",
      "bytes": 10000000,
      "sha256": "b1a1c37be326340f697ab957c5af1ebc43dfd4e4239b4cb7181eadcd1eb6dcdd",
      "size_class": "exact",
      "phase": 1,
      "description": "Exactly 10,000,000 bytes of Lorem Ipsum, LF line endings, cut at a word boundary and space-padded before the final newline.",
      "tags": [
        "text",
        "sized"
      ],
      "edge_case": false,
      "props": {
        "encoding": "utf-8",
        "bom": false,
        "line_ending": "lf",
        "lines": 44503,
        "max_line_bytes": 887
      },
      "generator": "text.lorem_sized",
      "generator_params": {
        "size": 10000000
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "txt/lorem-10mib.txt",
      "url": "https://loremfile.dev/txt/lorem-10mib.txt",
      "format": "txt",
      "ext": "txt",
      "mime": "text/plain; charset=utf-8",
      "bytes": 10485760,
      "sha256": "6467fe2431f62ae95d09722be1019d3b6ed57672a8e675bc48b155ca15e31c6d",
      "size_class": "exact",
      "phase": 1,
      "description": "Exactly 10,485,760 bytes of Lorem Ipsum, LF line endings, cut at a word boundary and space-padded before the final newline.",
      "tags": [
        "text",
        "sized"
      ],
      "edge_case": false,
      "props": {
        "encoding": "utf-8",
        "bom": false,
        "line_ending": "lf",
        "lines": 46823,
        "max_line_bytes": 911
      },
      "generator": "text.lorem_sized",
      "generator_params": {
        "size": 10485760
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "txt/lorem-1kb.txt",
      "url": "https://loremfile.dev/txt/lorem-1kb.txt",
      "format": "txt",
      "ext": "txt",
      "mime": "text/plain; charset=utf-8",
      "bytes": 1000,
      "sha256": "c69d094dae487a6ce9de7ab9799d434f8e854d954483a8f651ec724f25c7db90",
      "size_class": "exact",
      "phase": 1,
      "description": "Exactly 1,000 bytes of Lorem Ipsum, LF line endings, cut at a word boundary and space-padded before the final newline.",
      "tags": [
        "text",
        "sized"
      ],
      "edge_case": false,
      "props": {
        "encoding": "utf-8",
        "bom": false,
        "line_ending": "lf",
        "lines": 3,
        "max_line_bytes": 622
      },
      "generator": "text.lorem_sized",
      "generator_params": {
        "size": 1000
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "txt/lorem-1mb.txt",
      "url": "https://loremfile.dev/txt/lorem-1mb.txt",
      "format": "txt",
      "ext": "txt",
      "mime": "text/plain; charset=utf-8",
      "bytes": 1000000,
      "sha256": "5fb5c9e02b0837a5c297fb74a67bd79a488d478e7e030bccdba428f2ea145103",
      "size_class": "exact",
      "phase": 1,
      "description": "Exactly 1,000,000 bytes of Lorem Ipsum, LF line endings, cut at a word boundary and space-padded before the final newline.",
      "tags": [
        "text",
        "sized"
      ],
      "edge_case": false,
      "props": {
        "encoding": "utf-8",
        "bom": false,
        "line_ending": "lf",
        "lines": 4431,
        "max_line_bytes": 839
      },
      "generator": "text.lorem_sized",
      "generator_params": {
        "size": 1000000
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "txt/lorem-1mib.txt",
      "url": "https://loremfile.dev/txt/lorem-1mib.txt",
      "format": "txt",
      "ext": "txt",
      "mime": "text/plain; charset=utf-8",
      "bytes": 1048576,
      "sha256": "0f976858fc030ad2ccff5f50261a133a7599baf176add2cc61ea6eec3a113455",
      "size_class": "exact",
      "phase": 1,
      "description": "Exactly 1,048,576 bytes of Lorem Ipsum, LF line endings, cut at a word boundary and space-padded before the final newline.",
      "tags": [
        "text",
        "sized"
      ],
      "edge_case": false,
      "props": {
        "encoding": "utf-8",
        "bom": false,
        "line_ending": "lf",
        "lines": 4657,
        "max_line_bytes": 871
      },
      "generator": "text.lorem_sized",
      "generator_params": {
        "size": 1048576
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "txt/shift-jis.txt",
      "url": "https://loremfile.dev/txt/shift-jis.txt",
      "format": "txt",
      "ext": "txt",
      "mime": "text/plain; charset=shift_jis",
      "bytes": 1709,
      "sha256": "597585152de45f66efb67135b47f171fef3859dc5c8ac0af8fee88868b7a1c45",
      "size_class": "free",
      "phase": 1,
      "description": "Japanese pseudo-text encoded as Shift-JIS; every character is representable in that charset.",
      "tags": [
        "text",
        "encoding",
        "unicode"
      ],
      "edge_case": false,
      "props": {
        "encoding": "shift_jis",
        "bom": false,
        "line_ending": "lf",
        "lines": 5,
        "max_line_bytes": 602
      },
      "generator": "text.encoded",
      "generator_params": {
        "encoding": "shift_jis",
        "script": "kanji"
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "txt/utf16le-bom.txt",
      "url": "https://loremfile.dev/txt/utf16le-bom.txt",
      "format": "txt",
      "ext": "txt",
      "mime": "text/plain; charset=utf-16",
      "bytes": 2788,
      "sha256": "ec5892e24c0322d8a4a6a46fa452b2c6de44d7cf21fe6c2a91665986c5dba55b",
      "size_class": "free",
      "phase": 1,
      "description": "UTF-16 little-endian text with a byte-order mark.",
      "tags": [
        "text",
        "encoding",
        "unicode"
      ],
      "edge_case": false,
      "props": {
        "encoding": "utf-16",
        "bom": true,
        "line_ending": "lf",
        "lines": 6,
        "max_line_bytes": 1279
      },
      "generator": "text.encoded",
      "generator_params": {
        "encoding": "utf-16le",
        "bom": true
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "txt/utf8-bom.txt",
      "url": "https://loremfile.dev/txt/utf8-bom.txt",
      "format": "txt",
      "ext": "txt",
      "mime": "text/plain; charset=utf-8",
      "bytes": 1437,
      "sha256": "2cf3006be8a86c0f719d6eeaa6f2d5ae7c8a66bc6c80918113470f7c3b75ea5d",
      "size_class": "free",
      "phase": 1,
      "description": "UTF-8 text preceded by a byte-order mark, which many parsers mishandle.",
      "tags": [
        "text",
        "encoding",
        "unicode"
      ],
      "edge_case": false,
      "props": {
        "encoding": "utf-8",
        "bom": true,
        "line_ending": "lf",
        "lines": 5,
        "max_line_bytes": 545
      },
      "generator": "text.encoded",
      "generator_params": {
        "encoding": "utf-8",
        "bom": true
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "txt/utf8-multilingual.txt",
      "url": "https://loremfile.dev/txt/utf8-multilingual.txt",
      "format": "txt",
      "ext": "txt",
      "mime": "text/plain; charset=utf-8",
      "bytes": 1308,
      "sha256": "ec651bc33c7e034df11b7c37ef8b67bbf771fac912011499b6824d52f3704fd7",
      "size_class": "free",
      "phase": 1,
      "description": "One line per script — Latin, Greek, Cyrillic, Arabic, Hebrew, Devanagari, Thai, CJK, Hangul — plus emoji, combining marks, bidi controls and unusual space characters.",
      "tags": [
        "text",
        "unicode",
        "encoding"
      ],
      "edge_case": false,
      "props": {
        "encoding": "utf-8",
        "bom": false,
        "line_ending": "lf",
        "lines": 14,
        "max_line_bytes": 141
      },
      "generator": "text.multilingual",
      "generator_params": {},
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "txt/very-long-line-1mb.txt",
      "url": "https://loremfile.dev/txt/very-long-line-1mb.txt",
      "format": "txt",
      "ext": "txt",
      "mime": "text/plain; charset=utf-8",
      "bytes": 1000000,
      "sha256": "c0314c69c483887c5e636a2177176a76f575f72d689438ca1c8b7332df257135",
      "size_class": "exact",
      "phase": 1,
      "description": "A single line of exactly 1,000,000 bytes, for tools that read a whole line into memory.",
      "tags": [
        "text",
        "sized",
        "stress"
      ],
      "edge_case": false,
      "props": {
        "encoding": "utf-8",
        "bom": false,
        "line_ending": "lf",
        "lines": 1,
        "max_line_bytes": 999999
      },
      "generator": "text.one_long_line",
      "generator_params": {
        "size": 1000000
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "txt/windows-1252.txt",
      "url": "https://loremfile.dev/txt/windows-1252.txt",
      "format": "txt",
      "ext": "txt",
      "mime": "text/plain; charset=windows-1252",
      "bytes": 1606,
      "sha256": "13bb24eb82b605e91396d2c17801b39a9dbed5c4bbfbd7db2f0a1afdc5cf9014",
      "size_class": "free",
      "phase": 1,
      "description": "Text encoded as Windows-1252, the charset mislabelled as Latin-1 most often.",
      "tags": [
        "text",
        "encoding"
      ],
      "edge_case": false,
      "props": {
        "encoding": "windows-1252",
        "bom": false,
        "line_ending": "lf",
        "lines": 5,
        "max_line_bytes": 628
      },
      "generator": "text.encoded",
      "generator_params": {
        "encoding": "windows-1252"
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "vcf/vcard3-single.vcf",
      "url": "https://loremfile.dev/vcf/vcard3-single.vcf",
      "format": "vcf",
      "ext": "vcf",
      "mime": "text/vcard; charset=utf-8",
      "bytes": 421,
      "sha256": "380e8c50fe347faed00c463a51238a69b2473f28edba41851c8f9c0095115c2b",
      "size_class": "free",
      "phase": 1,
      "description": "A vCard 3.0 contact with a name, organisation, email, telephone, URL and note.",
      "tags": [
        "mail",
        "text"
      ],
      "edge_case": false,
      "props": {
        "cards": 1,
        "version": "3.0",
        "has_photo": false,
        "fn": "Alex Fixture"
      },
      "generator": "calendar.vcard3",
      "generator_params": {},
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "vcf/vcard4-single.vcf",
      "url": "https://loremfile.dev/vcf/vcard4-single.vcf",
      "format": "vcf",
      "ext": "vcf",
      "mime": "text/vcard; charset=utf-8",
      "bytes": 384,
      "sha256": "d4445f47c2ac0d2c516d78d09ff92b535e594734635db953f28453dad93a8540",
      "size_class": "free",
      "phase": 1,
      "description": "A vCard 4.0 contact using the typed, URI-shaped properties RFC 6350 introduced.",
      "tags": [
        "mail",
        "text"
      ],
      "edge_case": false,
      "props": {
        "cards": 1,
        "version": "4.0",
        "has_photo": false,
        "fn": "Alex Sample"
      },
      "generator": "calendar.vcard4",
      "generator_params": {},
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "vtt/3-cues.vtt",
      "url": "https://loremfile.dev/vtt/3-cues.vtt",
      "format": "vtt",
      "ext": "vtt",
      "mime": "text/vtt; charset=utf-8",
      "bytes": 251,
      "sha256": "84b2f43d1df647e43c765e2010812ff80a2a17a0bfcae2f6f03174d64bcf489d",
      "size_class": "free",
      "phase": 1,
      "description": "The WEBVTT signature and three plain cues: what a track element needs and nothing more.",
      "tags": [
        "text",
        "web"
      ],
      "edge_case": false,
      "props": {
        "cues": 3,
        "has_style": false,
        "has_region": false
      },
      "generator": "web.vtt",
      "generator_params": {
        "count": 3
      },
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "wasm/minimal-add.wasm",
      "url": "https://loremfile.dev/wasm/minimal-add.wasm",
      "format": "wasm",
      "ext": "wasm",
      "mime": "application/wasm",
      "bytes": 41,
      "sha256": "f61fd62f57c41269c3c23f360eeaf1090b1db9c38651106674d48bc65dba88ba",
      "size_class": "free",
      "phase": 1,
      "description": "A minimal module exporting add(i32, i32) -> i32: enough for a host to instantiate it and call the export, and nothing more.",
      "tags": [
        "binary",
        "web"
      ],
      "edge_case": false,
      "props": {
        "exports": [
          "add"
        ],
        "types": 1,
        "params": [
          "i32",
          "i32"
        ],
        "results": [
          "i32"
        ],
        "sections": [
          1,
          3,
          7,
          10
        ]
      },
      "generator": "wasm.minimal_add",
      "generator_params": {},
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "wav/10mb.wav",
      "url": "https://loremfile.dev/wav/10mb.wav",
      "format": "wav",
      "ext": "wav",
      "mime": "audio/wav",
      "bytes": 10000000,
      "sha256": "d92572b5e46746358943922a462cf33f8a001cb488173a35b5ec8c3057eab4a2",
      "size_class": "exact",
      "phase": 1,
      "description": "Exactly 10,000,000 bytes: a 44-byte header plus 2,499,989 frames of 44.1 kHz 16-bit stereo sine. Not approximately — exactly.",
      "tags": [
        "audio",
        "sized",
        "large"
      ],
      "edge_case": false,
      "props": {
        "duration_ms": 56689,
        "video_streams": 0,
        "audio_streams": 1,
        "subtitle_streams": 0,
        "acodec": "pcm_s16le",
        "sample_rate": 44100,
        "channels": 2
      },
      "generator": "media_audio.wav_sized",
      "generator_params": {
        "size": 10000000,
        "sample_rate": 44100,
        "bits": 16,
        "channels": 2
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "wav/sine-440hz-3s-44k-16bit-stereo.wav",
      "url": "https://loremfile.dev/wav/sine-440hz-3s-44k-16bit-stereo.wav",
      "format": "wav",
      "ext": "wav",
      "mime": "audio/wav",
      "bytes": 529244,
      "sha256": "4e9e029040d3cf648ec3878c847189bf48a4dde12c8305f7aa37657f8fb14c64",
      "size_class": "free",
      "phase": 1,
      "description": "A 440 Hz sine wave: three seconds of 44.1 kHz, 16-bit, stereo PCM — CD format, and what most software assumes a WAV is.",
      "tags": [
        "audio"
      ],
      "edge_case": false,
      "props": {
        "duration_ms": 3000,
        "video_streams": 0,
        "audio_streams": 1,
        "subtitle_streams": 0,
        "acodec": "pcm_s16le",
        "sample_rate": 44100,
        "channels": 2
      },
      "generator": "media_audio.pcm",
      "generator_params": {
        "duration": 3,
        "sample_rate": 44100,
        "bits": 16,
        "channels": 2
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "webm/720p-5s-vp9.webm",
      "url": "https://loremfile.dev/webm/720p-5s-vp9.webm",
      "format": "webm",
      "ext": "webm",
      "mime": "video/webm",
      "bytes": 621241,
      "sha256": "3e080ccefcd8b8d99f09fe06d621f9633209d060b910a0edb95ff79f84ab59da",
      "size_class": "free",
      "phase": 1,
      "description": "1280x720 at 30 fps, five seconds, VP9 video with Opus audio.",
      "tags": [
        "video",
        "codec-vp9",
        "codec-opus"
      ],
      "edge_case": false,
      "props": {
        "duration_ms": 5008,
        "video_streams": 1,
        "audio_streams": 1,
        "subtitle_streams": 0,
        "width": 1280,
        "height": 720,
        "vcodec": "vp9",
        "fps": 30.0,
        "acodec": "opus",
        "sample_rate": 48000,
        "channels": 1
      },
      "generator": "media_video.webm",
      "generator_params": {
        "width": 1280,
        "height": 720,
        "duration": 5
      },
      "added_in": "1.2.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "webmanifest/site.webmanifest",
      "url": "https://loremfile.dev/webmanifest/site.webmanifest",
      "format": "webmanifest",
      "ext": "webmanifest",
      "mime": "application/manifest+json",
      "bytes": 542,
      "sha256": "1a837bca38e88fd1f578c324856f16ba89b2ab5efd0ac8bb3d1a85cc18b3381f",
      "size_class": "free",
      "phase": 1,
      "description": "A manifest with a name, short name, start URL, scope, display mode, colours and two icons that point at published PNG fixtures.",
      "tags": [
        "web",
        "data"
      ],
      "edge_case": false,
      "props": {
        "icons": 2,
        "display": "standalone",
        "keys": [
          "background_color",
          "description",
          "dir",
          "display",
          "icons",
          "lang",
          "name",
          "scope",
          "short_name",
          "start_url",
          "theme_color"
        ]
      },
      "generator": "web.site_webmanifest",
      "generator_params": {},
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "webp/alpha-256x256.webp",
      "url": "https://loremfile.dev/webp/alpha-256x256.webp",
      "format": "webp",
      "ext": "webp",
      "mime": "image/webp",
      "bytes": 1168,
      "sha256": "c56166dff21de8391239c6e176401f2394878b43ca9d8bec0d357994a2bcb6cb",
      "size_class": "free",
      "phase": 1,
      "description": "A lossless WebP with an alpha ramp.",
      "tags": [
        "image",
        "transparent"
      ],
      "edge_case": false,
      "props": {
        "width": 256,
        "height": 256,
        "mode": "RGBA",
        "frames": 1,
        "animated": false,
        "format": "webp",
        "progressive": false
      },
      "generator": "image.testcard",
      "generator_params": {
        "width": 256,
        "height": 256,
        "fmt": "WEBP",
        "mode": "RGBA",
        "quality": 100
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "webp/lossy-640x480.webp",
      "url": "https://loremfile.dev/webp/lossy-640x480.webp",
      "format": "webp",
      "ext": "webp",
      "mime": "image/webp",
      "bytes": 2834,
      "sha256": "098d2de4aca416a400f01efa1c8b9ff575411dd7215facf1e034c23951fb8c00",
      "size_class": "free",
      "phase": 1,
      "description": "A colour-bar test card with a border, centre cross and a label giving the dimensions and mode, saved as lossy WebP at quality 80.",
      "tags": [
        "image"
      ],
      "edge_case": false,
      "props": {
        "width": 640,
        "height": 480,
        "mode": "RGB",
        "frames": 1,
        "animated": false,
        "format": "webp",
        "progressive": false
      },
      "generator": "image.testcard",
      "generator_params": {
        "width": 640,
        "height": 480,
        "fmt": "WEBP",
        "quality": 80
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "woff/loremfile-sans.woff",
      "url": "https://loremfile.dev/woff/loremfile-sans.woff",
      "format": "woff",
      "ext": "woff",
      "mime": "font/woff",
      "bytes": 1848,
      "sha256": "51cd2c5b916f39ada8fa67f08bca44ef0bb38bab913781f89bde5c86bcbd6fd1",
      "size_class": "free",
      "phase": 1,
      "description": "The Loremfile Sans family as WOFF, the web font wrapper: 95 printable ASCII glyphs drawn as rectangles of varying width, with fixed head timestamps and an unrestricted embedding permission.",
      "tags": [
        "font"
      ],
      "edge_case": false,
      "props": {
        "glyphs": 96,
        "cmap_entries": 95,
        "units_per_em": 1000,
        "family": "Loremfile Sans",
        "outlines": "glyf",
        "flavor": "woff",
        "embeddable": true
      },
      "generator": "font.family",
      "generator_params": {
        "flavor": "woff"
      },
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "woff2/loremfile-sans.woff2",
      "url": "https://loremfile.dev/woff2/loremfile-sans.woff2",
      "format": "woff2",
      "ext": "woff2",
      "mime": "font/woff2",
      "bytes": 1072,
      "sha256": "d04f107117857f18fb5a722f5437fb4e93a6f41f433aafc9d1ad35d1f4f5bcc9",
      "size_class": "free",
      "phase": 1,
      "description": "The Loremfile Sans family as WOFF2, the Brotli-compressed web font: 95 printable ASCII glyphs drawn as rectangles of varying width, with fixed head timestamps and an unrestricted embedding permission.",
      "tags": [
        "font"
      ],
      "edge_case": false,
      "props": {
        "glyphs": 96,
        "cmap_entries": 95,
        "units_per_em": 1000,
        "family": "Loremfile Sans",
        "outlines": "glyf",
        "flavor": "woff2",
        "embeddable": true
      },
      "generator": "font.family",
      "generator_params": {
        "flavor": "woff2"
      },
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "xlsx/10mb.xlsx",
      "url": "https://loremfile.dev/xlsx/10mb.xlsx",
      "format": "xlsx",
      "ext": "xlsx",
      "mime": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
      "bytes": 10081121,
      "sha256": "9919c76878e9627e29ceb287417436c3e336f7b5ee3b4733ef17ac9ae35d6da1",
      "size_class": "approx",
      "phase": 1,
      "description": "About 10MB: a people sheet plus a second sheet of embedded incompressible seeded-noise PNGs, so the size is honest rather than padded.",
      "tags": [
        "document",
        "sized",
        "image",
        "large"
      ],
      "edge_case": false,
      "props": {
        "sheets": 2,
        "sheet_names": "People,Plates",
        "rows": 52,
        "columns": 14,
        "formulas": 0,
        "images": 51
      },
      "generator": "office.xlsx_sized",
      "generator_params": {
        "size": 10000000
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "xlsx/1mb.xlsx",
      "url": "https://loremfile.dev/xlsx/1mb.xlsx",
      "format": "xlsx",
      "ext": "xlsx",
      "mime": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
      "bytes": 994556,
      "sha256": "2d4e7aa8d162b6eb3903be1e983323e2d9992e46c540ff08ea030c74220630ef",
      "size_class": "approx",
      "phase": 1,
      "description": "About 1MB: a people sheet plus a second sheet of embedded incompressible seeded-noise PNGs, so the size is honest rather than padded.",
      "tags": [
        "document",
        "sized",
        "image"
      ],
      "edge_case": false,
      "props": {
        "sheets": 2,
        "sheet_names": "People,Plates",
        "rows": 6,
        "columns": 14,
        "formulas": 0,
        "images": 5
      },
      "generator": "office.xlsx_sized",
      "generator_params": {
        "size": 1000000
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "xlsx/1sheet-1000rows.xlsx",
      "url": "https://loremfile.dev/xlsx/1sheet-1000rows.xlsx",
      "format": "xlsx",
      "ext": "xlsx",
      "mime": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
      "bytes": 156719,
      "sha256": "1319893c8f4022a2cb64c886d3ede05a77ea44d2465bad1affbd39935a166af8",
      "size_class": "free",
      "phase": 1,
      "description": "One sheet: a bold, frozen header row plus a thousand records of the shared people dataset. The first ten rows are the same records as the ten-row fixture.",
      "tags": [
        "document",
        "data",
        "dataset-people"
      ],
      "edge_case": false,
      "props": {
        "sheets": 1,
        "sheet_names": "People",
        "rows": 1001,
        "columns": 14,
        "formulas": 0,
        "images": 0
      },
      "generator": "office.xlsx_people",
      "generator_params": {
        "rows": 1000
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "xlsx/1sheet-10rows.xlsx",
      "url": "https://loremfile.dev/xlsx/1sheet-10rows.xlsx",
      "format": "xlsx",
      "ext": "xlsx",
      "mime": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
      "bytes": 7150,
      "sha256": "e5987a192162d29bd6b01a13a78179481f1b08c41152094af1c086bd65613392",
      "size_class": "free",
      "phase": 1,
      "description": "One sheet: a bold, frozen header row plus ten records of the shared people dataset across all fourteen columns.",
      "tags": [
        "document",
        "data",
        "dataset-people"
      ],
      "edge_case": false,
      "props": {
        "sheets": 1,
        "sheet_names": "People",
        "rows": 11,
        "columns": 14,
        "formulas": 0,
        "images": 0
      },
      "generator": "office.xlsx_people",
      "generator_params": {
        "rows": 10
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "xlsx/with-formulas.xlsx",
      "url": "https://loremfile.dev/xlsx/with-formulas.xlsx",
      "format": "xlsx",
      "ext": "xlsx",
      "mime": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
      "bytes": 5489,
      "sha256": "f9c1b3642a8fef407a0b967599d4602a9a989677453ca41b4d9fb8f13a7e1c08",
      "size_class": "free",
      "phase": 1,
      "description": "SUM, AVERAGE, IF and VLOOKUP over a ten-line order table, each with its result cached in the file. Readers that do not calculate — pandas, openpyxl's data_only mode — still see the values.",
      "tags": [
        "document",
        "data"
      ],
      "edge_case": false,
      "props": {
        "sheets": 1,
        "sheet_names": "Orders",
        "rows": 11,
        "columns": 7,
        "formulas": 14,
        "images": 0
      },
      "generator": "office.xlsx_with_formulas",
      "generator_params": {
        "rows": 10
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "xlsx/with-types-and-formats.xlsx",
      "url": "https://loremfile.dev/xlsx/with-types-and-formats.xlsx",
      "format": "xlsx",
      "ext": "xlsx",
      "mime": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
      "bytes": 5516,
      "sha256": "e46713d1324b5e5c7f6e8d47a44460747d6f81640147a36f6b7c6dc1ca6d7b4b",
      "size_class": "free",
      "phase": 1,
      "description": "One row per cell type and number format: text, integer, float, negative, booleans, date, time, datetime, percentage, currency, scientific, an empty cell, and text that only looks numeric ('007', '2020-01-01', a phone number).",
      "tags": [
        "document",
        "data"
      ],
      "edge_case": false,
      "props": {
        "sheets": 1,
        "sheet_names": "Types",
        "rows": 17,
        "columns": 2,
        "formulas": 0,
        "images": 0
      },
      "generator": "office.xlsx_with_types",
      "generator_params": {},
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "xml/people-10.xml",
      "url": "https://loremfile.dev/xml/people-10.xml",
      "format": "xml",
      "ext": "xml",
      "mime": "application/xml; charset=utf-8",
      "bytes": 5843,
      "sha256": "c035826a1be09ddf4eeef67bdf76d0df62e35bacac731aadf6311b4e3378d672",
      "size_class": "free",
      "phase": 1,
      "description": "Ten people records as elements, one child element per column.",
      "tags": [
        "data",
        "dataset-people"
      ],
      "edge_case": false,
      "props": {
        "encoding": "utf-8",
        "bom": false,
        "line_ending": "lf",
        "lines": 153,
        "max_line_bytes": 219,
        "root_element": "people",
        "has_dtd": false,
        "namespaces": []
      },
      "generator": "data.xml_people",
      "generator_params": {
        "rows": 10
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "xml/rss2-feed.xml",
      "url": "https://loremfile.dev/xml/rss2-feed.xml",
      "format": "xml",
      "ext": "xml",
      "mime": "application/rss+xml; charset=utf-8",
      "bytes": 4036,
      "sha256": "f77ecc196c5974310057c1c08bda92de4b53c239412690e9235abab4adf9692d",
      "size_class": "free",
      "phase": 1,
      "description": "An RSS 2.0 feed with ten items and fixed publication dates.",
      "tags": [
        "data",
        "web"
      ],
      "edge_case": false,
      "props": {
        "encoding": "utf-8",
        "bom": false,
        "line_ending": "lf",
        "lines": 80,
        "max_line_bytes": 154,
        "root_element": "rss",
        "has_dtd": false,
        "namespaces": []
      },
      "generator": "data.xml_rss2",
      "generator_params": {
        "items": 10
      },
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "xml/with-namespaces.xml",
      "url": "https://loremfile.dev/xml/with-namespaces.xml",
      "format": "xml",
      "ext": "xml",
      "mime": "application/xml; charset=utf-8",
      "bytes": 913,
      "sha256": "04cd8c9a27b781647ca874f4c3dad82d7119c746bcf4cde532157e6402f948e5",
      "size_class": "free",
      "phase": 1,
      "description": "A default namespace, two prefixed namespaces, a namespaced attribute and xml:lang.",
      "tags": [
        "data"
      ],
      "edge_case": false,
      "props": {
        "encoding": "utf-8",
        "bom": false,
        "line_ending": "lf",
        "lines": 18,
        "max_line_bytes": 166,
        "root_element": "catalogue",
        "has_dtd": false,
        "namespaces": [
          "http://purl.org/dc/elements/1.1/",
          "http://www.w3.org/2001/XMLSchema-instance",
          "https://loremfile.dev/ns/catalogue"
        ]
      },
      "generator": "data.xml_namespaces",
      "generator_params": {},
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "xz/lorem-1mb.txt.xz",
      "url": "https://loremfile.dev/xz/lorem-1mb.txt.xz",
      "format": "xz",
      "ext": "txt.xz",
      "mime": "application/x-xz",
      "bytes": 198972,
      "sha256": "f9b04cc3558784637ad05dc07407eaa7c4196c4657599f48917f0d353d999c32",
      "size_class": "free",
      "phase": 1,
      "description": "Exactly 1,000,000 bytes of Lorem Ipsum compressed as a single xz stream, so the compression ratio is that of ordinary text.",
      "tags": [
        "archive",
        "text"
      ],
      "edge_case": false,
      "props": {
        "compression": "xz",
        "members": 1,
        "uncompressed_bytes": 1000000
      },
      "generator": "archive.compressed_text",
      "generator_params": {
        "size": 1000000,
        "kind": "xz"
      },
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "yaml/config-all-types.yaml",
      "url": "https://loremfile.dev/yaml/config-all-types.yaml",
      "format": "yaml",
      "ext": "yaml",
      "mime": "application/yaml; charset=utf-8",
      "bytes": 1091,
      "sha256": "ce56ca74cf85cf6309bbfd65619875d0388fe2fcb40835dda390750dcd3b1217",
      "size_class": "free",
      "phase": 1,
      "description": "Anchors, aliases and a merge key, two documents in one stream, literal and folded block scalars, and every scalar type including .inf, .nan, dates and timestamps.",
      "tags": [
        "data"
      ],
      "edge_case": false,
      "props": {
        "encoding": "utf-8",
        "bom": false,
        "line_ending": "lf",
        "lines": 56,
        "max_line_bytes": 60,
        "documents": 2,
        "top_keys": [
          "block_folded",
          "block_literal",
          "defaults",
          "development",
          "production",
          "sequences",
          "types"
        ]
      },
      "generator": "data.yaml_config",
      "generator_params": {},
      "added_in": "1.0.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "zip/100mb.zip",
      "url": "https://loremfile.dev/zip/100mb.zip",
      "format": "zip",
      "ext": "zip",
      "mime": "application/zip",
      "bytes": 99030316,
      "sha256": "6116ab9af1bab756b7ebe6905d6a2fcbdce0c309528cc1e362661997f9e9bd02",
      "size_class": "approx",
      "phase": 1,
      "description": "About 100MB of incompressible seeded noise in one member, the largest archive in the launch set.",
      "tags": [
        "archive",
        "sized",
        "binary",
        "large"
      ],
      "edge_case": false,
      "props": {
        "entries": 1,
        "directories": 0,
        "method": "deflate",
        "encrypted": false,
        "zip64": false,
        "comment": false,
        "utf8_names": false,
        "uncompressed_bytes": 99000000
      },
      "generator": "archive.zip_sized",
      "generator_params": {
        "size": 99000000
      },
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "zip/10mb.zip",
      "url": "https://loremfile.dev/zip/10mb.zip",
      "format": "zip",
      "ext": "zip",
      "mime": "application/zip",
      "bytes": 9993166,
      "sha256": "5d0ba27090921a6e6beceb934ceba27cfe12c65d2be77ec54896755f70185dfe",
      "size_class": "approx",
      "phase": 1,
      "description": "About 10MB of incompressible seeded noise in one member.",
      "tags": [
        "archive",
        "sized",
        "binary",
        "large"
      ],
      "edge_case": false,
      "props": {
        "entries": 1,
        "directories": 0,
        "method": "deflate",
        "encrypted": false,
        "zip64": false,
        "comment": false,
        "utf8_names": false,
        "uncompressed_bytes": 9990000
      },
      "generator": "archive.zip_sized",
      "generator_params": {
        "size": 9990000
      },
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "zip/1mb.zip",
      "url": "https://loremfile.dev/zip/1mb.zip",
      "format": "zip",
      "ext": "zip",
      "mime": "application/zip",
      "bytes": 999421,
      "sha256": "0dfea23d5400bf6ad72d11d4e2af10a1069dfa52869a94fbee1dd07ef9b2c089",
      "size_class": "approx",
      "phase": 1,
      "description": "About 1MB: one incompressible seeded-noise member, so the archive's size is honest rather than padded.",
      "tags": [
        "archive",
        "sized",
        "binary"
      ],
      "edge_case": false,
      "props": {
        "entries": 1,
        "directories": 0,
        "method": "deflate",
        "encrypted": false,
        "zip64": false,
        "comment": false,
        "utf8_names": false,
        "uncompressed_bytes": 999000
      },
      "generator": "archive.zip_sized",
      "generator_params": {
        "size": 999000
      },
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "zip/3-text-files.zip",
      "url": "https://loremfile.dev/zip/3-text-files.zip",
      "format": "zip",
      "ext": "zip",
      "mime": "application/zip",
      "bytes": 1822,
      "sha256": "3dd88cad3dab2fae753611bb216040def2b92d63fcd430c00a616f52f11971c0",
      "size_class": "free",
      "phase": 1,
      "description": "Three small Lorem Ipsum text files, deflated, with fixed timestamps and permissions.",
      "tags": [
        "archive",
        "text"
      ],
      "edge_case": false,
      "props": {
        "entries": 3,
        "directories": 0,
        "method": "deflate",
        "encrypted": false,
        "zip64": false,
        "comment": false,
        "utf8_names": false,
        "uncompressed_bytes": 3228
      },
      "generator": "archive.zip_text_files",
      "generator_params": {
        "count": 3
      },
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "zip/aes256-password-loremfile.zip",
      "url": "https://loremfile.dev/zip/aes256-password-loremfile.zip",
      "format": "zip",
      "ext": "zip",
      "mime": "application/zip",
      "bytes": 2064,
      "sha256": "fabe5baeff21419ab2a9365facfbf5dcf921af58089f0926b02f70b80e876e77",
      "size_class": "free",
      "phase": 1,
      "description": "AES-256 encrypted with the password 'loremfile', published here on purpose because an encrypted fixture nobody can open would be useless.",
      "tags": [
        "archive",
        "encrypted",
        "text"
      ],
      "edge_case": false,
      "props": {
        "entries": 3,
        "directories": 0,
        "method": "other",
        "encrypted": true,
        "zip64": false,
        "comment": false,
        "utf8_names": false,
        "uncompressed_bytes": 3548
      },
      "generator": "archive.zip_aes",
      "generator_params": {
        "password": "loremfile",
        "count": 3
      },
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "zip/empty.zip",
      "url": "https://loremfile.dev/zip/empty.zip",
      "format": "zip",
      "ext": "zip",
      "mime": "application/zip",
      "bytes": 22,
      "sha256": "8739c76e681f900923b900c9df0ef75cf421d39cabb54650c4b9ad19b6a76d85",
      "size_class": "exact",
      "phase": 1,
      "description": "The empty zip: a 22-byte end-of-central-directory record and nothing else. Valid, and rejected by plenty of readers.",
      "tags": [
        "archive"
      ],
      "edge_case": false,
      "props": {
        "entries": 0,
        "directories": 0,
        "method": "store",
        "encrypted": false,
        "zip64": false,
        "comment": false,
        "utf8_names": false,
        "uncompressed_bytes": 0
      },
      "generator": "archive.zip_empty",
      "generator_params": {},
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "zip/mixed-fixtures.zip",
      "url": "https://loremfile.dev/zip/mixed-fixtures.zip",
      "format": "zip",
      "ext": "zip",
      "mime": "application/zip",
      "bytes": 5175,
      "sha256": "21972b7a7ed8ddd68d8d2a63f3d6725365847f42131daa524e251392ca8a3cd0",
      "size_class": "free",
      "phase": 1,
      "description": "Four published fixtures in one archive: a PDF, a PNG, a CSV and a JSON file, read from the bytes that were published.",
      "tags": [
        "archive",
        "document",
        "image",
        "data"
      ],
      "edge_case": false,
      "props": {
        "entries": 4,
        "directories": 0,
        "method": "deflate",
        "encrypted": false,
        "zip64": false,
        "comment": false,
        "utf8_names": false,
        "uncompressed_bytes": 9838
      },
      "generator": "archive.zip_of_fixtures",
      "generator_params": {
        "paths": [
          "pdf/minimal.pdf",
          "png/100x100.png",
          "csv/people-10.csv",
          "json/people-10.json"
        ]
      },
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "zip/nested-directories.zip",
      "url": "https://loremfile.dev/zip/nested-directories.zip",
      "format": "zip",
      "ext": "zip",
      "mime": "application/zip",
      "bytes": 1215,
      "sha256": "c97215fee7ecb63e33b1bfb31d2022738cf8dca6dc77da6ef919bf967741884f",
      "size_class": "free",
      "phase": 1,
      "description": "Four entries in a three-level directory tree, for extractors that must create directories.",
      "tags": [
        "archive",
        "text"
      ],
      "edge_case": false,
      "props": {
        "entries": 4,
        "directories": 0,
        "method": "deflate",
        "encrypted": false,
        "zip64": false,
        "comment": false,
        "utf8_names": false,
        "uncompressed_bytes": 1368
      },
      "generator": "archive.zip_nested",
      "generator_params": {},
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    },
    {
      "path": "zst/lorem-1mb.txt.zst",
      "url": "https://loremfile.dev/zst/lorem-1mb.txt.zst",
      "format": "zst",
      "ext": "txt.zst",
      "mime": "application/zstd",
      "bytes": 239346,
      "sha256": "19e0696f0e0b1ab431963d5097e826671da026a6eacec1b883b378f5304e1c3b",
      "size_class": "free",
      "phase": 1,
      "description": "Exactly 1,000,000 bytes of Lorem Ipsum compressed as a single zstd stream, so the compression ratio is that of ordinary text.",
      "tags": [
        "archive",
        "text"
      ],
      "edge_case": false,
      "props": {
        "compression": "zst",
        "members": 1,
        "uncompressed_bytes": 1000000
      },
      "generator": "archive.compressed_text",
      "generator_params": {
        "size": 1000000,
        "kind": "zst"
      },
      "added_in": "1.1.0",
      "status": "active",
      "deprecated": false,
      "supersededBy": null
    }
  ]
}
