{
  "schema": "dokivo.public-grayscale-observations/v1",
  "collection_commit": "406cec9d13c0f0bc20f28eb899be3a3012478f90",
  "denominators": {
    "delivered_outputs": 6,
    "processing_attempts": 6,
    "quality_evaluated_pages": 24,
    "source_documents": 2,
    "source_pages": 8
  },
  "normalization": "NFC followed by Unicode whitespace collapse; exact complete page body, widgets separate.",
  "rows": [
    {
      "fixture": "copy-maps",
      "arm": "dokivo-vector",
      "source_bytes": 106710,
      "source_sha256": "88d8dc82263b43acddf71d00aeb675d6bd7191605b21fc5d991e11c121ca7bce",
      "output_bytes": 15129,
      "output_sha256": "135cb45188389db586629f740c76fb7aee6d356b940c5acdb6c9459eb0c729dd",
      "pages": [
        {
          "black_vector_rule_crop": {
            "gray_bit_equal": true,
            "gray_mean_absolute_difference": 0.0,
            "gray_pixels_difference_gt16": 0,
            "ink_iou": 1.0,
            "ink_threshold": 128,
            "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
            "rgb_bit_equal": true,
            "same_size": true
          },
          "body_is_grayscale": true,
          "existing_invisible_characters_preserved": true,
          "image_intersections_with_text_and_rule_roi": {
            "output": [
              0,
              0
            ],
            "source": [
              0,
              0
            ]
          },
          "kind": "born-digital",
          "no_new_bitmap_over_text_or_rule_roi": true,
          "no_new_full_page_bitmap": true,
          "output_counts_descriptive": {
            "form": 0,
            "image": 0,
            "invisible_text": 0,
            "path": 2,
            "shading": 0,
            "text": 3,
            "unknown": 0,
            "visible_text": 3
          },
          "output_images_descriptive": {
            "count": 0,
            "full_page_count": 0,
            "full_page_definition": "painted image bounding box covers >=95% of page bbox; not clipping/occlusion aware",
            "records": [],
            "records_truncated": false
          },
          "page": 1,
          "pdfium_copy_matches_gold": true,
          "pdfium_literal_find_denominator": 2,
          "pdfium_literal_find_source_ineligible_queries": [],
          "pdfium_search_gold_found": true,
          "pdfjs_copy_matches_gold": true,
          "pdfjs_searchable_text_gold_found": true,
          "readers_agree": true,
          "same_geometry": true,
          "source_counts_descriptive": {
            "form": 0,
            "image": 0,
            "invisible_text": 0,
            "path": 2,
            "shading": 0,
            "text": 3,
            "unknown": 0,
            "visible_text": 3
          },
          "source_images_descriptive": {
            "count": 0,
            "full_page_count": 0,
            "full_page_definition": "painted image bounding box covers >=95% of page bbox; not clipping/occlusion aware",
            "records": [],
            "records_truncated": false
          },
          "tiny_black_6pt_crop": {
            "gray_bit_equal": true,
            "gray_mean_absolute_difference": 0.0,
            "gray_pixels_difference_gt16": 0,
            "ink_iou": 1.0,
            "ink_threshold": 128,
            "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
            "rgb_bit_equal": true,
            "same_size": true
          },
          "visible_native_characters_preserved": true
        },
        {
          "black_vector_rule_crop": {
            "gray_bit_equal": true,
            "gray_mean_absolute_difference": 0.0,
            "gray_pixels_difference_gt16": 0,
            "ink_iou": 1.0,
            "ink_threshold": 128,
            "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
            "rgb_bit_equal": true,
            "same_size": true
          },
          "body_is_grayscale": true,
          "existing_invisible_characters_preserved": true,
          "image_intersections_with_text_and_rule_roi": {
            "output": [
              0,
              0
            ],
            "source": [
              0,
              0
            ]
          },
          "kind": "born-digital",
          "no_new_bitmap_over_text_or_rule_roi": true,
          "no_new_full_page_bitmap": true,
          "output_counts_descriptive": {
            "form": 0,
            "image": 0,
            "invisible_text": 0,
            "path": 2,
            "shading": 0,
            "text": 3,
            "unknown": 0,
            "visible_text": 3
          },
          "output_images_descriptive": {
            "count": 0,
            "full_page_count": 0,
            "full_page_definition": "painted image bounding box covers >=95% of page bbox; not clipping/occlusion aware",
            "records": [],
            "records_truncated": false
          },
          "page": 2,
          "pdfium_copy_matches_gold": true,
          "pdfium_literal_find_denominator": 2,
          "pdfium_literal_find_source_ineligible_queries": [],
          "pdfium_search_gold_found": true,
          "pdfjs_copy_matches_gold": true,
          "pdfjs_searchable_text_gold_found": true,
          "readers_agree": true,
          "same_geometry": true,
          "source_counts_descriptive": {
            "form": 0,
            "image": 0,
            "invisible_text": 0,
            "path": 2,
            "shading": 0,
            "text": 3,
            "unknown": 0,
            "visible_text": 3
          },
          "source_images_descriptive": {
            "count": 0,
            "full_page_count": 0,
            "full_page_definition": "painted image bounding box covers >=95% of page bbox; not clipping/occlusion aware",
            "records": [],
            "records_truncated": false
          },
          "tiny_black_6pt_crop": {
            "gray_bit_equal": true,
            "gray_mean_absolute_difference": 0.0,
            "gray_pixels_difference_gt16": 0,
            "ink_iou": 1.0,
            "ink_threshold": 128,
            "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
            "rgb_bit_equal": true,
            "same_size": true
          },
          "visible_native_characters_preserved": true
        },
        {
          "black_vector_rule_crop": {
            "gray_bit_equal": true,
            "gray_mean_absolute_difference": 0.0,
            "gray_pixels_difference_gt16": 0,
            "ink_iou": 1.0,
            "ink_threshold": 128,
            "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
            "rgb_bit_equal": true,
            "same_size": true
          },
          "body_is_grayscale": true,
          "existing_invisible_characters_preserved": true,
          "image_intersections_with_text_and_rule_roi": {
            "output": [
              0,
              0
            ],
            "source": [
              0,
              0
            ]
          },
          "kind": "born-digital",
          "no_new_bitmap_over_text_or_rule_roi": true,
          "no_new_full_page_bitmap": true,
          "output_counts_descriptive": {
            "form": 0,
            "image": 0,
            "invisible_text": 0,
            "path": 2,
            "shading": 0,
            "text": 3,
            "unknown": 0,
            "visible_text": 3
          },
          "output_images_descriptive": {
            "count": 0,
            "full_page_count": 0,
            "full_page_definition": "painted image bounding box covers >=95% of page bbox; not clipping/occlusion aware",
            "records": [],
            "records_truncated": false
          },
          "page": 3,
          "pdfium_copy_matches_gold": true,
          "pdfium_literal_find_denominator": 2,
          "pdfium_literal_find_source_ineligible_queries": [],
          "pdfium_search_gold_found": true,
          "pdfjs_copy_matches_gold": true,
          "pdfjs_searchable_text_gold_found": true,
          "readers_agree": true,
          "same_geometry": true,
          "source_counts_descriptive": {
            "form": 0,
            "image": 0,
            "invisible_text": 0,
            "path": 2,
            "shading": 0,
            "text": 3,
            "unknown": 0,
            "visible_text": 3
          },
          "source_images_descriptive": {
            "count": 0,
            "full_page_count": 0,
            "full_page_definition": "painted image bounding box covers >=95% of page bbox; not clipping/occlusion aware",
            "records": [],
            "records_truncated": false
          },
          "tiny_black_6pt_crop": {
            "gray_bit_equal": true,
            "gray_mean_absolute_difference": 0.0,
            "gray_pixels_difference_gt16": 0,
            "ink_iou": 1.0,
            "ink_threshold": 128,
            "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
            "rgb_bit_equal": true,
            "same_size": true
          },
          "visible_native_characters_preserved": true
        },
        {
          "black_vector_rule_crop": {
            "gray_bit_equal": true,
            "gray_mean_absolute_difference": 0.0,
            "gray_pixels_difference_gt16": 0,
            "ink_iou": 1.0,
            "ink_threshold": 128,
            "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
            "rgb_bit_equal": true,
            "same_size": true
          },
          "body_is_grayscale": true,
          "existing_invisible_characters_preserved": true,
          "image_intersections_with_text_and_rule_roi": {
            "output": [
              0,
              0
            ],
            "source": [
              0,
              0
            ]
          },
          "kind": "born-digital",
          "no_new_bitmap_over_text_or_rule_roi": true,
          "no_new_full_page_bitmap": true,
          "output_counts_descriptive": {
            "form": 0,
            "image": 0,
            "invisible_text": 0,
            "path": 2,
            "shading": 0,
            "text": 3,
            "unknown": 0,
            "visible_text": 3
          },
          "output_images_descriptive": {
            "count": 0,
            "full_page_count": 0,
            "full_page_definition": "painted image bounding box covers >=95% of page bbox; not clipping/occlusion aware",
            "records": [],
            "records_truncated": false
          },
          "page": 4,
          "pdfium_copy_matches_gold": true,
          "pdfium_literal_find_denominator": 2,
          "pdfium_literal_find_source_ineligible_queries": [],
          "pdfium_search_gold_found": true,
          "pdfjs_copy_matches_gold": true,
          "pdfjs_searchable_text_gold_found": true,
          "readers_agree": true,
          "same_geometry": true,
          "source_counts_descriptive": {
            "form": 0,
            "image": 0,
            "invisible_text": 0,
            "path": 2,
            "shading": 0,
            "text": 3,
            "unknown": 0,
            "visible_text": 3
          },
          "source_images_descriptive": {
            "count": 0,
            "full_page_count": 0,
            "full_page_definition": "painted image bounding box covers >=95% of page bbox; not clipping/occlusion aware",
            "records": [],
            "records_truncated": false
          },
          "tiny_black_6pt_crop": {
            "gray_bit_equal": true,
            "gray_mean_absolute_difference": 0.0,
            "gray_pixels_difference_gt16": 0,
            "ink_iou": 1.0,
            "ink_threshold": 128,
            "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
            "rgb_bit_equal": true,
            "same_size": true
          },
          "visible_native_characters_preserved": true
        }
      ],
      "structure": {
        "annotations": {
          "output": [],
          "same": true,
          "source": []
        },
        "bookmarks": {
          "output": [],
          "same": true,
          "source": []
        },
        "editable_value_roundtrip": null,
        "field_contract_semantics": {
          "output": [],
          "same": true,
          "source": []
        },
        "fields": {
          "output": [],
          "same": true,
          "source": []
        },
        "graph_digest_scope": "Original AcroForm, annotations, names, outlines; ref-sensitive. Descriptive across rewriters, exact-original check for DOKIVO graft only.",
        "links": {
          "output": [],
          "same": true,
          "source": []
        },
        "metadata": {
          "output": {
            "author": "DOKIVO QA",
            "creator": "DOKIVO fixed proof corpus v1",
            "keywords": "synthetic grayscale proof",
            "producer": "pdf-lib fixed QA",
            "subject": "Synthetic holdout corpus 2026-10-25",
            "title": "DOKIVO synthetic proof copy-maps"
          },
          "same": true,
          "source": {
            "author": "DOKIVO QA",
            "creator": "DOKIVO fixed proof corpus v1",
            "keywords": "synthetic grayscale proof",
            "producer": "pdf-lib fixed QA",
            "subject": "Synthetic holdout corpus 2026-10-25",
            "title": "DOKIVO synthetic proof copy-maps"
          }
        },
        "named_destinations": {
          "output": [],
          "same": true,
          "source": []
        },
        "output_graph_digest": "69ac605c154d050d9616ec541639b5880920a2c8d95b7e78b55b6d359865115d",
        "same_graph_digest": true,
        "source_graph_digest": "69ac605c154d050d9616ec541639b5880920a2c8d95b7e78b55b6d359865115d"
      },
      "already_gray_page4_original_content_resources_same": null
    },
    {
      "fixture": "copy-maps",
      "arm": "dokivo-raster-144",
      "source_bytes": 106710,
      "source_sha256": "88d8dc82263b43acddf71d00aeb675d6bd7191605b21fc5d991e11c121ca7bce",
      "output_bytes": 137212,
      "output_sha256": "3dd55002bc1f5e68ae1b685357dea9f1ef8aac3284f9849f132363b7e8d151c4",
      "pages": [
        {
          "black_vector_rule_crop": {
            "gray_bit_equal": false,
            "gray_mean_absolute_difference": 17.67607718,
            "gray_pixels_difference_gt16": 24574,
            "ink_iou": 0.19996093,
            "ink_threshold": 128,
            "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
            "rgb_bit_equal": false,
            "same_size": true
          },
          "body_is_grayscale": true,
          "existing_invisible_characters_preserved": false,
          "image_intersections_with_text_and_rule_roi": {
            "output": [
              1,
              1
            ],
            "source": [
              0,
              0
            ]
          },
          "kind": "born-digital",
          "no_new_bitmap_over_text_or_rule_roi": false,
          "no_new_full_page_bitmap": false,
          "output_counts_descriptive": {
            "form": 0,
            "image": 1,
            "invisible_text": 3,
            "path": 0,
            "shading": 0,
            "text": 3,
            "unknown": 0,
            "visible_text": 0
          },
          "output_images_descriptive": {
            "count": 1,
            "full_page_count": 1,
            "full_page_definition": "painted image bounding box covers >=95% of page bbox; not clipping/occlusion aware",
            "records": [
              {
                "bounds": [
                  0.0,
                  0.0,
                  595.280029,
                  841.890015
                ],
                "image_height": 1684,
                "image_width": 1191,
                "level": 0,
                "matrix": [
                  595.280029,
                  0.0,
                  0.0,
                  841.890015,
                  0.0,
                  0.0
                ],
                "page_bbox_coverage": 1.0,
                "page_bounds": [
                  0.0,
                  0.0,
                  595.280029,
                  841.890015
                ]
              }
            ],
            "records_truncated": false
          },
          "page": 1,
          "pdfium_copy_matches_gold": true,
          "pdfium_literal_find_denominator": 2,
          "pdfium_literal_find_source_ineligible_queries": [],
          "pdfium_search_gold_found": true,
          "pdfjs_copy_matches_gold": true,
          "pdfjs_searchable_text_gold_found": true,
          "readers_agree": true,
          "same_geometry": true,
          "source_counts_descriptive": {
            "form": 0,
            "image": 0,
            "invisible_text": 0,
            "path": 2,
            "shading": 0,
            "text": 3,
            "unknown": 0,
            "visible_text": 3
          },
          "source_images_descriptive": {
            "count": 0,
            "full_page_count": 0,
            "full_page_definition": "painted image bounding box covers >=95% of page bbox; not clipping/occlusion aware",
            "records": [],
            "records_truncated": false
          },
          "tiny_black_6pt_crop": {
            "gray_bit_equal": false,
            "gray_mean_absolute_difference": 3.72282843,
            "gray_pixels_difference_gt16": 16154,
            "ink_iou": 0.26192919,
            "ink_threshold": 128,
            "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
            "rgb_bit_equal": false,
            "same_size": true
          },
          "visible_native_characters_preserved": false
        },
        {
          "black_vector_rule_crop": {
            "gray_bit_equal": false,
            "gray_mean_absolute_difference": 17.67607718,
            "gray_pixels_difference_gt16": 24574,
            "ink_iou": 0.19996093,
            "ink_threshold": 128,
            "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
            "rgb_bit_equal": false,
            "same_size": true
          },
          "body_is_grayscale": true,
          "existing_invisible_characters_preserved": false,
          "image_intersections_with_text_and_rule_roi": {
            "output": [
              1,
              1
            ],
            "source": [
              0,
              0
            ]
          },
          "kind": "born-digital",
          "no_new_bitmap_over_text_or_rule_roi": false,
          "no_new_full_page_bitmap": false,
          "output_counts_descriptive": {
            "form": 0,
            "image": 1,
            "invisible_text": 3,
            "path": 0,
            "shading": 0,
            "text": 3,
            "unknown": 0,
            "visible_text": 0
          },
          "output_images_descriptive": {
            "count": 1,
            "full_page_count": 1,
            "full_page_definition": "painted image bounding box covers >=95% of page bbox; not clipping/occlusion aware",
            "records": [
              {
                "bounds": [
                  0.0,
                  0.0,
                  595.280029,
                  841.890015
                ],
                "image_height": 1684,
                "image_width": 1191,
                "level": 0,
                "matrix": [
                  595.280029,
                  0.0,
                  0.0,
                  841.890015,
                  0.0,
                  0.0
                ],
                "page_bbox_coverage": 1.0,
                "page_bounds": [
                  0.0,
                  0.0,
                  595.280029,
                  841.890015
                ]
              }
            ],
            "records_truncated": false
          },
          "page": 2,
          "pdfium_copy_matches_gold": true,
          "pdfium_literal_find_denominator": 2,
          "pdfium_literal_find_source_ineligible_queries": [],
          "pdfium_search_gold_found": true,
          "pdfjs_copy_matches_gold": true,
          "pdfjs_searchable_text_gold_found": true,
          "readers_agree": true,
          "same_geometry": true,
          "source_counts_descriptive": {
            "form": 0,
            "image": 0,
            "invisible_text": 0,
            "path": 2,
            "shading": 0,
            "text": 3,
            "unknown": 0,
            "visible_text": 3
          },
          "source_images_descriptive": {
            "count": 0,
            "full_page_count": 0,
            "full_page_definition": "painted image bounding box covers >=95% of page bbox; not clipping/occlusion aware",
            "records": [],
            "records_truncated": false
          },
          "tiny_black_6pt_crop": {
            "gray_bit_equal": false,
            "gray_mean_absolute_difference": 1.32939839,
            "gray_pixels_difference_gt16": 9066,
            "ink_iou": 0.62400361,
            "ink_threshold": 128,
            "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
            "rgb_bit_equal": false,
            "same_size": true
          },
          "visible_native_characters_preserved": false
        },
        {
          "black_vector_rule_crop": {
            "gray_bit_equal": false,
            "gray_mean_absolute_difference": 17.67607718,
            "gray_pixels_difference_gt16": 24574,
            "ink_iou": 0.19996093,
            "ink_threshold": 128,
            "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
            "rgb_bit_equal": false,
            "same_size": true
          },
          "body_is_grayscale": true,
          "existing_invisible_characters_preserved": false,
          "image_intersections_with_text_and_rule_roi": {
            "output": [
              1,
              1
            ],
            "source": [
              0,
              0
            ]
          },
          "kind": "born-digital",
          "no_new_bitmap_over_text_or_rule_roi": false,
          "no_new_full_page_bitmap": false,
          "output_counts_descriptive": {
            "form": 0,
            "image": 1,
            "invisible_text": 3,
            "path": 0,
            "shading": 0,
            "text": 3,
            "unknown": 0,
            "visible_text": 0
          },
          "output_images_descriptive": {
            "count": 1,
            "full_page_count": 1,
            "full_page_definition": "painted image bounding box covers >=95% of page bbox; not clipping/occlusion aware",
            "records": [
              {
                "bounds": [
                  0.0,
                  0.0,
                  595.280029,
                  841.890015
                ],
                "image_height": 1684,
                "image_width": 1191,
                "level": 0,
                "matrix": [
                  595.280029,
                  0.0,
                  0.0,
                  841.890015,
                  0.0,
                  0.0
                ],
                "page_bbox_coverage": 1.0,
                "page_bounds": [
                  0.0,
                  0.0,
                  595.280029,
                  841.890015
                ]
              }
            ],
            "records_truncated": false
          },
          "page": 3,
          "pdfium_copy_matches_gold": true,
          "pdfium_literal_find_denominator": 2,
          "pdfium_literal_find_source_ineligible_queries": [],
          "pdfium_search_gold_found": true,
          "pdfjs_copy_matches_gold": true,
          "pdfjs_searchable_text_gold_found": true,
          "readers_agree": true,
          "same_geometry": true,
          "source_counts_descriptive": {
            "form": 0,
            "image": 0,
            "invisible_text": 0,
            "path": 2,
            "shading": 0,
            "text": 3,
            "unknown": 0,
            "visible_text": 3
          },
          "source_images_descriptive": {
            "count": 0,
            "full_page_count": 0,
            "full_page_definition": "painted image bounding box covers >=95% of page bbox; not clipping/occlusion aware",
            "records": [],
            "records_truncated": false
          },
          "tiny_black_6pt_crop": {
            "gray_bit_equal": false,
            "gray_mean_absolute_difference": 1.37269714,
            "gray_pixels_difference_gt16": 8958,
            "ink_iou": 0.60617647,
            "ink_threshold": 128,
            "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
            "rgb_bit_equal": false,
            "same_size": true
          },
          "visible_native_characters_preserved": false
        },
        {
          "black_vector_rule_crop": {
            "gray_bit_equal": false,
            "gray_mean_absolute_difference": 17.67607718,
            "gray_pixels_difference_gt16": 24574,
            "ink_iou": 0.19996093,
            "ink_threshold": 128,
            "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
            "rgb_bit_equal": false,
            "same_size": true
          },
          "body_is_grayscale": true,
          "existing_invisible_characters_preserved": false,
          "image_intersections_with_text_and_rule_roi": {
            "output": [
              1,
              1
            ],
            "source": [
              0,
              0
            ]
          },
          "kind": "born-digital",
          "no_new_bitmap_over_text_or_rule_roi": false,
          "no_new_full_page_bitmap": false,
          "output_counts_descriptive": {
            "form": 0,
            "image": 1,
            "invisible_text": 3,
            "path": 0,
            "shading": 0,
            "text": 3,
            "unknown": 0,
            "visible_text": 0
          },
          "output_images_descriptive": {
            "count": 1,
            "full_page_count": 1,
            "full_page_definition": "painted image bounding box covers >=95% of page bbox; not clipping/occlusion aware",
            "records": [
              {
                "bounds": [
                  0.0,
                  0.0,
                  595.280029,
                  841.890015
                ],
                "image_height": 1684,
                "image_width": 1191,
                "level": 0,
                "matrix": [
                  595.280029,
                  0.0,
                  0.0,
                  841.890015,
                  0.0,
                  0.0
                ],
                "page_bbox_coverage": 1.0,
                "page_bounds": [
                  0.0,
                  0.0,
                  595.280029,
                  841.890015
                ]
              }
            ],
            "records_truncated": false
          },
          "page": 4,
          "pdfium_copy_matches_gold": false,
          "pdfium_literal_find_denominator": 2,
          "pdfium_literal_find_source_ineligible_queries": [],
          "pdfium_search_gold_found": false,
          "pdfjs_copy_matches_gold": false,
          "pdfjs_searchable_text_gold_found": false,
          "readers_agree": true,
          "same_geometry": true,
          "source_counts_descriptive": {
            "form": 0,
            "image": 0,
            "invisible_text": 0,
            "path": 2,
            "shading": 0,
            "text": 3,
            "unknown": 0,
            "visible_text": 3
          },
          "source_images_descriptive": {
            "count": 0,
            "full_page_count": 0,
            "full_page_definition": "painted image bounding box covers >=95% of page bbox; not clipping/occlusion aware",
            "records": [],
            "records_truncated": false
          },
          "tiny_black_6pt_crop": {
            "gray_bit_equal": false,
            "gray_mean_absolute_difference": 1.00383451,
            "gray_pixels_difference_gt16": 6443,
            "ink_iou": 0.58870797,
            "ink_threshold": 128,
            "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
            "rgb_bit_equal": false,
            "same_size": true
          },
          "visible_native_characters_preserved": false
        }
      ],
      "structure": {
        "annotations": {
          "output": [],
          "same": true,
          "source": []
        },
        "bookmarks": {
          "output": [],
          "same": true,
          "source": []
        },
        "editable_value_roundtrip": null,
        "field_contract_semantics": {
          "output": [],
          "same": true,
          "source": []
        },
        "fields": {
          "output": [],
          "same": true,
          "source": []
        },
        "graph_digest_scope": "Original AcroForm, annotations, names, outlines; ref-sensitive. Descriptive across rewriters, exact-original check for DOKIVO graft only.",
        "links": {
          "output": [],
          "same": true,
          "source": []
        },
        "metadata": {
          "output": {
            "author": "",
            "creator": "pdf-lib (https://github.com/Hopding/pdf-lib)",
            "keywords": "",
            "producer": "pdf-lib (https://github.com/Hopding/pdf-lib)",
            "subject": "",
            "title": ""
          },
          "same": false,
          "source": {
            "author": "DOKIVO QA",
            "creator": "DOKIVO fixed proof corpus v1",
            "keywords": "synthetic grayscale proof",
            "producer": "pdf-lib fixed QA",
            "subject": "Synthetic holdout corpus 2026-10-25",
            "title": "DOKIVO synthetic proof copy-maps"
          }
        },
        "named_destinations": {
          "output": [],
          "same": true,
          "source": []
        },
        "output_graph_digest": "69ac605c154d050d9616ec541639b5880920a2c8d95b7e78b55b6d359865115d",
        "same_graph_digest": true,
        "source_graph_digest": "69ac605c154d050d9616ec541639b5880920a2c8d95b7e78b55b6d359865115d"
      },
      "already_gray_page4_original_content_resources_same": null
    },
    {
      "fixture": "copy-maps",
      "arm": "gs-direct",
      "source_bytes": 106710,
      "source_sha256": "88d8dc82263b43acddf71d00aeb675d6bd7191605b21fc5d991e11c121ca7bce",
      "output_bytes": 17928,
      "output_sha256": "c30e548f05f7387ab87a70332045cbe5c8e75edffb37d566b9083d9277d1bda8",
      "pages": [
        {
          "black_vector_rule_crop": {
            "gray_bit_equal": true,
            "gray_mean_absolute_difference": 0.0,
            "gray_pixels_difference_gt16": 0,
            "ink_iou": 1.0,
            "ink_threshold": 128,
            "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
            "rgb_bit_equal": true,
            "same_size": true
          },
          "body_is_grayscale": true,
          "existing_invisible_characters_preserved": true,
          "image_intersections_with_text_and_rule_roi": {
            "output": [
              0,
              0
            ],
            "source": [
              0,
              0
            ]
          },
          "kind": "born-digital",
          "no_new_bitmap_over_text_or_rule_roi": true,
          "no_new_full_page_bitmap": true,
          "output_counts_descriptive": {
            "form": 0,
            "image": 0,
            "invisible_text": 0,
            "path": 2,
            "shading": 0,
            "text": 3,
            "unknown": 0,
            "visible_text": 3
          },
          "output_images_descriptive": {
            "count": 0,
            "full_page_count": 0,
            "full_page_definition": "painted image bounding box covers >=95% of page bbox; not clipping/occlusion aware",
            "records": [],
            "records_truncated": false
          },
          "page": 1,
          "pdfium_copy_matches_gold": true,
          "pdfium_literal_find_denominator": 2,
          "pdfium_literal_find_source_ineligible_queries": [],
          "pdfium_search_gold_found": true,
          "pdfjs_copy_matches_gold": true,
          "pdfjs_searchable_text_gold_found": true,
          "readers_agree": true,
          "same_geometry": true,
          "source_counts_descriptive": {
            "form": 0,
            "image": 0,
            "invisible_text": 0,
            "path": 2,
            "shading": 0,
            "text": 3,
            "unknown": 0,
            "visible_text": 3
          },
          "source_images_descriptive": {
            "count": 0,
            "full_page_count": 0,
            "full_page_definition": "painted image bounding box covers >=95% of page bbox; not clipping/occlusion aware",
            "records": [],
            "records_truncated": false
          },
          "tiny_black_6pt_crop": {
            "gray_bit_equal": true,
            "gray_mean_absolute_difference": 0.0,
            "gray_pixels_difference_gt16": 0,
            "ink_iou": 1.0,
            "ink_threshold": 128,
            "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
            "rgb_bit_equal": true,
            "same_size": true
          },
          "visible_native_characters_preserved": true
        },
        {
          "black_vector_rule_crop": {
            "gray_bit_equal": true,
            "gray_mean_absolute_difference": 0.0,
            "gray_pixels_difference_gt16": 0,
            "ink_iou": 1.0,
            "ink_threshold": 128,
            "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
            "rgb_bit_equal": true,
            "same_size": true
          },
          "body_is_grayscale": true,
          "existing_invisible_characters_preserved": true,
          "image_intersections_with_text_and_rule_roi": {
            "output": [
              0,
              0
            ],
            "source": [
              0,
              0
            ]
          },
          "kind": "born-digital",
          "no_new_bitmap_over_text_or_rule_roi": true,
          "no_new_full_page_bitmap": true,
          "output_counts_descriptive": {
            "form": 0,
            "image": 0,
            "invisible_text": 0,
            "path": 2,
            "shading": 0,
            "text": 3,
            "unknown": 0,
            "visible_text": 3
          },
          "output_images_descriptive": {
            "count": 0,
            "full_page_count": 0,
            "full_page_definition": "painted image bounding box covers >=95% of page bbox; not clipping/occlusion aware",
            "records": [],
            "records_truncated": false
          },
          "page": 2,
          "pdfium_copy_matches_gold": true,
          "pdfium_literal_find_denominator": 2,
          "pdfium_literal_find_source_ineligible_queries": [],
          "pdfium_search_gold_found": true,
          "pdfjs_copy_matches_gold": true,
          "pdfjs_searchable_text_gold_found": true,
          "readers_agree": true,
          "same_geometry": true,
          "source_counts_descriptive": {
            "form": 0,
            "image": 0,
            "invisible_text": 0,
            "path": 2,
            "shading": 0,
            "text": 3,
            "unknown": 0,
            "visible_text": 3
          },
          "source_images_descriptive": {
            "count": 0,
            "full_page_count": 0,
            "full_page_definition": "painted image bounding box covers >=95% of page bbox; not clipping/occlusion aware",
            "records": [],
            "records_truncated": false
          },
          "tiny_black_6pt_crop": {
            "gray_bit_equal": true,
            "gray_mean_absolute_difference": 0.0,
            "gray_pixels_difference_gt16": 0,
            "ink_iou": 1.0,
            "ink_threshold": 128,
            "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
            "rgb_bit_equal": true,
            "same_size": true
          },
          "visible_native_characters_preserved": true
        },
        {
          "black_vector_rule_crop": {
            "gray_bit_equal": true,
            "gray_mean_absolute_difference": 0.0,
            "gray_pixels_difference_gt16": 0,
            "ink_iou": 1.0,
            "ink_threshold": 128,
            "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
            "rgb_bit_equal": true,
            "same_size": true
          },
          "body_is_grayscale": true,
          "existing_invisible_characters_preserved": true,
          "image_intersections_with_text_and_rule_roi": {
            "output": [
              0,
              0
            ],
            "source": [
              0,
              0
            ]
          },
          "kind": "born-digital",
          "no_new_bitmap_over_text_or_rule_roi": true,
          "no_new_full_page_bitmap": true,
          "output_counts_descriptive": {
            "form": 0,
            "image": 0,
            "invisible_text": 0,
            "path": 2,
            "shading": 0,
            "text": 3,
            "unknown": 0,
            "visible_text": 3
          },
          "output_images_descriptive": {
            "count": 0,
            "full_page_count": 0,
            "full_page_definition": "painted image bounding box covers >=95% of page bbox; not clipping/occlusion aware",
            "records": [],
            "records_truncated": false
          },
          "page": 3,
          "pdfium_copy_matches_gold": true,
          "pdfium_literal_find_denominator": 2,
          "pdfium_literal_find_source_ineligible_queries": [],
          "pdfium_search_gold_found": true,
          "pdfjs_copy_matches_gold": true,
          "pdfjs_searchable_text_gold_found": true,
          "readers_agree": true,
          "same_geometry": true,
          "source_counts_descriptive": {
            "form": 0,
            "image": 0,
            "invisible_text": 0,
            "path": 2,
            "shading": 0,
            "text": 3,
            "unknown": 0,
            "visible_text": 3
          },
          "source_images_descriptive": {
            "count": 0,
            "full_page_count": 0,
            "full_page_definition": "painted image bounding box covers >=95% of page bbox; not clipping/occlusion aware",
            "records": [],
            "records_truncated": false
          },
          "tiny_black_6pt_crop": {
            "gray_bit_equal": true,
            "gray_mean_absolute_difference": 0.0,
            "gray_pixels_difference_gt16": 0,
            "ink_iou": 1.0,
            "ink_threshold": 128,
            "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
            "rgb_bit_equal": true,
            "same_size": true
          },
          "visible_native_characters_preserved": true
        },
        {
          "black_vector_rule_crop": {
            "gray_bit_equal": true,
            "gray_mean_absolute_difference": 0.0,
            "gray_pixels_difference_gt16": 0,
            "ink_iou": 1.0,
            "ink_threshold": 128,
            "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
            "rgb_bit_equal": true,
            "same_size": true
          },
          "body_is_grayscale": true,
          "existing_invisible_characters_preserved": true,
          "image_intersections_with_text_and_rule_roi": {
            "output": [
              0,
              0
            ],
            "source": [
              0,
              0
            ]
          },
          "kind": "born-digital",
          "no_new_bitmap_over_text_or_rule_roi": true,
          "no_new_full_page_bitmap": true,
          "output_counts_descriptive": {
            "form": 0,
            "image": 0,
            "invisible_text": 0,
            "path": 2,
            "shading": 0,
            "text": 3,
            "unknown": 0,
            "visible_text": 3
          },
          "output_images_descriptive": {
            "count": 0,
            "full_page_count": 0,
            "full_page_definition": "painted image bounding box covers >=95% of page bbox; not clipping/occlusion aware",
            "records": [],
            "records_truncated": false
          },
          "page": 4,
          "pdfium_copy_matches_gold": true,
          "pdfium_literal_find_denominator": 2,
          "pdfium_literal_find_source_ineligible_queries": [],
          "pdfium_search_gold_found": true,
          "pdfjs_copy_matches_gold": true,
          "pdfjs_searchable_text_gold_found": true,
          "readers_agree": true,
          "same_geometry": true,
          "source_counts_descriptive": {
            "form": 0,
            "image": 0,
            "invisible_text": 0,
            "path": 2,
            "shading": 0,
            "text": 3,
            "unknown": 0,
            "visible_text": 3
          },
          "source_images_descriptive": {
            "count": 0,
            "full_page_count": 0,
            "full_page_definition": "painted image bounding box covers >=95% of page bbox; not clipping/occlusion aware",
            "records": [],
            "records_truncated": false
          },
          "tiny_black_6pt_crop": {
            "gray_bit_equal": true,
            "gray_mean_absolute_difference": 0.0,
            "gray_pixels_difference_gt16": 0,
            "ink_iou": 1.0,
            "ink_threshold": 128,
            "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
            "rgb_bit_equal": true,
            "same_size": true
          },
          "visible_native_characters_preserved": true
        }
      ],
      "structure": {
        "annotations": {
          "output": [],
          "same": true,
          "source": []
        },
        "bookmarks": {
          "output": [],
          "same": true,
          "source": []
        },
        "editable_value_roundtrip": null,
        "field_contract_semantics": {
          "output": [],
          "same": true,
          "source": []
        },
        "fields": {
          "output": [],
          "same": true,
          "source": []
        },
        "graph_digest_scope": "Original AcroForm, annotations, names, outlines; ref-sensitive. Descriptive across rewriters, exact-original check for DOKIVO graft only.",
        "links": {
          "output": [],
          "same": true,
          "source": []
        },
        "metadata": {
          "output": {
            "author": "DOKIVO QA",
            "creator": "DOKIVO fixed proof corpus v1",
            "keywords": "synthetic grayscale proof",
            "producer": "GPL Ghostscript 10.05.1",
            "subject": "Synthetic holdout corpus 2026-10-25",
            "title": "DOKIVO synthetic proof copy-maps"
          },
          "same": false,
          "source": {
            "author": "DOKIVO QA",
            "creator": "DOKIVO fixed proof corpus v1",
            "keywords": "synthetic grayscale proof",
            "producer": "pdf-lib fixed QA",
            "subject": "Synthetic holdout corpus 2026-10-25",
            "title": "DOKIVO synthetic proof copy-maps"
          }
        },
        "named_destinations": {
          "output": [],
          "same": true,
          "source": []
        },
        "output_graph_digest": "f942fb8c30742538dba99384dcb7997525d895cc5ba823bb4c2a620df3e42574",
        "same_graph_digest": false,
        "source_graph_digest": "69ac605c154d050d9616ec541639b5880920a2c8d95b7e78b55b6d359865115d"
      },
      "already_gray_page4_original_content_resources_same": null
    },
    {
      "fixture": "workflow",
      "arm": "dokivo-vector",
      "source_bytes": 46830,
      "source_sha256": "67e9520636c810d6f3a314a1b463828ca7888ba515e73018dbeb861786bf7430",
      "output_bytes": 31340,
      "output_sha256": "fe28d03a657559d148e7e690e1b3fc011370a67f97be73df4e0a43301b3070ae",
      "pages": [
        {
          "black_vector_rule_crop": {
            "gray_bit_equal": true,
            "gray_mean_absolute_difference": 0.0,
            "gray_pixels_difference_gt16": 0,
            "ink_iou": 1.0,
            "ink_threshold": 128,
            "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
            "rgb_bit_equal": true,
            "same_size": true
          },
          "body_is_grayscale": true,
          "existing_invisible_characters_preserved": true,
          "image_intersections_with_text_and_rule_roi": {
            "output": [
              0,
              0
            ],
            "source": [
              0,
              0
            ]
          },
          "kind": "born-digital",
          "no_new_bitmap_over_text_or_rule_roi": true,
          "no_new_full_page_bitmap": true,
          "output_counts_descriptive": {
            "form": 0,
            "image": 1,
            "invisible_text": 0,
            "path": 2,
            "shading": 0,
            "text": 3,
            "unknown": 0,
            "visible_text": 3
          },
          "output_images_descriptive": {
            "count": 1,
            "full_page_count": 0,
            "full_page_definition": "painted image bounding box covers >=95% of page bbox; not clipping/occlusion aware",
            "records": [
              {
                "bounds": [
                  450.0,
                  150.0,
                  578.0,
                  214.0
                ],
                "image_height": 64,
                "image_width": 128,
                "level": 0,
                "matrix": [
                  128.0,
                  0.0,
                  0.0,
                  64.0,
                  450.0,
                  150.0
                ],
                "page_bbox_coverage": 0.016346,
                "page_bounds": [
                  450.0,
                  150.0,
                  578.0,
                  214.0
                ]
              }
            ],
            "records_truncated": false
          },
          "page": 1,
          "pdfium_copy_matches_gold": true,
          "pdfium_literal_find_denominator": 2,
          "pdfium_literal_find_source_ineligible_queries": [],
          "pdfium_search_gold_found": true,
          "pdfjs_copy_matches_gold": true,
          "pdfjs_searchable_text_gold_found": true,
          "readers_agree": true,
          "same_geometry": true,
          "source_counts_descriptive": {
            "form": 0,
            "image": 1,
            "invisible_text": 0,
            "path": 2,
            "shading": 0,
            "text": 3,
            "unknown": 0,
            "visible_text": 3
          },
          "source_images_descriptive": {
            "count": 1,
            "full_page_count": 0,
            "full_page_definition": "painted image bounding box covers >=95% of page bbox; not clipping/occlusion aware",
            "records": [
              {
                "bounds": [
                  450.0,
                  150.0,
                  578.0,
                  214.0
                ],
                "image_height": 64,
                "image_width": 128,
                "level": 0,
                "matrix": [
                  128.0,
                  0.0,
                  0.0,
                  64.0,
                  450.0,
                  150.0
                ],
                "page_bbox_coverage": 0.016346,
                "page_bounds": [
                  450.0,
                  150.0,
                  578.0,
                  214.0
                ]
              }
            ],
            "records_truncated": false
          },
          "tiny_black_6pt_crop": {
            "gray_bit_equal": true,
            "gray_mean_absolute_difference": 0.0,
            "gray_pixels_difference_gt16": 0,
            "ink_iou": 1.0,
            "ink_threshold": 128,
            "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
            "rgb_bit_equal": true,
            "same_size": true
          },
          "visible_native_characters_preserved": true
        },
        {
          "black_vector_rule_crop": {
            "gray_bit_equal": false,
            "gray_mean_absolute_difference": 7.65406671,
            "gray_pixels_difference_gt16": 9213,
            "ink_iou": 0.6,
            "ink_threshold": 128,
            "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
            "rgb_bit_equal": false,
            "same_size": true
          },
          "body_is_grayscale": true,
          "existing_invisible_characters_preserved": true,
          "image_intersections_with_text_and_rule_roi": {
            "output": [
              1,
              1
            ],
            "source": [
              1,
              1
            ]
          },
          "kind": "scan-with-existing-ocr",
          "no_new_bitmap_over_text_or_rule_roi": null,
          "no_new_full_page_bitmap": null,
          "output_counts_descriptive": {
            "form": 0,
            "image": 1,
            "invisible_text": 3,
            "path": 0,
            "shading": 0,
            "text": 3,
            "unknown": 0,
            "visible_text": 0
          },
          "output_images_descriptive": {
            "count": 1,
            "full_page_count": 1,
            "full_page_definition": "painted image bounding box covers >=95% of page bbox; not clipping/occlusion aware",
            "records": [
              {
                "bounds": [
                  0.0,
                  -3.7e-05,
                  595.279968,
                  841.890015
                ],
                "image_height": 1684,
                "image_width": 1191,
                "level": 0,
                "matrix": [
                  595.279968,
                  0.0,
                  0.0,
                  841.890076,
                  0.0,
                  -3.7e-05
                ],
                "page_bbox_coverage": 1.0,
                "page_bounds": [
                  0.0,
                  -3.7e-05,
                  595.279968,
                  841.890015
                ]
              }
            ],
            "records_truncated": false
          },
          "page": 2,
          "pdfium_copy_matches_gold": true,
          "pdfium_literal_find_denominator": 2,
          "pdfium_literal_find_source_ineligible_queries": [],
          "pdfium_search_gold_found": true,
          "pdfjs_copy_matches_gold": true,
          "pdfjs_searchable_text_gold_found": true,
          "readers_agree": true,
          "same_geometry": true,
          "source_counts_descriptive": {
            "form": 0,
            "image": 1,
            "invisible_text": 3,
            "path": 0,
            "shading": 0,
            "text": 3,
            "unknown": 0,
            "visible_text": 0
          },
          "source_images_descriptive": {
            "count": 1,
            "full_page_count": 1,
            "full_page_definition": "painted image bounding box covers >=95% of page bbox; not clipping/occlusion aware",
            "records": [
              {
                "bounds": [
                  0.0,
                  0.0,
                  595.280029,
                  841.890015
                ],
                "image_height": 1684,
                "image_width": 1191,
                "level": 0,
                "matrix": [
                  595.280029,
                  0.0,
                  0.0,
                  841.890015,
                  0.0,
                  0.0
                ],
                "page_bbox_coverage": 1.0,
                "page_bounds": [
                  0.0,
                  0.0,
                  595.280029,
                  841.890015
                ]
              }
            ],
            "records_truncated": false
          },
          "tiny_black_6pt_crop": {
            "gray_bit_equal": true,
            "gray_mean_absolute_difference": 0.0,
            "gray_pixels_difference_gt16": 0,
            "ink_iou": 1.0,
            "ink_threshold": 128,
            "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
            "rgb_bit_equal": true,
            "same_size": true
          },
          "visible_native_characters_preserved": null
        },
        {
          "black_vector_rule_crop": {
            "gray_bit_equal": true,
            "gray_mean_absolute_difference": 0.0,
            "gray_pixels_difference_gt16": 0,
            "ink_iou": 1.0,
            "ink_threshold": 128,
            "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
            "rgb_bit_equal": true,
            "same_size": true
          },
          "body_is_grayscale": true,
          "existing_invisible_characters_preserved": true,
          "image_intersections_with_text_and_rule_roi": {
            "output": [
              0,
              0
            ],
            "source": [
              0,
              0
            ]
          },
          "kind": "born-digital",
          "no_new_bitmap_over_text_or_rule_roi": true,
          "no_new_full_page_bitmap": true,
          "output_counts_descriptive": {
            "form": 0,
            "image": 0,
            "invisible_text": 0,
            "path": 2,
            "shading": 0,
            "text": 3,
            "unknown": 0,
            "visible_text": 3
          },
          "output_images_descriptive": {
            "count": 0,
            "full_page_count": 0,
            "full_page_definition": "painted image bounding box covers >=95% of page bbox; not clipping/occlusion aware",
            "records": [],
            "records_truncated": false
          },
          "page": 3,
          "pdfium_copy_matches_gold": true,
          "pdfium_literal_find_denominator": 2,
          "pdfium_literal_find_source_ineligible_queries": [],
          "pdfium_search_gold_found": true,
          "pdfjs_copy_matches_gold": true,
          "pdfjs_searchable_text_gold_found": true,
          "readers_agree": true,
          "same_geometry": true,
          "source_counts_descriptive": {
            "form": 0,
            "image": 0,
            "invisible_text": 0,
            "path": 2,
            "shading": 0,
            "text": 3,
            "unknown": 0,
            "visible_text": 3
          },
          "source_images_descriptive": {
            "count": 0,
            "full_page_count": 0,
            "full_page_definition": "painted image bounding box covers >=95% of page bbox; not clipping/occlusion aware",
            "records": [],
            "records_truncated": false
          },
          "tiny_black_6pt_crop": {
            "gray_bit_equal": true,
            "gray_mean_absolute_difference": 0.0,
            "gray_pixels_difference_gt16": 0,
            "ink_iou": 1.0,
            "ink_threshold": 128,
            "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
            "rgb_bit_equal": true,
            "same_size": true
          },
          "visible_native_characters_preserved": true
        },
        {
          "black_vector_rule_crop": {
            "gray_bit_equal": true,
            "gray_mean_absolute_difference": 0.0,
            "gray_pixels_difference_gt16": 0,
            "ink_iou": 1.0,
            "ink_threshold": 128,
            "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
            "rgb_bit_equal": true,
            "same_size": true
          },
          "body_is_grayscale": true,
          "existing_invisible_characters_preserved": true,
          "image_intersections_with_text_and_rule_roi": {
            "output": [
              0,
              0
            ],
            "source": [
              0,
              0
            ]
          },
          "kind": "born-digital",
          "no_new_bitmap_over_text_or_rule_roi": true,
          "no_new_full_page_bitmap": true,
          "output_counts_descriptive": {
            "form": 0,
            "image": 0,
            "invisible_text": 0,
            "path": 1,
            "shading": 0,
            "text": 3,
            "unknown": 0,
            "visible_text": 3
          },
          "output_images_descriptive": {
            "count": 0,
            "full_page_count": 0,
            "full_page_definition": "painted image bounding box covers >=95% of page bbox; not clipping/occlusion aware",
            "records": [],
            "records_truncated": false
          },
          "page": 4,
          "pdfium_copy_matches_gold": true,
          "pdfium_literal_find_denominator": 2,
          "pdfium_literal_find_source_ineligible_queries": [],
          "pdfium_search_gold_found": true,
          "pdfjs_copy_matches_gold": true,
          "pdfjs_searchable_text_gold_found": true,
          "readers_agree": true,
          "same_geometry": true,
          "source_counts_descriptive": {
            "form": 0,
            "image": 0,
            "invisible_text": 0,
            "path": 1,
            "shading": 0,
            "text": 3,
            "unknown": 0,
            "visible_text": 3
          },
          "source_images_descriptive": {
            "count": 0,
            "full_page_count": 0,
            "full_page_definition": "painted image bounding box covers >=95% of page bbox; not clipping/occlusion aware",
            "records": [],
            "records_truncated": false
          },
          "tiny_black_6pt_crop": {
            "gray_bit_equal": true,
            "gray_mean_absolute_difference": 0.0,
            "gray_pixels_difference_gt16": 0,
            "ink_iou": 1.0,
            "ink_threshold": 128,
            "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
            "rgb_bit_equal": true,
            "same_size": true
          },
          "visible_native_characters_preserved": true
        }
      ],
      "structure": {
        "annotations": {
          "output": [
            {
              "contents": "SYNTHETIC_NOTE_027",
              "page": 3,
              "subtype": "Text"
            }
          ],
          "same": true,
          "source": [
            {
              "contents": "SYNTHETIC_NOTE_027",
              "page": 3,
              "subtype": "Text"
            }
          ]
        },
        "bookmarks": {
          "output": [
            {
              "target_page": 1,
              "title": "Начало"
            },
            {
              "target_page": 3,
              "title": "Форма"
            }
          ],
          "same": true,
          "source": [
            {
              "target_page": 1,
              "title": "Начало"
            },
            {
              "target_page": 3,
              "title": "Форма"
            }
          ]
        },
        "editable_value_roundtrip": {
          "artifact": "workflow-dokivo-vector-edited.pdf",
          "attempted": true,
          "passed": true,
          "reopenedChecked": false,
          "reopenedFieldContract": [
            {
              "flags": 0,
              "maxLength": null,
              "name": "agreed",
              "readOnly": false,
              "widgets": [
                {
                  "apDigest": "b23299af9afe4e483c51b0c4a3a98e26f72752832f15aa80cf6b0deefcf70a5f",
                  "apPresent": true,
                  "page": 3,
                  "parentPresent": true,
                  "rect": [
                    310,
                    95,
                    330,
                    115
                  ]
                }
              ]
            },
            {
              "flags": 0,
              "maxLength": 64,
              "name": "client_name",
              "readOnly": false,
              "widgets": [
                {
                  "apDigest": "dcc957b669347441c0b2b40bf94f9cb6744c9ea8b5a69e8ae491ac5ac1ac933c",
                  "apPresent": true,
                  "page": 3,
                  "parentPresent": true,
                  "rect": [
                    36,
                    95,
                    250,
                    125
                  ]
                }
              ]
            }
          ],
          "reopenedValue": "ПРОВЕРКА_028",
          "scope": "pdf-lib edit/save/reopen with explicit Golos AP; not a human viewer interaction test"
        },
        "field_contract_semantics": {
          "output": [
            {
              "flags": 0,
              "maxLength": null,
              "name": "agreed",
              "readOnly": false,
              "widgets": [
                {
                  "apPresent": true,
                  "page": 3,
                  "parentPresent": true,
                  "rect": [
                    310,
                    95,
                    330,
                    115
                  ]
                }
              ]
            },
            {
              "flags": 0,
              "maxLength": 64,
              "name": "client_name",
              "readOnly": false,
              "widgets": [
                {
                  "apPresent": true,
                  "page": 3,
                  "parentPresent": true,
                  "rect": [
                    36,
                    95,
                    250,
                    125
                  ]
                }
              ]
            }
          ],
          "same": true,
          "source": [
            {
              "flags": 0,
              "maxLength": null,
              "name": "agreed",
              "readOnly": false,
              "widgets": [
                {
                  "apPresent": true,
                  "page": 3,
                  "parentPresent": true,
                  "rect": [
                    310,
                    95,
                    330,
                    115
                  ]
                }
              ]
            },
            {
              "flags": 0,
              "maxLength": 64,
              "name": "client_name",
              "readOnly": false,
              "widgets": [
                {
                  "apPresent": true,
                  "page": 3,
                  "parentPresent": true,
                  "rect": [
                    36,
                    95,
                    250,
                    125
                  ]
                }
              ]
            }
          ]
        },
        "fields": {
          "output": [
            {
              "name": "agreed",
              "type": "PDFCheckBox",
              "value": true
            },
            {
              "name": "client_name",
              "type": "PDFTextField",
              "value": "Ёлка_027"
            }
          ],
          "same": true,
          "source": [
            {
              "name": "agreed",
              "type": "PDFCheckBox",
              "value": true
            },
            {
              "name": "client_name",
              "type": "PDFTextField",
              "value": "Ёлка_027"
            }
          ]
        },
        "graph_digest_scope": "Original AcroForm, annotations, names, outlines; ref-sensitive. Descriptive across rewriters, exact-original check for DOKIVO graft only.",
        "independent_edited_value_roundtrip": {
          "passed": true,
          "rendered_appearance_png": "workflow-dokivo-vector-edited-form144.png",
          "scope": "Independent PDFMiner AcroForm field value/AP presence plus PDFium rendered edit copy. Visual glyph appearance requires reviewing the exported crop; no OCR inference or human viewer interaction is claimed.",
          "status": "read_and_rendered",
          "widgets": [
            {
              "appearance_key": "dict",
              "flags": 0,
              "name": "agreed",
              "page": 3,
              "type": "CheckBox",
              "value": false
            },
            {
              "appearance_key": "dict",
              "flags": 0,
              "name": "client_name",
              "page": 3,
              "type": "Text",
              "value": "ПРОВЕРКА_028"
            }
          ]
        },
        "independent_widgets": {
          "output": [
            {
              "appearance_key": "dict",
              "flags": 0,
              "name": "agreed",
              "page": 3,
              "type": "CheckBox",
              "value": true
            },
            {
              "appearance_key": "dict",
              "flags": 0,
              "name": "client_name",
              "page": 3,
              "type": "Text",
              "value": "Ёлка_027"
            }
          ],
          "source": [
            {
              "appearance_key": "dict",
              "flags": 0,
              "name": "agreed",
              "page": 3,
              "type": "CheckBox",
              "value": true
            },
            {
              "appearance_key": "dict",
              "flags": 0,
              "name": "client_name",
              "page": 3,
              "type": "Text",
              "value": "Ёлка_027"
            }
          ]
        },
        "links": {
          "output": [
            {
              "page": 4,
              "rect": [
                36,
                30,
                200,
                48
              ],
              "uri": "https://example.invalid/proof?case=B04"
            },
            {
              "named": "section-form",
              "page": 4,
              "rect": [
                220,
                30,
                380,
                48
              ],
              "target_page": 3
            },
            {
              "page": 4,
              "rect": [
                400,
                30,
                560,
                48
              ],
              "target_page": 1
            }
          ],
          "same": true,
          "source": [
            {
              "page": 4,
              "rect": [
                36,
                30,
                200,
                48
              ],
              "uri": "https://example.invalid/proof?case=B04"
            },
            {
              "named": "section-form",
              "page": 4,
              "rect": [
                220,
                30,
                380,
                48
              ],
              "target_page": 3
            },
            {
              "page": 4,
              "rect": [
                400,
                30,
                560,
                48
              ],
              "target_page": 1
            }
          ]
        },
        "metadata": {
          "output": {
            "author": "DOKIVO QA",
            "creator": "DOKIVO fixed proof corpus v1",
            "keywords": "synthetic grayscale proof",
            "producer": "pdf-lib fixed QA",
            "subject": "Synthetic holdout corpus 2026-10-25",
            "title": "DOKIVO synthetic proof workflow"
          },
          "same": true,
          "source": {
            "author": "DOKIVO QA",
            "creator": "DOKIVO fixed proof corpus v1",
            "keywords": "synthetic grayscale proof",
            "producer": "pdf-lib fixed QA",
            "subject": "Synthetic holdout corpus 2026-10-25",
            "title": "DOKIVO synthetic proof workflow"
          }
        },
        "named_destinations": {
          "output": [
            {
              "name": "section-form",
              "target_page": 3
            }
          ],
          "same": true,
          "source": [
            {
              "name": "section-form",
              "target_page": 3
            }
          ]
        },
        "output_graph_digest": "1d1a0ffde4cf678bfc0571f741eaaae3e54b89a96f0149f9ef905d7ea130c9c1",
        "same_graph_digest": true,
        "source_graph_digest": "1d1a0ffde4cf678bfc0571f741eaaae3e54b89a96f0149f9ef905d7ea130c9c1"
      },
      "already_gray_page4_original_content_resources_same": true
    },
    {
      "fixture": "workflow",
      "arm": "dokivo-raster-144",
      "source_bytes": 46830,
      "source_sha256": "67e9520636c810d6f3a314a1b463828ca7888ba515e73018dbeb861786bf7430",
      "output_bytes": 142282,
      "output_sha256": "d9eec6bbcb28f0bce788f7db0171632df58966ef8a3e30fb06498e09edff7608",
      "pages": [
        {
          "black_vector_rule_crop": {
            "gray_bit_equal": false,
            "gray_mean_absolute_difference": 17.67607718,
            "gray_pixels_difference_gt16": 24574,
            "ink_iou": 0.19996093,
            "ink_threshold": 128,
            "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
            "rgb_bit_equal": false,
            "same_size": true
          },
          "body_is_grayscale": true,
          "existing_invisible_characters_preserved": false,
          "image_intersections_with_text_and_rule_roi": {
            "output": [
              1,
              1
            ],
            "source": [
              0,
              0
            ]
          },
          "kind": "born-digital",
          "no_new_bitmap_over_text_or_rule_roi": false,
          "no_new_full_page_bitmap": false,
          "output_counts_descriptive": {
            "form": 0,
            "image": 1,
            "invisible_text": 3,
            "path": 0,
            "shading": 0,
            "text": 3,
            "unknown": 0,
            "visible_text": 0
          },
          "output_images_descriptive": {
            "count": 1,
            "full_page_count": 1,
            "full_page_definition": "painted image bounding box covers >=95% of page bbox; not clipping/occlusion aware",
            "records": [
              {
                "bounds": [
                  0.0,
                  0.0,
                  595.280029,
                  841.890015
                ],
                "image_height": 1684,
                "image_width": 1191,
                "level": 0,
                "matrix": [
                  595.280029,
                  0.0,
                  0.0,
                  841.890015,
                  0.0,
                  0.0
                ],
                "page_bbox_coverage": 1.0,
                "page_bounds": [
                  0.0,
                  0.0,
                  595.280029,
                  841.890015
                ]
              }
            ],
            "records_truncated": false
          },
          "page": 1,
          "pdfium_copy_matches_gold": true,
          "pdfium_literal_find_denominator": 2,
          "pdfium_literal_find_source_ineligible_queries": [],
          "pdfium_search_gold_found": true,
          "pdfjs_copy_matches_gold": true,
          "pdfjs_searchable_text_gold_found": true,
          "readers_agree": true,
          "same_geometry": true,
          "source_counts_descriptive": {
            "form": 0,
            "image": 1,
            "invisible_text": 0,
            "path": 2,
            "shading": 0,
            "text": 3,
            "unknown": 0,
            "visible_text": 3
          },
          "source_images_descriptive": {
            "count": 1,
            "full_page_count": 0,
            "full_page_definition": "painted image bounding box covers >=95% of page bbox; not clipping/occlusion aware",
            "records": [
              {
                "bounds": [
                  450.0,
                  150.0,
                  578.0,
                  214.0
                ],
                "image_height": 64,
                "image_width": 128,
                "level": 0,
                "matrix": [
                  128.0,
                  0.0,
                  0.0,
                  64.0,
                  450.0,
                  150.0
                ],
                "page_bbox_coverage": 0.016346,
                "page_bounds": [
                  450.0,
                  150.0,
                  578.0,
                  214.0
                ]
              }
            ],
            "records_truncated": false
          },
          "tiny_black_6pt_crop": {
            "gray_bit_equal": false,
            "gray_mean_absolute_difference": 1.77646852,
            "gray_pixels_difference_gt16": 11736,
            "ink_iou": 0.6100768,
            "ink_threshold": 128,
            "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
            "rgb_bit_equal": false,
            "same_size": true
          },
          "visible_native_characters_preserved": false
        },
        {
          "black_vector_rule_crop": {
            "gray_bit_equal": true,
            "gray_mean_absolute_difference": 0.0,
            "gray_pixels_difference_gt16": 0,
            "ink_iou": 1.0,
            "ink_threshold": 128,
            "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
            "rgb_bit_equal": true,
            "same_size": true
          },
          "body_is_grayscale": true,
          "existing_invisible_characters_preserved": true,
          "image_intersections_with_text_and_rule_roi": {
            "output": [
              1,
              1
            ],
            "source": [
              1,
              1
            ]
          },
          "kind": "scan-with-existing-ocr",
          "no_new_bitmap_over_text_or_rule_roi": null,
          "no_new_full_page_bitmap": null,
          "output_counts_descriptive": {
            "form": 0,
            "image": 1,
            "invisible_text": 3,
            "path": 0,
            "shading": 0,
            "text": 3,
            "unknown": 0,
            "visible_text": 0
          },
          "output_images_descriptive": {
            "count": 1,
            "full_page_count": 1,
            "full_page_definition": "painted image bounding box covers >=95% of page bbox; not clipping/occlusion aware",
            "records": [
              {
                "bounds": [
                  0.0,
                  0.0,
                  595.280029,
                  841.890015
                ],
                "image_height": 1684,
                "image_width": 1191,
                "level": 0,
                "matrix": [
                  595.280029,
                  0.0,
                  0.0,
                  841.890015,
                  0.0,
                  0.0
                ],
                "page_bbox_coverage": 1.0,
                "page_bounds": [
                  0.0,
                  0.0,
                  595.280029,
                  841.890015
                ]
              }
            ],
            "records_truncated": false
          },
          "page": 2,
          "pdfium_copy_matches_gold": true,
          "pdfium_literal_find_denominator": 2,
          "pdfium_literal_find_source_ineligible_queries": [],
          "pdfium_search_gold_found": true,
          "pdfjs_copy_matches_gold": true,
          "pdfjs_searchable_text_gold_found": true,
          "readers_agree": true,
          "same_geometry": true,
          "source_counts_descriptive": {
            "form": 0,
            "image": 1,
            "invisible_text": 3,
            "path": 0,
            "shading": 0,
            "text": 3,
            "unknown": 0,
            "visible_text": 0
          },
          "source_images_descriptive": {
            "count": 1,
            "full_page_count": 1,
            "full_page_definition": "painted image bounding box covers >=95% of page bbox; not clipping/occlusion aware",
            "records": [
              {
                "bounds": [
                  0.0,
                  0.0,
                  595.280029,
                  841.890015
                ],
                "image_height": 1684,
                "image_width": 1191,
                "level": 0,
                "matrix": [
                  595.280029,
                  0.0,
                  0.0,
                  841.890015,
                  0.0,
                  0.0
                ],
                "page_bbox_coverage": 1.0,
                "page_bounds": [
                  0.0,
                  0.0,
                  595.280029,
                  841.890015
                ]
              }
            ],
            "records_truncated": false
          },
          "tiny_black_6pt_crop": {
            "gray_bit_equal": true,
            "gray_mean_absolute_difference": 0.0,
            "gray_pixels_difference_gt16": 0,
            "ink_iou": 1.0,
            "ink_threshold": 128,
            "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
            "rgb_bit_equal": true,
            "same_size": true
          },
          "visible_native_characters_preserved": null
        },
        {
          "black_vector_rule_crop": {
            "gray_bit_equal": false,
            "gray_mean_absolute_difference": 17.67607718,
            "gray_pixels_difference_gt16": 24574,
            "ink_iou": 0.19996093,
            "ink_threshold": 128,
            "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
            "rgb_bit_equal": false,
            "same_size": true
          },
          "body_is_grayscale": true,
          "existing_invisible_characters_preserved": false,
          "image_intersections_with_text_and_rule_roi": {
            "output": [
              1,
              1
            ],
            "source": [
              0,
              0
            ]
          },
          "kind": "born-digital",
          "no_new_bitmap_over_text_or_rule_roi": false,
          "no_new_full_page_bitmap": false,
          "output_counts_descriptive": {
            "form": 0,
            "image": 1,
            "invisible_text": 3,
            "path": 0,
            "shading": 0,
            "text": 3,
            "unknown": 0,
            "visible_text": 0
          },
          "output_images_descriptive": {
            "count": 1,
            "full_page_count": 1,
            "full_page_definition": "painted image bounding box covers >=95% of page bbox; not clipping/occlusion aware",
            "records": [
              {
                "bounds": [
                  0.0,
                  0.0,
                  595.280029,
                  841.890015
                ],
                "image_height": 1684,
                "image_width": 1191,
                "level": 0,
                "matrix": [
                  595.280029,
                  0.0,
                  0.0,
                  841.890015,
                  0.0,
                  0.0
                ],
                "page_bbox_coverage": 1.0,
                "page_bounds": [
                  0.0,
                  0.0,
                  595.280029,
                  841.890015
                ]
              }
            ],
            "records_truncated": false
          },
          "page": 3,
          "pdfium_copy_matches_gold": true,
          "pdfium_literal_find_denominator": 2,
          "pdfium_literal_find_source_ineligible_queries": [],
          "pdfium_search_gold_found": true,
          "pdfjs_copy_matches_gold": true,
          "pdfjs_searchable_text_gold_found": true,
          "readers_agree": true,
          "same_geometry": true,
          "source_counts_descriptive": {
            "form": 0,
            "image": 0,
            "invisible_text": 0,
            "path": 2,
            "shading": 0,
            "text": 3,
            "unknown": 0,
            "visible_text": 3
          },
          "source_images_descriptive": {
            "count": 0,
            "full_page_count": 0,
            "full_page_definition": "painted image bounding box covers >=95% of page bbox; not clipping/occlusion aware",
            "records": [],
            "records_truncated": false
          },
          "tiny_black_6pt_crop": {
            "gray_bit_equal": false,
            "gray_mean_absolute_difference": 1.99730795,
            "gray_pixels_difference_gt16": 12770,
            "ink_iou": 0.58898794,
            "ink_threshold": 128,
            "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
            "rgb_bit_equal": false,
            "same_size": true
          },
          "visible_native_characters_preserved": false
        },
        {
          "black_vector_rule_crop": {
            "gray_bit_equal": false,
            "gray_mean_absolute_difference": 17.67607718,
            "gray_pixels_difference_gt16": 24574,
            "ink_iou": 0.19996093,
            "ink_threshold": 128,
            "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
            "rgb_bit_equal": false,
            "same_size": true
          },
          "body_is_grayscale": true,
          "existing_invisible_characters_preserved": false,
          "image_intersections_with_text_and_rule_roi": {
            "output": [
              1,
              1
            ],
            "source": [
              0,
              0
            ]
          },
          "kind": "born-digital",
          "no_new_bitmap_over_text_or_rule_roi": false,
          "no_new_full_page_bitmap": false,
          "output_counts_descriptive": {
            "form": 0,
            "image": 1,
            "invisible_text": 3,
            "path": 0,
            "shading": 0,
            "text": 3,
            "unknown": 0,
            "visible_text": 0
          },
          "output_images_descriptive": {
            "count": 1,
            "full_page_count": 1,
            "full_page_definition": "painted image bounding box covers >=95% of page bbox; not clipping/occlusion aware",
            "records": [
              {
                "bounds": [
                  0.0,
                  0.0,
                  595.280029,
                  841.890015
                ],
                "image_height": 1684,
                "image_width": 1191,
                "level": 0,
                "matrix": [
                  595.280029,
                  0.0,
                  0.0,
                  841.890015,
                  0.0,
                  0.0
                ],
                "page_bbox_coverage": 1.0,
                "page_bounds": [
                  0.0,
                  0.0,
                  595.280029,
                  841.890015
                ]
              }
            ],
            "records_truncated": false
          },
          "page": 4,
          "pdfium_copy_matches_gold": true,
          "pdfium_literal_find_denominator": 2,
          "pdfium_literal_find_source_ineligible_queries": [],
          "pdfium_search_gold_found": true,
          "pdfjs_copy_matches_gold": true,
          "pdfjs_searchable_text_gold_found": true,
          "readers_agree": true,
          "same_geometry": true,
          "source_counts_descriptive": {
            "form": 0,
            "image": 0,
            "invisible_text": 0,
            "path": 1,
            "shading": 0,
            "text": 3,
            "unknown": 0,
            "visible_text": 3
          },
          "source_images_descriptive": {
            "count": 0,
            "full_page_count": 0,
            "full_page_definition": "painted image bounding box covers >=95% of page bbox; not clipping/occlusion aware",
            "records": [],
            "records_truncated": false
          },
          "tiny_black_6pt_crop": {
            "gray_bit_equal": false,
            "gray_mean_absolute_difference": 1.84110817,
            "gray_pixels_difference_gt16": 11980,
            "ink_iou": 0.60743527,
            "ink_threshold": 128,
            "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
            "rgb_bit_equal": false,
            "same_size": true
          },
          "visible_native_characters_preserved": false
        }
      ],
      "structure": {
        "annotations": {
          "output": [],
          "same": false,
          "source": [
            {
              "contents": "SYNTHETIC_NOTE_027",
              "page": 3,
              "subtype": "Text"
            }
          ]
        },
        "bookmarks": {
          "output": [],
          "same": false,
          "source": [
            {
              "target_page": 1,
              "title": "Начало"
            },
            {
              "target_page": 3,
              "title": "Форма"
            }
          ]
        },
        "editable_value_roundtrip": {
          "attempted": false,
          "code": "fields_absent",
          "passed": false
        },
        "field_contract_semantics": {
          "output": [],
          "same": false,
          "source": [
            {
              "flags": 0,
              "maxLength": null,
              "name": "agreed",
              "readOnly": false,
              "widgets": [
                {
                  "apPresent": true,
                  "page": 3,
                  "parentPresent": true,
                  "rect": [
                    310,
                    95,
                    330,
                    115
                  ]
                }
              ]
            },
            {
              "flags": 0,
              "maxLength": 64,
              "name": "client_name",
              "readOnly": false,
              "widgets": [
                {
                  "apPresent": true,
                  "page": 3,
                  "parentPresent": true,
                  "rect": [
                    36,
                    95,
                    250,
                    125
                  ]
                }
              ]
            }
          ]
        },
        "fields": {
          "output": [],
          "same": false,
          "source": [
            {
              "name": "agreed",
              "type": "PDFCheckBox",
              "value": true
            },
            {
              "name": "client_name",
              "type": "PDFTextField",
              "value": "Ёлка_027"
            }
          ]
        },
        "graph_digest_scope": "Original AcroForm, annotations, names, outlines; ref-sensitive. Descriptive across rewriters, exact-original check for DOKIVO graft only.",
        "independent_edited_value_roundtrip": {
          "reason": "Required fields absent or no successful edit copy.",
          "status": "not_attempted"
        },
        "independent_widgets": {
          "output": [],
          "source": [
            {
              "appearance_key": "dict",
              "flags": 0,
              "name": "agreed",
              "page": 3,
              "type": "CheckBox",
              "value": true
            },
            {
              "appearance_key": "dict",
              "flags": 0,
              "name": "client_name",
              "page": 3,
              "type": "Text",
              "value": "Ёлка_027"
            }
          ]
        },
        "links": {
          "output": [],
          "same": false,
          "source": [
            {
              "page": 4,
              "rect": [
                36,
                30,
                200,
                48
              ],
              "uri": "https://example.invalid/proof?case=B04"
            },
            {
              "named": "section-form",
              "page": 4,
              "rect": [
                220,
                30,
                380,
                48
              ],
              "target_page": 3
            },
            {
              "page": 4,
              "rect": [
                400,
                30,
                560,
                48
              ],
              "target_page": 1
            }
          ]
        },
        "metadata": {
          "output": {
            "author": "",
            "creator": "pdf-lib (https://github.com/Hopding/pdf-lib)",
            "keywords": "",
            "producer": "pdf-lib (https://github.com/Hopding/pdf-lib)",
            "subject": "",
            "title": ""
          },
          "same": false,
          "source": {
            "author": "DOKIVO QA",
            "creator": "DOKIVO fixed proof corpus v1",
            "keywords": "synthetic grayscale proof",
            "producer": "pdf-lib fixed QA",
            "subject": "Synthetic holdout corpus 2026-10-25",
            "title": "DOKIVO synthetic proof workflow"
          }
        },
        "named_destinations": {
          "output": [],
          "same": false,
          "source": [
            {
              "name": "section-form",
              "target_page": 3
            }
          ]
        },
        "output_graph_digest": "69ac605c154d050d9616ec541639b5880920a2c8d95b7e78b55b6d359865115d",
        "same_graph_digest": false,
        "source_graph_digest": "1d1a0ffde4cf678bfc0571f741eaaae3e54b89a96f0149f9ef905d7ea130c9c1"
      },
      "already_gray_page4_original_content_resources_same": false
    },
    {
      "fixture": "workflow",
      "arm": "gs-direct",
      "source_bytes": 46830,
      "source_sha256": "67e9520636c810d6f3a314a1b463828ca7888ba515e73018dbeb861786bf7430",
      "output_bytes": 27410,
      "output_sha256": "3bdb66a6eb471cbdcdcda9068e448a354d1614ed9826965da3f20c92866b222e",
      "pages": [
        {
          "black_vector_rule_crop": {
            "gray_bit_equal": true,
            "gray_mean_absolute_difference": 0.0,
            "gray_pixels_difference_gt16": 0,
            "ink_iou": 1.0,
            "ink_threshold": 128,
            "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
            "rgb_bit_equal": true,
            "same_size": true
          },
          "body_is_grayscale": true,
          "existing_invisible_characters_preserved": true,
          "image_intersections_with_text_and_rule_roi": {
            "output": [
              0,
              0
            ],
            "source": [
              0,
              0
            ]
          },
          "kind": "born-digital",
          "no_new_bitmap_over_text_or_rule_roi": true,
          "no_new_full_page_bitmap": true,
          "output_counts_descriptive": {
            "form": 0,
            "image": 1,
            "invisible_text": 0,
            "path": 2,
            "shading": 0,
            "text": 3,
            "unknown": 0,
            "visible_text": 3
          },
          "output_images_descriptive": {
            "count": 1,
            "full_page_count": 0,
            "full_page_definition": "painted image bounding box covers >=95% of page bbox; not clipping/occlusion aware",
            "records": [
              {
                "bounds": [
                  450.0,
                  150.0,
                  578.0,
                  214.0
                ],
                "image_height": 64,
                "image_width": 128,
                "level": 0,
                "matrix": [
                  128.0,
                  0.0,
                  0.0,
                  64.0,
                  450.0,
                  150.0
                ],
                "page_bbox_coverage": 0.016346,
                "page_bounds": [
                  450.0,
                  150.0,
                  578.0,
                  214.0
                ]
              }
            ],
            "records_truncated": false
          },
          "page": 1,
          "pdfium_copy_matches_gold": true,
          "pdfium_literal_find_denominator": 2,
          "pdfium_literal_find_source_ineligible_queries": [],
          "pdfium_search_gold_found": true,
          "pdfjs_copy_matches_gold": true,
          "pdfjs_searchable_text_gold_found": true,
          "readers_agree": true,
          "same_geometry": true,
          "source_counts_descriptive": {
            "form": 0,
            "image": 1,
            "invisible_text": 0,
            "path": 2,
            "shading": 0,
            "text": 3,
            "unknown": 0,
            "visible_text": 3
          },
          "source_images_descriptive": {
            "count": 1,
            "full_page_count": 0,
            "full_page_definition": "painted image bounding box covers >=95% of page bbox; not clipping/occlusion aware",
            "records": [
              {
                "bounds": [
                  450.0,
                  150.0,
                  578.0,
                  214.0
                ],
                "image_height": 64,
                "image_width": 128,
                "level": 0,
                "matrix": [
                  128.0,
                  0.0,
                  0.0,
                  64.0,
                  450.0,
                  150.0
                ],
                "page_bbox_coverage": 0.016346,
                "page_bounds": [
                  450.0,
                  150.0,
                  578.0,
                  214.0
                ]
              }
            ],
            "records_truncated": false
          },
          "tiny_black_6pt_crop": {
            "gray_bit_equal": true,
            "gray_mean_absolute_difference": 0.0,
            "gray_pixels_difference_gt16": 0,
            "ink_iou": 1.0,
            "ink_threshold": 128,
            "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
            "rgb_bit_equal": true,
            "same_size": true
          },
          "visible_native_characters_preserved": true
        },
        {
          "black_vector_rule_crop": {
            "gray_bit_equal": false,
            "gray_mean_absolute_difference": 7.65406671,
            "gray_pixels_difference_gt16": 9213,
            "ink_iou": 0.6,
            "ink_threshold": 128,
            "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
            "rgb_bit_equal": false,
            "same_size": true
          },
          "body_is_grayscale": true,
          "existing_invisible_characters_preserved": true,
          "image_intersections_with_text_and_rule_roi": {
            "output": [
              1,
              1
            ],
            "source": [
              1,
              1
            ]
          },
          "kind": "scan-with-existing-ocr",
          "no_new_bitmap_over_text_or_rule_roi": null,
          "no_new_full_page_bitmap": null,
          "output_counts_descriptive": {
            "form": 0,
            "image": 1,
            "invisible_text": 3,
            "path": 0,
            "shading": 0,
            "text": 3,
            "unknown": 0,
            "visible_text": 0
          },
          "output_images_descriptive": {
            "count": 1,
            "full_page_count": 1,
            "full_page_definition": "painted image bounding box covers >=95% of page bbox; not clipping/occlusion aware",
            "records": [
              {
                "bounds": [
                  0.0,
                  -3.7e-05,
                  595.279968,
                  841.890015
                ],
                "image_height": 1684,
                "image_width": 1191,
                "level": 0,
                "matrix": [
                  595.279968,
                  0.0,
                  0.0,
                  841.890076,
                  0.0,
                  -3.7e-05
                ],
                "page_bbox_coverage": 1.0,
                "page_bounds": [
                  0.0,
                  -3.7e-05,
                  595.279968,
                  841.890015
                ]
              }
            ],
            "records_truncated": false
          },
          "page": 2,
          "pdfium_copy_matches_gold": true,
          "pdfium_literal_find_denominator": 2,
          "pdfium_literal_find_source_ineligible_queries": [],
          "pdfium_search_gold_found": true,
          "pdfjs_copy_matches_gold": true,
          "pdfjs_searchable_text_gold_found": true,
          "readers_agree": true,
          "same_geometry": true,
          "source_counts_descriptive": {
            "form": 0,
            "image": 1,
            "invisible_text": 3,
            "path": 0,
            "shading": 0,
            "text": 3,
            "unknown": 0,
            "visible_text": 0
          },
          "source_images_descriptive": {
            "count": 1,
            "full_page_count": 1,
            "full_page_definition": "painted image bounding box covers >=95% of page bbox; not clipping/occlusion aware",
            "records": [
              {
                "bounds": [
                  0.0,
                  0.0,
                  595.280029,
                  841.890015
                ],
                "image_height": 1684,
                "image_width": 1191,
                "level": 0,
                "matrix": [
                  595.280029,
                  0.0,
                  0.0,
                  841.890015,
                  0.0,
                  0.0
                ],
                "page_bbox_coverage": 1.0,
                "page_bounds": [
                  0.0,
                  0.0,
                  595.280029,
                  841.890015
                ]
              }
            ],
            "records_truncated": false
          },
          "tiny_black_6pt_crop": {
            "gray_bit_equal": true,
            "gray_mean_absolute_difference": 0.0,
            "gray_pixels_difference_gt16": 0,
            "ink_iou": 1.0,
            "ink_threshold": 128,
            "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
            "rgb_bit_equal": true,
            "same_size": true
          },
          "visible_native_characters_preserved": null
        },
        {
          "black_vector_rule_crop": {
            "gray_bit_equal": true,
            "gray_mean_absolute_difference": 0.0,
            "gray_pixels_difference_gt16": 0,
            "ink_iou": 1.0,
            "ink_threshold": 128,
            "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
            "rgb_bit_equal": true,
            "same_size": true
          },
          "body_is_grayscale": true,
          "existing_invisible_characters_preserved": true,
          "image_intersections_with_text_and_rule_roi": {
            "output": [
              0,
              0
            ],
            "source": [
              0,
              0
            ]
          },
          "kind": "born-digital",
          "no_new_bitmap_over_text_or_rule_roi": true,
          "no_new_full_page_bitmap": true,
          "output_counts_descriptive": {
            "form": 0,
            "image": 0,
            "invisible_text": 0,
            "path": 5,
            "shading": 0,
            "text": 4,
            "unknown": 0,
            "visible_text": 4
          },
          "output_images_descriptive": {
            "count": 0,
            "full_page_count": 0,
            "full_page_definition": "painted image bounding box covers >=95% of page bbox; not clipping/occlusion aware",
            "records": [],
            "records_truncated": false
          },
          "page": 3,
          "pdfium_copy_matches_gold": false,
          "pdfium_literal_find_denominator": 2,
          "pdfium_literal_find_source_ineligible_queries": [],
          "pdfium_search_gold_found": true,
          "pdfjs_copy_matches_gold": false,
          "pdfjs_searchable_text_gold_found": true,
          "readers_agree": true,
          "same_geometry": true,
          "source_counts_descriptive": {
            "form": 0,
            "image": 0,
            "invisible_text": 0,
            "path": 2,
            "shading": 0,
            "text": 3,
            "unknown": 0,
            "visible_text": 3
          },
          "source_images_descriptive": {
            "count": 0,
            "full_page_count": 0,
            "full_page_definition": "painted image bounding box covers >=95% of page bbox; not clipping/occlusion aware",
            "records": [],
            "records_truncated": false
          },
          "tiny_black_6pt_crop": {
            "gray_bit_equal": true,
            "gray_mean_absolute_difference": 0.0,
            "gray_pixels_difference_gt16": 0,
            "ink_iou": 1.0,
            "ink_threshold": 128,
            "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
            "rgb_bit_equal": true,
            "same_size": true
          },
          "visible_native_characters_preserved": false
        },
        {
          "black_vector_rule_crop": {
            "gray_bit_equal": true,
            "gray_mean_absolute_difference": 0.0,
            "gray_pixels_difference_gt16": 0,
            "ink_iou": 1.0,
            "ink_threshold": 128,
            "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
            "rgb_bit_equal": true,
            "same_size": true
          },
          "body_is_grayscale": true,
          "existing_invisible_characters_preserved": true,
          "image_intersections_with_text_and_rule_roi": {
            "output": [
              0,
              0
            ],
            "source": [
              0,
              0
            ]
          },
          "kind": "born-digital",
          "no_new_bitmap_over_text_or_rule_roi": true,
          "no_new_full_page_bitmap": true,
          "output_counts_descriptive": {
            "form": 0,
            "image": 0,
            "invisible_text": 0,
            "path": 1,
            "shading": 0,
            "text": 3,
            "unknown": 0,
            "visible_text": 3
          },
          "output_images_descriptive": {
            "count": 0,
            "full_page_count": 0,
            "full_page_definition": "painted image bounding box covers >=95% of page bbox; not clipping/occlusion aware",
            "records": [],
            "records_truncated": false
          },
          "page": 4,
          "pdfium_copy_matches_gold": true,
          "pdfium_literal_find_denominator": 2,
          "pdfium_literal_find_source_ineligible_queries": [],
          "pdfium_search_gold_found": true,
          "pdfjs_copy_matches_gold": true,
          "pdfjs_searchable_text_gold_found": true,
          "readers_agree": true,
          "same_geometry": true,
          "source_counts_descriptive": {
            "form": 0,
            "image": 0,
            "invisible_text": 0,
            "path": 1,
            "shading": 0,
            "text": 3,
            "unknown": 0,
            "visible_text": 3
          },
          "source_images_descriptive": {
            "count": 0,
            "full_page_count": 0,
            "full_page_definition": "painted image bounding box covers >=95% of page bbox; not clipping/occlusion aware",
            "records": [],
            "records_truncated": false
          },
          "tiny_black_6pt_crop": {
            "gray_bit_equal": true,
            "gray_mean_absolute_difference": 0.0,
            "gray_pixels_difference_gt16": 0,
            "ink_iou": 1.0,
            "ink_threshold": 128,
            "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
            "rgb_bit_equal": true,
            "same_size": true
          },
          "visible_native_characters_preserved": true
        }
      ],
      "structure": {
        "annotations": {
          "output": [
            {
              "contents": "SYNTHETIC_NOTE_027",
              "page": 3,
              "subtype": "Text"
            }
          ],
          "same": true,
          "source": [
            {
              "contents": "SYNTHETIC_NOTE_027",
              "page": 3,
              "subtype": "Text"
            }
          ]
        },
        "bookmarks": {
          "output": [
            {
              "target_page": 1,
              "title": "Начало"
            },
            {
              "target_page": 3,
              "title": "Форма"
            }
          ],
          "same": true,
          "source": [
            {
              "target_page": 1,
              "title": "Начало"
            },
            {
              "target_page": 3,
              "title": "Форма"
            }
          ]
        },
        "editable_value_roundtrip": {
          "attempted": false,
          "code": "fields_absent",
          "passed": false
        },
        "field_contract_semantics": {
          "output": [],
          "same": false,
          "source": [
            {
              "flags": 0,
              "maxLength": null,
              "name": "agreed",
              "readOnly": false,
              "widgets": [
                {
                  "apPresent": true,
                  "page": 3,
                  "parentPresent": true,
                  "rect": [
                    310,
                    95,
                    330,
                    115
                  ]
                }
              ]
            },
            {
              "flags": 0,
              "maxLength": 64,
              "name": "client_name",
              "readOnly": false,
              "widgets": [
                {
                  "apPresent": true,
                  "page": 3,
                  "parentPresent": true,
                  "rect": [
                    36,
                    95,
                    250,
                    125
                  ]
                }
              ]
            }
          ]
        },
        "fields": {
          "output": [],
          "same": false,
          "source": [
            {
              "name": "agreed",
              "type": "PDFCheckBox",
              "value": true
            },
            {
              "name": "client_name",
              "type": "PDFTextField",
              "value": "Ёлка_027"
            }
          ]
        },
        "graph_digest_scope": "Original AcroForm, annotations, names, outlines; ref-sensitive. Descriptive across rewriters, exact-original check for DOKIVO graft only.",
        "independent_edited_value_roundtrip": {
          "reason": "Required fields absent or no successful edit copy.",
          "status": "not_attempted"
        },
        "independent_widgets": {
          "output": [],
          "source": [
            {
              "appearance_key": "dict",
              "flags": 0,
              "name": "agreed",
              "page": 3,
              "type": "CheckBox",
              "value": true
            },
            {
              "appearance_key": "dict",
              "flags": 0,
              "name": "client_name",
              "page": 3,
              "type": "Text",
              "value": "Ёлка_027"
            }
          ]
        },
        "links": {
          "output": [
            {
              "page": 4,
              "rect": [
                36,
                30,
                200,
                48
              ],
              "uri": "https://example.invalid/proof?case=B04"
            },
            {
              "page": 4,
              "rect": [
                220,
                30,
                380,
                48
              ],
              "target_page": 3
            },
            {
              "page": 4,
              "rect": [
                400,
                30,
                560,
                48
              ],
              "target_page": 1
            }
          ],
          "same": false,
          "source": [
            {
              "page": 4,
              "rect": [
                36,
                30,
                200,
                48
              ],
              "uri": "https://example.invalid/proof?case=B04"
            },
            {
              "named": "section-form",
              "page": 4,
              "rect": [
                220,
                30,
                380,
                48
              ],
              "target_page": 3
            },
            {
              "page": 4,
              "rect": [
                400,
                30,
                560,
                48
              ],
              "target_page": 1
            }
          ]
        },
        "metadata": {
          "output": {
            "author": "DOKIVO QA",
            "creator": "DOKIVO fixed proof corpus v1",
            "keywords": "synthetic grayscale proof",
            "producer": "GPL Ghostscript 10.05.1",
            "subject": "Synthetic holdout corpus 2026-10-25",
            "title": "DOKIVO synthetic proof workflow"
          },
          "same": false,
          "source": {
            "author": "DOKIVO QA",
            "creator": "DOKIVO fixed proof corpus v1",
            "keywords": "synthetic grayscale proof",
            "producer": "pdf-lib fixed QA",
            "subject": "Synthetic holdout corpus 2026-10-25",
            "title": "DOKIVO synthetic proof workflow"
          }
        },
        "named_destinations": {
          "output": [],
          "same": false,
          "source": [
            {
              "name": "section-form",
              "target_page": 3
            }
          ]
        },
        "output_graph_digest": "1fdd4c68be41d2ca187c9ec81522923a4b45aa7122b3becd5516c60dcf399b16",
        "same_graph_digest": false,
        "source_graph_digest": "1d1a0ffde4cf678bfc0571f741eaaae3e54b89a96f0149f9ef905d7ea130c9c1"
      },
      "already_gray_page4_original_content_resources_same": false
    }
  ],
  "pdfium_readback": [
    {
      "fixture": "copy-maps",
      "arm": "dokivo-vector",
      "pdfium_pages": [
        {
          "text": "INVOICE 00427 | DATE 2026-10-25 Amount 12345.67 USD; Ref ABCE-019 tiny text 6 pt; code 0012; 42.75",
          "search": [
            {
              "first_match": [
                0,
                31
              ],
              "found": true,
              "query": "INVOICE 00427 | DATE 2026-10-25"
            },
            {
              "first_match": [
                33,
                33
              ],
              "found": true,
              "query": "Amount 12345.67 USD; Ref ABCE-019"
            }
          ],
          "body_72dpi": {
            "colored_pixels_gt2": 0,
            "height": 842,
            "max_chroma": 0,
            "mean_chroma": 0.0,
            "pixels": 501832,
            "rgb_sha256": "d435223f15b2e4bb7bace9cf1d8ebb136fe52134e25c900d114c1be2e00a1e3f",
            "width": 596
          }
        },
        {
          "text": "Счёт 00427: Ёлка и Йод Оплата 12345,67 руб.; объект АБВ-019 Тонкий текст 6 pt: 0012 42.75",
          "search": [
            {
              "first_match": [
                0,
                22
              ],
              "found": true,
              "query": "Счёт 00427: Ёлка и Йод"
            },
            {
              "first_match": [
                24,
                36
              ],
              "found": true,
              "query": "Оплата 12345,67 руб.; объект АБВ-019"
            }
          ],
          "body_72dpi": {
            "colored_pixels_gt2": 0,
            "height": 842,
            "max_chroma": 0,
            "mean_chroma": 0.0,
            "pixels": 501832,
            "rgb_sha256": "4dab72429286211d41ece03501e30f799c64792709b230a8a05422fe40e0d29b",
            "width": 596
          }
        },
        {
          "text": "Проект 028: Ёлка и Йод Договор 00017; сумма 12345,67 руб. Тонкий текст 6 pt: 0012 42.75",
          "search": [
            {
              "first_match": [
                0,
                22
              ],
              "found": true,
              "query": "Проект 028: Ёлка и Йод"
            },
            {
              "first_match": [
                24,
                34
              ],
              "found": true,
              "query": "Договор 00017; сумма 12345,67 руб."
            }
          ],
          "body_72dpi": {
            "colored_pixels_gt2": 0,
            "height": 842,
            "max_chroma": 0,
            "mean_chroma": 0.0,
            "pixels": 501832,
            "rgb_sha256": "11f3c2aaab01604307dc1a98fab8ee4e60ee527f49f0a273a3fe7339ecc48427",
            "width": 596
          }
        },
        {
          "text": "Ёлка / Йод / café Latin ABCEHKMOPTXY | Кириллица АВСЕНКМОРТХУ Код 00017; сумма 42,75; дата 25.10.2026",
          "search": [
            {
              "first_match": [
                0,
                20
              ],
              "found": true,
              "query": "Ёлка / Йод / café"
            },
            {
              "first_match": [
                22,
                43
              ],
              "found": true,
              "query": "Latin ABCEHKMOPTXY | Кириллица АВСЕНКМОРТХУ"
            }
          ],
          "body_72dpi": {
            "colored_pixels_gt2": 0,
            "height": 842,
            "max_chroma": 0,
            "mean_chroma": 0.0,
            "pixels": 501832,
            "rgb_sha256": "8a7e40a09c645aacf9578c9cd8738b2e3d95cf02bf7a2086a272caa48833833c",
            "width": 596
          }
        }
      ]
    },
    {
      "fixture": "copy-maps",
      "arm": "dokivo-raster-144",
      "pdfium_pages": [
        {
          "text": "INVOICE 00427 | DATE 2026-10-25 Amount 12345.67 USD; Ref ABCE-019 tiny text 6 pt; code 0012; 42.75",
          "search": [
            {
              "first_match": [
                0,
                31
              ],
              "found": true,
              "query": "INVOICE 00427 | DATE 2026-10-25"
            },
            {
              "first_match": [
                33,
                33
              ],
              "found": true,
              "query": "Amount 12345.67 USD; Ref ABCE-019"
            }
          ],
          "body_72dpi": {
            "colored_pixels_gt2": 0,
            "height": 842,
            "max_chroma": 0,
            "mean_chroma": 0.0,
            "pixels": 501832,
            "rgb_sha256": "d6984582698dd9fead584567b3824779e9d02d97e09d5b755a2a4922af486ddf",
            "width": 596
          }
        },
        {
          "text": "Счёт 00427: Ёлка и Йод Оплата 12345,67 руб.; объект АБВ-019 Тонкий текст 6 pt: 0012 42.75",
          "search": [
            {
              "first_match": [
                0,
                22
              ],
              "found": true,
              "query": "Счёт 00427: Ёлка и Йод"
            },
            {
              "first_match": [
                24,
                36
              ],
              "found": true,
              "query": "Оплата 12345,67 руб.; объект АБВ-019"
            }
          ],
          "body_72dpi": {
            "colored_pixels_gt2": 0,
            "height": 842,
            "max_chroma": 0,
            "mean_chroma": 0.0,
            "pixels": 501832,
            "rgb_sha256": "52e7c9625b26ce71ade22566a198d0a30b2bc0dcd9ebbbaa8d2dffc65a5d360a",
            "width": 596
          }
        },
        {
          "text": "Проект 028: Ёлка и Йод Договор 00017; сумма 12345,67 руб. Тонкий текст 6 pt: 0012 42.75",
          "search": [
            {
              "first_match": [
                0,
                22
              ],
              "found": true,
              "query": "Проект 028: Ёлка и Йод"
            },
            {
              "first_match": [
                24,
                34
              ],
              "found": true,
              "query": "Договор 00017; сумма 12345,67 руб."
            }
          ],
          "body_72dpi": {
            "colored_pixels_gt2": 0,
            "height": 842,
            "max_chroma": 0,
            "mean_chroma": 0.0,
            "pixels": 501832,
            "rgb_sha256": "eaf406ea222ff8877e58abaae7a96aeb1f83becd82e32cf6b03ea66c1fc20ccb",
            "width": 596
          }
        },
        {
          "text": "Еɛлка / Иɢод / café Latin ABCEHKMOPTXY | Кириллица АВСЕНКМОРТХУ Код 00017; сумма 42,75; дата 25.10.2026",
          "search": [
            {
              "first_match": null,
              "found": false,
              "query": "Ёлка / Йод / café"
            },
            {
              "first_match": [
                22,
                43
              ],
              "found": true,
              "query": "Latin ABCEHKMOPTXY | Кириллица АВСЕНКМОРТХУ"
            }
          ],
          "body_72dpi": {
            "colored_pixels_gt2": 0,
            "height": 842,
            "max_chroma": 0,
            "mean_chroma": 0.0,
            "pixels": 501832,
            "rgb_sha256": "e95348b60255e602d0ba3adf06e182cac12874f50d9f51fc628321489ab12921",
            "width": 596
          }
        }
      ]
    },
    {
      "fixture": "copy-maps",
      "arm": "gs-direct",
      "pdfium_pages": [
        {
          "text": "INVOICE 00427 | DATE 2026-10-25 Amount 12345.67 USD; Ref ABCE-019 tiny text 6 pt; code 0012; 42.75",
          "search": [
            {
              "first_match": [
                0,
                31
              ],
              "found": true,
              "query": "INVOICE 00427 | DATE 2026-10-25"
            },
            {
              "first_match": [
                33,
                33
              ],
              "found": true,
              "query": "Amount 12345.67 USD; Ref ABCE-019"
            }
          ],
          "body_72dpi": {
            "colored_pixels_gt2": 0,
            "height": 842,
            "max_chroma": 0,
            "mean_chroma": 0.0,
            "pixels": 501832,
            "rgb_sha256": "d435223f15b2e4bb7bace9cf1d8ebb136fe52134e25c900d114c1be2e00a1e3f",
            "width": 596
          }
        },
        {
          "text": "Счёт 00427: Ёлка и Йод Оплата 12345,67 руб.; объект АБВ-019 Тонкий текст 6 pt: 0012 42.75",
          "search": [
            {
              "first_match": [
                0,
                22
              ],
              "found": true,
              "query": "Счёт 00427: Ёлка и Йод"
            },
            {
              "first_match": [
                24,
                36
              ],
              "found": true,
              "query": "Оплата 12345,67 руб.; объект АБВ-019"
            }
          ],
          "body_72dpi": {
            "colored_pixels_gt2": 0,
            "height": 842,
            "max_chroma": 0,
            "mean_chroma": 0.0,
            "pixels": 501832,
            "rgb_sha256": "4dab72429286211d41ece03501e30f799c64792709b230a8a05422fe40e0d29b",
            "width": 596
          }
        },
        {
          "text": "Проект 028: Ёлка и Йод Договор 00017; сумма 12345,67 руб. Тонкий текст 6 pt: 0012 42.75",
          "search": [
            {
              "first_match": [
                0,
                22
              ],
              "found": true,
              "query": "Проект 028: Ёлка и Йод"
            },
            {
              "first_match": [
                24,
                34
              ],
              "found": true,
              "query": "Договор 00017; сумма 12345,67 руб."
            }
          ],
          "body_72dpi": {
            "colored_pixels_gt2": 0,
            "height": 842,
            "max_chroma": 0,
            "mean_chroma": 0.0,
            "pixels": 501832,
            "rgb_sha256": "11f3c2aaab01604307dc1a98fab8ee4e60ee527f49f0a273a3fe7339ecc48427",
            "width": 596
          }
        },
        {
          "text": "Ёлка / Йод / café Latin ABCEHKMOPTXY | Кириллица АВСЕНКМОРТХУ Код 00017; сумма 42,75; дата 25.10.2026",
          "search": [
            {
              "first_match": [
                0,
                20
              ],
              "found": true,
              "query": "Ёлка / Йод / café"
            },
            {
              "first_match": [
                22,
                43
              ],
              "found": true,
              "query": "Latin ABCEHKMOPTXY | Кириллица АВСЕНКМОРТХУ"
            }
          ],
          "body_72dpi": {
            "colored_pixels_gt2": 0,
            "height": 842,
            "max_chroma": 0,
            "mean_chroma": 0.0,
            "pixels": 501832,
            "rgb_sha256": "8a7e40a09c645aacf9578c9cd8738b2e3d95cf02bf7a2086a272caa48833833c",
            "width": 596
          }
        }
      ]
    },
    {
      "fixture": "workflow",
      "arm": "dokivo-vector",
      "pdfium_pages": [
        {
          "text": "Таблица 031: количество 0012 Цена 42,75; итог 513,00 руб. Чёрная подпись 6 pt: Ёлка_031",
          "search": [
            {
              "first_match": [
                0,
                28
              ],
              "found": true,
              "query": "Таблица 031: количество 0012"
            },
            {
              "first_match": [
                30,
                28
              ],
              "found": true,
              "query": "Цена 42,75; итог 513,00 руб."
            }
          ],
          "body_72dpi": {
            "colored_pixels_gt2": 0,
            "height": 842,
            "max_chroma": 0,
            "mean_chroma": 0.0,
            "pixels": 501832,
            "rgb_sha256": "6c6cfbee216c1ff0d9cc13871b7cdd8d17d468db2dd1baceb46e08e193e7f9cb",
            "width": 596
          }
        },
        {
          "text": "СКАН 032: Ёлка и Йод Договор 00032; сумма 9876,54 руб. СУЩЕСТВУЮЩИЙ OCR: 0012 42.75",
          "search": [
            {
              "first_match": [
                0,
                20
              ],
              "found": true,
              "query": "СКАН 032: Ёлка и Йод"
            },
            {
              "first_match": [
                22,
                33
              ],
              "found": true,
              "query": "Договор 00032; сумма 9876,54 руб."
            }
          ],
          "body_72dpi": {
            "colored_pixels_gt2": 0,
            "height": 842,
            "max_chroma": 0,
            "mean_chroma": 0.0,
            "pixels": 501832,
            "rgb_sha256": "7558cc4c0ddc9e6b0b7442e05e1553c0fc9da81163fdaa9d68108e548d8c23e8",
            "width": 596
          }
        },
        {
          "text": "Форма 033: существующие поля Документ 00033; сумма 42,75 руб. Подпись 6 pt: Ёлка_033",
          "search": [
            {
              "first_match": [
                0,
                28
              ],
              "found": true,
              "query": "Форма 033: существующие поля"
            },
            {
              "first_match": [
                30,
                32
              ],
              "found": true,
              "query": "Документ 00033; сумма 42,75 руб."
            }
          ],
          "body_72dpi": {
            "colored_pixels_gt2": 0,
            "height": 842,
            "max_chroma": 0,
            "mean_chroma": 0.0,
            "pixels": 501832,
            "rgb_sha256": "aaf6c0021ea98e338f0be5b66b1ebc465f8767a33d646e8c4fb8bafc58fd1224",
            "width": 596
          }
        },
        {
          "text": "Раздел 034: навигация и архив Начало: страница 1; форма: страница 3 Нейтральный текст 6 pt: 0012",
          "search": [
            {
              "first_match": [
                0,
                29
              ],
              "found": true,
              "query": "Раздел 034: навигация и архив"
            },
            {
              "first_match": [
                31,
                37
              ],
              "found": true,
              "query": "Начало: страница 1; форма: страница 3"
            }
          ],
          "body_72dpi": {
            "colored_pixels_gt2": 0,
            "height": 842,
            "max_chroma": 0,
            "mean_chroma": 0.0,
            "pixels": 501832,
            "rgb_sha256": "5c582d0d7884d323721d545d7b458d54542ded25b0bca2185f47bd4447532edc",
            "width": 596
          }
        }
      ]
    },
    {
      "fixture": "workflow",
      "arm": "dokivo-raster-144",
      "pdfium_pages": [
        {
          "text": "Таблица 031: количество 0012 Цена 42,75; итог 513,00 руб. Чёрная подпись 6 pt: Ёлка_031",
          "search": [
            {
              "first_match": [
                0,
                28
              ],
              "found": true,
              "query": "Таблица 031: количество 0012"
            },
            {
              "first_match": [
                30,
                28
              ],
              "found": true,
              "query": "Цена 42,75; итог 513,00 руб."
            }
          ],
          "body_72dpi": {
            "colored_pixels_gt2": 0,
            "height": 842,
            "max_chroma": 0,
            "mean_chroma": 0.0,
            "pixels": 501832,
            "rgb_sha256": "07b745070babcd4a58df75db803a487f7332f2f6dd92d65e4fdbdf57be588300",
            "width": 596
          }
        },
        {
          "text": "СКАН 032: Ёлка и Йод Договор 00032; сумма 9876,54 руб. СУЩЕСТВУЮЩИЙ OCR: 0012 42.75",
          "search": [
            {
              "first_match": [
                0,
                20
              ],
              "found": true,
              "query": "СКАН 032: Ёлка и Йод"
            },
            {
              "first_match": [
                22,
                33
              ],
              "found": true,
              "query": "Договор 00032; сумма 9876,54 руб."
            }
          ],
          "body_72dpi": {
            "colored_pixels_gt2": 0,
            "height": 842,
            "max_chroma": 0,
            "mean_chroma": 0.0,
            "pixels": 501832,
            "rgb_sha256": "edaaf43a8ad0876ab9509a4af8a5a3e70b1eada7c0c273c756328409724b526c",
            "width": 596
          }
        },
        {
          "text": "Форма 033: существующие поля Документ 00033; сумма 42,75 руб. Подпись 6 pt: Ёлка_033",
          "search": [
            {
              "first_match": [
                0,
                28
              ],
              "found": true,
              "query": "Форма 033: существующие поля"
            },
            {
              "first_match": [
                30,
                32
              ],
              "found": true,
              "query": "Документ 00033; сумма 42,75 руб."
            }
          ],
          "body_72dpi": {
            "colored_pixels_gt2": 0,
            "height": 842,
            "max_chroma": 0,
            "mean_chroma": 0.0,
            "pixels": 501832,
            "rgb_sha256": "bd0a6dea80f6786764aa52ffe1ec17967384d5b3aa3235193050dd070e19b350",
            "width": 596
          }
        },
        {
          "text": "Раздел 034: навигация и архив Начало: страница 1; форма: страница 3 Нейтральный текст 6 pt: 0012",
          "search": [
            {
              "first_match": [
                0,
                29
              ],
              "found": true,
              "query": "Раздел 034: навигация и архив"
            },
            {
              "first_match": [
                31,
                37
              ],
              "found": true,
              "query": "Начало: страница 1; форма: страница 3"
            }
          ],
          "body_72dpi": {
            "colored_pixels_gt2": 0,
            "height": 842,
            "max_chroma": 0,
            "mean_chroma": 0.0,
            "pixels": 501832,
            "rgb_sha256": "b2a7643cab05d85282b374d18c0791f1e5894fcda2214b1c2f0e62dc488c5765",
            "width": 596
          }
        }
      ]
    },
    {
      "fixture": "workflow",
      "arm": "gs-direct",
      "pdfium_pages": [
        {
          "text": "Таблица 031: количество 0012 Цена 42,75; итог 513,00 руб. Чёрная подпись 6 pt: Ёлка_031",
          "search": [
            {
              "first_match": [
                0,
                28
              ],
              "found": true,
              "query": "Таблица 031: количество 0012"
            },
            {
              "first_match": [
                30,
                28
              ],
              "found": true,
              "query": "Цена 42,75; итог 513,00 руб."
            }
          ],
          "body_72dpi": {
            "colored_pixels_gt2": 0,
            "height": 842,
            "max_chroma": 0,
            "mean_chroma": 0.0,
            "pixels": 501832,
            "rgb_sha256": "6c6cfbee216c1ff0d9cc13871b7cdd8d17d468db2dd1baceb46e08e193e7f9cb",
            "width": 596
          }
        },
        {
          "text": "СКАН 032: Ёлка и Йод Договор 00032; сумма 9876,54 руб. СУЩЕСТВУЮЩИЙ OCR: 0012 42.75",
          "search": [
            {
              "first_match": [
                0,
                20
              ],
              "found": true,
              "query": "СКАН 032: Ёлка и Йод"
            },
            {
              "first_match": [
                22,
                33
              ],
              "found": true,
              "query": "Договор 00032; сумма 9876,54 руб."
            }
          ],
          "body_72dpi": {
            "colored_pixels_gt2": 0,
            "height": 842,
            "max_chroma": 0,
            "mean_chroma": 0.0,
            "pixels": 501832,
            "rgb_sha256": "7558cc4c0ddc9e6b0b7442e05e1553c0fc9da81163fdaa9d68108e548d8c23e8",
            "width": 596
          }
        },
        {
          "text": "Форма 033: существующие поля Документ 00033; сумма 42,75 руб. Подпись 6 pt: Ёлка_033 Ёлка_027",
          "search": [
            {
              "first_match": [
                0,
                28
              ],
              "found": true,
              "query": "Форма 033: существующие поля"
            },
            {
              "first_match": [
                30,
                32
              ],
              "found": true,
              "query": "Документ 00033; сумма 42,75 руб."
            }
          ],
          "body_72dpi": {
            "colored_pixels_gt2": 0,
            "height": 842,
            "max_chroma": 0,
            "mean_chroma": 0.0,
            "pixels": 501832,
            "rgb_sha256": "7a01e5ff7d927920b428249d5697f146ef11afc9cdea1122da8ff06c9f2e5f48",
            "width": 596
          }
        },
        {
          "text": "Раздел 034: навигация и архив Начало: страница 1; форма: страница 3 Нейтральный текст 6 pt: 0012",
          "search": [
            {
              "first_match": [
                0,
                29
              ],
              "found": true,
              "query": "Раздел 034: навигация и архив"
            },
            {
              "first_match": [
                31,
                37
              ],
              "found": true,
              "query": "Начало: страница 1; форма: страница 3"
            }
          ],
          "body_72dpi": {
            "colored_pixels_gt2": 0,
            "height": 842,
            "max_chroma": 0,
            "mean_chroma": 0.0,
            "pixels": 501832,
            "rgb_sha256": "5c582d0d7884d323721d545d7b458d54542ded25b0bca2185f47bd4447532edc",
            "width": 596
          }
        }
      ]
    }
  ],
  "pdfjs_readback": {
    "copy-maps": {
      "source": [
        {
          "text_raw": "INVOICE 00427 | DATE 2026-10-25  Amount 12345.67 USD; Ref ABCE-019  tiny text 6 pt; code 0012; 42.75",
          "text_nfc_ws": "INVOICE 00427 | DATE 2026-10-25 Amount 12345.67 USD; Ref ABCE-019 tiny text 6 pt; code 0012; 42.75",
          "raw_codepoints": [
            "U+0049",
            "U+004E",
            "U+0056",
            "U+004F",
            "U+0049",
            "U+0043",
            "U+0045",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0034",
            "U+0032",
            "U+0037",
            "U+0020",
            "U+007C",
            "U+0020",
            "U+0044",
            "U+0041",
            "U+0054",
            "U+0045",
            "U+0020",
            "U+0032",
            "U+0030",
            "U+0032",
            "U+0036",
            "U+002D",
            "U+0031",
            "U+0030",
            "U+002D",
            "U+0032",
            "U+0035",
            "U+0020",
            "U+0020",
            "U+0041",
            "U+006D",
            "U+006F",
            "U+0075",
            "U+006E",
            "U+0074",
            "U+0020",
            "U+0031",
            "U+0032",
            "U+0033",
            "U+0034",
            "U+0035",
            "U+002E",
            "U+0036",
            "U+0037",
            "U+0020",
            "U+0055",
            "U+0053",
            "U+0044",
            "U+003B",
            "U+0020",
            "U+0052",
            "U+0065",
            "U+0066",
            "U+0020",
            "U+0041",
            "U+0042",
            "U+0043",
            "U+0045",
            "U+002D",
            "U+0030",
            "U+0031",
            "U+0039",
            "U+0020",
            "U+0020",
            "U+0074",
            "U+0069",
            "U+006E",
            "U+0079",
            "U+0020",
            "U+0074",
            "U+0065",
            "U+0078",
            "U+0074",
            "U+0020",
            "U+0036",
            "U+0020",
            "U+0070",
            "U+0074",
            "U+003B",
            "U+0020",
            "U+0063",
            "U+006F",
            "U+0064",
            "U+0065",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0031",
            "U+0032",
            "U+003B",
            "U+0020",
            "U+0034",
            "U+0032",
            "U+002E",
            "U+0037",
            "U+0035"
          ]
        },
        {
          "text_raw": "Счёт 00427: Ёлка и Йод  Оплата 12345,67 руб.; объект АБВ-019  Тонкий текст 6 pt: 0012 42.75",
          "text_nfc_ws": "Счёт 00427: Ёлка и Йод Оплата 12345,67 руб.; объект АБВ-019 Тонкий текст 6 pt: 0012 42.75",
          "raw_codepoints": [
            "U+0421",
            "U+0447",
            "U+0451",
            "U+0442",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0034",
            "U+0032",
            "U+0037",
            "U+003A",
            "U+0020",
            "U+0401",
            "U+043B",
            "U+043A",
            "U+0430",
            "U+0020",
            "U+0438",
            "U+0020",
            "U+0419",
            "U+043E",
            "U+0434",
            "U+0020",
            "U+0020",
            "U+041E",
            "U+043F",
            "U+043B",
            "U+0430",
            "U+0442",
            "U+0430",
            "U+0020",
            "U+0031",
            "U+0032",
            "U+0033",
            "U+0034",
            "U+0035",
            "U+002C",
            "U+0036",
            "U+0037",
            "U+0020",
            "U+0440",
            "U+0443",
            "U+0431",
            "U+002E",
            "U+003B",
            "U+0020",
            "U+043E",
            "U+0431",
            "U+044A",
            "U+0435",
            "U+043A",
            "U+0442",
            "U+0020",
            "U+0410",
            "U+0411",
            "U+0412",
            "U+002D",
            "U+0030",
            "U+0031",
            "U+0039",
            "U+0020",
            "U+0020",
            "U+0422",
            "U+043E",
            "U+043D",
            "U+043A",
            "U+0438",
            "U+0439",
            "U+0020",
            "U+0442",
            "U+0435",
            "U+043A",
            "U+0441",
            "U+0442",
            "U+0020",
            "U+0036",
            "U+0020",
            "U+0070",
            "U+0074",
            "U+003A",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0031",
            "U+0032",
            "U+0020",
            "U+0034",
            "U+0032",
            "U+002E",
            "U+0037",
            "U+0035"
          ]
        },
        {
          "text_raw": "Проект 028: Ёлка и Йод  Договор 00017; сумма 12345,67 руб.  Тонкий текст 6 pt: 0012 42.75",
          "text_nfc_ws": "Проект 028: Ёлка и Йод Договор 00017; сумма 12345,67 руб. Тонкий текст 6 pt: 0012 42.75",
          "raw_codepoints": [
            "U+041F",
            "U+0440",
            "U+043E",
            "U+0435",
            "U+043A",
            "U+0442",
            "U+0020",
            "U+0030",
            "U+0032",
            "U+0038",
            "U+003A",
            "U+0020",
            "U+0401",
            "U+043B",
            "U+043A",
            "U+0430",
            "U+0020",
            "U+0438",
            "U+0020",
            "U+0419",
            "U+043E",
            "U+0434",
            "U+0020",
            "U+0020",
            "U+0414",
            "U+043E",
            "U+0433",
            "U+043E",
            "U+0432",
            "U+043E",
            "U+0440",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0030",
            "U+0031",
            "U+0037",
            "U+003B",
            "U+0020",
            "U+0441",
            "U+0443",
            "U+043C",
            "U+043C",
            "U+0430",
            "U+0020",
            "U+0031",
            "U+0032",
            "U+0033",
            "U+0034",
            "U+0035",
            "U+002C",
            "U+0036",
            "U+0037",
            "U+0020",
            "U+0440",
            "U+0443",
            "U+0431",
            "U+002E",
            "U+0020",
            "U+0020",
            "U+0422",
            "U+043E",
            "U+043D",
            "U+043A",
            "U+0438",
            "U+0439",
            "U+0020",
            "U+0442",
            "U+0435",
            "U+043A",
            "U+0441",
            "U+0442",
            "U+0020",
            "U+0036",
            "U+0020",
            "U+0070",
            "U+0074",
            "U+003A",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0031",
            "U+0032",
            "U+0020",
            "U+0034",
            "U+0032",
            "U+002E",
            "U+0037",
            "U+0035"
          ]
        },
        {
          "text_raw": "Ёлка / Йод / café  Latin ABCEHKMOPTXY | Кириллица АВСЕНКМОРТХУ  Код 00017; сумма 42,75; дата 25.10.2026",
          "text_nfc_ws": "Ёлка / Йод / café Latin ABCEHKMOPTXY | Кириллица АВСЕНКМОРТХУ Код 00017; сумма 42,75; дата 25.10.2026",
          "raw_codepoints": [
            "U+0415",
            "U+0308",
            "U+043B",
            "U+043A",
            "U+0430",
            "U+0020",
            "U+002F",
            "U+0020",
            "U+0418",
            "U+0306",
            "U+043E",
            "U+0434",
            "U+0020",
            "U+002F",
            "U+0020",
            "U+0063",
            "U+0061",
            "U+0066",
            "U+0065",
            "U+0301",
            "U+0020",
            "U+0020",
            "U+004C",
            "U+0061",
            "U+0074",
            "U+0069",
            "U+006E",
            "U+0020",
            "U+0041",
            "U+0042",
            "U+0043",
            "U+0045",
            "U+0048",
            "U+004B",
            "U+004D",
            "U+004F",
            "U+0050",
            "U+0054",
            "U+0058",
            "U+0059",
            "U+0020",
            "U+007C",
            "U+0020",
            "U+041A",
            "U+0438",
            "U+0440",
            "U+0438",
            "U+043B",
            "U+043B",
            "U+0438",
            "U+0446",
            "U+0430",
            "U+0020",
            "U+0410",
            "U+0412",
            "U+0421",
            "U+0415",
            "U+041D",
            "U+041A",
            "U+041C",
            "U+041E",
            "U+0420",
            "U+0422",
            "U+0425",
            "U+0423",
            "U+0020",
            "U+0020",
            "U+041A",
            "U+043E",
            "U+0434",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0030",
            "U+0031",
            "U+0037",
            "U+003B",
            "U+0020",
            "U+0441",
            "U+0443",
            "U+043C",
            "U+043C",
            "U+0430",
            "U+0020",
            "U+0034",
            "U+0032",
            "U+002C",
            "U+0037",
            "U+0035",
            "U+003B",
            "U+0020",
            "U+0434",
            "U+0430",
            "U+0442",
            "U+0430",
            "U+0020",
            "U+0032",
            "U+0035",
            "U+002E",
            "U+0031",
            "U+0030",
            "U+002E",
            "U+0032",
            "U+0030",
            "U+0032",
            "U+0036"
          ]
        }
      ],
      "dokivo-vector": [
        {
          "text_raw": "INVOICE 00427 | DATE 2026-10-25  Amount 12345.67 USD; Ref ABCE-019  tiny text 6 pt; code 0012; 42.75",
          "text_nfc_ws": "INVOICE 00427 | DATE 2026-10-25 Amount 12345.67 USD; Ref ABCE-019 tiny text 6 pt; code 0012; 42.75",
          "raw_codepoints": [
            "U+0049",
            "U+004E",
            "U+0056",
            "U+004F",
            "U+0049",
            "U+0043",
            "U+0045",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0034",
            "U+0032",
            "U+0037",
            "U+0020",
            "U+007C",
            "U+0020",
            "U+0044",
            "U+0041",
            "U+0054",
            "U+0045",
            "U+0020",
            "U+0032",
            "U+0030",
            "U+0032",
            "U+0036",
            "U+002D",
            "U+0031",
            "U+0030",
            "U+002D",
            "U+0032",
            "U+0035",
            "U+0020",
            "U+0020",
            "U+0041",
            "U+006D",
            "U+006F",
            "U+0075",
            "U+006E",
            "U+0074",
            "U+0020",
            "U+0031",
            "U+0032",
            "U+0033",
            "U+0034",
            "U+0035",
            "U+002E",
            "U+0036",
            "U+0037",
            "U+0020",
            "U+0055",
            "U+0053",
            "U+0044",
            "U+003B",
            "U+0020",
            "U+0052",
            "U+0065",
            "U+0066",
            "U+0020",
            "U+0041",
            "U+0042",
            "U+0043",
            "U+0045",
            "U+002D",
            "U+0030",
            "U+0031",
            "U+0039",
            "U+0020",
            "U+0020",
            "U+0074",
            "U+0069",
            "U+006E",
            "U+0079",
            "U+0020",
            "U+0074",
            "U+0065",
            "U+0078",
            "U+0074",
            "U+0020",
            "U+0036",
            "U+0020",
            "U+0070",
            "U+0074",
            "U+003B",
            "U+0020",
            "U+0063",
            "U+006F",
            "U+0064",
            "U+0065",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0031",
            "U+0032",
            "U+003B",
            "U+0020",
            "U+0034",
            "U+0032",
            "U+002E",
            "U+0037",
            "U+0035"
          ]
        },
        {
          "text_raw": "Счёт 00427: Ёлка и Йод  Оплата 12345,67 руб.; объект АБВ-019  Тонкий текст 6 pt: 0012 42.75",
          "text_nfc_ws": "Счёт 00427: Ёлка и Йод Оплата 12345,67 руб.; объект АБВ-019 Тонкий текст 6 pt: 0012 42.75",
          "raw_codepoints": [
            "U+0421",
            "U+0447",
            "U+0451",
            "U+0442",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0034",
            "U+0032",
            "U+0037",
            "U+003A",
            "U+0020",
            "U+0401",
            "U+043B",
            "U+043A",
            "U+0430",
            "U+0020",
            "U+0438",
            "U+0020",
            "U+0419",
            "U+043E",
            "U+0434",
            "U+0020",
            "U+0020",
            "U+041E",
            "U+043F",
            "U+043B",
            "U+0430",
            "U+0442",
            "U+0430",
            "U+0020",
            "U+0031",
            "U+0032",
            "U+0033",
            "U+0034",
            "U+0035",
            "U+002C",
            "U+0036",
            "U+0037",
            "U+0020",
            "U+0440",
            "U+0443",
            "U+0431",
            "U+002E",
            "U+003B",
            "U+0020",
            "U+043E",
            "U+0431",
            "U+044A",
            "U+0435",
            "U+043A",
            "U+0442",
            "U+0020",
            "U+0410",
            "U+0411",
            "U+0412",
            "U+002D",
            "U+0030",
            "U+0031",
            "U+0039",
            "U+0020",
            "U+0020",
            "U+0422",
            "U+043E",
            "U+043D",
            "U+043A",
            "U+0438",
            "U+0439",
            "U+0020",
            "U+0442",
            "U+0435",
            "U+043A",
            "U+0441",
            "U+0442",
            "U+0020",
            "U+0036",
            "U+0020",
            "U+0070",
            "U+0074",
            "U+003A",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0031",
            "U+0032",
            "U+0020",
            "U+0034",
            "U+0032",
            "U+002E",
            "U+0037",
            "U+0035"
          ]
        },
        {
          "text_raw": "Проект 028: Ёлка и Йод  Договор 00017; сумма 12345,67 руб.  Тонкий текст 6 pt: 0012 42.75",
          "text_nfc_ws": "Проект 028: Ёлка и Йод Договор 00017; сумма 12345,67 руб. Тонкий текст 6 pt: 0012 42.75",
          "raw_codepoints": [
            "U+041F",
            "U+0440",
            "U+043E",
            "U+0435",
            "U+043A",
            "U+0442",
            "U+0020",
            "U+0030",
            "U+0032",
            "U+0038",
            "U+003A",
            "U+0020",
            "U+0401",
            "U+043B",
            "U+043A",
            "U+0430",
            "U+0020",
            "U+0438",
            "U+0020",
            "U+0419",
            "U+043E",
            "U+0434",
            "U+0020",
            "U+0020",
            "U+0414",
            "U+043E",
            "U+0433",
            "U+043E",
            "U+0432",
            "U+043E",
            "U+0440",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0030",
            "U+0031",
            "U+0037",
            "U+003B",
            "U+0020",
            "U+0441",
            "U+0443",
            "U+043C",
            "U+043C",
            "U+0430",
            "U+0020",
            "U+0031",
            "U+0032",
            "U+0033",
            "U+0034",
            "U+0035",
            "U+002C",
            "U+0036",
            "U+0037",
            "U+0020",
            "U+0440",
            "U+0443",
            "U+0431",
            "U+002E",
            "U+0020",
            "U+0020",
            "U+0422",
            "U+043E",
            "U+043D",
            "U+043A",
            "U+0438",
            "U+0439",
            "U+0020",
            "U+0442",
            "U+0435",
            "U+043A",
            "U+0441",
            "U+0442",
            "U+0020",
            "U+0036",
            "U+0020",
            "U+0070",
            "U+0074",
            "U+003A",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0031",
            "U+0032",
            "U+0020",
            "U+0034",
            "U+0032",
            "U+002E",
            "U+0037",
            "U+0035"
          ]
        },
        {
          "text_raw": "Ёлка / Йод / café  Latin ABCEHKMOPTXY | Кириллица АВСЕНКМОРТХУ  Код 00017; сумма 42,75; дата 25.10.2026",
          "text_nfc_ws": "Ёлка / Йод / café Latin ABCEHKMOPTXY | Кириллица АВСЕНКМОРТХУ Код 00017; сумма 42,75; дата 25.10.2026",
          "raw_codepoints": [
            "U+0415",
            "U+0308",
            "U+043B",
            "U+043A",
            "U+0430",
            "U+0020",
            "U+002F",
            "U+0020",
            "U+0418",
            "U+0306",
            "U+043E",
            "U+0434",
            "U+0020",
            "U+002F",
            "U+0020",
            "U+0063",
            "U+0061",
            "U+0066",
            "U+0065",
            "U+0301",
            "U+0020",
            "U+0020",
            "U+004C",
            "U+0061",
            "U+0074",
            "U+0069",
            "U+006E",
            "U+0020",
            "U+0041",
            "U+0042",
            "U+0043",
            "U+0045",
            "U+0048",
            "U+004B",
            "U+004D",
            "U+004F",
            "U+0050",
            "U+0054",
            "U+0058",
            "U+0059",
            "U+0020",
            "U+007C",
            "U+0020",
            "U+041A",
            "U+0438",
            "U+0440",
            "U+0438",
            "U+043B",
            "U+043B",
            "U+0438",
            "U+0446",
            "U+0430",
            "U+0020",
            "U+0410",
            "U+0412",
            "U+0421",
            "U+0415",
            "U+041D",
            "U+041A",
            "U+041C",
            "U+041E",
            "U+0420",
            "U+0422",
            "U+0425",
            "U+0423",
            "U+0020",
            "U+0020",
            "U+041A",
            "U+043E",
            "U+0434",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0030",
            "U+0031",
            "U+0037",
            "U+003B",
            "U+0020",
            "U+0441",
            "U+0443",
            "U+043C",
            "U+043C",
            "U+0430",
            "U+0020",
            "U+0034",
            "U+0032",
            "U+002C",
            "U+0037",
            "U+0035",
            "U+003B",
            "U+0020",
            "U+0434",
            "U+0430",
            "U+0442",
            "U+0430",
            "U+0020",
            "U+0032",
            "U+0035",
            "U+002E",
            "U+0031",
            "U+0030",
            "U+002E",
            "U+0032",
            "U+0030",
            "U+0032",
            "U+0036"
          ]
        }
      ],
      "dokivo-raster-144": [
        {
          "text_raw": "INVOICE 00427 | DATE 2026-10-25  Amount 12345.67 USD; Ref ABCE-019  tiny text 6 pt; code 0012; 42.75",
          "text_nfc_ws": "INVOICE 00427 | DATE 2026-10-25 Amount 12345.67 USD; Ref ABCE-019 tiny text 6 pt; code 0012; 42.75",
          "raw_codepoints": [
            "U+0049",
            "U+004E",
            "U+0056",
            "U+004F",
            "U+0049",
            "U+0043",
            "U+0045",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0034",
            "U+0032",
            "U+0037",
            "U+0020",
            "U+007C",
            "U+0020",
            "U+0044",
            "U+0041",
            "U+0054",
            "U+0045",
            "U+0020",
            "U+0032",
            "U+0030",
            "U+0032",
            "U+0036",
            "U+002D",
            "U+0031",
            "U+0030",
            "U+002D",
            "U+0032",
            "U+0035",
            "U+0020",
            "U+0020",
            "U+0041",
            "U+006D",
            "U+006F",
            "U+0075",
            "U+006E",
            "U+0074",
            "U+0020",
            "U+0031",
            "U+0032",
            "U+0033",
            "U+0034",
            "U+0035",
            "U+002E",
            "U+0036",
            "U+0037",
            "U+0020",
            "U+0055",
            "U+0053",
            "U+0044",
            "U+003B",
            "U+0020",
            "U+0052",
            "U+0065",
            "U+0066",
            "U+0020",
            "U+0041",
            "U+0042",
            "U+0043",
            "U+0045",
            "U+002D",
            "U+0030",
            "U+0031",
            "U+0039",
            "U+0020",
            "U+0020",
            "U+0074",
            "U+0069",
            "U+006E",
            "U+0079",
            "U+0020",
            "U+0074",
            "U+0065",
            "U+0078",
            "U+0074",
            "U+0020",
            "U+0036",
            "U+0020",
            "U+0070",
            "U+0074",
            "U+003B",
            "U+0020",
            "U+0063",
            "U+006F",
            "U+0064",
            "U+0065",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0031",
            "U+0032",
            "U+003B",
            "U+0020",
            "U+0034",
            "U+0032",
            "U+002E",
            "U+0037",
            "U+0035"
          ]
        },
        {
          "text_raw": "Счёт 00427: Ёлка и Йод  Оплата 12345,67 руб.; объект АБВ-019  Тонкий текст 6 pt: 0012 42.75",
          "text_nfc_ws": "Счёт 00427: Ёлка и Йод Оплата 12345,67 руб.; объект АБВ-019 Тонкий текст 6 pt: 0012 42.75",
          "raw_codepoints": [
            "U+0421",
            "U+0447",
            "U+0451",
            "U+0442",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0034",
            "U+0032",
            "U+0037",
            "U+003A",
            "U+0020",
            "U+0401",
            "U+043B",
            "U+043A",
            "U+0430",
            "U+0020",
            "U+0438",
            "U+0020",
            "U+0419",
            "U+043E",
            "U+0434",
            "U+0020",
            "U+0020",
            "U+041E",
            "U+043F",
            "U+043B",
            "U+0430",
            "U+0442",
            "U+0430",
            "U+0020",
            "U+0031",
            "U+0032",
            "U+0033",
            "U+0034",
            "U+0035",
            "U+002C",
            "U+0036",
            "U+0037",
            "U+0020",
            "U+0440",
            "U+0443",
            "U+0431",
            "U+002E",
            "U+003B",
            "U+0020",
            "U+043E",
            "U+0431",
            "U+044A",
            "U+0435",
            "U+043A",
            "U+0442",
            "U+0020",
            "U+0410",
            "U+0411",
            "U+0412",
            "U+002D",
            "U+0030",
            "U+0031",
            "U+0039",
            "U+0020",
            "U+0020",
            "U+0422",
            "U+043E",
            "U+043D",
            "U+043A",
            "U+0438",
            "U+0439",
            "U+0020",
            "U+0442",
            "U+0435",
            "U+043A",
            "U+0441",
            "U+0442",
            "U+0020",
            "U+0036",
            "U+0020",
            "U+0070",
            "U+0074",
            "U+003A",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0031",
            "U+0032",
            "U+0020",
            "U+0034",
            "U+0032",
            "U+002E",
            "U+0037",
            "U+0035"
          ]
        },
        {
          "text_raw": "Проект 028: Ёлка и Йод  Договор 00017; сумма 12345,67 руб.  Тонкий текст 6 pt: 0012 42.75",
          "text_nfc_ws": "Проект 028: Ёлка и Йод Договор 00017; сумма 12345,67 руб. Тонкий текст 6 pt: 0012 42.75",
          "raw_codepoints": [
            "U+041F",
            "U+0440",
            "U+043E",
            "U+0435",
            "U+043A",
            "U+0442",
            "U+0020",
            "U+0030",
            "U+0032",
            "U+0038",
            "U+003A",
            "U+0020",
            "U+0401",
            "U+043B",
            "U+043A",
            "U+0430",
            "U+0020",
            "U+0438",
            "U+0020",
            "U+0419",
            "U+043E",
            "U+0434",
            "U+0020",
            "U+0020",
            "U+0414",
            "U+043E",
            "U+0433",
            "U+043E",
            "U+0432",
            "U+043E",
            "U+0440",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0030",
            "U+0031",
            "U+0037",
            "U+003B",
            "U+0020",
            "U+0441",
            "U+0443",
            "U+043C",
            "U+043C",
            "U+0430",
            "U+0020",
            "U+0031",
            "U+0032",
            "U+0033",
            "U+0034",
            "U+0035",
            "U+002C",
            "U+0036",
            "U+0037",
            "U+0020",
            "U+0440",
            "U+0443",
            "U+0431",
            "U+002E",
            "U+0020",
            "U+0020",
            "U+0422",
            "U+043E",
            "U+043D",
            "U+043A",
            "U+0438",
            "U+0439",
            "U+0020",
            "U+0442",
            "U+0435",
            "U+043A",
            "U+0441",
            "U+0442",
            "U+0020",
            "U+0036",
            "U+0020",
            "U+0070",
            "U+0074",
            "U+003A",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0031",
            "U+0032",
            "U+0020",
            "U+0034",
            "U+0032",
            "U+002E",
            "U+0037",
            "U+0035"
          ]
        },
        {
          "text_raw": "Еɛлка / Иɢод / café  Latin ABCEHKMOPTXY | Кириллица АВСЕНКМОРТХУ  Код 00017; сумма 42,75; дата 25.10.2026",
          "text_nfc_ws": "Еɛлка / Иɢод / café Latin ABCEHKMOPTXY | Кириллица АВСЕНКМОРТХУ Код 00017; сумма 42,75; дата 25.10.2026",
          "raw_codepoints": [
            "U+0415",
            "U+025B",
            "U+043B",
            "U+043A",
            "U+0430",
            "U+0020",
            "U+002F",
            "U+0020",
            "U+0418",
            "U+0262",
            "U+043E",
            "U+0434",
            "U+0020",
            "U+002F",
            "U+0020",
            "U+0063",
            "U+0061",
            "U+0066",
            "U+0065",
            "U+0301",
            "U+0020",
            "U+0020",
            "U+004C",
            "U+0061",
            "U+0074",
            "U+0069",
            "U+006E",
            "U+0020",
            "U+0041",
            "U+0042",
            "U+0043",
            "U+0045",
            "U+0048",
            "U+004B",
            "U+004D",
            "U+004F",
            "U+0050",
            "U+0054",
            "U+0058",
            "U+0059",
            "U+0020",
            "U+007C",
            "U+0020",
            "U+041A",
            "U+0438",
            "U+0440",
            "U+0438",
            "U+043B",
            "U+043B",
            "U+0438",
            "U+0446",
            "U+0430",
            "U+0020",
            "U+0410",
            "U+0412",
            "U+0421",
            "U+0415",
            "U+041D",
            "U+041A",
            "U+041C",
            "U+041E",
            "U+0420",
            "U+0422",
            "U+0425",
            "U+0423",
            "U+0020",
            "U+0020",
            "U+041A",
            "U+043E",
            "U+0434",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0030",
            "U+0031",
            "U+0037",
            "U+003B",
            "U+0020",
            "U+0441",
            "U+0443",
            "U+043C",
            "U+043C",
            "U+0430",
            "U+0020",
            "U+0034",
            "U+0032",
            "U+002C",
            "U+0037",
            "U+0035",
            "U+003B",
            "U+0020",
            "U+0434",
            "U+0430",
            "U+0442",
            "U+0430",
            "U+0020",
            "U+0032",
            "U+0035",
            "U+002E",
            "U+0031",
            "U+0030",
            "U+002E",
            "U+0032",
            "U+0030",
            "U+0032",
            "U+0036"
          ]
        }
      ],
      "gs-direct": [
        {
          "text_raw": "INVOICE 00427 | DATE 2026-10-25  Amount 12345.67 USD; Ref ABCE-019  tiny text 6 pt; code 0012; 42.75",
          "text_nfc_ws": "INVOICE 00427 | DATE 2026-10-25 Amount 12345.67 USD; Ref ABCE-019 tiny text 6 pt; code 0012; 42.75",
          "raw_codepoints": [
            "U+0049",
            "U+004E",
            "U+0056",
            "U+004F",
            "U+0049",
            "U+0043",
            "U+0045",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0034",
            "U+0032",
            "U+0037",
            "U+0020",
            "U+007C",
            "U+0020",
            "U+0044",
            "U+0041",
            "U+0054",
            "U+0045",
            "U+0020",
            "U+0032",
            "U+0030",
            "U+0032",
            "U+0036",
            "U+002D",
            "U+0031",
            "U+0030",
            "U+002D",
            "U+0032",
            "U+0035",
            "U+0020",
            "U+0020",
            "U+0041",
            "U+006D",
            "U+006F",
            "U+0075",
            "U+006E",
            "U+0074",
            "U+0020",
            "U+0031",
            "U+0032",
            "U+0033",
            "U+0034",
            "U+0035",
            "U+002E",
            "U+0036",
            "U+0037",
            "U+0020",
            "U+0055",
            "U+0053",
            "U+0044",
            "U+003B",
            "U+0020",
            "U+0052",
            "U+0065",
            "U+0066",
            "U+0020",
            "U+0041",
            "U+0042",
            "U+0043",
            "U+0045",
            "U+002D",
            "U+0030",
            "U+0031",
            "U+0039",
            "U+0020",
            "U+0020",
            "U+0074",
            "U+0069",
            "U+006E",
            "U+0079",
            "U+0020",
            "U+0074",
            "U+0065",
            "U+0078",
            "U+0074",
            "U+0020",
            "U+0036",
            "U+0020",
            "U+0070",
            "U+0074",
            "U+003B",
            "U+0020",
            "U+0063",
            "U+006F",
            "U+0064",
            "U+0065",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0031",
            "U+0032",
            "U+003B",
            "U+0020",
            "U+0034",
            "U+0032",
            "U+002E",
            "U+0037",
            "U+0035"
          ]
        },
        {
          "text_raw": "Счёт 00427: Ёлка и Йод  Оплата 12345,67 руб.; объект АБВ-019  Тонкий текст 6 pt: 0012 42.75",
          "text_nfc_ws": "Счёт 00427: Ёлка и Йод Оплата 12345,67 руб.; объект АБВ-019 Тонкий текст 6 pt: 0012 42.75",
          "raw_codepoints": [
            "U+0421",
            "U+0447",
            "U+0451",
            "U+0442",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0034",
            "U+0032",
            "U+0037",
            "U+003A",
            "U+0020",
            "U+0401",
            "U+043B",
            "U+043A",
            "U+0430",
            "U+0020",
            "U+0438",
            "U+0020",
            "U+0419",
            "U+043E",
            "U+0434",
            "U+0020",
            "U+0020",
            "U+041E",
            "U+043F",
            "U+043B",
            "U+0430",
            "U+0442",
            "U+0430",
            "U+0020",
            "U+0031",
            "U+0032",
            "U+0033",
            "U+0034",
            "U+0035",
            "U+002C",
            "U+0036",
            "U+0037",
            "U+0020",
            "U+0440",
            "U+0443",
            "U+0431",
            "U+002E",
            "U+003B",
            "U+0020",
            "U+043E",
            "U+0431",
            "U+044A",
            "U+0435",
            "U+043A",
            "U+0442",
            "U+0020",
            "U+0410",
            "U+0411",
            "U+0412",
            "U+002D",
            "U+0030",
            "U+0031",
            "U+0039",
            "U+0020",
            "U+0020",
            "U+0422",
            "U+043E",
            "U+043D",
            "U+043A",
            "U+0438",
            "U+0439",
            "U+0020",
            "U+0442",
            "U+0435",
            "U+043A",
            "U+0441",
            "U+0442",
            "U+0020",
            "U+0036",
            "U+0020",
            "U+0070",
            "U+0074",
            "U+003A",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0031",
            "U+0032",
            "U+0020",
            "U+0034",
            "U+0032",
            "U+002E",
            "U+0037",
            "U+0035"
          ]
        },
        {
          "text_raw": "Проект 028: Ёлка и Йод  Договор 00017; сумма 12345,67 руб.  Тонкий текст 6 pt: 0012 42.75",
          "text_nfc_ws": "Проект 028: Ёлка и Йод Договор 00017; сумма 12345,67 руб. Тонкий текст 6 pt: 0012 42.75",
          "raw_codepoints": [
            "U+041F",
            "U+0440",
            "U+043E",
            "U+0435",
            "U+043A",
            "U+0442",
            "U+0020",
            "U+0030",
            "U+0032",
            "U+0038",
            "U+003A",
            "U+0020",
            "U+0401",
            "U+043B",
            "U+043A",
            "U+0430",
            "U+0020",
            "U+0438",
            "U+0020",
            "U+0419",
            "U+043E",
            "U+0434",
            "U+0020",
            "U+0020",
            "U+0414",
            "U+043E",
            "U+0433",
            "U+043E",
            "U+0432",
            "U+043E",
            "U+0440",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0030",
            "U+0031",
            "U+0037",
            "U+003B",
            "U+0020",
            "U+0441",
            "U+0443",
            "U+043C",
            "U+043C",
            "U+0430",
            "U+0020",
            "U+0031",
            "U+0032",
            "U+0033",
            "U+0034",
            "U+0035",
            "U+002C",
            "U+0036",
            "U+0037",
            "U+0020",
            "U+0440",
            "U+0443",
            "U+0431",
            "U+002E",
            "U+0020",
            "U+0020",
            "U+0422",
            "U+043E",
            "U+043D",
            "U+043A",
            "U+0438",
            "U+0439",
            "U+0020",
            "U+0442",
            "U+0435",
            "U+043A",
            "U+0441",
            "U+0442",
            "U+0020",
            "U+0036",
            "U+0020",
            "U+0070",
            "U+0074",
            "U+003A",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0031",
            "U+0032",
            "U+0020",
            "U+0034",
            "U+0032",
            "U+002E",
            "U+0037",
            "U+0035"
          ]
        },
        {
          "text_raw": "Ёлка / Йод / café  Latin ABCEHKMOPTXY | Кириллица АВСЕНКМОРТХУ  Код 00017; сумма 42,75; дата 25.10.2026",
          "text_nfc_ws": "Ёлка / Йод / café Latin ABCEHKMOPTXY | Кириллица АВСЕНКМОРТХУ Код 00017; сумма 42,75; дата 25.10.2026",
          "raw_codepoints": [
            "U+0415",
            "U+0308",
            "U+043B",
            "U+043A",
            "U+0430",
            "U+0020",
            "U+002F",
            "U+0020",
            "U+0418",
            "U+0306",
            "U+043E",
            "U+0434",
            "U+0020",
            "U+002F",
            "U+0020",
            "U+0063",
            "U+0061",
            "U+0066",
            "U+0065",
            "U+0301",
            "U+0020",
            "U+0020",
            "U+004C",
            "U+0061",
            "U+0074",
            "U+0069",
            "U+006E",
            "U+0020",
            "U+0041",
            "U+0042",
            "U+0043",
            "U+0045",
            "U+0048",
            "U+004B",
            "U+004D",
            "U+004F",
            "U+0050",
            "U+0054",
            "U+0058",
            "U+0059",
            "U+0020",
            "U+007C",
            "U+0020",
            "U+041A",
            "U+0438",
            "U+0440",
            "U+0438",
            "U+043B",
            "U+043B",
            "U+0438",
            "U+0446",
            "U+0430",
            "U+0020",
            "U+0410",
            "U+0412",
            "U+0421",
            "U+0415",
            "U+041D",
            "U+041A",
            "U+041C",
            "U+041E",
            "U+0420",
            "U+0422",
            "U+0425",
            "U+0423",
            "U+0020",
            "U+0020",
            "U+041A",
            "U+043E",
            "U+0434",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0030",
            "U+0031",
            "U+0037",
            "U+003B",
            "U+0020",
            "U+0441",
            "U+0443",
            "U+043C",
            "U+043C",
            "U+0430",
            "U+0020",
            "U+0034",
            "U+0032",
            "U+002C",
            "U+0037",
            "U+0035",
            "U+003B",
            "U+0020",
            "U+0434",
            "U+0430",
            "U+0442",
            "U+0430",
            "U+0020",
            "U+0032",
            "U+0035",
            "U+002E",
            "U+0031",
            "U+0030",
            "U+002E",
            "U+0032",
            "U+0030",
            "U+0032",
            "U+0036"
          ]
        }
      ]
    },
    "workflow": {
      "source": [
        {
          "text_raw": "Таблица 031: количество 0012  Цена 42,75; итог 513,00 руб.  Чёрная подпись 6 pt: Ёлка_031",
          "text_nfc_ws": "Таблица 031: количество 0012 Цена 42,75; итог 513,00 руб. Чёрная подпись 6 pt: Ёлка_031",
          "raw_codepoints": [
            "U+0422",
            "U+0430",
            "U+0431",
            "U+043B",
            "U+0438",
            "U+0446",
            "U+0430",
            "U+0020",
            "U+0030",
            "U+0033",
            "U+0031",
            "U+003A",
            "U+0020",
            "U+043A",
            "U+043E",
            "U+043B",
            "U+0438",
            "U+0447",
            "U+0435",
            "U+0441",
            "U+0442",
            "U+0432",
            "U+043E",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0031",
            "U+0032",
            "U+0020",
            "U+0020",
            "U+0426",
            "U+0435",
            "U+043D",
            "U+0430",
            "U+0020",
            "U+0034",
            "U+0032",
            "U+002C",
            "U+0037",
            "U+0035",
            "U+003B",
            "U+0020",
            "U+0438",
            "U+0442",
            "U+043E",
            "U+0433",
            "U+0020",
            "U+0035",
            "U+0031",
            "U+0033",
            "U+002C",
            "U+0030",
            "U+0030",
            "U+0020",
            "U+0440",
            "U+0443",
            "U+0431",
            "U+002E",
            "U+0020",
            "U+0020",
            "U+0427",
            "U+0451",
            "U+0440",
            "U+043D",
            "U+0430",
            "U+044F",
            "U+0020",
            "U+043F",
            "U+043E",
            "U+0434",
            "U+043F",
            "U+0438",
            "U+0441",
            "U+044C",
            "U+0020",
            "U+0036",
            "U+0020",
            "U+0070",
            "U+0074",
            "U+003A",
            "U+0020",
            "U+0401",
            "U+043B",
            "U+043A",
            "U+0430",
            "U+005F",
            "U+0030",
            "U+0033",
            "U+0031"
          ]
        },
        {
          "text_raw": "СКАН 032: Ёлка и Йод  Договор 00032; сумма 9876,54 руб.  СУЩЕСТВУЮЩИЙ OCR: 0012 42.75",
          "text_nfc_ws": "СКАН 032: Ёлка и Йод Договор 00032; сумма 9876,54 руб. СУЩЕСТВУЮЩИЙ OCR: 0012 42.75",
          "raw_codepoints": [
            "U+0421",
            "U+041A",
            "U+0410",
            "U+041D",
            "U+0020",
            "U+0030",
            "U+0033",
            "U+0032",
            "U+003A",
            "U+0020",
            "U+0401",
            "U+043B",
            "U+043A",
            "U+0430",
            "U+0020",
            "U+0438",
            "U+0020",
            "U+0419",
            "U+043E",
            "U+0434",
            "U+0020",
            "U+0020",
            "U+0414",
            "U+043E",
            "U+0433",
            "U+043E",
            "U+0432",
            "U+043E",
            "U+0440",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0030",
            "U+0033",
            "U+0032",
            "U+003B",
            "U+0020",
            "U+0441",
            "U+0443",
            "U+043C",
            "U+043C",
            "U+0430",
            "U+0020",
            "U+0039",
            "U+0038",
            "U+0037",
            "U+0036",
            "U+002C",
            "U+0035",
            "U+0034",
            "U+0020",
            "U+0440",
            "U+0443",
            "U+0431",
            "U+002E",
            "U+0020",
            "U+0020",
            "U+0421",
            "U+0423",
            "U+0429",
            "U+0415",
            "U+0421",
            "U+0422",
            "U+0412",
            "U+0423",
            "U+042E",
            "U+0429",
            "U+0418",
            "U+0419",
            "U+0020",
            "U+004F",
            "U+0043",
            "U+0052",
            "U+003A",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0031",
            "U+0032",
            "U+0020",
            "U+0034",
            "U+0032",
            "U+002E",
            "U+0037",
            "U+0035"
          ]
        },
        {
          "text_raw": "Форма 033: существующие поля  Документ 00033; сумма 42,75 руб.  Подпись 6 pt: Ёлка_033",
          "text_nfc_ws": "Форма 033: существующие поля Документ 00033; сумма 42,75 руб. Подпись 6 pt: Ёлка_033",
          "raw_codepoints": [
            "U+0424",
            "U+043E",
            "U+0440",
            "U+043C",
            "U+0430",
            "U+0020",
            "U+0030",
            "U+0033",
            "U+0033",
            "U+003A",
            "U+0020",
            "U+0441",
            "U+0443",
            "U+0449",
            "U+0435",
            "U+0441",
            "U+0442",
            "U+0432",
            "U+0443",
            "U+044E",
            "U+0449",
            "U+0438",
            "U+0435",
            "U+0020",
            "U+043F",
            "U+043E",
            "U+043B",
            "U+044F",
            "U+0020",
            "U+0020",
            "U+0414",
            "U+043E",
            "U+043A",
            "U+0443",
            "U+043C",
            "U+0435",
            "U+043D",
            "U+0442",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0030",
            "U+0033",
            "U+0033",
            "U+003B",
            "U+0020",
            "U+0441",
            "U+0443",
            "U+043C",
            "U+043C",
            "U+0430",
            "U+0020",
            "U+0034",
            "U+0032",
            "U+002C",
            "U+0037",
            "U+0035",
            "U+0020",
            "U+0440",
            "U+0443",
            "U+0431",
            "U+002E",
            "U+0020",
            "U+0020",
            "U+041F",
            "U+043E",
            "U+0434",
            "U+043F",
            "U+0438",
            "U+0441",
            "U+044C",
            "U+0020",
            "U+0036",
            "U+0020",
            "U+0070",
            "U+0074",
            "U+003A",
            "U+0020",
            "U+0401",
            "U+043B",
            "U+043A",
            "U+0430",
            "U+005F",
            "U+0030",
            "U+0033",
            "U+0033"
          ]
        },
        {
          "text_raw": "Раздел 034: навигация и архив  Начало: страница 1; форма: страница 3  Нейтральный текст 6 pt: 0012",
          "text_nfc_ws": "Раздел 034: навигация и архив Начало: страница 1; форма: страница 3 Нейтральный текст 6 pt: 0012",
          "raw_codepoints": [
            "U+0420",
            "U+0430",
            "U+0437",
            "U+0434",
            "U+0435",
            "U+043B",
            "U+0020",
            "U+0030",
            "U+0033",
            "U+0034",
            "U+003A",
            "U+0020",
            "U+043D",
            "U+0430",
            "U+0432",
            "U+0438",
            "U+0433",
            "U+0430",
            "U+0446",
            "U+0438",
            "U+044F",
            "U+0020",
            "U+0438",
            "U+0020",
            "U+0430",
            "U+0440",
            "U+0445",
            "U+0438",
            "U+0432",
            "U+0020",
            "U+0020",
            "U+041D",
            "U+0430",
            "U+0447",
            "U+0430",
            "U+043B",
            "U+043E",
            "U+003A",
            "U+0020",
            "U+0441",
            "U+0442",
            "U+0440",
            "U+0430",
            "U+043D",
            "U+0438",
            "U+0446",
            "U+0430",
            "U+0020",
            "U+0031",
            "U+003B",
            "U+0020",
            "U+0444",
            "U+043E",
            "U+0440",
            "U+043C",
            "U+0430",
            "U+003A",
            "U+0020",
            "U+0441",
            "U+0442",
            "U+0440",
            "U+0430",
            "U+043D",
            "U+0438",
            "U+0446",
            "U+0430",
            "U+0020",
            "U+0033",
            "U+0020",
            "U+0020",
            "U+041D",
            "U+0435",
            "U+0439",
            "U+0442",
            "U+0440",
            "U+0430",
            "U+043B",
            "U+044C",
            "U+043D",
            "U+044B",
            "U+0439",
            "U+0020",
            "U+0442",
            "U+0435",
            "U+043A",
            "U+0441",
            "U+0442",
            "U+0020",
            "U+0036",
            "U+0020",
            "U+0070",
            "U+0074",
            "U+003A",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0031",
            "U+0032"
          ]
        }
      ],
      "gs-direct": [
        {
          "text_raw": "Таблица 031: количество 0012  Цена 42,75; итог 513,00 руб.  Чёрная подпись 6 pt: Ёлка_031",
          "text_nfc_ws": "Таблица 031: количество 0012 Цена 42,75; итог 513,00 руб. Чёрная подпись 6 pt: Ёлка_031",
          "raw_codepoints": [
            "U+0422",
            "U+0430",
            "U+0431",
            "U+043B",
            "U+0438",
            "U+0446",
            "U+0430",
            "U+0020",
            "U+0030",
            "U+0033",
            "U+0031",
            "U+003A",
            "U+0020",
            "U+043A",
            "U+043E",
            "U+043B",
            "U+0438",
            "U+0447",
            "U+0435",
            "U+0441",
            "U+0442",
            "U+0432",
            "U+043E",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0031",
            "U+0032",
            "U+0020",
            "U+0020",
            "U+0426",
            "U+0435",
            "U+043D",
            "U+0430",
            "U+0020",
            "U+0034",
            "U+0032",
            "U+002C",
            "U+0037",
            "U+0035",
            "U+003B",
            "U+0020",
            "U+0438",
            "U+0442",
            "U+043E",
            "U+0433",
            "U+0020",
            "U+0035",
            "U+0031",
            "U+0033",
            "U+002C",
            "U+0030",
            "U+0030",
            "U+0020",
            "U+0440",
            "U+0443",
            "U+0431",
            "U+002E",
            "U+0020",
            "U+0020",
            "U+0427",
            "U+0451",
            "U+0440",
            "U+043D",
            "U+0430",
            "U+044F",
            "U+0020",
            "U+043F",
            "U+043E",
            "U+0434",
            "U+043F",
            "U+0438",
            "U+0441",
            "U+044C",
            "U+0020",
            "U+0036",
            "U+0020",
            "U+0070",
            "U+0074",
            "U+003A",
            "U+0020",
            "U+0401",
            "U+043B",
            "U+043A",
            "U+0430",
            "U+005F",
            "U+0030",
            "U+0033",
            "U+0031"
          ]
        },
        {
          "text_raw": "СКАН 032: Ёлка и Йод  Договор 00032; сумма 9876,54 руб.  СУЩЕСТВУЮЩИЙ OCR: 0012 42.75",
          "text_nfc_ws": "СКАН 032: Ёлка и Йод Договор 00032; сумма 9876,54 руб. СУЩЕСТВУЮЩИЙ OCR: 0012 42.75",
          "raw_codepoints": [
            "U+0421",
            "U+041A",
            "U+0410",
            "U+041D",
            "U+0020",
            "U+0030",
            "U+0033",
            "U+0032",
            "U+003A",
            "U+0020",
            "U+0401",
            "U+043B",
            "U+043A",
            "U+0430",
            "U+0020",
            "U+0438",
            "U+0020",
            "U+0419",
            "U+043E",
            "U+0434",
            "U+0020",
            "U+0020",
            "U+0414",
            "U+043E",
            "U+0433",
            "U+043E",
            "U+0432",
            "U+043E",
            "U+0440",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0030",
            "U+0033",
            "U+0032",
            "U+003B",
            "U+0020",
            "U+0441",
            "U+0443",
            "U+043C",
            "U+043C",
            "U+0430",
            "U+0020",
            "U+0039",
            "U+0038",
            "U+0037",
            "U+0036",
            "U+002C",
            "U+0035",
            "U+0034",
            "U+0020",
            "U+0440",
            "U+0443",
            "U+0431",
            "U+002E",
            "U+0020",
            "U+0020",
            "U+0421",
            "U+0423",
            "U+0429",
            "U+0415",
            "U+0421",
            "U+0422",
            "U+0412",
            "U+0423",
            "U+042E",
            "U+0429",
            "U+0418",
            "U+0419",
            "U+0020",
            "U+004F",
            "U+0043",
            "U+0052",
            "U+003A",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0031",
            "U+0032",
            "U+0020",
            "U+0034",
            "U+0032",
            "U+002E",
            "U+0037",
            "U+0035"
          ]
        },
        {
          "text_raw": "Форма 033: существующие поля  Документ 00033; сумма 42,75 руб.  Подпись 6 pt: Ёлка_033  Ёлка_027",
          "text_nfc_ws": "Форма 033: существующие поля Документ 00033; сумма 42,75 руб. Подпись 6 pt: Ёлка_033 Ёлка_027",
          "raw_codepoints": [
            "U+0424",
            "U+043E",
            "U+0440",
            "U+043C",
            "U+0430",
            "U+0020",
            "U+0030",
            "U+0033",
            "U+0033",
            "U+003A",
            "U+0020",
            "U+0441",
            "U+0443",
            "U+0449",
            "U+0435",
            "U+0441",
            "U+0442",
            "U+0432",
            "U+0443",
            "U+044E",
            "U+0449",
            "U+0438",
            "U+0435",
            "U+0020",
            "U+043F",
            "U+043E",
            "U+043B",
            "U+044F",
            "U+0020",
            "U+0020",
            "U+0414",
            "U+043E",
            "U+043A",
            "U+0443",
            "U+043C",
            "U+0435",
            "U+043D",
            "U+0442",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0030",
            "U+0033",
            "U+0033",
            "U+003B",
            "U+0020",
            "U+0441",
            "U+0443",
            "U+043C",
            "U+043C",
            "U+0430",
            "U+0020",
            "U+0034",
            "U+0032",
            "U+002C",
            "U+0037",
            "U+0035",
            "U+0020",
            "U+0440",
            "U+0443",
            "U+0431",
            "U+002E",
            "U+0020",
            "U+0020",
            "U+041F",
            "U+043E",
            "U+0434",
            "U+043F",
            "U+0438",
            "U+0441",
            "U+044C",
            "U+0020",
            "U+0036",
            "U+0020",
            "U+0070",
            "U+0074",
            "U+003A",
            "U+0020",
            "U+0401",
            "U+043B",
            "U+043A",
            "U+0430",
            "U+005F",
            "U+0030",
            "U+0033",
            "U+0033",
            "U+0020",
            "U+0020",
            "U+0401",
            "U+043B",
            "U+043A",
            "U+0430",
            "U+005F",
            "U+0030",
            "U+0032",
            "U+0037"
          ]
        },
        {
          "text_raw": "Раздел 034: навигация и архив  Начало: страница 1; форма: страница 3  Нейтральный текст 6 pt: 0012",
          "text_nfc_ws": "Раздел 034: навигация и архив Начало: страница 1; форма: страница 3 Нейтральный текст 6 pt: 0012",
          "raw_codepoints": [
            "U+0420",
            "U+0430",
            "U+0437",
            "U+0434",
            "U+0435",
            "U+043B",
            "U+0020",
            "U+0030",
            "U+0033",
            "U+0034",
            "U+003A",
            "U+0020",
            "U+043D",
            "U+0430",
            "U+0432",
            "U+0438",
            "U+0433",
            "U+0430",
            "U+0446",
            "U+0438",
            "U+044F",
            "U+0020",
            "U+0438",
            "U+0020",
            "U+0430",
            "U+0440",
            "U+0445",
            "U+0438",
            "U+0432",
            "U+0020",
            "U+0020",
            "U+041D",
            "U+0430",
            "U+0447",
            "U+0430",
            "U+043B",
            "U+043E",
            "U+003A",
            "U+0020",
            "U+0441",
            "U+0442",
            "U+0440",
            "U+0430",
            "U+043D",
            "U+0438",
            "U+0446",
            "U+0430",
            "U+0020",
            "U+0031",
            "U+003B",
            "U+0020",
            "U+0444",
            "U+043E",
            "U+0440",
            "U+043C",
            "U+0430",
            "U+003A",
            "U+0020",
            "U+0441",
            "U+0442",
            "U+0440",
            "U+0430",
            "U+043D",
            "U+0438",
            "U+0446",
            "U+0430",
            "U+0020",
            "U+0033",
            "U+0020",
            "U+0020",
            "U+041D",
            "U+0435",
            "U+0439",
            "U+0442",
            "U+0440",
            "U+0430",
            "U+043B",
            "U+044C",
            "U+043D",
            "U+044B",
            "U+0439",
            "U+0020",
            "U+0442",
            "U+0435",
            "U+043A",
            "U+0441",
            "U+0442",
            "U+0020",
            "U+0036",
            "U+0020",
            "U+0070",
            "U+0074",
            "U+003A",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0031",
            "U+0032"
          ]
        }
      ],
      "dokivo-raster-144": [
        {
          "text_raw": "Таблица 031: количество 0012  Цена 42,75; итог 513,00 руб.  Чёрная подпись 6 pt: Ёлка_031",
          "text_nfc_ws": "Таблица 031: количество 0012 Цена 42,75; итог 513,00 руб. Чёрная подпись 6 pt: Ёлка_031",
          "raw_codepoints": [
            "U+0422",
            "U+0430",
            "U+0431",
            "U+043B",
            "U+0438",
            "U+0446",
            "U+0430",
            "U+0020",
            "U+0030",
            "U+0033",
            "U+0031",
            "U+003A",
            "U+0020",
            "U+043A",
            "U+043E",
            "U+043B",
            "U+0438",
            "U+0447",
            "U+0435",
            "U+0441",
            "U+0442",
            "U+0432",
            "U+043E",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0031",
            "U+0032",
            "U+0020",
            "U+0020",
            "U+0426",
            "U+0435",
            "U+043D",
            "U+0430",
            "U+0020",
            "U+0034",
            "U+0032",
            "U+002C",
            "U+0037",
            "U+0035",
            "U+003B",
            "U+0020",
            "U+0438",
            "U+0442",
            "U+043E",
            "U+0433",
            "U+0020",
            "U+0035",
            "U+0031",
            "U+0033",
            "U+002C",
            "U+0030",
            "U+0030",
            "U+0020",
            "U+0440",
            "U+0443",
            "U+0431",
            "U+002E",
            "U+0020",
            "U+0020",
            "U+0427",
            "U+0451",
            "U+0440",
            "U+043D",
            "U+0430",
            "U+044F",
            "U+0020",
            "U+043F",
            "U+043E",
            "U+0434",
            "U+043F",
            "U+0438",
            "U+0441",
            "U+044C",
            "U+0020",
            "U+0036",
            "U+0020",
            "U+0070",
            "U+0074",
            "U+003A",
            "U+0020",
            "U+0401",
            "U+043B",
            "U+043A",
            "U+0430",
            "U+005F",
            "U+0030",
            "U+0033",
            "U+0031"
          ]
        },
        {
          "text_raw": "СКАН 032: Ёлка и Йод  Договор 00032; сумма 9876,54 руб.  СУЩЕСТВУЮЩИЙ OCR: 0012 42.75",
          "text_nfc_ws": "СКАН 032: Ёлка и Йод Договор 00032; сумма 9876,54 руб. СУЩЕСТВУЮЩИЙ OCR: 0012 42.75",
          "raw_codepoints": [
            "U+0421",
            "U+041A",
            "U+0410",
            "U+041D",
            "U+0020",
            "U+0030",
            "U+0033",
            "U+0032",
            "U+003A",
            "U+0020",
            "U+0401",
            "U+043B",
            "U+043A",
            "U+0430",
            "U+0020",
            "U+0438",
            "U+0020",
            "U+0419",
            "U+043E",
            "U+0434",
            "U+0020",
            "U+0020",
            "U+0414",
            "U+043E",
            "U+0433",
            "U+043E",
            "U+0432",
            "U+043E",
            "U+0440",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0030",
            "U+0033",
            "U+0032",
            "U+003B",
            "U+0020",
            "U+0441",
            "U+0443",
            "U+043C",
            "U+043C",
            "U+0430",
            "U+0020",
            "U+0039",
            "U+0038",
            "U+0037",
            "U+0036",
            "U+002C",
            "U+0035",
            "U+0034",
            "U+0020",
            "U+0440",
            "U+0443",
            "U+0431",
            "U+002E",
            "U+0020",
            "U+0020",
            "U+0421",
            "U+0423",
            "U+0429",
            "U+0415",
            "U+0421",
            "U+0422",
            "U+0412",
            "U+0423",
            "U+042E",
            "U+0429",
            "U+0418",
            "U+0419",
            "U+0020",
            "U+004F",
            "U+0043",
            "U+0052",
            "U+003A",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0031",
            "U+0032",
            "U+0020",
            "U+0034",
            "U+0032",
            "U+002E",
            "U+0037",
            "U+0035"
          ]
        },
        {
          "text_raw": "Форма 033: существующие поля  Документ 00033; сумма 42,75 руб.  Подпись 6 pt: Ёлка_033",
          "text_nfc_ws": "Форма 033: существующие поля Документ 00033; сумма 42,75 руб. Подпись 6 pt: Ёлка_033",
          "raw_codepoints": [
            "U+0424",
            "U+043E",
            "U+0440",
            "U+043C",
            "U+0430",
            "U+0020",
            "U+0030",
            "U+0033",
            "U+0033",
            "U+003A",
            "U+0020",
            "U+0441",
            "U+0443",
            "U+0449",
            "U+0435",
            "U+0441",
            "U+0442",
            "U+0432",
            "U+0443",
            "U+044E",
            "U+0449",
            "U+0438",
            "U+0435",
            "U+0020",
            "U+043F",
            "U+043E",
            "U+043B",
            "U+044F",
            "U+0020",
            "U+0020",
            "U+0414",
            "U+043E",
            "U+043A",
            "U+0443",
            "U+043C",
            "U+0435",
            "U+043D",
            "U+0442",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0030",
            "U+0033",
            "U+0033",
            "U+003B",
            "U+0020",
            "U+0441",
            "U+0443",
            "U+043C",
            "U+043C",
            "U+0430",
            "U+0020",
            "U+0034",
            "U+0032",
            "U+002C",
            "U+0037",
            "U+0035",
            "U+0020",
            "U+0440",
            "U+0443",
            "U+0431",
            "U+002E",
            "U+0020",
            "U+0020",
            "U+041F",
            "U+043E",
            "U+0434",
            "U+043F",
            "U+0438",
            "U+0441",
            "U+044C",
            "U+0020",
            "U+0036",
            "U+0020",
            "U+0070",
            "U+0074",
            "U+003A",
            "U+0020",
            "U+0401",
            "U+043B",
            "U+043A",
            "U+0430",
            "U+005F",
            "U+0030",
            "U+0033",
            "U+0033"
          ]
        },
        {
          "text_raw": "Раздел 034: навигация и архив  Начало: страница 1; форма: страница 3  Нейтральный текст 6 pt: 0012",
          "text_nfc_ws": "Раздел 034: навигация и архив Начало: страница 1; форма: страница 3 Нейтральный текст 6 pt: 0012",
          "raw_codepoints": [
            "U+0420",
            "U+0430",
            "U+0437",
            "U+0434",
            "U+0435",
            "U+043B",
            "U+0020",
            "U+0030",
            "U+0033",
            "U+0034",
            "U+003A",
            "U+0020",
            "U+043D",
            "U+0430",
            "U+0432",
            "U+0438",
            "U+0433",
            "U+0430",
            "U+0446",
            "U+0438",
            "U+044F",
            "U+0020",
            "U+0438",
            "U+0020",
            "U+0430",
            "U+0440",
            "U+0445",
            "U+0438",
            "U+0432",
            "U+0020",
            "U+0020",
            "U+041D",
            "U+0430",
            "U+0447",
            "U+0430",
            "U+043B",
            "U+043E",
            "U+003A",
            "U+0020",
            "U+0441",
            "U+0442",
            "U+0440",
            "U+0430",
            "U+043D",
            "U+0438",
            "U+0446",
            "U+0430",
            "U+0020",
            "U+0031",
            "U+003B",
            "U+0020",
            "U+0444",
            "U+043E",
            "U+0440",
            "U+043C",
            "U+0430",
            "U+003A",
            "U+0020",
            "U+0441",
            "U+0442",
            "U+0440",
            "U+0430",
            "U+043D",
            "U+0438",
            "U+0446",
            "U+0430",
            "U+0020",
            "U+0033",
            "U+0020",
            "U+0020",
            "U+041D",
            "U+0435",
            "U+0439",
            "U+0442",
            "U+0440",
            "U+0430",
            "U+043B",
            "U+044C",
            "U+043D",
            "U+044B",
            "U+0439",
            "U+0020",
            "U+0442",
            "U+0435",
            "U+043A",
            "U+0441",
            "U+0442",
            "U+0020",
            "U+0036",
            "U+0020",
            "U+0070",
            "U+0074",
            "U+003A",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0031",
            "U+0032"
          ]
        }
      ],
      "dokivo-vector": [
        {
          "text_raw": "Таблица 031: количество 0012  Цена 42,75; итог 513,00 руб.  Чёрная подпись 6 pt: Ёлка_031",
          "text_nfc_ws": "Таблица 031: количество 0012 Цена 42,75; итог 513,00 руб. Чёрная подпись 6 pt: Ёлка_031",
          "raw_codepoints": [
            "U+0422",
            "U+0430",
            "U+0431",
            "U+043B",
            "U+0438",
            "U+0446",
            "U+0430",
            "U+0020",
            "U+0030",
            "U+0033",
            "U+0031",
            "U+003A",
            "U+0020",
            "U+043A",
            "U+043E",
            "U+043B",
            "U+0438",
            "U+0447",
            "U+0435",
            "U+0441",
            "U+0442",
            "U+0432",
            "U+043E",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0031",
            "U+0032",
            "U+0020",
            "U+0020",
            "U+0426",
            "U+0435",
            "U+043D",
            "U+0430",
            "U+0020",
            "U+0034",
            "U+0032",
            "U+002C",
            "U+0037",
            "U+0035",
            "U+003B",
            "U+0020",
            "U+0438",
            "U+0442",
            "U+043E",
            "U+0433",
            "U+0020",
            "U+0035",
            "U+0031",
            "U+0033",
            "U+002C",
            "U+0030",
            "U+0030",
            "U+0020",
            "U+0440",
            "U+0443",
            "U+0431",
            "U+002E",
            "U+0020",
            "U+0020",
            "U+0427",
            "U+0451",
            "U+0440",
            "U+043D",
            "U+0430",
            "U+044F",
            "U+0020",
            "U+043F",
            "U+043E",
            "U+0434",
            "U+043F",
            "U+0438",
            "U+0441",
            "U+044C",
            "U+0020",
            "U+0036",
            "U+0020",
            "U+0070",
            "U+0074",
            "U+003A",
            "U+0020",
            "U+0401",
            "U+043B",
            "U+043A",
            "U+0430",
            "U+005F",
            "U+0030",
            "U+0033",
            "U+0031"
          ]
        },
        {
          "text_raw": "СКАН 032: Ёлка и Йод  Договор 00032; сумма 9876,54 руб.  СУЩЕСТВУЮЩИЙ OCR: 0012 42.75",
          "text_nfc_ws": "СКАН 032: Ёлка и Йод Договор 00032; сумма 9876,54 руб. СУЩЕСТВУЮЩИЙ OCR: 0012 42.75",
          "raw_codepoints": [
            "U+0421",
            "U+041A",
            "U+0410",
            "U+041D",
            "U+0020",
            "U+0030",
            "U+0033",
            "U+0032",
            "U+003A",
            "U+0020",
            "U+0401",
            "U+043B",
            "U+043A",
            "U+0430",
            "U+0020",
            "U+0438",
            "U+0020",
            "U+0419",
            "U+043E",
            "U+0434",
            "U+0020",
            "U+0020",
            "U+0414",
            "U+043E",
            "U+0433",
            "U+043E",
            "U+0432",
            "U+043E",
            "U+0440",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0030",
            "U+0033",
            "U+0032",
            "U+003B",
            "U+0020",
            "U+0441",
            "U+0443",
            "U+043C",
            "U+043C",
            "U+0430",
            "U+0020",
            "U+0039",
            "U+0038",
            "U+0037",
            "U+0036",
            "U+002C",
            "U+0035",
            "U+0034",
            "U+0020",
            "U+0440",
            "U+0443",
            "U+0431",
            "U+002E",
            "U+0020",
            "U+0020",
            "U+0421",
            "U+0423",
            "U+0429",
            "U+0415",
            "U+0421",
            "U+0422",
            "U+0412",
            "U+0423",
            "U+042E",
            "U+0429",
            "U+0418",
            "U+0419",
            "U+0020",
            "U+004F",
            "U+0043",
            "U+0052",
            "U+003A",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0031",
            "U+0032",
            "U+0020",
            "U+0034",
            "U+0032",
            "U+002E",
            "U+0037",
            "U+0035"
          ]
        },
        {
          "text_raw": "Форма 033: существующие поля  Документ 00033; сумма 42,75 руб.  Подпись 6 pt: Ёлка_033",
          "text_nfc_ws": "Форма 033: существующие поля Документ 00033; сумма 42,75 руб. Подпись 6 pt: Ёлка_033",
          "raw_codepoints": [
            "U+0424",
            "U+043E",
            "U+0440",
            "U+043C",
            "U+0430",
            "U+0020",
            "U+0030",
            "U+0033",
            "U+0033",
            "U+003A",
            "U+0020",
            "U+0441",
            "U+0443",
            "U+0449",
            "U+0435",
            "U+0441",
            "U+0442",
            "U+0432",
            "U+0443",
            "U+044E",
            "U+0449",
            "U+0438",
            "U+0435",
            "U+0020",
            "U+043F",
            "U+043E",
            "U+043B",
            "U+044F",
            "U+0020",
            "U+0020",
            "U+0414",
            "U+043E",
            "U+043A",
            "U+0443",
            "U+043C",
            "U+0435",
            "U+043D",
            "U+0442",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0030",
            "U+0033",
            "U+0033",
            "U+003B",
            "U+0020",
            "U+0441",
            "U+0443",
            "U+043C",
            "U+043C",
            "U+0430",
            "U+0020",
            "U+0034",
            "U+0032",
            "U+002C",
            "U+0037",
            "U+0035",
            "U+0020",
            "U+0440",
            "U+0443",
            "U+0431",
            "U+002E",
            "U+0020",
            "U+0020",
            "U+041F",
            "U+043E",
            "U+0434",
            "U+043F",
            "U+0438",
            "U+0441",
            "U+044C",
            "U+0020",
            "U+0036",
            "U+0020",
            "U+0070",
            "U+0074",
            "U+003A",
            "U+0020",
            "U+0401",
            "U+043B",
            "U+043A",
            "U+0430",
            "U+005F",
            "U+0030",
            "U+0033",
            "U+0033"
          ]
        },
        {
          "text_raw": "Раздел 034: навигация и архив  Начало: страница 1; форма: страница 3  Нейтральный текст 6 pt: 0012",
          "text_nfc_ws": "Раздел 034: навигация и архив Начало: страница 1; форма: страница 3 Нейтральный текст 6 pt: 0012",
          "raw_codepoints": [
            "U+0420",
            "U+0430",
            "U+0437",
            "U+0434",
            "U+0435",
            "U+043B",
            "U+0020",
            "U+0030",
            "U+0033",
            "U+0034",
            "U+003A",
            "U+0020",
            "U+043D",
            "U+0430",
            "U+0432",
            "U+0438",
            "U+0433",
            "U+0430",
            "U+0446",
            "U+0438",
            "U+044F",
            "U+0020",
            "U+0438",
            "U+0020",
            "U+0430",
            "U+0440",
            "U+0445",
            "U+0438",
            "U+0432",
            "U+0020",
            "U+0020",
            "U+041D",
            "U+0430",
            "U+0447",
            "U+0430",
            "U+043B",
            "U+043E",
            "U+003A",
            "U+0020",
            "U+0441",
            "U+0442",
            "U+0440",
            "U+0430",
            "U+043D",
            "U+0438",
            "U+0446",
            "U+0430",
            "U+0020",
            "U+0031",
            "U+003B",
            "U+0020",
            "U+0444",
            "U+043E",
            "U+0440",
            "U+043C",
            "U+0430",
            "U+003A",
            "U+0020",
            "U+0441",
            "U+0442",
            "U+0440",
            "U+0430",
            "U+043D",
            "U+0438",
            "U+0446",
            "U+0430",
            "U+0020",
            "U+0033",
            "U+0020",
            "U+0020",
            "U+041D",
            "U+0435",
            "U+0439",
            "U+0442",
            "U+0440",
            "U+0430",
            "U+043B",
            "U+044C",
            "U+043D",
            "U+044B",
            "U+0439",
            "U+0020",
            "U+0442",
            "U+0435",
            "U+043A",
            "U+0441",
            "U+0442",
            "U+0020",
            "U+0036",
            "U+0020",
            "U+0070",
            "U+0074",
            "U+003A",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0031",
            "U+0032"
          ]
        }
      ],
      "same-donor-ungrafted": [
        {
          "text_raw": "Таблица 031: количество 0012  Цена 42,75; итог 513,00 руб.  Чёрная подпись 6 pt: Ёлка_031",
          "text_nfc_ws": "Таблица 031: количество 0012 Цена 42,75; итог 513,00 руб. Чёрная подпись 6 pt: Ёлка_031",
          "raw_codepoints": [
            "U+0422",
            "U+0430",
            "U+0431",
            "U+043B",
            "U+0438",
            "U+0446",
            "U+0430",
            "U+0020",
            "U+0030",
            "U+0033",
            "U+0031",
            "U+003A",
            "U+0020",
            "U+043A",
            "U+043E",
            "U+043B",
            "U+0438",
            "U+0447",
            "U+0435",
            "U+0441",
            "U+0442",
            "U+0432",
            "U+043E",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0031",
            "U+0032",
            "U+0020",
            "U+0020",
            "U+0426",
            "U+0435",
            "U+043D",
            "U+0430",
            "U+0020",
            "U+0034",
            "U+0032",
            "U+002C",
            "U+0037",
            "U+0035",
            "U+003B",
            "U+0020",
            "U+0438",
            "U+0442",
            "U+043E",
            "U+0433",
            "U+0020",
            "U+0035",
            "U+0031",
            "U+0033",
            "U+002C",
            "U+0030",
            "U+0030",
            "U+0020",
            "U+0440",
            "U+0443",
            "U+0431",
            "U+002E",
            "U+0020",
            "U+0020",
            "U+0427",
            "U+0451",
            "U+0440",
            "U+043D",
            "U+0430",
            "U+044F",
            "U+0020",
            "U+043F",
            "U+043E",
            "U+0434",
            "U+043F",
            "U+0438",
            "U+0441",
            "U+044C",
            "U+0020",
            "U+0036",
            "U+0020",
            "U+0070",
            "U+0074",
            "U+003A",
            "U+0020",
            "U+0401",
            "U+043B",
            "U+043A",
            "U+0430",
            "U+005F",
            "U+0030",
            "U+0033",
            "U+0031"
          ]
        },
        {
          "text_raw": "СКАН 032: Ёлка и Йод  Договор 00032; сумма 9876,54 руб.  СУЩЕСТВУЮЩИЙ OCR: 0012 42.75",
          "text_nfc_ws": "СКАН 032: Ёлка и Йод Договор 00032; сумма 9876,54 руб. СУЩЕСТВУЮЩИЙ OCR: 0012 42.75",
          "raw_codepoints": [
            "U+0421",
            "U+041A",
            "U+0410",
            "U+041D",
            "U+0020",
            "U+0030",
            "U+0033",
            "U+0032",
            "U+003A",
            "U+0020",
            "U+0401",
            "U+043B",
            "U+043A",
            "U+0430",
            "U+0020",
            "U+0438",
            "U+0020",
            "U+0419",
            "U+043E",
            "U+0434",
            "U+0020",
            "U+0020",
            "U+0414",
            "U+043E",
            "U+0433",
            "U+043E",
            "U+0432",
            "U+043E",
            "U+0440",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0030",
            "U+0033",
            "U+0032",
            "U+003B",
            "U+0020",
            "U+0441",
            "U+0443",
            "U+043C",
            "U+043C",
            "U+0430",
            "U+0020",
            "U+0039",
            "U+0038",
            "U+0037",
            "U+0036",
            "U+002C",
            "U+0035",
            "U+0034",
            "U+0020",
            "U+0440",
            "U+0443",
            "U+0431",
            "U+002E",
            "U+0020",
            "U+0020",
            "U+0421",
            "U+0423",
            "U+0429",
            "U+0415",
            "U+0421",
            "U+0422",
            "U+0412",
            "U+0423",
            "U+042E",
            "U+0429",
            "U+0418",
            "U+0419",
            "U+0020",
            "U+004F",
            "U+0043",
            "U+0052",
            "U+003A",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0031",
            "U+0032",
            "U+0020",
            "U+0034",
            "U+0032",
            "U+002E",
            "U+0037",
            "U+0035"
          ]
        },
        {
          "text_raw": "Форма 033: существующие поля  Документ 00033; сумма 42,75 руб.  Подпись 6 pt: Ёлка_033",
          "text_nfc_ws": "Форма 033: существующие поля Документ 00033; сумма 42,75 руб. Подпись 6 pt: Ёлка_033",
          "raw_codepoints": [
            "U+0424",
            "U+043E",
            "U+0440",
            "U+043C",
            "U+0430",
            "U+0020",
            "U+0030",
            "U+0033",
            "U+0033",
            "U+003A",
            "U+0020",
            "U+0441",
            "U+0443",
            "U+0449",
            "U+0435",
            "U+0441",
            "U+0442",
            "U+0432",
            "U+0443",
            "U+044E",
            "U+0449",
            "U+0438",
            "U+0435",
            "U+0020",
            "U+043F",
            "U+043E",
            "U+043B",
            "U+044F",
            "U+0020",
            "U+0020",
            "U+0414",
            "U+043E",
            "U+043A",
            "U+0443",
            "U+043C",
            "U+0435",
            "U+043D",
            "U+0442",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0030",
            "U+0033",
            "U+0033",
            "U+003B",
            "U+0020",
            "U+0441",
            "U+0443",
            "U+043C",
            "U+043C",
            "U+0430",
            "U+0020",
            "U+0034",
            "U+0032",
            "U+002C",
            "U+0037",
            "U+0035",
            "U+0020",
            "U+0440",
            "U+0443",
            "U+0431",
            "U+002E",
            "U+0020",
            "U+0020",
            "U+041F",
            "U+043E",
            "U+0434",
            "U+043F",
            "U+0438",
            "U+0441",
            "U+044C",
            "U+0020",
            "U+0036",
            "U+0020",
            "U+0070",
            "U+0074",
            "U+003A",
            "U+0020",
            "U+0401",
            "U+043B",
            "U+043A",
            "U+0430",
            "U+005F",
            "U+0030",
            "U+0033",
            "U+0033"
          ]
        },
        {
          "text_raw": "Раздел 034: навигация и архив  Начало: страница 1; форма: страница 3  Нейтральный текст 6 pt: 0012",
          "text_nfc_ws": "Раздел 034: навигация и архив Начало: страница 1; форма: страница 3 Нейтральный текст 6 pt: 0012",
          "raw_codepoints": [
            "U+0420",
            "U+0430",
            "U+0437",
            "U+0434",
            "U+0435",
            "U+043B",
            "U+0020",
            "U+0030",
            "U+0033",
            "U+0034",
            "U+003A",
            "U+0020",
            "U+043D",
            "U+0430",
            "U+0432",
            "U+0438",
            "U+0433",
            "U+0430",
            "U+0446",
            "U+0438",
            "U+044F",
            "U+0020",
            "U+0438",
            "U+0020",
            "U+0430",
            "U+0440",
            "U+0445",
            "U+0438",
            "U+0432",
            "U+0020",
            "U+0020",
            "U+041D",
            "U+0430",
            "U+0447",
            "U+0430",
            "U+043B",
            "U+043E",
            "U+003A",
            "U+0020",
            "U+0441",
            "U+0442",
            "U+0440",
            "U+0430",
            "U+043D",
            "U+0438",
            "U+0446",
            "U+0430",
            "U+0020",
            "U+0031",
            "U+003B",
            "U+0020",
            "U+0444",
            "U+043E",
            "U+0440",
            "U+043C",
            "U+0430",
            "U+003A",
            "U+0020",
            "U+0441",
            "U+0442",
            "U+0440",
            "U+0430",
            "U+043D",
            "U+0438",
            "U+0446",
            "U+0430",
            "U+0020",
            "U+0033",
            "U+0020",
            "U+0020",
            "U+041D",
            "U+0435",
            "U+0439",
            "U+0442",
            "U+0440",
            "U+0430",
            "U+043B",
            "U+044C",
            "U+043D",
            "U+044B",
            "U+0439",
            "U+0020",
            "U+0442",
            "U+0435",
            "U+043A",
            "U+0441",
            "U+0442",
            "U+0020",
            "U+0036",
            "U+0020",
            "U+0070",
            "U+0074",
            "U+003A",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0031",
            "U+0032"
          ]
        }
      ],
      "same-donor-grafted": [
        {
          "text_raw": "Таблица 031: количество 0012  Цена 42,75; итог 513,00 руб.  Чёрная подпись 6 pt: Ёлка_031",
          "text_nfc_ws": "Таблица 031: количество 0012 Цена 42,75; итог 513,00 руб. Чёрная подпись 6 pt: Ёлка_031",
          "raw_codepoints": [
            "U+0422",
            "U+0430",
            "U+0431",
            "U+043B",
            "U+0438",
            "U+0446",
            "U+0430",
            "U+0020",
            "U+0030",
            "U+0033",
            "U+0031",
            "U+003A",
            "U+0020",
            "U+043A",
            "U+043E",
            "U+043B",
            "U+0438",
            "U+0447",
            "U+0435",
            "U+0441",
            "U+0442",
            "U+0432",
            "U+043E",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0031",
            "U+0032",
            "U+0020",
            "U+0020",
            "U+0426",
            "U+0435",
            "U+043D",
            "U+0430",
            "U+0020",
            "U+0034",
            "U+0032",
            "U+002C",
            "U+0037",
            "U+0035",
            "U+003B",
            "U+0020",
            "U+0438",
            "U+0442",
            "U+043E",
            "U+0433",
            "U+0020",
            "U+0035",
            "U+0031",
            "U+0033",
            "U+002C",
            "U+0030",
            "U+0030",
            "U+0020",
            "U+0440",
            "U+0443",
            "U+0431",
            "U+002E",
            "U+0020",
            "U+0020",
            "U+0427",
            "U+0451",
            "U+0440",
            "U+043D",
            "U+0430",
            "U+044F",
            "U+0020",
            "U+043F",
            "U+043E",
            "U+0434",
            "U+043F",
            "U+0438",
            "U+0441",
            "U+044C",
            "U+0020",
            "U+0036",
            "U+0020",
            "U+0070",
            "U+0074",
            "U+003A",
            "U+0020",
            "U+0401",
            "U+043B",
            "U+043A",
            "U+0430",
            "U+005F",
            "U+0030",
            "U+0033",
            "U+0031"
          ]
        },
        {
          "text_raw": "СКАН 032: Ёлка и Йод  Договор 00032; сумма 9876,54 руб.  СУЩЕСТВУЮЩИЙ OCR: 0012 42.75",
          "text_nfc_ws": "СКАН 032: Ёлка и Йод Договор 00032; сумма 9876,54 руб. СУЩЕСТВУЮЩИЙ OCR: 0012 42.75",
          "raw_codepoints": [
            "U+0421",
            "U+041A",
            "U+0410",
            "U+041D",
            "U+0020",
            "U+0030",
            "U+0033",
            "U+0032",
            "U+003A",
            "U+0020",
            "U+0401",
            "U+043B",
            "U+043A",
            "U+0430",
            "U+0020",
            "U+0438",
            "U+0020",
            "U+0419",
            "U+043E",
            "U+0434",
            "U+0020",
            "U+0020",
            "U+0414",
            "U+043E",
            "U+0433",
            "U+043E",
            "U+0432",
            "U+043E",
            "U+0440",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0030",
            "U+0033",
            "U+0032",
            "U+003B",
            "U+0020",
            "U+0441",
            "U+0443",
            "U+043C",
            "U+043C",
            "U+0430",
            "U+0020",
            "U+0039",
            "U+0038",
            "U+0037",
            "U+0036",
            "U+002C",
            "U+0035",
            "U+0034",
            "U+0020",
            "U+0440",
            "U+0443",
            "U+0431",
            "U+002E",
            "U+0020",
            "U+0020",
            "U+0421",
            "U+0423",
            "U+0429",
            "U+0415",
            "U+0421",
            "U+0422",
            "U+0412",
            "U+0423",
            "U+042E",
            "U+0429",
            "U+0418",
            "U+0419",
            "U+0020",
            "U+004F",
            "U+0043",
            "U+0052",
            "U+003A",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0031",
            "U+0032",
            "U+0020",
            "U+0034",
            "U+0032",
            "U+002E",
            "U+0037",
            "U+0035"
          ]
        },
        {
          "text_raw": "Форма 033: существующие поля  Документ 00033; сумма 42,75 руб.  Подпись 6 pt: Ёлка_033",
          "text_nfc_ws": "Форма 033: существующие поля Документ 00033; сумма 42,75 руб. Подпись 6 pt: Ёлка_033",
          "raw_codepoints": [
            "U+0424",
            "U+043E",
            "U+0440",
            "U+043C",
            "U+0430",
            "U+0020",
            "U+0030",
            "U+0033",
            "U+0033",
            "U+003A",
            "U+0020",
            "U+0441",
            "U+0443",
            "U+0449",
            "U+0435",
            "U+0441",
            "U+0442",
            "U+0432",
            "U+0443",
            "U+044E",
            "U+0449",
            "U+0438",
            "U+0435",
            "U+0020",
            "U+043F",
            "U+043E",
            "U+043B",
            "U+044F",
            "U+0020",
            "U+0020",
            "U+0414",
            "U+043E",
            "U+043A",
            "U+0443",
            "U+043C",
            "U+0435",
            "U+043D",
            "U+0442",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0030",
            "U+0033",
            "U+0033",
            "U+003B",
            "U+0020",
            "U+0441",
            "U+0443",
            "U+043C",
            "U+043C",
            "U+0430",
            "U+0020",
            "U+0034",
            "U+0032",
            "U+002C",
            "U+0037",
            "U+0035",
            "U+0020",
            "U+0440",
            "U+0443",
            "U+0431",
            "U+002E",
            "U+0020",
            "U+0020",
            "U+041F",
            "U+043E",
            "U+0434",
            "U+043F",
            "U+0438",
            "U+0441",
            "U+044C",
            "U+0020",
            "U+0036",
            "U+0020",
            "U+0070",
            "U+0074",
            "U+003A",
            "U+0020",
            "U+0401",
            "U+043B",
            "U+043A",
            "U+0430",
            "U+005F",
            "U+0030",
            "U+0033",
            "U+0033"
          ]
        },
        {
          "text_raw": "Раздел 034: навигация и архив  Начало: страница 1; форма: страница 3  Нейтральный текст 6 pt: 0012",
          "text_nfc_ws": "Раздел 034: навигация и архив Начало: страница 1; форма: страница 3 Нейтральный текст 6 pt: 0012",
          "raw_codepoints": [
            "U+0420",
            "U+0430",
            "U+0437",
            "U+0434",
            "U+0435",
            "U+043B",
            "U+0020",
            "U+0030",
            "U+0033",
            "U+0034",
            "U+003A",
            "U+0020",
            "U+043D",
            "U+0430",
            "U+0432",
            "U+0438",
            "U+0433",
            "U+0430",
            "U+0446",
            "U+0438",
            "U+044F",
            "U+0020",
            "U+0438",
            "U+0020",
            "U+0430",
            "U+0440",
            "U+0445",
            "U+0438",
            "U+0432",
            "U+0020",
            "U+0020",
            "U+041D",
            "U+0430",
            "U+0447",
            "U+0430",
            "U+043B",
            "U+043E",
            "U+003A",
            "U+0020",
            "U+0441",
            "U+0442",
            "U+0440",
            "U+0430",
            "U+043D",
            "U+0438",
            "U+0446",
            "U+0430",
            "U+0020",
            "U+0031",
            "U+003B",
            "U+0020",
            "U+0444",
            "U+043E",
            "U+0440",
            "U+043C",
            "U+0430",
            "U+003A",
            "U+0020",
            "U+0441",
            "U+0442",
            "U+0440",
            "U+0430",
            "U+043D",
            "U+0438",
            "U+0446",
            "U+0430",
            "U+0020",
            "U+0033",
            "U+0020",
            "U+0020",
            "U+041D",
            "U+0435",
            "U+0439",
            "U+0442",
            "U+0440",
            "U+0430",
            "U+043B",
            "U+044C",
            "U+043D",
            "U+044B",
            "U+0439",
            "U+0020",
            "U+0442",
            "U+0435",
            "U+043A",
            "U+0441",
            "U+0442",
            "U+0020",
            "U+0036",
            "U+0020",
            "U+0070",
            "U+0074",
            "U+003A",
            "U+0020",
            "U+0030",
            "U+0030",
            "U+0031",
            "U+0032"
          ]
        }
      ]
    }
  },
  "same_donor": {
    "construction_limit": "The donor was intentionally stripped of source AcroForm/Annots. This is a mechanism control, not a claim that default GS or an online vendor loses them. The probe changes only graft restoration on converted pages; it does not establish a Unicode repair effect.",
    "controlled_converted_pages": [
      {
        "page": 1,
        "rule_crop": {
          "gray_bit_equal": true,
          "gray_mean_absolute_difference": 0.0,
          "gray_pixels_difference_gt16": 0,
          "ink_iou": 1.0,
          "ink_threshold": 128,
          "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
          "rgb_bit_equal": true,
          "same_size": true
        },
        "same_body_72dpi_rgb": true,
        "same_pdfium_copy": true,
        "same_pdfjs_copy": true,
        "tiny_crop": {
          "gray_bit_equal": true,
          "gray_mean_absolute_difference": 0.0,
          "gray_pixels_difference_gt16": 0,
          "ink_iou": 1.0,
          "ink_threshold": 128,
          "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
          "rgb_bit_equal": true,
          "same_size": true
        }
      },
      {
        "page": 2,
        "rule_crop": {
          "gray_bit_equal": true,
          "gray_mean_absolute_difference": 0.0,
          "gray_pixels_difference_gt16": 0,
          "ink_iou": 1.0,
          "ink_threshold": 128,
          "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
          "rgb_bit_equal": true,
          "same_size": true
        },
        "same_body_72dpi_rgb": true,
        "same_pdfium_copy": true,
        "same_pdfjs_copy": true,
        "tiny_crop": {
          "gray_bit_equal": true,
          "gray_mean_absolute_difference": 0.0,
          "gray_pixels_difference_gt16": 0,
          "ink_iou": 1.0,
          "ink_threshold": 128,
          "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
          "rgb_bit_equal": true,
          "same_size": true
        }
      },
      {
        "page": 3,
        "rule_crop": {
          "gray_bit_equal": true,
          "gray_mean_absolute_difference": 0.0,
          "gray_pixels_difference_gt16": 0,
          "ink_iou": 1.0,
          "ink_threshold": 128,
          "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
          "rgb_bit_equal": true,
          "same_size": true
        },
        "same_body_72dpi_rgb": true,
        "same_pdfium_copy": true,
        "same_pdfjs_copy": true,
        "tiny_crop": {
          "gray_bit_equal": true,
          "gray_mean_absolute_difference": 0.0,
          "gray_pixels_difference_gt16": 0,
          "ink_iou": 1.0,
          "ink_threshold": 128,
          "interpretation": "Fixed black-on-white crop only; no whole-page grayscale luminance equivalence claim.",
          "rgb_bit_equal": true,
          "same_size": true
        }
      }
    ],
    "grafted_editability": {
      "artifact": "workflow-same-donor-grafted-edited.pdf",
      "attempted": true,
      "passed": true,
      "reopenedChecked": false,
      "reopenedFieldContract": [
        {
          "flags": 0,
          "maxLength": null,
          "name": "agreed",
          "readOnly": false,
          "widgets": [
            {
              "apDigest": "b23299af9afe4e483c51b0c4a3a98e26f72752832f15aa80cf6b0deefcf70a5f",
              "apPresent": true,
              "page": 3,
              "parentPresent": true,
              "rect": [
                310,
                95,
                330,
                115
              ]
            }
          ]
        },
        {
          "flags": 0,
          "maxLength": 64,
          "name": "client_name",
          "readOnly": false,
          "widgets": [
            {
              "apDigest": "dcc957b669347441c0b2b40bf94f9cb6744c9ea8b5a69e8ae491ac5ac1ac933c",
              "apPresent": true,
              "page": 3,
              "parentPresent": true,
              "rect": [
                36,
                95,
                250,
                125
              ]
            }
          ]
        }
      ],
      "reopenedValue": "ПРОВЕРКА_028",
      "scope": "pdf-lib edit/save/reopen with explicit Golos AP; not a human viewer interaction test"
    },
    "independent_grafted_editability": {
      "passed": true,
      "rendered_appearance_png": "workflow-same-donor-grafted-edited-form144.png",
      "scope": "Independent PDFMiner AcroForm field value/AP presence plus PDFium rendered edit copy. Visual glyph appearance requires reviewing the exported crop; no OCR inference or human viewer interaction is claimed.",
      "status": "read_and_rendered",
      "widgets": [
        {
          "appearance_key": "dict",
          "flags": 0,
          "name": "agreed",
          "page": 3,
          "type": "CheckBox",
          "value": false
        },
        {
          "appearance_key": "dict",
          "flags": 0,
          "name": "client_name",
          "page": 3,
          "type": "Text",
          "value": "ПРОВЕРКА_028"
        }
      ]
    },
    "original_graph_ref_sensitive_digest_restored": true,
    "original_source_graph_semantics_restored": true,
    "same_body_on_all_controlled_pages": true,
    "primary_denominator_addition": 0,
    "donor_sha256": "4f569bbda7e8512a307459fdf80cf246e76ad6b271be40a048226f41b3462a38",
    "grafted_sha256": "fe28d03a657559d148e7e690e1b3fc011370a67f97be73df4e0a43301b3070ae"
  },
  "observer_correction": {
    "allOtherMetricsUnchanged": true,
    "bodyAndNativeROI": {
      "draw_annots": false,
      "may_draw_forms": false
    },
    "explicitFormAndEditedCrops": {
      "draw_annots": true,
      "may_draw_forms": true
    },
    "generatedPDFs": 0,
    "manifestSha256": "5bbcfce9060ed446871c355e5f6e641e00812335a560180fcff191d206fc57dd",
    "meaning": "Correction of an observer form-drawing error on unchanged outputs. This is not a new conversion experiment or an AI ranking result.",
    "pdfjs": "Retained exact original attempt-5 readbacks tied to these pinned PDF bytes; no fresh PDF.js collection.",
    "previousMeasurementsSha256": "21bb4748a6be3c26b6e620ff427ce6236b6dee425c17f17f4099d9c7a4f099bb",
    "processingArmsAdded": 0,
    "pypdfium2Source": "https://raw.githubusercontent.com/pypdfium2-team/pypdfium2/5.12.1/src/pypdfium2/_helpers/page.py",
    "repairedMeasurementsSha256": "35ad51a88e50d61c17cb9c117eadc826f15814c8b8ec617ec3f49405b9bdeaee",
    "retainedOriginalDenominators": {
      "delivered_outputs": 6,
      "processing_attempts": 6,
      "quality_evaluated_pages": 24,
      "source_documents": 2,
      "source_pages": 8
    },
    "schema": "dokivo.pdf-grayscale-proof-readback-repair.v1",
    "sourceCollectionCommit": "406cec9d13c0f0bc20f28eb899be3a3012478f90"
  },
  "meaning": "Dated author benchmark on two synthetic documents, not online vendor internals or an AI ranking result."
}
