{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://cdn.jsdelivr.net/npm/document-schema.js@7.14.0/schemas/document-tree.schema.json",
  "oneOf": [
    {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "const": "wordprocessing"
        },
        "metadata": {
          "type": "object",
          "properties": {
            "title": {
              "type": "string"
            },
            "author": {
              "type": "string"
            },
            "subject": {
              "type": "string"
            },
            "keywords": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "creator": {
              "type": "string"
            },
            "producer": {
              "type": "string"
            },
            "createdIso": {
              "type": "string"
            },
            "modifiedIso": {
              "type": "string"
            },
            "lastPrintedIso": {
              "type": "string"
            },
            "language": {
              "type": "string"
            },
            "direction": {
              "type": "string",
              "enum": [
                "ltr",
                "rtl"
              ]
            },
            "publisher": {
              "type": "string"
            },
            "contributor": {
              "type": "string"
            },
            "rights": {
              "type": "string"
            },
            "identifier": {
              "type": "string"
            },
            "comments": {
              "type": "string"
            },
            "company": {
              "type": "string"
            },
            "manager": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        "symbolTable": {
          "$ref": "#/$defs/SymbolTable"
        },
        "pages": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "widthPt": {
                "type": "number",
                "exclusiveMinimum": 0
              },
              "heightPt": {
                "type": "number",
                "exclusiveMinimum": 0
              }
            },
            "required": [
              "widthPt",
              "heightPt"
            ],
            "additionalProperties": false
          }
        },
        "fonts": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/TreeEmbeddedFont"
          }
        },
        "styles": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "$ref": "#/$defs/StyleEntry"
          }
        },
        "definitions": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "$ref": "#/$defs/DefinitionEntry"
          }
        },
        "layers": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "$ref": "#/$defs/DefinitionEntry"
          }
        },
        "attachments": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "$ref": "#/$defs/DefinitionEntry"
          }
        },
        "destinations": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "$ref": "#/$defs/DefinitionEntry"
          }
        },
        "source": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "type": "object",
            "properties": {
              "format": {
                "type": "string",
                "enum": [
                  "docx",
                  "pptx",
                  "xlsx",
                  "odt",
                  "ods",
                  "odp",
                  "odg",
                  "odm",
                  "odb",
                  "odf",
                  "markdown",
                  "pdf",
                  "epub",
                  "rtf",
                  "wpd"
                ]
              },
              "xml": {
                "type": "string"
              }
            },
            "required": [
              "format",
              "xml"
            ],
            "additionalProperties": false
          }
        },
        "children": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/SectionGroup"
          }
        }
      },
      "required": [
        "kind",
        "metadata",
        "children"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "const": "presentation"
        },
        "metadata": {
          "type": "object",
          "properties": {
            "title": {
              "type": "string"
            },
            "author": {
              "type": "string"
            },
            "subject": {
              "type": "string"
            },
            "keywords": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "creator": {
              "type": "string"
            },
            "producer": {
              "type": "string"
            },
            "createdIso": {
              "type": "string"
            },
            "modifiedIso": {
              "type": "string"
            },
            "lastPrintedIso": {
              "type": "string"
            },
            "language": {
              "type": "string"
            },
            "direction": {
              "type": "string",
              "enum": [
                "ltr",
                "rtl"
              ]
            },
            "publisher": {
              "type": "string"
            },
            "contributor": {
              "type": "string"
            },
            "rights": {
              "type": "string"
            },
            "identifier": {
              "type": "string"
            },
            "comments": {
              "type": "string"
            },
            "company": {
              "type": "string"
            },
            "manager": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        "symbolTable": {
          "$ref": "#/$defs/SymbolTable"
        },
        "pages": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "widthPt": {
                "type": "number",
                "exclusiveMinimum": 0
              },
              "heightPt": {
                "type": "number",
                "exclusiveMinimum": 0
              }
            },
            "required": [
              "widthPt",
              "heightPt"
            ],
            "additionalProperties": false
          }
        },
        "fonts": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/TreeEmbeddedFont"
          }
        },
        "styles": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "$ref": "#/$defs/StyleEntry"
          }
        },
        "definitions": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "$ref": "#/$defs/DefinitionEntry"
          }
        },
        "layers": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "$ref": "#/$defs/DefinitionEntry"
          }
        },
        "attachments": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "$ref": "#/$defs/DefinitionEntry"
          }
        },
        "destinations": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "$ref": "#/$defs/DefinitionEntry"
          }
        },
        "source": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "type": "object",
            "properties": {
              "format": {
                "type": "string",
                "enum": [
                  "docx",
                  "pptx",
                  "xlsx",
                  "odt",
                  "ods",
                  "odp",
                  "odg",
                  "odm",
                  "odb",
                  "odf",
                  "markdown",
                  "pdf",
                  "epub",
                  "rtf",
                  "wpd"
                ]
              },
              "xml": {
                "type": "string"
              }
            },
            "required": [
              "format",
              "xml"
            ],
            "additionalProperties": false
          }
        },
        "children": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/SlideGroup"
          }
        }
      },
      "required": [
        "kind",
        "metadata",
        "children"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "const": "spreadsheet"
        },
        "metadata": {
          "type": "object",
          "properties": {
            "title": {
              "type": "string"
            },
            "author": {
              "type": "string"
            },
            "subject": {
              "type": "string"
            },
            "keywords": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "creator": {
              "type": "string"
            },
            "producer": {
              "type": "string"
            },
            "createdIso": {
              "type": "string"
            },
            "modifiedIso": {
              "type": "string"
            },
            "lastPrintedIso": {
              "type": "string"
            },
            "language": {
              "type": "string"
            },
            "direction": {
              "type": "string",
              "enum": [
                "ltr",
                "rtl"
              ]
            },
            "publisher": {
              "type": "string"
            },
            "contributor": {
              "type": "string"
            },
            "rights": {
              "type": "string"
            },
            "identifier": {
              "type": "string"
            },
            "comments": {
              "type": "string"
            },
            "company": {
              "type": "string"
            },
            "manager": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        "symbolTable": {
          "$ref": "#/$defs/SymbolTable"
        },
        "pages": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "widthPt": {
                "type": "number",
                "exclusiveMinimum": 0
              },
              "heightPt": {
                "type": "number",
                "exclusiveMinimum": 0
              }
            },
            "required": [
              "widthPt",
              "heightPt"
            ],
            "additionalProperties": false
          }
        },
        "fonts": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/TreeEmbeddedFont"
          }
        },
        "styles": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "$ref": "#/$defs/StyleEntry"
          }
        },
        "definitions": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "$ref": "#/$defs/DefinitionEntry"
          }
        },
        "layers": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "$ref": "#/$defs/DefinitionEntry"
          }
        },
        "attachments": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "$ref": "#/$defs/DefinitionEntry"
          }
        },
        "destinations": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "$ref": "#/$defs/DefinitionEntry"
          }
        },
        "source": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "type": "object",
            "properties": {
              "format": {
                "type": "string",
                "enum": [
                  "docx",
                  "pptx",
                  "xlsx",
                  "odt",
                  "ods",
                  "odp",
                  "odg",
                  "odm",
                  "odb",
                  "odf",
                  "markdown",
                  "pdf",
                  "epub",
                  "rtf",
                  "wpd"
                ]
              },
              "xml": {
                "type": "string"
              }
            },
            "required": [
              "format",
              "xml"
            ],
            "additionalProperties": false
          }
        },
        "names": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "refersTo": {
                "type": "string"
              },
              "scopeSheetIndex": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              }
            },
            "required": [
              "name",
              "refersTo"
            ],
            "additionalProperties": false
          }
        },
        "children": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/SheetGroup"
          }
        }
      },
      "required": [
        "kind",
        "metadata",
        "children"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "const": "drawing"
        },
        "metadata": {
          "type": "object",
          "properties": {
            "title": {
              "type": "string"
            },
            "author": {
              "type": "string"
            },
            "subject": {
              "type": "string"
            },
            "keywords": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "creator": {
              "type": "string"
            },
            "producer": {
              "type": "string"
            },
            "createdIso": {
              "type": "string"
            },
            "modifiedIso": {
              "type": "string"
            },
            "lastPrintedIso": {
              "type": "string"
            },
            "language": {
              "type": "string"
            },
            "direction": {
              "type": "string",
              "enum": [
                "ltr",
                "rtl"
              ]
            },
            "publisher": {
              "type": "string"
            },
            "contributor": {
              "type": "string"
            },
            "rights": {
              "type": "string"
            },
            "identifier": {
              "type": "string"
            },
            "comments": {
              "type": "string"
            },
            "company": {
              "type": "string"
            },
            "manager": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        "symbolTable": {
          "$ref": "#/$defs/SymbolTable"
        },
        "pages": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "widthPt": {
                "type": "number",
                "exclusiveMinimum": 0
              },
              "heightPt": {
                "type": "number",
                "exclusiveMinimum": 0
              }
            },
            "required": [
              "widthPt",
              "heightPt"
            ],
            "additionalProperties": false
          }
        },
        "fonts": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/TreeEmbeddedFont"
          }
        },
        "styles": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "$ref": "#/$defs/StyleEntry"
          }
        },
        "definitions": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "$ref": "#/$defs/DefinitionEntry"
          }
        },
        "layers": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "$ref": "#/$defs/DefinitionEntry"
          }
        },
        "attachments": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "$ref": "#/$defs/DefinitionEntry"
          }
        },
        "destinations": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "$ref": "#/$defs/DefinitionEntry"
          }
        },
        "source": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "type": "object",
            "properties": {
              "format": {
                "type": "string",
                "enum": [
                  "docx",
                  "pptx",
                  "xlsx",
                  "odt",
                  "ods",
                  "odp",
                  "odg",
                  "odm",
                  "odb",
                  "odf",
                  "markdown",
                  "pdf",
                  "epub",
                  "rtf",
                  "wpd"
                ]
              },
              "xml": {
                "type": "string"
              }
            },
            "required": [
              "format",
              "xml"
            ],
            "additionalProperties": false
          }
        },
        "children": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/DrawPageGroup"
          }
        }
      },
      "required": [
        "kind",
        "metadata",
        "children"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "const": "formula"
        },
        "metadata": {
          "type": "object",
          "properties": {
            "title": {
              "type": "string"
            },
            "author": {
              "type": "string"
            },
            "subject": {
              "type": "string"
            },
            "keywords": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "creator": {
              "type": "string"
            },
            "producer": {
              "type": "string"
            },
            "createdIso": {
              "type": "string"
            },
            "modifiedIso": {
              "type": "string"
            },
            "lastPrintedIso": {
              "type": "string"
            },
            "language": {
              "type": "string"
            },
            "direction": {
              "type": "string",
              "enum": [
                "ltr",
                "rtl"
              ]
            },
            "publisher": {
              "type": "string"
            },
            "contributor": {
              "type": "string"
            },
            "rights": {
              "type": "string"
            },
            "identifier": {
              "type": "string"
            },
            "comments": {
              "type": "string"
            },
            "company": {
              "type": "string"
            },
            "manager": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        "symbolTable": {
          "$ref": "#/$defs/SymbolTable"
        },
        "pages": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "widthPt": {
                "type": "number",
                "exclusiveMinimum": 0
              },
              "heightPt": {
                "type": "number",
                "exclusiveMinimum": 0
              }
            },
            "required": [
              "widthPt",
              "heightPt"
            ],
            "additionalProperties": false
          }
        },
        "fonts": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/TreeEmbeddedFont"
          }
        },
        "styles": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "$ref": "#/$defs/StyleEntry"
          }
        },
        "definitions": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "$ref": "#/$defs/DefinitionEntry"
          }
        },
        "layers": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "$ref": "#/$defs/DefinitionEntry"
          }
        },
        "attachments": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "$ref": "#/$defs/DefinitionEntry"
          }
        },
        "destinations": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "$ref": "#/$defs/DefinitionEntry"
          }
        },
        "source": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "type": "object",
            "properties": {
              "format": {
                "type": "string",
                "enum": [
                  "docx",
                  "pptx",
                  "xlsx",
                  "odt",
                  "ods",
                  "odp",
                  "odg",
                  "odm",
                  "odb",
                  "odf",
                  "markdown",
                  "pdf",
                  "epub",
                  "rtf",
                  "wpd"
                ]
              },
              "xml": {
                "type": "string"
              }
            },
            "required": [
              "format",
              "xml"
            ],
            "additionalProperties": false
          }
        },
        "children": {
          "minItems": 1,
          "maxItems": 1,
          "type": "array",
          "items": {
            "$ref": "#/$defs/ContentFormula"
          }
        }
      },
      "required": [
        "kind",
        "metadata",
        "children"
      ],
      "additionalProperties": false
    }
  ],
  "$defs": {
    "Color": {
      "type": "object",
      "properties": {
        "r": {
          "type": "number",
          "minimum": 0,
          "maximum": 1
        },
        "g": {
          "type": "number",
          "minimum": 0,
          "maximum": 1
        },
        "b": {
          "type": "number",
          "minimum": 0,
          "maximum": 1
        }
      },
      "required": [
        "r",
        "g",
        "b"
      ],
      "additionalProperties": false
    },
    "Box": {
      "type": "object",
      "properties": {
        "xPt": {
          "type": "number"
        },
        "yPt": {
          "type": "number"
        },
        "widthPt": {
          "type": "number",
          "minimum": 0
        },
        "heightPt": {
          "type": "number",
          "minimum": 0
        }
      },
      "required": [
        "xPt",
        "yPt",
        "widthPt",
        "heightPt"
      ],
      "additionalProperties": false
    },
    "LayoutFrame": {
      "type": "object",
      "properties": {
        "pageIndex": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "xPt": {
          "type": "number"
        },
        "yPt": {
          "type": "number"
        },
        "widthPt": {
          "type": "number",
          "minimum": 0
        },
        "heightPt": {
          "type": "number",
          "minimum": 0
        }
      },
      "required": [
        "pageIndex",
        "xPt",
        "yPt",
        "widthPt",
        "heightPt"
      ],
      "additionalProperties": false
    },
    "Alignment": {
      "type": "string",
      "enum": [
        "left",
        "center",
        "right",
        "justify"
      ]
    },
    "SourceResidue": {
      "type": "object",
      "properties": {
        "format": {
          "type": "string",
          "enum": [
            "docx",
            "pptx",
            "xlsx",
            "odt",
            "ods",
            "odp",
            "odg",
            "odm",
            "odb",
            "odf",
            "markdown",
            "pdf",
            "epub",
            "rtf",
            "wpd"
          ]
        },
        "xml": {
          "type": "string"
        }
      },
      "required": [
        "format",
        "xml"
      ],
      "additionalProperties": false
    },
    "ContentStrokeStyle": {
      "type": "string",
      "enum": [
        "solid",
        "dashed",
        "dotted",
        "double"
      ]
    },
    "ContentBorder": {
      "type": "object",
      "properties": {
        "color": {
          "$ref": "#/$defs/Color"
        },
        "widthPt": {
          "type": "number",
          "exclusiveMinimum": 0
        },
        "style": {
          "$ref": "#/$defs/ContentStrokeStyle"
        }
      },
      "required": [
        "color",
        "widthPt"
      ],
      "additionalProperties": false
    },
    "ContentCellBorders": {
      "type": "object",
      "properties": {
        "left": {
          "$ref": "#/$defs/ContentBorder"
        },
        "right": {
          "$ref": "#/$defs/ContentBorder"
        },
        "top": {
          "$ref": "#/$defs/ContentBorder"
        },
        "bottom": {
          "$ref": "#/$defs/ContentBorder"
        },
        "diagonalUp": {
          "$ref": "#/$defs/ContentBorder"
        },
        "diagonalDown": {
          "$ref": "#/$defs/ContentBorder"
        }
      },
      "additionalProperties": false
    },
    "ContentParagraphBorders": {
      "type": "object",
      "properties": {
        "left": {
          "$ref": "#/$defs/ContentBorder"
        },
        "right": {
          "$ref": "#/$defs/ContentBorder"
        },
        "top": {
          "$ref": "#/$defs/ContentBorder"
        },
        "bottom": {
          "$ref": "#/$defs/ContentBorder"
        }
      },
      "additionalProperties": false
    },
    "ContentCellPatternType": {
      "type": "string",
      "enum": [
        "percent5",
        "percent10",
        "percent12",
        "percent15",
        "percent20",
        "percent25",
        "percent30",
        "percent35",
        "percent37",
        "percent40",
        "percent45",
        "percent50",
        "percent55",
        "percent60",
        "percent62",
        "percent65",
        "percent70",
        "percent75",
        "percent80",
        "percent85",
        "percent87",
        "percent90",
        "percent95",
        "horizontalStripe",
        "verticalStripe",
        "diagonalStripe",
        "reverseDiagonalStripe",
        "horizontalCross",
        "diagonalCross",
        "thinHorizontalStripe",
        "thinVerticalStripe",
        "thinDiagonalStripe",
        "thinReverseDiagonalStripe",
        "thinHorizontalCross",
        "thinDiagonalCross",
        "mediumGray",
        "darkGray",
        "lightGray",
        "darkHorizontal",
        "darkVertical",
        "darkDown",
        "darkUp",
        "darkGrid",
        "darkTrellis",
        "lightHorizontal",
        "lightVertical",
        "lightDown",
        "lightUp",
        "lightGrid",
        "lightTrellis",
        "gray125",
        "gray0625"
      ]
    },
    "ContentCellFill": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "const": "solid"
            },
            "color": {
              "$ref": "#/$defs/Color"
            }
          },
          "required": [
            "kind",
            "color"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "const": "pattern"
            },
            "patternType": {
              "$ref": "#/$defs/ContentCellPatternType"
            },
            "foregroundColor": {
              "$ref": "#/$defs/Color"
            },
            "backgroundColor": {
              "$ref": "#/$defs/Color"
            }
          },
          "required": [
            "kind",
            "patternType"
          ],
          "additionalProperties": false
        }
      ]
    },
    "ContentListMembership": {
      "type": "object",
      "properties": {
        "numId": {
          "type": "string"
        },
        "level": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "checked": {
          "type": "boolean"
        },
        "itemId": {
          "type": "string"
        },
        "format": {
          "type": "string",
          "enum": [
            "bullet",
            "decimal",
            "lowerLetter",
            "upperLetter",
            "lowerRoman",
            "upperRoman"
          ]
        }
      },
      "required": [
        "level"
      ],
      "additionalProperties": false
    },
    "ContentRun": {
      "type": "object",
      "properties": {
        "text": {
          "type": "string"
        },
        "bold": {
          "type": "boolean"
        },
        "italic": {
          "type": "boolean"
        },
        "underline": {
          "type": "boolean"
        },
        "strike": {
          "type": "boolean"
        },
        "fontFamily": {
          "type": "string"
        },
        "sizePt": {
          "type": "number",
          "exclusiveMinimum": 0
        },
        "color": {
          "$ref": "#/$defs/Color"
        },
        "hyperlink": {
          "type": "string"
        },
        "verticalAlign": {
          "type": "string",
          "enum": [
            "superscript",
            "subscript"
          ]
        },
        "direction": {
          "type": "string",
          "enum": [
            "ltr",
            "rtl"
          ]
        },
        "sourcePath": {
          "type": "string"
        },
        "source": {
          "$ref": "#/$defs/SourceResidue"
        },
        "frames": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/LayoutFrame"
          }
        },
        "origin": {
          "$ref": "#/$defs/ContentOrigin"
        },
        "interpretation": {
          "$ref": "#/$defs/ContentInterpretation"
        }
      },
      "required": [
        "text"
      ],
      "additionalProperties": false
    },
    "RunConstructExtent": {
      "type": "object",
      "properties": {
        "descriptor": {
          "$ref": "#/$defs/ConstructDescriptor"
        },
        "startRun": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "endRun": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        }
      },
      "required": [
        "descriptor",
        "startRun",
        "endRun"
      ],
      "additionalProperties": false
    },
    "ContentParagraph": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "const": "paragraph"
        },
        "runs": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ContentRun"
          }
        },
        "constructs": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/RunConstructExtent"
          }
        },
        "styleId": {
          "type": "string"
        },
        "codeLanguage": {
          "type": "string"
        },
        "preformatted": {
          "type": "boolean"
        },
        "headingLevel": {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        },
        "alignment": {
          "$ref": "#/$defs/Alignment"
        },
        "list": {
          "$ref": "#/$defs/ContentListMembership"
        },
        "spacingBeforePt": {
          "type": "number"
        },
        "spacingAfterPt": {
          "type": "number"
        },
        "lineSpacing": {
          "type": "number",
          "exclusiveMinimum": 0
        },
        "indentLeftPt": {
          "type": "number"
        },
        "indentRightPt": {
          "type": "number"
        },
        "indentFirstLinePt": {
          "type": "number"
        },
        "direction": {
          "type": "string",
          "enum": [
            "ltr",
            "rtl"
          ]
        },
        "pageBreakBefore": {
          "type": "boolean"
        },
        "pageBreakAfter": {
          "type": "boolean"
        },
        "borders": {
          "$ref": "#/$defs/ContentParagraphBorders"
        },
        "sourcePath": {
          "type": "string"
        },
        "source": {
          "$ref": "#/$defs/SourceResidue"
        },
        "frames": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/LayoutFrame"
          }
        },
        "origin": {
          "$ref": "#/$defs/ContentOrigin"
        },
        "interpretation": {
          "$ref": "#/$defs/ContentInterpretation"
        }
      },
      "required": [
        "kind",
        "runs"
      ],
      "additionalProperties": false
    },
    "ContentFloatOrigin": {
      "type": "string",
      "enum": [
        "page",
        "margin",
        "leftMargin",
        "rightMargin",
        "topMargin",
        "bottomMargin",
        "insideMargin",
        "outsideMargin",
        "column",
        "character",
        "paragraph",
        "line",
        "frame"
      ]
    },
    "ContentFloatAlign": {
      "type": "string",
      "enum": [
        "left",
        "right",
        "top",
        "bottom",
        "center",
        "inside",
        "outside"
      ]
    },
    "ContentFloatAxis": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "relativeTo": {
              "$ref": "#/$defs/ContentFloatOrigin"
            },
            "offsetPt": {
              "type": "number"
            }
          },
          "required": [
            "relativeTo",
            "offsetPt"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "relativeTo": {
              "$ref": "#/$defs/ContentFloatOrigin"
            },
            "align": {
              "$ref": "#/$defs/ContentFloatAlign"
            }
          },
          "required": [
            "relativeTo",
            "align"
          ],
          "additionalProperties": false
        }
      ]
    },
    "ContentFloatPosition": {
      "type": "object",
      "properties": {
        "horizontal": {
          "$ref": "#/$defs/ContentFloatAxis"
        },
        "vertical": {
          "$ref": "#/$defs/ContentFloatAxis"
        }
      },
      "required": [
        "horizontal",
        "vertical"
      ],
      "additionalProperties": false
    },
    "ContentOrigin": {
      "type": "string",
      "enum": [
        "chart",
        "diagram",
        "table",
        "image",
        "notes",
        "body"
      ]
    },
    "ContentInterpretation": {
      "type": "object",
      "properties": {
        "transcript": {
          "type": "object",
          "properties": {
            "text": {
              "type": "string"
            },
            "confidence": {
              "type": "string",
              "enum": [
                "high",
                "medium",
                "low"
              ]
            },
            "mechanism": {
              "type": "string",
              "enum": [
                "deterministic",
                "model"
              ]
            }
          },
          "required": [
            "text",
            "confidence",
            "mechanism"
          ],
          "additionalProperties": false
        },
        "description": {
          "type": "string"
        },
        "by": {
          "type": "object",
          "properties": {
            "model": {
              "type": "string"
            },
            "at": {
              "type": "string"
            }
          },
          "required": [
            "model",
            "at"
          ],
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "ContentImageOriginal": {
      "type": "object",
      "properties": {
        "filter": {
          "type": "string",
          "enum": [
            "jbig2",
            "jpeg2000"
          ]
        },
        "base64": {
          "type": "string"
        },
        "jbig2GlobalsBase64": {
          "type": "string"
        }
      },
      "required": [
        "filter",
        "base64"
      ],
      "additionalProperties": false
    },
    "ContentImageBlock": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "const": "image"
        },
        "format": {
          "type": "string",
          "enum": [
            "png",
            "jpeg",
            "svg",
            "gif"
          ]
        },
        "base64": {
          "type": "string"
        },
        "widthPt": {
          "type": "number",
          "exclusiveMinimum": 0
        },
        "heightPt": {
          "type": "number",
          "exclusiveMinimum": 0
        },
        "altText": {
          "type": "string"
        },
        "original": {
          "$ref": "#/$defs/ContentImageOriginal"
        },
        "anchorRunIndex": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "anchorOffset": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "caption": {
          "type": "string"
        },
        "floatPosition": {
          "$ref": "#/$defs/ContentFloatPosition"
        },
        "sourcePath": {
          "type": "string"
        },
        "source": {
          "$ref": "#/$defs/SourceResidue"
        },
        "frames": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/LayoutFrame"
          }
        },
        "origin": {
          "$ref": "#/$defs/ContentOrigin"
        },
        "interpretation": {
          "$ref": "#/$defs/ContentInterpretation"
        }
      },
      "required": [
        "kind",
        "format",
        "base64",
        "widthPt",
        "heightPt"
      ],
      "additionalProperties": false
    },
    "ContentPageBreak": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "const": "pageBreak"
        },
        "sourcePath": {
          "type": "string"
        },
        "source": {
          "$ref": "#/$defs/SourceResidue"
        },
        "frames": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/LayoutFrame"
          }
        },
        "origin": {
          "$ref": "#/$defs/ContentOrigin"
        },
        "interpretation": {
          "$ref": "#/$defs/ContentInterpretation"
        }
      },
      "required": [
        "kind"
      ],
      "additionalProperties": false
    },
    "ContentTableCell": {
      "type": "object",
      "properties": {
        "blocks": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ContentBlock"
          }
        },
        "colSpan": {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        },
        "rowSpan": {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        },
        "background": {
          "$ref": "#/$defs/ContentCellFill"
        },
        "borders": {
          "$ref": "#/$defs/ContentCellBorders"
        },
        "verticalAlign": {
          "type": "string",
          "enum": [
            "top",
            "center",
            "bottom"
          ]
        },
        "formula": {
          "type": "string"
        },
        "sourcePath": {
          "type": "string"
        },
        "source": {
          "$ref": "#/$defs/SourceResidue"
        },
        "frames": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/LayoutFrame"
          }
        },
        "origin": {
          "$ref": "#/$defs/ContentOrigin"
        },
        "interpretation": {
          "$ref": "#/$defs/ContentInterpretation"
        }
      },
      "required": [
        "blocks"
      ],
      "additionalProperties": false
    },
    "ContentTableRow": {
      "type": "object",
      "properties": {
        "cells": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ContentTableCell"
          }
        },
        "heightPt": {
          "type": "number",
          "exclusiveMinimum": 0
        },
        "direction": {
          "type": "string",
          "enum": [
            "ltr",
            "rtl"
          ]
        },
        "isHeader": {
          "type": "boolean"
        }
      },
      "required": [
        "cells"
      ],
      "additionalProperties": false
    },
    "ContentTable": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "const": "table"
        },
        "rows": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ContentTableRow"
          }
        },
        "columnWidthsPt": {
          "type": "array",
          "items": {
            "type": "number",
            "minimum": 0
          }
        },
        "sourcePath": {
          "type": "string"
        },
        "source": {
          "$ref": "#/$defs/SourceResidue"
        },
        "frames": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/LayoutFrame"
          }
        },
        "origin": {
          "$ref": "#/$defs/ContentOrigin"
        },
        "interpretation": {
          "$ref": "#/$defs/ContentInterpretation"
        }
      },
      "required": [
        "kind",
        "rows",
        "columnWidthsPt"
      ],
      "additionalProperties": false
    },
    "ContentEmbeddedObjectBlock": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "const": "embeddedObject"
        },
        "objectKind": {
          "type": "string",
          "enum": [
            "formula",
            "wordprocessing",
            "presentation",
            "spreadsheet",
            "drawing",
            "chart"
          ]
        },
        "document": {
          "$ref": "https://cdn.jsdelivr.net/npm/document-schema.js@7.14.0/schemas/content-document.schema.json"
        },
        "frame": {
          "$ref": "#/$defs/Box"
        },
        "sourcePath": {
          "type": "string"
        },
        "source": {
          "$ref": "#/$defs/SourceResidue"
        },
        "frames": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/LayoutFrame"
          }
        },
        "anchorRow": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "anchorColumn": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "offsetXPt": {
          "type": "number"
        },
        "offsetYPt": {
          "type": "number"
        }
      },
      "required": [
        "kind",
        "objectKind",
        "document",
        "frame"
      ],
      "additionalProperties": false
    },
    "ContentConstructStart": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "const": "constructStart"
        },
        "descriptor": {
          "$ref": "#/$defs/ConstructDescriptor"
        }
      },
      "required": [
        "kind",
        "descriptor"
      ],
      "additionalProperties": false
    },
    "ContentConstructEnd": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "const": "constructEnd"
        }
      },
      "required": [
        "kind"
      ],
      "additionalProperties": false
    },
    "ContentBlock": {
      "oneOf": [
        {
          "$ref": "#/$defs/ContentParagraph"
        },
        {
          "$ref": "#/$defs/ContentTable"
        },
        {
          "$ref": "#/$defs/ContentImageBlock"
        },
        {
          "$ref": "#/$defs/ContentPageBreak"
        },
        {
          "$ref": "#/$defs/ContentEmbeddedObjectBlock"
        },
        {
          "$ref": "#/$defs/ContentConstructStart"
        },
        {
          "$ref": "#/$defs/ContentConstructEnd"
        }
      ]
    },
    "TreeBlockLeaf": {
      "oneOf": [
        {
          "$ref": "#/$defs/ContentParagraph"
        },
        {
          "$ref": "#/$defs/ContentTable"
        },
        {
          "$ref": "#/$defs/ContentImageBlock"
        },
        {
          "$ref": "#/$defs/ContentPageBreak"
        },
        {
          "$ref": "#/$defs/ContentEmbeddedObjectBlock"
        }
      ]
    },
    "PageSize": {
      "type": "object",
      "properties": {
        "widthPt": {
          "type": "number",
          "exclusiveMinimum": 0
        },
        "heightPt": {
          "type": "number",
          "exclusiveMinimum": 0
        }
      },
      "required": [
        "widthPt",
        "heightPt"
      ],
      "additionalProperties": false
    },
    "Margins": {
      "type": "object",
      "properties": {
        "topPt": {
          "type": "number",
          "minimum": 0
        },
        "rightPt": {
          "type": "number",
          "minimum": 0
        },
        "bottomPt": {
          "type": "number",
          "minimum": 0
        },
        "leftPt": {
          "type": "number",
          "minimum": 0
        }
      },
      "required": [
        "topPt",
        "rightPt",
        "bottomPt",
        "leftPt"
      ],
      "additionalProperties": false
    },
    "SectionDescriptor": {
      "type": "object",
      "properties": {
        "pageSize": {
          "$ref": "#/$defs/PageSize"
        },
        "margins": {
          "$ref": "#/$defs/Margins"
        },
        "breakType": {
          "type": "string",
          "enum": [
            "nextPage",
            "continuous",
            "evenPage",
            "oddPage"
          ]
        },
        "headers": {
          "$ref": "#/$defs/ContentPageFurniture"
        },
        "footers": {
          "$ref": "#/$defs/ContentPageFurniture"
        },
        "watermarks": {
          "$ref": "#/$defs/ContentPageFurniture"
        },
        "source": {
          "$ref": "#/$defs/SourceResidue"
        },
        "origin": {
          "$ref": "#/$defs/ContentOrigin"
        },
        "interpretation": {
          "$ref": "#/$defs/ContentInterpretation"
        },
        "kind": {
          "type": "string",
          "const": "section"
        }
      },
      "required": [
        "pageSize",
        "margins",
        "kind"
      ],
      "additionalProperties": false
    },
    "ContentPageFurniture": {
      "type": "object",
      "properties": {
        "default": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ContentBlock"
          }
        },
        "even": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ContentBlock"
          }
        },
        "first": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ContentBlock"
          }
        }
      },
      "additionalProperties": false
    },
    "SlideDescriptor": {
      "type": "object",
      "properties": {
        "size": {
          "$ref": "#/$defs/PageSize"
        },
        "notes": {
          "type": "string"
        },
        "source": {
          "$ref": "#/$defs/SourceResidue"
        },
        "origin": {
          "$ref": "#/$defs/ContentOrigin"
        },
        "interpretation": {
          "$ref": "#/$defs/ContentInterpretation"
        },
        "kind": {
          "type": "string",
          "const": "slide"
        }
      },
      "required": [
        "size",
        "notes",
        "kind"
      ],
      "additionalProperties": false
    },
    "SheetDescriptor": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "cells": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ContentSheetCell"
          }
        },
        "columns": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ContentSheetColumn"
          }
        },
        "rows": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ContentSheetRow"
          }
        },
        "printSettings": {
          "$ref": "#/$defs/ContentSheetPrintSettings"
        },
        "dataValidations": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ContentSheetDataValidation"
          }
        },
        "conditionalFormats": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ContentSheetConditionalFormat"
          }
        },
        "source": {
          "$ref": "#/$defs/SourceResidue"
        },
        "origin": {
          "$ref": "#/$defs/ContentOrigin"
        },
        "interpretation": {
          "$ref": "#/$defs/ContentInterpretation"
        },
        "kind": {
          "type": "string",
          "const": "sheet"
        }
      },
      "required": [
        "name",
        "cells",
        "columns",
        "rows",
        "printSettings",
        "kind"
      ],
      "additionalProperties": false
    },
    "DrawPageDescriptor": {
      "type": "object",
      "properties": {
        "size": {
          "$ref": "#/$defs/PageSize"
        },
        "source": {
          "$ref": "#/$defs/SourceResidue"
        },
        "origin": {
          "$ref": "#/$defs/ContentOrigin"
        },
        "interpretation": {
          "$ref": "#/$defs/ContentInterpretation"
        },
        "kind": {
          "type": "string",
          "const": "drawPage"
        }
      },
      "required": [
        "size",
        "kind"
      ],
      "additionalProperties": false
    },
    "ShapeDescriptor": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "frame": {
          "$ref": "#/$defs/Box"
        },
        "rotationDeg": {
          "type": "number"
        },
        "insetLeftPt": {
          "type": "number",
          "minimum": 0
        },
        "insetTopPt": {
          "type": "number",
          "minimum": 0
        },
        "insetRightPt": {
          "type": "number",
          "minimum": 0
        },
        "insetBottomPt": {
          "type": "number",
          "minimum": 0
        },
        "fontScale": {
          "type": "number",
          "exclusiveMinimum": 0
        },
        "lineSpacingReduction": {
          "type": "number",
          "minimum": 0
        },
        "paintOrder": {
          "type": "number"
        },
        "readingOrder": {
          "type": "number"
        },
        "sourcePath": {
          "type": "string"
        },
        "source": {
          "$ref": "#/$defs/SourceResidue"
        },
        "frames": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/LayoutFrame"
          }
        },
        "origin": {
          "$ref": "#/$defs/ContentOrigin"
        },
        "interpretation": {
          "$ref": "#/$defs/ContentInterpretation"
        }
      },
      "required": [
        "frame",
        "insetLeftPt",
        "insetTopPt",
        "insetRightPt",
        "insetBottomPt"
      ],
      "additionalProperties": false
    },
    "HeadingParagraph": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "const": "paragraph"
        },
        "runs": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ContentRun"
          }
        },
        "constructs": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/RunConstructExtent"
          }
        },
        "styleId": {
          "type": "string"
        },
        "codeLanguage": {
          "type": "string"
        },
        "preformatted": {
          "type": "boolean"
        },
        "headingLevel": {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        },
        "alignment": {
          "$ref": "#/$defs/Alignment"
        },
        "list": {
          "$ref": "#/$defs/ContentListMembership"
        },
        "spacingBeforePt": {
          "type": "number"
        },
        "spacingAfterPt": {
          "type": "number"
        },
        "lineSpacing": {
          "type": "number",
          "exclusiveMinimum": 0
        },
        "indentLeftPt": {
          "type": "number"
        },
        "indentRightPt": {
          "type": "number"
        },
        "indentFirstLinePt": {
          "type": "number"
        },
        "direction": {
          "type": "string",
          "enum": [
            "ltr",
            "rtl"
          ]
        },
        "pageBreakBefore": {
          "type": "boolean"
        },
        "pageBreakAfter": {
          "type": "boolean"
        },
        "borders": {
          "$ref": "#/$defs/ContentParagraphBorders"
        },
        "sourcePath": {
          "type": "string"
        },
        "source": {
          "$ref": "#/$defs/SourceResidue"
        },
        "frames": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/LayoutFrame"
          }
        },
        "origin": {
          "$ref": "#/$defs/ContentOrigin"
        },
        "interpretation": {
          "$ref": "#/$defs/ContentInterpretation"
        }
      },
      "required": [
        "kind",
        "runs",
        "headingLevel"
      ],
      "additionalProperties": false
    },
    "ListParagraph": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "const": "paragraph"
        },
        "runs": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ContentRun"
          }
        },
        "constructs": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/RunConstructExtent"
          }
        },
        "styleId": {
          "type": "string"
        },
        "codeLanguage": {
          "type": "string"
        },
        "preformatted": {
          "type": "boolean"
        },
        "headingLevel": {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        },
        "alignment": {
          "$ref": "#/$defs/Alignment"
        },
        "list": {
          "$ref": "#/$defs/ContentListMembership"
        },
        "spacingBeforePt": {
          "type": "number"
        },
        "spacingAfterPt": {
          "type": "number"
        },
        "lineSpacing": {
          "type": "number",
          "exclusiveMinimum": 0
        },
        "indentLeftPt": {
          "type": "number"
        },
        "indentRightPt": {
          "type": "number"
        },
        "indentFirstLinePt": {
          "type": "number"
        },
        "direction": {
          "type": "string",
          "enum": [
            "ltr",
            "rtl"
          ]
        },
        "pageBreakBefore": {
          "type": "boolean"
        },
        "pageBreakAfter": {
          "type": "boolean"
        },
        "borders": {
          "$ref": "#/$defs/ContentParagraphBorders"
        },
        "sourcePath": {
          "type": "string"
        },
        "source": {
          "$ref": "#/$defs/SourceResidue"
        },
        "frames": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/LayoutFrame"
          }
        },
        "origin": {
          "$ref": "#/$defs/ContentOrigin"
        },
        "interpretation": {
          "$ref": "#/$defs/ContentInterpretation"
        }
      },
      "required": [
        "kind",
        "runs",
        "list"
      ],
      "additionalProperties": false
    },
    "ContentFont": {
      "type": "object",
      "properties": {
        "bold": {
          "type": "boolean"
        },
        "italic": {
          "type": "boolean"
        },
        "underline": {
          "type": "boolean"
        },
        "strike": {
          "type": "boolean"
        },
        "fontFamily": {
          "type": "string"
        },
        "sizePt": {
          "type": "number",
          "exclusiveMinimum": 0
        },
        "color": {
          "$ref": "#/$defs/Color"
        }
      },
      "additionalProperties": false
    },
    "ContentSheetCell": {
      "type": "object",
      "properties": {
        "row": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "column": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "value": {
          "$ref": "#/$defs/ContentCellValue"
        },
        "formula": {
          "type": "string"
        },
        "displayText": {
          "type": "string"
        },
        "numberFormatCode": {
          "type": "string"
        },
        "font": {
          "$ref": "#/$defs/ContentFont"
        },
        "runs": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ContentRun"
          }
        },
        "colSpan": {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        },
        "rowSpan": {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        },
        "background": {
          "$ref": "#/$defs/ContentCellFill"
        },
        "borders": {
          "$ref": "#/$defs/ContentCellBorders"
        },
        "alignment": {
          "$ref": "#/$defs/Alignment"
        },
        "verticalAlignment": {
          "type": "string",
          "enum": [
            "top",
            "middle",
            "bottom"
          ]
        },
        "comment": {
          "$ref": "#/$defs/ContentSheetCellComment"
        },
        "sourcePath": {
          "type": "string"
        },
        "source": {
          "$ref": "#/$defs/SourceResidue"
        },
        "frames": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/LayoutFrame"
          }
        },
        "origin": {
          "$ref": "#/$defs/ContentOrigin"
        },
        "interpretation": {
          "$ref": "#/$defs/ContentInterpretation"
        }
      },
      "required": [
        "row",
        "column",
        "value",
        "displayText"
      ],
      "additionalProperties": false
    },
    "ContentCellValue": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "const": "number"
            },
            "value": {
              "type": "number"
            },
            "exactValue": {
              "type": "string",
              "pattern": "^-?(0|[1-9]\\d*)(\\.\\d+)?$"
            }
          },
          "required": [
            "kind",
            "value"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "const": "percentage"
            },
            "value": {
              "type": "number"
            },
            "exactValue": {
              "type": "string",
              "pattern": "^-?(0|[1-9]\\d*)(\\.\\d+)?$"
            }
          },
          "required": [
            "kind",
            "value"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "const": "currency"
            },
            "value": {
              "type": "number"
            },
            "currency": {
              "type": "string"
            },
            "exactValue": {
              "type": "string",
              "pattern": "^-?(0|[1-9]\\d*)(\\.\\d+)?$"
            }
          },
          "required": [
            "kind",
            "value"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "const": "boolean"
            },
            "value": {
              "type": "boolean"
            }
          },
          "required": [
            "kind",
            "value"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "const": "date"
            },
            "value": {
              "type": "string"
            }
          },
          "required": [
            "kind",
            "value"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "const": "time"
            },
            "value": {
              "type": "string"
            }
          },
          "required": [
            "kind",
            "value"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "const": "dateTime"
            },
            "value": {
              "type": "string"
            }
          },
          "required": [
            "kind",
            "value"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "const": "string"
            },
            "value": {
              "type": "string"
            }
          },
          "required": [
            "kind",
            "value"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "const": "error"
            },
            "value": {
              "type": "string"
            }
          },
          "required": [
            "kind",
            "value"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "const": "empty"
            }
          },
          "required": [
            "kind"
          ],
          "additionalProperties": false
        }
      ]
    },
    "ContentSheetCellComment": {
      "type": "object",
      "properties": {
        "text": {
          "type": "string"
        },
        "author": {
          "type": "string"
        },
        "createdAt": {
          "type": "string"
        },
        "replies": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "text": {
                "type": "string"
              },
              "author": {
                "type": "string"
              }
            },
            "required": [
              "text"
            ],
            "additionalProperties": false
          }
        }
      },
      "required": [
        "text"
      ],
      "additionalProperties": false
    },
    "ContentSheetColumn": {
      "type": "object",
      "properties": {
        "index": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "widthPt": {
          "type": "number",
          "exclusiveMinimum": 0
        },
        "hidden": {
          "type": "boolean"
        }
      },
      "required": [
        "index"
      ],
      "additionalProperties": false
    },
    "ContentSheetRow": {
      "type": "object",
      "properties": {
        "index": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "heightPt": {
          "type": "number",
          "exclusiveMinimum": 0
        },
        "hidden": {
          "type": "boolean"
        }
      },
      "required": [
        "index"
      ],
      "additionalProperties": false
    },
    "ContentSheetPrintSettings": {
      "type": "object",
      "properties": {
        "pageSize": {
          "$ref": "#/$defs/PageSize"
        },
        "margins": {
          "$ref": "#/$defs/Margins"
        },
        "printRange": {
          "$ref": "#/$defs/ContentSheetPrintRange"
        },
        "scalePercent": {
          "type": "number",
          "exclusiveMinimum": 0
        },
        "fitToPages": {
          "type": "object",
          "properties": {
            "width": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            },
            "height": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            }
          },
          "required": [
            "width",
            "height"
          ],
          "additionalProperties": false
        },
        "repeatRows": {
          "$ref": "#/$defs/ContentSheetRepeatRange"
        },
        "repeatColumns": {
          "$ref": "#/$defs/ContentSheetRepeatRange"
        },
        "gridlines": {
          "type": "boolean"
        },
        "headers": {
          "type": "boolean"
        },
        "pageOrder": {
          "type": "string",
          "enum": [
            "downThenOver",
            "overThenDown"
          ]
        },
        "manualBreaks": {
          "type": "object",
          "properties": {
            "rows": {
              "type": "array",
              "items": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              }
            },
            "columns": {
              "type": "array",
              "items": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              }
            }
          },
          "required": [
            "rows",
            "columns"
          ],
          "additionalProperties": false
        }
      },
      "required": [
        "pageSize",
        "margins",
        "gridlines",
        "headers",
        "pageOrder"
      ],
      "additionalProperties": false
    },
    "ContentSheetPrintRange": {
      "type": "object",
      "properties": {
        "startRow": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "startColumn": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "endRow": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "endColumn": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        }
      },
      "required": [
        "startRow",
        "startColumn",
        "endRow",
        "endColumn"
      ],
      "additionalProperties": false
    },
    "ContentSheetRepeatRange": {
      "type": "object",
      "properties": {
        "start": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "end": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        }
      },
      "required": [
        "start",
        "end"
      ],
      "additionalProperties": false
    },
    "ContentSheetRange": {
      "type": "object",
      "properties": {
        "startRow": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "startColumn": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "endRow": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "endColumn": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        }
      },
      "required": [
        "startRow",
        "startColumn",
        "endRow",
        "endColumn"
      ],
      "additionalProperties": false
    },
    "SheetRuleOperator": {
      "type": "string",
      "enum": [
        "between",
        "notBetween",
        "equal",
        "notEqual",
        "greaterThan",
        "greaterThanOrEqual",
        "lessThan",
        "lessThanOrEqual"
      ]
    },
    "ContentSheetDataValidation": {
      "type": "object",
      "properties": {
        "ranges": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ContentSheetRange"
          }
        },
        "type": {
          "type": "string",
          "enum": [
            "whole",
            "decimal",
            "list",
            "date",
            "time",
            "textLength",
            "custom"
          ]
        },
        "operator": {
          "$ref": "#/$defs/SheetRuleOperator"
        },
        "formula1": {
          "type": "string"
        },
        "formula2": {
          "type": "string"
        },
        "allowBlank": {
          "type": "boolean"
        },
        "showInputMessage": {
          "type": "boolean"
        },
        "promptTitle": {
          "type": "string"
        },
        "prompt": {
          "type": "string"
        },
        "showErrorMessage": {
          "type": "boolean"
        },
        "errorStyle": {
          "type": "string",
          "enum": [
            "stop",
            "warning",
            "information"
          ]
        },
        "errorTitle": {
          "type": "string"
        },
        "error": {
          "type": "string"
        },
        "source": {
          "$ref": "#/$defs/SourceResidue"
        }
      },
      "required": [
        "ranges",
        "type"
      ],
      "additionalProperties": false
    },
    "ContentSheetConditionalFormatStyle": {
      "type": "object",
      "properties": {
        "textColor": {
          "$ref": "#/$defs/Color"
        },
        "background": {
          "$ref": "#/$defs/Color"
        },
        "source": {
          "$ref": "#/$defs/SourceResidue"
        }
      },
      "additionalProperties": false
    },
    "ContentSheetConditionalFormatValue": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "num",
            "percent",
            "max",
            "min",
            "formula",
            "percentile"
          ]
        },
        "value": {
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "additionalProperties": false
    },
    "ContentSheetConditionalFormat": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "const": "cellIs"
            },
            "ranges": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/ContentSheetRange"
              }
            },
            "priority": {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            "stopIfTrue": {
              "type": "boolean"
            },
            "source": {
              "$ref": "#/$defs/SourceResidue"
            },
            "operator": {
              "$ref": "#/$defs/SheetRuleOperator"
            },
            "formula1": {
              "type": "string"
            },
            "formula2": {
              "type": "string"
            },
            "style": {
              "$ref": "#/$defs/ContentSheetConditionalFormatStyle"
            }
          },
          "required": [
            "type",
            "ranges",
            "operator",
            "formula1"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "containsText",
                "notContainsText",
                "beginsWith",
                "endsWith"
              ]
            },
            "ranges": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/ContentSheetRange"
              }
            },
            "priority": {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            "stopIfTrue": {
              "type": "boolean"
            },
            "source": {
              "$ref": "#/$defs/SourceResidue"
            },
            "text": {
              "type": "string"
            },
            "style": {
              "$ref": "#/$defs/ContentSheetConditionalFormatStyle"
            }
          },
          "required": [
            "type",
            "ranges",
            "text"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "containsBlanks",
                "notContainsBlanks",
                "containsErrors",
                "notContainsErrors",
                "uniqueValues",
                "duplicateValues"
              ]
            },
            "ranges": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/ContentSheetRange"
              }
            },
            "priority": {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            "stopIfTrue": {
              "type": "boolean"
            },
            "source": {
              "$ref": "#/$defs/SourceResidue"
            },
            "style": {
              "$ref": "#/$defs/ContentSheetConditionalFormatStyle"
            }
          },
          "required": [
            "type",
            "ranges"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "const": "top10"
            },
            "ranges": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/ContentSheetRange"
              }
            },
            "priority": {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            "stopIfTrue": {
              "type": "boolean"
            },
            "source": {
              "$ref": "#/$defs/SourceResidue"
            },
            "rank": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "percent": {
              "type": "boolean"
            },
            "bottom": {
              "type": "boolean"
            },
            "style": {
              "$ref": "#/$defs/ContentSheetConditionalFormatStyle"
            }
          },
          "required": [
            "type",
            "ranges",
            "rank"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "const": "aboveAverage"
            },
            "ranges": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/ContentSheetRange"
              }
            },
            "priority": {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            "stopIfTrue": {
              "type": "boolean"
            },
            "source": {
              "$ref": "#/$defs/SourceResidue"
            },
            "aboveAverage": {
              "type": "boolean"
            },
            "equalAverage": {
              "type": "boolean"
            },
            "stdDev": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            },
            "style": {
              "$ref": "#/$defs/ContentSheetConditionalFormatStyle"
            }
          },
          "required": [
            "type",
            "ranges"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "const": "timePeriod"
            },
            "ranges": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/ContentSheetRange"
              }
            },
            "priority": {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            "stopIfTrue": {
              "type": "boolean"
            },
            "source": {
              "$ref": "#/$defs/SourceResidue"
            },
            "timePeriod": {
              "type": "string",
              "enum": [
                "yesterday",
                "today",
                "tomorrow",
                "last7Days",
                "thisMonth",
                "lastMonth",
                "nextMonth",
                "thisWeek",
                "lastWeek",
                "nextWeek",
                "thisYear",
                "lastYear",
                "nextYear"
              ]
            },
            "style": {
              "$ref": "#/$defs/ContentSheetConditionalFormatStyle"
            }
          },
          "required": [
            "type",
            "ranges",
            "timePeriod"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "const": "colorScale"
            },
            "ranges": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/ContentSheetRange"
              }
            },
            "priority": {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            "stopIfTrue": {
              "type": "boolean"
            },
            "source": {
              "$ref": "#/$defs/SourceResidue"
            },
            "stops": {
              "minItems": 2,
              "maxItems": 3,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "value": {
                    "$ref": "#/$defs/ContentSheetConditionalFormatValue"
                  },
                  "color": {
                    "$ref": "#/$defs/Color"
                  }
                },
                "required": [
                  "value",
                  "color"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "type",
            "ranges",
            "stops"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "const": "dataBar"
            },
            "ranges": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/ContentSheetRange"
              }
            },
            "priority": {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            "stopIfTrue": {
              "type": "boolean"
            },
            "source": {
              "$ref": "#/$defs/SourceResidue"
            },
            "min": {
              "$ref": "#/$defs/ContentSheetConditionalFormatValue"
            },
            "max": {
              "$ref": "#/$defs/ContentSheetConditionalFormatValue"
            },
            "color": {
              "$ref": "#/$defs/Color"
            },
            "showValue": {
              "type": "boolean"
            }
          },
          "required": [
            "type",
            "ranges",
            "min",
            "max",
            "color"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "const": "iconSet"
            },
            "ranges": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/ContentSheetRange"
              }
            },
            "priority": {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            "stopIfTrue": {
              "type": "boolean"
            },
            "source": {
              "$ref": "#/$defs/SourceResidue"
            },
            "iconSetType": {
              "type": "string"
            },
            "thresholds": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/ContentSheetConditionalFormatValue"
              }
            },
            "reverse": {
              "type": "boolean"
            },
            "showValue": {
              "type": "boolean"
            }
          },
          "required": [
            "type",
            "ranges",
            "iconSetType",
            "thresholds"
          ],
          "additionalProperties": false
        }
      ]
    },
    "ContentSheetImage": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "const": "image"
        },
        "format": {
          "type": "string",
          "enum": [
            "png",
            "jpeg",
            "svg",
            "gif"
          ]
        },
        "base64": {
          "type": "string"
        },
        "widthPt": {
          "type": "number",
          "exclusiveMinimum": 0
        },
        "heightPt": {
          "type": "number",
          "exclusiveMinimum": 0
        },
        "altText": {
          "type": "string"
        },
        "original": {
          "$ref": "#/$defs/ContentImageOriginal"
        },
        "anchorRunIndex": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "anchorOffset": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "caption": {
          "type": "string"
        },
        "floatPosition": {
          "$ref": "#/$defs/ContentFloatPosition"
        },
        "sourcePath": {
          "type": "string"
        },
        "source": {
          "$ref": "#/$defs/SourceResidue"
        },
        "frames": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/LayoutFrame"
          }
        },
        "origin": {
          "$ref": "#/$defs/ContentOrigin"
        },
        "interpretation": {
          "$ref": "#/$defs/ContentInterpretation"
        },
        "anchorRow": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "anchorColumn": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "offsetXPt": {
          "type": "number"
        },
        "offsetYPt": {
          "type": "number"
        }
      },
      "required": [
        "kind",
        "format",
        "base64",
        "widthPt",
        "heightPt",
        "anchorRow",
        "anchorColumn",
        "offsetXPt",
        "offsetYPt"
      ],
      "additionalProperties": false
    },
    "ContentStrokeDash": {
      "type": "object",
      "properties": {
        "dots1": {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        },
        "dots1LengthPt": {
          "type": "number",
          "exclusiveMinimum": 0
        },
        "dots2": {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        },
        "dots2LengthPt": {
          "type": "number",
          "exclusiveMinimum": 0
        },
        "distancePt": {
          "type": "number",
          "minimum": 0
        }
      },
      "required": [
        "dots1",
        "dots1LengthPt",
        "distancePt"
      ],
      "additionalProperties": false
    },
    "ContentStroke": {
      "type": "object",
      "properties": {
        "color": {
          "$ref": "#/$defs/Color"
        },
        "widthPt": {
          "type": "number",
          "exclusiveMinimum": 0
        },
        "style": {
          "$ref": "#/$defs/ContentStrokeStyle"
        },
        "opacity": {
          "type": "number",
          "minimum": 0,
          "maximum": 1
        },
        "dashPattern": {
          "$ref": "#/$defs/ContentStrokeDash"
        }
      },
      "required": [
        "color",
        "widthPt"
      ],
      "additionalProperties": false
    },
    "ContentGradientStyle": {
      "type": "string",
      "enum": [
        "linear",
        "axial",
        "radial",
        "ellipsoid",
        "square",
        "rectangular"
      ]
    },
    "ContentGradientFill": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "const": "gradient"
        },
        "style": {
          "$ref": "#/$defs/ContentGradientStyle"
        },
        "startColor": {
          "$ref": "#/$defs/Color"
        },
        "endColor": {
          "$ref": "#/$defs/Color"
        },
        "angleDeg": {
          "type": "number"
        }
      },
      "required": [
        "kind",
        "style",
        "startColor",
        "endColor"
      ],
      "additionalProperties": false
    },
    "ContentHatchStyle": {
      "type": "string",
      "enum": [
        "single",
        "double",
        "triple"
      ]
    },
    "ContentHatchFill": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "const": "hatch"
        },
        "style": {
          "$ref": "#/$defs/ContentHatchStyle"
        },
        "color": {
          "$ref": "#/$defs/Color"
        },
        "distancePt": {
          "type": "number",
          "minimum": 0
        },
        "rotationDeg": {
          "type": "number"
        }
      },
      "required": [
        "kind",
        "style",
        "color",
        "distancePt"
      ],
      "additionalProperties": false
    },
    "ContentBitmapFill": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "const": "bitmap"
        },
        "format": {
          "type": "string",
          "enum": [
            "png",
            "jpeg",
            "svg",
            "gif"
          ]
        },
        "base64": {
          "type": "string"
        }
      },
      "required": [
        "kind",
        "format",
        "base64"
      ],
      "additionalProperties": false
    },
    "ContentFillPattern": {
      "oneOf": [
        {
          "$ref": "#/$defs/ContentGradientFill"
        },
        {
          "$ref": "#/$defs/ContentHatchFill"
        },
        {
          "$ref": "#/$defs/ContentBitmapFill"
        }
      ]
    },
    "ContentPathPoint": {
      "type": "object",
      "properties": {
        "xPt": {
          "type": "number"
        },
        "yPt": {
          "type": "number"
        }
      },
      "required": [
        "xPt",
        "yPt"
      ],
      "additionalProperties": false
    },
    "ContentPathSegment": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "const": "line"
            },
            "to": {
              "$ref": "#/$defs/ContentPathPoint"
            }
          },
          "required": [
            "kind",
            "to"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "const": "cubic"
            },
            "control1": {
              "$ref": "#/$defs/ContentPathPoint"
            },
            "control2": {
              "$ref": "#/$defs/ContentPathPoint"
            },
            "to": {
              "$ref": "#/$defs/ContentPathPoint"
            }
          },
          "required": [
            "kind",
            "control1",
            "control2",
            "to"
          ],
          "additionalProperties": false
        }
      ]
    },
    "ContentSubpath": {
      "type": "object",
      "properties": {
        "start": {
          "$ref": "#/$defs/ContentPathPoint"
        },
        "segments": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ContentPathSegment"
          }
        },
        "closed": {
          "type": "boolean"
        }
      },
      "required": [
        "start",
        "segments",
        "closed"
      ],
      "additionalProperties": false
    },
    "ContentVector": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "const": "rect"
            },
            "frame": {
              "$ref": "#/$defs/Box"
            },
            "rotationDeg": {
              "type": "number"
            },
            "fill": {
              "$ref": "#/$defs/Color"
            },
            "fillPattern": {
              "$ref": "#/$defs/ContentFillPattern"
            },
            "fillOpacity": {
              "type": "number",
              "minimum": 0,
              "maximum": 1
            },
            "stroke": {
              "$ref": "#/$defs/ContentStroke"
            },
            "paintOrder": {
              "type": "number"
            },
            "sourcePath": {
              "type": "string"
            },
            "source": {
              "$ref": "#/$defs/SourceResidue"
            },
            "frames": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/LayoutFrame"
              }
            },
            "origin": {
              "$ref": "#/$defs/ContentOrigin"
            },
            "interpretation": {
              "$ref": "#/$defs/ContentInterpretation"
            }
          },
          "required": [
            "kind",
            "frame"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "const": "ellipse"
            },
            "frame": {
              "$ref": "#/$defs/Box"
            },
            "rotationDeg": {
              "type": "number"
            },
            "fill": {
              "$ref": "#/$defs/Color"
            },
            "fillPattern": {
              "$ref": "#/$defs/ContentFillPattern"
            },
            "fillOpacity": {
              "type": "number",
              "minimum": 0,
              "maximum": 1
            },
            "stroke": {
              "$ref": "#/$defs/ContentStroke"
            },
            "paintOrder": {
              "type": "number"
            },
            "sourcePath": {
              "type": "string"
            },
            "source": {
              "$ref": "#/$defs/SourceResidue"
            },
            "frames": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/LayoutFrame"
              }
            },
            "origin": {
              "$ref": "#/$defs/ContentOrigin"
            },
            "interpretation": {
              "$ref": "#/$defs/ContentInterpretation"
            }
          },
          "required": [
            "kind",
            "frame"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "const": "line"
            },
            "from": {
              "$ref": "#/$defs/ContentPathPoint"
            },
            "to": {
              "$ref": "#/$defs/ContentPathPoint"
            },
            "stroke": {
              "$ref": "#/$defs/ContentStroke"
            },
            "paintOrder": {
              "type": "number"
            },
            "sourcePath": {
              "type": "string"
            },
            "source": {
              "$ref": "#/$defs/SourceResidue"
            },
            "frames": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/LayoutFrame"
              }
            },
            "origin": {
              "$ref": "#/$defs/ContentOrigin"
            },
            "interpretation": {
              "$ref": "#/$defs/ContentInterpretation"
            }
          },
          "required": [
            "kind",
            "from",
            "to",
            "stroke"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "const": "path"
            },
            "frame": {
              "$ref": "#/$defs/Box"
            },
            "rotationDeg": {
              "type": "number"
            },
            "subpaths": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/ContentSubpath"
              }
            },
            "fill": {
              "$ref": "#/$defs/Color"
            },
            "fillPattern": {
              "$ref": "#/$defs/ContentFillPattern"
            },
            "fillOpacity": {
              "type": "number",
              "minimum": 0,
              "maximum": 1
            },
            "fillRule": {
              "type": "string",
              "enum": [
                "nonzero",
                "evenodd"
              ]
            },
            "stroke": {
              "$ref": "#/$defs/ContentStroke"
            },
            "paintOrder": {
              "type": "number"
            },
            "sourcePath": {
              "type": "string"
            },
            "source": {
              "$ref": "#/$defs/SourceResidue"
            },
            "frames": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/LayoutFrame"
              }
            },
            "origin": {
              "$ref": "#/$defs/ContentOrigin"
            },
            "interpretation": {
              "$ref": "#/$defs/ContentInterpretation"
            }
          },
          "required": [
            "kind",
            "frame",
            "subpaths"
          ],
          "additionalProperties": false
        }
      ]
    },
    "ContentEmbeddedObject": {
      "type": "object",
      "properties": {
        "objectKind": {
          "type": "string",
          "enum": [
            "formula",
            "wordprocessing",
            "presentation",
            "spreadsheet",
            "drawing",
            "chart"
          ]
        },
        "document": {
          "$ref": "https://cdn.jsdelivr.net/npm/document-schema.js@7.14.0/schemas/content-document.schema.json"
        },
        "frame": {
          "$ref": "#/$defs/Box"
        },
        "anchorRow": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "anchorColumn": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "offsetXPt": {
          "type": "number"
        },
        "offsetYPt": {
          "type": "number"
        },
        "source": {
          "$ref": "#/$defs/SourceResidue"
        }
      },
      "required": [
        "objectKind",
        "document",
        "frame"
      ],
      "additionalProperties": false
    },
    "SectionGroup": {
      "type": "object",
      "properties": {
        "node": {
          "$ref": "#/$defs/SectionDescriptor"
        },
        "style": {
          "type": "string"
        },
        "children": {
          "type": "array",
          "items": {
            "oneOf": [
              {
                "$ref": "#/$defs/HeadingGroup"
              },
              {
                "$ref": "#/$defs/ListGroup"
              },
              {
                "$ref": "#/$defs/SectionConstructGroup"
              },
              {
                "$ref": "#/$defs/TreeBlockLeaf"
              }
            ]
          }
        }
      },
      "required": [
        "node",
        "children"
      ],
      "additionalProperties": false
    },
    "HeadingGroup": {
      "type": "object",
      "properties": {
        "node": {
          "$ref": "#/$defs/HeadingParagraph"
        },
        "style": {
          "type": "string"
        },
        "children": {
          "type": "array",
          "items": {
            "oneOf": [
              {
                "$ref": "#/$defs/HeadingGroup"
              },
              {
                "$ref": "#/$defs/ListGroup"
              },
              {
                "$ref": "#/$defs/SectionConstructGroup"
              },
              {
                "$ref": "#/$defs/TreeBlockLeaf"
              }
            ]
          }
        }
      },
      "required": [
        "node",
        "children"
      ],
      "additionalProperties": false
    },
    "ListGroup": {
      "type": "object",
      "properties": {
        "node": {
          "$ref": "#/$defs/ListParagraph"
        },
        "style": {
          "type": "string"
        },
        "children": {
          "type": "array",
          "items": {
            "oneOf": [
              {
                "$ref": "#/$defs/ListGroup"
              },
              {
                "$ref": "#/$defs/ShapeConstructGroup"
              },
              {
                "$ref": "#/$defs/TreeBlockLeaf"
              }
            ]
          }
        }
      },
      "required": [
        "node",
        "children"
      ],
      "additionalProperties": false
    },
    "SlideGroup": {
      "type": "object",
      "properties": {
        "node": {
          "$ref": "#/$defs/SlideDescriptor"
        },
        "style": {
          "type": "string"
        },
        "children": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ShapeGroup"
          }
        }
      },
      "required": [
        "node",
        "children"
      ],
      "additionalProperties": false
    },
    "ShapeGroup": {
      "type": "object",
      "properties": {
        "node": {
          "$ref": "#/$defs/ShapeDescriptor"
        },
        "style": {
          "type": "string"
        },
        "children": {
          "type": "array",
          "items": {
            "oneOf": [
              {
                "$ref": "#/$defs/ListGroup"
              },
              {
                "$ref": "#/$defs/ShapeConstructGroup"
              },
              {
                "$ref": "#/$defs/TreeBlockLeaf"
              }
            ]
          }
        }
      },
      "required": [
        "node",
        "children"
      ],
      "additionalProperties": false
    },
    "SheetGroup": {
      "type": "object",
      "properties": {
        "node": {
          "$ref": "#/$defs/SheetDescriptor"
        },
        "style": {
          "type": "string"
        },
        "children": {
          "type": "array",
          "items": {
            "oneOf": [
              {
                "$ref": "#/$defs/ContentSheetImage"
              },
              {
                "$ref": "#/$defs/ContentEmbeddedObject"
              }
            ]
          }
        }
      },
      "required": [
        "node",
        "children"
      ],
      "additionalProperties": false
    },
    "DrawPageGroup": {
      "type": "object",
      "properties": {
        "node": {
          "$ref": "#/$defs/DrawPageDescriptor"
        },
        "style": {
          "type": "string"
        },
        "children": {
          "type": "array",
          "items": {
            "oneOf": [
              {
                "$ref": "#/$defs/ShapeGroup"
              },
              {
                "$ref": "#/$defs/ContentVector"
              }
            ]
          }
        }
      },
      "required": [
        "node",
        "children"
      ],
      "additionalProperties": false
    },
    "SectionConstructGroup": {
      "type": "object",
      "properties": {
        "node": {
          "$ref": "#/$defs/ConstructDescriptor"
        },
        "style": {
          "type": "string"
        },
        "children": {
          "type": "array",
          "items": {
            "oneOf": [
              {
                "$ref": "#/$defs/HeadingGroup"
              },
              {
                "$ref": "#/$defs/ListGroup"
              },
              {
                "$ref": "#/$defs/SectionConstructGroup"
              },
              {
                "$ref": "#/$defs/TreeBlockLeaf"
              }
            ]
          }
        }
      },
      "required": [
        "node",
        "children"
      ],
      "additionalProperties": false
    },
    "ShapeConstructGroup": {
      "type": "object",
      "properties": {
        "node": {
          "$ref": "#/$defs/ConstructDescriptor"
        },
        "style": {
          "type": "string"
        },
        "children": {
          "type": "array",
          "items": {
            "oneOf": [
              {
                "$ref": "#/$defs/ListGroup"
              },
              {
                "$ref": "#/$defs/ShapeConstructGroup"
              },
              {
                "$ref": "#/$defs/TreeBlockLeaf"
              }
            ]
          }
        }
      },
      "required": [
        "node",
        "children"
      ],
      "additionalProperties": false
    },
    "ContentControlDescriptor": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "const": "contentControl"
        },
        "controlType": {
          "type": "string",
          "enum": [
            "richText",
            "plainText",
            "checkbox",
            "dropDown",
            "comboBox",
            "date",
            "picture",
            "repeatingSection",
            "button",
            "index",
            "group"
          ]
        },
        "tag": {
          "type": "string"
        },
        "alias": {
          "type": "string"
        },
        "lock": {
          "type": "string",
          "enum": [
            "content",
            "container",
            "both"
          ]
        },
        "value": {
          "type": "string"
        },
        "checked": {
          "type": "boolean"
        },
        "options": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "source": {
          "$ref": "#/$defs/SourceResidue"
        }
      },
      "required": [
        "kind",
        "controlType"
      ],
      "additionalProperties": false
    },
    "FieldDescriptor": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "const": "field"
        },
        "instruction": {
          "type": "string"
        },
        "cachedResult": {
          "type": "string"
        },
        "source": {
          "$ref": "#/$defs/SourceResidue"
        }
      },
      "required": [
        "kind",
        "instruction"
      ],
      "additionalProperties": false
    },
    "AnchorDescriptor": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "const": "anchor"
        },
        "anchorType": {
          "type": "string",
          "enum": [
            "bookmark",
            "footnote",
            "endnote",
            "comment"
          ]
        },
        "name": {
          "type": "string"
        },
        "definition": {
          "type": "string"
        },
        "source": {
          "$ref": "#/$defs/SourceResidue"
        }
      },
      "required": [
        "kind",
        "anchorType",
        "name"
      ],
      "additionalProperties": false
    },
    "LinkTarget": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "const": "external"
            },
            "uri": {
              "type": "string"
            }
          },
          "required": [
            "kind",
            "uri"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "const": "internal"
            },
            "anchor": {
              "type": "string"
            }
          },
          "required": [
            "kind",
            "anchor"
          ],
          "additionalProperties": false
        }
      ]
    },
    "LinkDescriptor": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "const": "link"
        },
        "target": {
          "$ref": "#/$defs/LinkTarget"
        },
        "title": {
          "type": "string"
        },
        "source": {
          "$ref": "#/$defs/SourceResidue"
        }
      },
      "required": [
        "kind",
        "target"
      ],
      "additionalProperties": false
    },
    "ProvenanceDescriptor": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "const": "provenance"
        },
        "change": {
          "type": "string",
          "enum": [
            "insertion",
            "deletion",
            "moveFrom",
            "moveTo",
            "formatChange"
          ]
        },
        "author": {
          "type": "string"
        },
        "dateIso": {
          "type": "string"
        },
        "source": {
          "$ref": "#/$defs/SourceResidue"
        }
      },
      "required": [
        "kind",
        "change"
      ],
      "additionalProperties": false
    },
    "DivisionSource": {
      "type": "object",
      "properties": {
        "href": {
          "type": "string"
        },
        "sectionName": {
          "type": "string"
        }
      },
      "required": [
        "href"
      ],
      "additionalProperties": false
    },
    "DivisionDescriptor": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "const": "division"
        },
        "name": {
          "type": "string"
        },
        "columnCount": {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        },
        "protected": {
          "type": "boolean"
        },
        "linked": {
          "$ref": "#/$defs/DivisionSource"
        },
        "source": {
          "$ref": "#/$defs/SourceResidue"
        }
      },
      "required": [
        "kind"
      ],
      "additionalProperties": false
    },
    "ConstructDescriptor": {
      "oneOf": [
        {
          "$ref": "#/$defs/ContentControlDescriptor"
        },
        {
          "$ref": "#/$defs/FieldDescriptor"
        },
        {
          "$ref": "#/$defs/AnchorDescriptor"
        },
        {
          "$ref": "#/$defs/LinkDescriptor"
        },
        {
          "$ref": "#/$defs/ProvenanceDescriptor"
        },
        {
          "$ref": "#/$defs/DivisionDescriptor"
        }
      ]
    },
    "StyleParagraphProperties": {
      "type": "object",
      "properties": {
        "alignment": {
          "$ref": "#/$defs/Alignment"
        },
        "list": {
          "$ref": "#/$defs/ContentListMembership"
        },
        "spacingBeforePt": {
          "type": "number"
        },
        "spacingAfterPt": {
          "type": "number"
        },
        "lineSpacing": {
          "type": "number",
          "exclusiveMinimum": 0
        },
        "indentLeftPt": {
          "type": "number"
        },
        "indentFirstLinePt": {
          "type": "number"
        },
        "pageBreakBefore": {
          "type": "boolean"
        },
        "pageBreakAfter": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "StyleRunProperties": {
      "type": "object",
      "properties": {
        "bold": {
          "type": "boolean"
        },
        "italic": {
          "type": "boolean"
        },
        "underline": {
          "type": "boolean"
        },
        "strike": {
          "type": "boolean"
        },
        "fontFamily": {
          "type": "string"
        },
        "sizePt": {
          "type": "number",
          "exclusiveMinimum": 0
        },
        "color": {
          "$ref": "#/$defs/Color"
        }
      },
      "additionalProperties": false
    },
    "StyleEntry": {
      "type": "object",
      "properties": {
        "paragraph": {
          "$ref": "#/$defs/StyleParagraphProperties"
        },
        "run": {
          "$ref": "#/$defs/StyleRunProperties"
        }
      },
      "additionalProperties": false
    },
    "DefinitionEntry": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string"
        }
      },
      "required": [
        "kind"
      ],
      "additionalProperties": {}
    },
    "MathMlAttribute": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "value": {
          "type": "string"
        }
      },
      "required": [
        "name",
        "value"
      ],
      "additionalProperties": false
    },
    "MathMlElement": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "const": "element"
        },
        "tag": {
          "type": "string"
        },
        "attributes": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/MathMlAttribute"
          }
        },
        "children": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/MathMlNode"
          }
        }
      },
      "required": [
        "type",
        "tag",
        "attributes",
        "children"
      ],
      "additionalProperties": false
    },
    "MathMlNode": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "const": "text"
            },
            "value": {
              "type": "string"
            }
          },
          "required": [
            "type",
            "value"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "const": "cdata"
            },
            "value": {
              "type": "string"
            }
          },
          "required": [
            "type",
            "value"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "const": "comment"
            },
            "value": {
              "type": "string"
            }
          },
          "required": [
            "type",
            "value"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "const": "declaration"
            },
            "attributes": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/MathMlAttribute"
              }
            }
          },
          "required": [
            "type",
            "attributes"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "const": "pi"
            },
            "target": {
              "type": "string"
            },
            "content": {
              "type": "string"
            }
          },
          "required": [
            "type",
            "target",
            "content"
          ],
          "additionalProperties": false
        },
        {
          "$ref": "#/$defs/MathMlElement"
        }
      ]
    },
    "ContentFormula": {
      "type": "object",
      "properties": {
        "mathml": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/MathMlNode"
          }
        },
        "starMath": {
          "type": "string"
        },
        "presentation": {
          "$ref": "#/$defs/MathPresentation"
        },
        "content": {
          "$ref": "#/$defs/MathExpression"
        },
        "provenance": {
          "$ref": "#/$defs/MathProvenance"
        },
        "source": {
          "$ref": "#/$defs/SourceResidue"
        },
        "origin": {
          "$ref": "#/$defs/ContentOrigin"
        },
        "interpretation": {
          "$ref": "#/$defs/ContentInterpretation"
        }
      },
      "required": [
        "mathml"
      ],
      "additionalProperties": false
    },
    "ExactRational": {
      "type": "object",
      "properties": {
        "numerator": {
          "type": "string",
          "pattern": "^(0|-?[1-9]\\d*)$"
        },
        "denominator": {
          "type": "string",
          "pattern": "^[1-9]\\d*$"
        }
      },
      "required": [
        "numerator",
        "denominator"
      ],
      "additionalProperties": false
    },
    "DimensionVector": {
      "type": "object",
      "propertyNames": {
        "type": "string",
        "enum": [
          "length",
          "mass",
          "time",
          "electricCurrent",
          "thermodynamicTemperature",
          "amountOfSubstance",
          "luminousIntensity"
        ]
      },
      "additionalProperties": {
        "type": "integer",
        "minimum": -9007199254740991,
        "maximum": 9007199254740991
      }
    },
    "MathPresentation": {
      "type": "object",
      "properties": {
        "latex": {
          "type": "string"
        }
      },
      "required": [
        "latex"
      ],
      "additionalProperties": false
    },
    "MathProvenance": {
      "type": "object",
      "properties": {
        "source": {
          "type": "string"
        },
        "pageRef": {
          "type": "string"
        },
        "editTrail": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "required": [
        "source",
        "editTrail"
      ],
      "additionalProperties": false
    },
    "MathUncertainty": {
      "type": "object",
      "properties": {
        "magnitude": {
          "$ref": "#/$defs/ExactRational"
        },
        "unit": {
          "type": "string"
        },
        "coverageFactor": {
          "type": "number",
          "exclusiveMinimum": 0
        }
      },
      "required": [
        "magnitude"
      ],
      "additionalProperties": false
    },
    "MathSymbolEntry": {
      "type": "object",
      "properties": {
        "glyph": {
          "type": "string"
        },
        "scope": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "quantityKind": {
          "type": "string"
        },
        "preferredUnit": {
          "type": "string"
        },
        "definitionSource": {
          "type": "string"
        }
      },
      "required": [
        "glyph",
        "scope",
        "id"
      ],
      "additionalProperties": false
    },
    "MathUnit": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "symbol": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "dimension": {
          "$ref": "#/$defs/DimensionVector"
        },
        "factorToSi": {
          "$ref": "#/$defs/ExactRational"
        },
        "offsetToSi": {
          "$ref": "#/$defs/ExactRational"
        },
        "context": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "symbol",
        "dimension",
        "factorToSi"
      ],
      "additionalProperties": false
    },
    "MathNormalisationContext": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "bases": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "unit": {
                "type": "string"
              },
              "value": {
                "$ref": "#/$defs/ExactRational"
              }
            },
            "required": [
              "unit",
              "value"
            ],
            "additionalProperties": false
          }
        }
      },
      "required": [
        "id",
        "bases"
      ],
      "additionalProperties": false
    },
    "TreeEmbeddedFont": {
      "type": "object",
      "properties": {
        "family": {
          "type": "string"
        },
        "bold": {
          "type": "boolean"
        },
        "italic": {
          "type": "boolean"
        },
        "base64": {
          "type": "string"
        }
      },
      "required": [
        "family",
        "bold",
        "italic",
        "base64"
      ],
      "additionalProperties": false
    },
    "SymbolTable": {
      "type": "object",
      "properties": {
        "symbols": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/MathSymbolEntry"
          }
        },
        "units": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/MathUnit"
          }
        },
        "contexts": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/MathNormalisationContext"
          }
        }
      },
      "required": [
        "symbols",
        "units"
      ],
      "additionalProperties": false
    },
    "MathNum": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "const": "num"
        },
        "numerator": {
          "type": "string",
          "pattern": "^(0|-?[1-9]\\d*)$"
        },
        "denominator": {
          "type": "string",
          "pattern": "^[1-9]\\d*$"
        }
      },
      "required": [
        "kind",
        "numerator",
        "denominator"
      ],
      "additionalProperties": false
    },
    "MathQty": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "const": "qty"
        },
        "value": {
          "$ref": "#/$defs/ExactRational"
        },
        "unit": {
          "type": "string"
        },
        "uncertainty": {
          "$ref": "#/$defs/MathUncertainty"
        }
      },
      "required": [
        "kind",
        "value",
        "unit"
      ],
      "additionalProperties": false
    },
    "MathSym": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "const": "sym"
        },
        "id": {
          "type": "string"
        }
      },
      "required": [
        "kind",
        "id"
      ],
      "additionalProperties": false
    },
    "MathApp": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "const": "app"
        },
        "operator": {
          "type": "string"
        },
        "args": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/MathExpression"
          }
        }
      },
      "required": [
        "kind",
        "operator",
        "args"
      ],
      "additionalProperties": false
    },
    "MathSum": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "const": "sum"
        },
        "binder": {
          "type": "string"
        },
        "lower": {
          "$ref": "#/$defs/MathExpression"
        },
        "upper": {
          "$ref": "#/$defs/MathExpression"
        },
        "body": {
          "$ref": "#/$defs/MathExpression"
        }
      },
      "required": [
        "kind",
        "binder",
        "lower",
        "upper",
        "body"
      ],
      "additionalProperties": false
    },
    "MathProd": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "const": "prod"
        },
        "binder": {
          "type": "string"
        },
        "lower": {
          "$ref": "#/$defs/MathExpression"
        },
        "upper": {
          "$ref": "#/$defs/MathExpression"
        },
        "body": {
          "$ref": "#/$defs/MathExpression"
        }
      },
      "required": [
        "kind",
        "binder",
        "lower",
        "upper",
        "body"
      ],
      "additionalProperties": false
    },
    "MathMatrix": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "const": "matrix"
        },
        "rows": {
          "type": "array",
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/MathExpression"
            }
          }
        }
      },
      "required": [
        "kind",
        "rows"
      ],
      "additionalProperties": false
    },
    "MathUnparsed": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "const": "unparsed"
        },
        "latex": {
          "type": "string"
        }
      },
      "required": [
        "kind",
        "latex"
      ],
      "additionalProperties": false
    },
    "MathExpression": {
      "oneOf": [
        {
          "$ref": "#/$defs/MathNum"
        },
        {
          "$ref": "#/$defs/MathQty"
        },
        {
          "$ref": "#/$defs/MathSym"
        },
        {
          "$ref": "#/$defs/MathApp"
        },
        {
          "$ref": "#/$defs/MathSum"
        },
        {
          "$ref": "#/$defs/MathProd"
        },
        {
          "$ref": "#/$defs/MathMatrix"
        },
        {
          "$ref": "#/$defs/MathUnparsed"
        }
      ]
    }
  }
}
