{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/json-schema-draft-7-unofficial-strict/latest.json",
  "description": "A schema\n<https://json-schema.org/understanding-json-schema>",
  "x-lintel": {
    "source": "https://www.schemastore.org/metaschema-draft-07-unofficial-strict.json",
    "sourceSha256": "69b010cca98eb1da6f8eb1655afc0cc888665aa8a137a6e9db5a2aecfde0c6c0"
  },
  "$ref": "#/$defs/root-entity",
  "$defs": {
    "space-string": {
      "pattern": "^\\s+$|\\s{2,}"
    },
    "simple-type": {
      "type": [
        "boolean",
        "integer",
        "null",
        "number",
        "string"
      ]
    },
    "numeric-type-requirement": {
      "oneOf": [
        {
          "properties": {
            "type": {
              "const": "integer"
            }
          }
        },
        {
          "properties": {
            "type": {
              "const": "number"
            }
          }
        }
      ]
    },
    "string-type-requirement": {
      "properties": {
        "type": {
          "const": "string"
        }
      }
    },
    "array-type-requirement": {
      "properties": {
        "type": {
          "const": "array"
        }
      }
    },
    "object-type-requirement": {
      "properties": {
        "type": {
          "const": "object"
        }
      }
    },
    "simple-type-requirement": {
      "properties": {
        "type": {
          "enum": [
            "boolean",
            "integer",
            "null",
            "number",
            "string"
          ]
        }
      }
    },
    "comment-property": {
      "description": "A comment of the current property or definition\n<https://json-schema.org/understanding-json-schema/reference/generic.html#id3>",
      "type": "string",
      "minLength": 1,
      "examples": [
        "Don't remove until #issue is closed."
      ]
    },
    "ref-property": {
      "description": "A reference of the current property or definition\n<https://json-schema.org/understanding-json-schema/structuring.html#ref>",
      "type": "string",
      "minLength": 1,
      "pattern": "^#/definitions/.",
      "examples": [
        "#/definitions/reference"
      ]
    },
    "title-property": {
      "description": "A title of the current property or definition\n<https://json-schema.org/understanding-json-schema/reference/generic.html?highlight=title#annotations>",
      "type": "string",
      "minLength": 1,
      "not": {
        "$ref": "#/$defs/space-string"
      },
      "examples": [
        "image",
        "image type"
      ]
    },
    "description-property": {
      "description": "A description of the current property or definition\n<https://json-schema.org/understanding-json-schema/reference/generic.html?highlight=title#annotations>",
      "type": "string",
      "minLength": 1,
      "not": {
        "$ref": "#/$defs/space-string"
      },
      "pattern": "\\nhttps?://.",
      "examples": [
        "An image\nurl",
        "An image type\nurl"
      ]
    },
    "type-property": {
      "description": "A type of the current property or definition\n<https://json-schema.org/understanding-json-schema/reference/type.html>",
      "type": "string",
      "enum": [
        "number",
        "integer",
        "null",
        "array",
        "object",
        "boolean",
        "string"
      ],
      "default": "string"
    },
    "minimum-property": {
      "description": "A minimum of the current property or definition\n<https://json-schema.org/understanding-json-schema/reference/numeric.html?highlight=minimum#range>",
      "type": "number",
      "default": 0
    },
    "maximum-property": {
      "description": "A maximum of the current property or definition\n<https://json-schema.org/understanding-json-schema/reference/numeric.html?highlight=minimum#range>",
      "type": "number",
      "default": 0
    },
    "exclusive-minimum-property": {
      "description": "An exclusive minimum of the current property or definition\n<https://json-schema.org/understanding-json-schema/reference/numeric.html?highlight=minimum#range>",
      "type": "number",
      "default": 0
    },
    "exclusive-maximum-property": {
      "description": "An exclusive maximum of the current property or definition\n<https://json-schema.org/understanding-json-schema/reference/numeric.html?highlight=minimum#range>",
      "type": "number",
      "default": 0
    },
    "multiple-of-property": {
      "description": "A multiple of the current property or definition\n<https://json-schema.org/understanding-json-schema/reference/numeric.html?highlight=minimum#multiples>",
      "type": "number",
      "exclusiveMinimum": 0,
      "default": 1
    },
    "min-length-property": {
      "description": "A minimum length of the current property or definition\n<https://json-schema.org/understanding-json-schema/reference/string.html?highlight=minlength#length>",
      "type": "integer",
      "minimum": 0
    },
    "max-length-property": {
      "description": "A maximum length of the current property or definition\n<https://json-schema.org/understanding-json-schema/reference/string.html?highlight=minlength#length>",
      "type": "integer",
      "minimum": 0
    },
    "pattern-property": {
      "description": "A pattern of the current property or definition\n<https://json-schema.org/understanding-json-schema/reference/string.html?highlight=minlength#regular-expressions>",
      "type": "string",
      "format": "regex",
      "examples": [
        "^.+=.*$",
        "^--?\\w+",
        "^#[0-9a-fA-F]{6}$"
      ]
    },
    "format-property": {
      "description": "A format of the current property or definition\n<https://json-schema.org/draft/2020-12/draft-bhutton-json-schema-validation-00#rfc.section.7.2.1>",
      "type": "string",
      "enum": [
        "date",
        "time",
        "date-time",
        "duration",
        "regex",
        "email",
        "idn-email",
        "hostname",
        "idn-hostname",
        "ipv4",
        "ipv6",
        "json-pointer",
        "relative-json-pointer",
        "uri",
        "uri-reference",
        "uri-template",
        "uuid"
      ]
    },
    "enum-property": {
      "description": "Valid values of the current property or definition\n<https://json-schema.org/understanding-json-schema/reference/generic.html?highlight=enum#enumerated-values>",
      "type": "array",
      "uniqueItems": true,
      "minItems": 1,
      "items": {
        "$ref": "#/$defs/simple-type",
        "description": "A valid value of the current property or definition\n<https://json-schema.org/understanding-json-schema/reference/generic.html?highlight=enum#enumerated-values>",
        "examples": [
          "success",
          "failure"
        ]
      }
    },
    "items-property": {
      "$ref": "#/$defs/sub-schema-entity",
      "description": "Items of the current property or definition\n<https://json-schema.org/understanding-json-schema/reference/array.html?highlight=items#items>"
    },
    "min-items-property": {
      "description": "A minimum item count of the current property or definition\n<https://json-schema.org/understanding-json-schema/reference/array.html?highlight=items#length>",
      "type": "integer",
      "exclusiveMinimum": 0,
      "default": 1
    },
    "max-items-property": {
      "description": "A maximum item count of the current property or definition\n<https://json-schema.org/understanding-json-schema/reference/array.html?highlight=items#length>",
      "type": "integer",
      "exclusiveMinimum": 0,
      "default": 1
    },
    "unique-items-property": {
      "description": "Whether items of the current property or definition should be unique\n<https://json-schema.org/understanding-json-schema/reference/array.html?highlight=items#uniqueness>",
      "type": "boolean",
      "default": false
    },
    "required-property": {
      "description": "Required sub-properties of the current property or definition\n<https://json-schema.org/understanding-json-schema/reference/object.html?highlight=required#required-properties>",
      "type": "array",
      "uniqueItems": true,
      "minItems": 1,
      "items": {
        "description": "A required sub-property of the current property or definition\n<https://json-schema.org/understanding-json-schema/reference/object.html?highlight=required#required-properties>",
        "type": "string",
        "minLength": 1
      },
      "minLength": 1
    },
    "properties-property": {
      "description": "Sub-properties of the current property or definition\n<https://json-schema.org/understanding-json-schema/reference/object.html?highlight=properties#properties>",
      "type": "object",
      "additionalProperties": true,
      "patternProperties": {
        ".": {
          "$ref": "#/$defs/entity",
          "description": "A sub-property of the current property or definition\n<https://json-schema.org/understanding-json-schema/reference/object.html?highlight=properties#properties>"
        }
      }
    },
    "pattern-properties-property": {
      "description": "Pattern sub-properties of the current property or definition\n<https://json-schema.org/understanding-json-schema/reference/object.html?highlight=required#pattern-properties>",
      "type": "object",
      "properties": {
        ".": {
          "$ref": "#/$defs/entity",
          "description": "A pattern sub-property of the current property or definition\n<https://json-schema.org/understanding-json-schema/reference/object.html?highlight=required#pattern-properties>"
        }
      },
      "additionalProperties": true,
      "patternProperties": {
        ".": {
          "$ref": "#/$defs/entity",
          "description": "A pattern sub-property of the current property or definition\n<https://json-schema.org/understanding-json-schema/reference/object.html?highlight=required#pattern-properties>"
        }
      }
    },
    "additional-properties-property": {
      "description": "Additional sub-properties of the current property or definition or whether to allow them\n<https://json-schema.org/understanding-json-schema/reference/object.html?highlight=required#additional-properties>",
      "oneOf": [
        {
          "type": "boolean",
          "const": false
        },
        {
          "$ref": "#/$defs/entity"
        }
      ]
    },
    "min-properties-property": {
      "description": "A minimum count of sub-properties of the current property or definition\n<https://json-schema.org/understanding-json-schema/reference/object.html?highlight=required#size>",
      "type": "integer",
      "minimum": 1,
      "default": 1
    },
    "max-properties-property": {
      "description": "A maximum count of sub-properties of the current property or definition\n<https://json-schema.org/understanding-json-schema/reference/object.html?highlight=required#size>",
      "type": "integer",
      "minimum": 1,
      "default": 1
    },
    "const-property": {
      "$ref": "#/$defs/simple-type",
      "description": "A constant of the current property or definition\n<https://json-schema.org/understanding-json-schema/reference/generic.html?highlight=const#constant-values>"
    },
    "default-property": {
      "$ref": "#/$defs/simple-type",
      "description": "A default of the current property or definition\n<https://json-schema.org/understanding-json-schema/reference/generic.html?highlight=default#annotations>"
    },
    "examples-property": {
      "description": "Examples of the current property or definition\n<https://json-schema.org/understanding-json-schema/reference/generic.html?highlight=default#annotations>",
      "type": "array",
      "uniqueItems": true,
      "items": {
        "$ref": "#/$defs/simple-type",
        "description": "An example of the current property or definition\n<https://json-schema.org/understanding-json-schema/reference/generic.html?highlight=default#annotations>"
      },
      "minLength": 1
    },
    "not-property": {
      "$ref": "#/$defs/sub-schema-entity",
      "description": "A sub-schema should not match of the current property or definition\n<https://json-schema.org/understanding-json-schema/reference/combining.html?highlight=anyof#not>",
      "minProperties": 1
    },
    "any-of-property": {
      "description": "A requirement to match at least one sub-schema of the current property or definition\n<https://json-schema.org/understanding-json-schema/reference/combining.html?highlight=anyof#anyof>",
      "type": "array",
      "uniqueItems": true,
      "minItems": 2,
      "items": {
        "$ref": "#/$defs/sub-schema-entity",
        "description": "A sub-schema of the current property or definition\n<https://json-schema.org/understanding-json-schema/reference/combining.html?highlight=anyof#anyof>"
      }
    },
    "one-of-property": {
      "description": "A requirement to match at one sub-schema of the current property or definition\n<https://json-schema.org/understanding-json-schema/reference/combining.html?highlight=anyof#oneof>",
      "type": "array",
      "uniqueItems": true,
      "minItems": 2,
      "items": {
        "$ref": "#/$defs/sub-schema-entity",
        "description": "A sub-schema of the current property or definition\n<https://json-schema.org/understanding-json-schema/reference/combining.html?highlight=anyof#oneof>"
      }
    },
    "all-of-property": {
      "description": "A requirement to match all sub-schemas of the current property or definition\n<https://json-schema.org/understanding-json-schema/reference/combining.html?highlight=anyof#allof>",
      "type": "array",
      "uniqueItems": true,
      "minItems": 2,
      "items": {
        "$ref": "#/$defs/sub-schema-entity",
        "description": "A sub-schema of the current property or definition\n<https://json-schema.org/understanding-json-schema/reference/combining.html?highlight=anyof#allof>"
      }
    },
    "sub-schema-entity": {
      "$ref": "#/$defs/entity-dependencies",
      "type": "object",
      "properties": {
        "$comment": {
          "$ref": "#/$defs/comment-property"
        },
        "$ref": {
          "$ref": "#/$defs/ref-property"
        },
        "description": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "type": {
          "$ref": "#/$defs/type-property"
        },
        "minimum": {
          "$ref": "#/$defs/minimum-property"
        },
        "maximum": {
          "$ref": "#/$defs/maximum-property"
        },
        "exclusiveMinimum": {
          "$ref": "#/$defs/exclusive-minimum-property"
        },
        "exclusiveMaximum": {
          "$ref": "#/$defs/exclusive-maximum-property"
        },
        "multipleOf": {
          "$ref": "#/$defs/multiple-of-property"
        },
        "minLength": {
          "$ref": "#/$defs/min-length-property"
        },
        "maxLength": {
          "$ref": "#/$defs/max-length-property"
        },
        "pattern": {
          "$ref": "#/$defs/pattern-property"
        },
        "enum": {
          "$ref": "#/$defs/enum-property"
        },
        "items": {
          "$ref": "#/$defs/items-property"
        },
        "minItems": {
          "$ref": "#/$defs/min-items-property"
        },
        "maxItems": {
          "$ref": "#/$defs/max-items-property"
        },
        "uniqueItems": {
          "$ref": "#/$defs/unique-items-property"
        },
        "required": {
          "$ref": "#/$defs/required-property"
        },
        "properties": {
          "$ref": "#/$defs/properties-property"
        },
        "patternProperties": {
          "$ref": "#/$defs/pattern-properties-property"
        },
        "additionalProperties": {
          "$ref": "#/$defs/additional-properties-property"
        },
        "minProperties": {
          "$ref": "#/$defs/min-properties-property"
        },
        "maxProperties": {
          "$ref": "#/$defs/max-properties-property"
        },
        "const": {
          "$ref": "#/$defs/const-property"
        },
        "default": {
          "$ref": "#/$defs/default-property"
        },
        "examples": {
          "$ref": "#/$defs/examples-property"
        },
        "not": {
          "$ref": "#/$defs/not-property"
        },
        "anyOf": {
          "$ref": "#/$defs/any-of-property"
        },
        "oneOf": {
          "$ref": "#/$defs/one-of-property"
        },
        "allOf": {
          "$ref": "#/$defs/all-of-property"
        },
        "if": {
          "$ref": "#/$defs/if-property"
        },
        "then": {
          "$ref": "#/$defs/then-property"
        },
        "else": {
          "$ref": "#/$defs/else-property"
        }
      },
      "minProperties": 1,
      "additionalProperties": true
    },
    "condition-entity": {
      "description": "A mapping from sub-property name to conditions of the current property or definition\n<https://json-schema.org/understanding-json-schema/reference/conditionals.html?highlight=condition#if-then-else>",
      "type": "object",
      "properties": {
        "$comment": {
          "$ref": "#/$defs/comment-property"
        },
        "$ref": {
          "$ref": "#/$defs/ref-property"
        },
        "type": {
          "$ref": "#/$defs/type-property"
        },
        "minimum": {
          "$ref": "#/$defs/minimum-property"
        },
        "maximum": {
          "$ref": "#/$defs/maximum-property"
        },
        "exclusiveMinimum": {
          "$ref": "#/$defs/exclusive-minimum-property"
        },
        "exclusiveMaximum": {
          "$ref": "#/$defs/exclusive-maximum-property"
        },
        "multipleOf": {
          "$ref": "#/$defs/multiple-of-property"
        },
        "minLength": {
          "$ref": "#/$defs/min-length-property"
        },
        "maxLength": {
          "$ref": "#/$defs/max-length-property"
        },
        "pattern": {
          "$ref": "#/$defs/pattern-property"
        },
        "format": {
          "$ref": "#/$defs/format-property"
        },
        "enum": {
          "$ref": "#/$defs/enum-property"
        },
        "items": {
          "$ref": "#/$defs/condition-entity"
        },
        "minItems": {
          "$ref": "#/$defs/min-items-property"
        },
        "maxItems": {
          "$ref": "#/$defs/max-items-property"
        },
        "uniqueItems": {
          "$ref": "#/$defs/unique-items-property"
        },
        "required": {
          "$ref": "#/$defs/required-property"
        },
        "properties": {
          "$ref": "#/$defs/properties-property"
        },
        "patternProperties": {
          "$ref": "#/$defs/pattern-properties-property"
        },
        "additionalProperties": {
          "$ref": "#/$defs/additional-properties-property"
        },
        "minProperties": {
          "$ref": "#/$defs/min-properties-property"
        },
        "maxProperties": {
          "$ref": "#/$defs/max-properties-property"
        },
        "const": {
          "$ref": "#/$defs/const-property"
        },
        "default": {
          "$ref": "#/$defs/default-property"
        }
      },
      "minProperties": 1,
      "additionalProperties": true
    },
    "requirement-entity": {
      "description": "A mapping from sub-property name to requirements of the current property or definition\n<https://json-schema.org/understanding-json-schema/reference/conditionals.html?highlight=condition#if-then-else>",
      "type": "object",
      "properties": {
        "$comment": {
          "$ref": "#/$defs/comment-property"
        },
        "$ref": {
          "$ref": "#/$defs/ref-property"
        },
        "title": {
          "$ref": "#/$defs/title-property"
        },
        "description": {
          "$ref": "#/$defs/description-property"
        },
        "type": {
          "$ref": "#/$defs/type-property"
        },
        "minimum": {
          "$ref": "#/$defs/minimum-property"
        },
        "maximum": {
          "$ref": "#/$defs/maximum-property"
        },
        "exclusiveMinimum": {
          "$ref": "#/$defs/exclusive-minimum-property"
        },
        "exclusiveMaximum": {
          "$ref": "#/$defs/exclusive-maximum-property"
        },
        "multipleOf": {
          "$ref": "#/$defs/multiple-of-property"
        },
        "minLength": {
          "$ref": "#/$defs/min-length-property"
        },
        "maxLength": {
          "$ref": "#/$defs/max-length-property"
        },
        "pattern": {
          "$ref": "#/$defs/pattern-property"
        },
        "format": {
          "$ref": "#/$defs/format-property"
        },
        "enum": {
          "$ref": "#/$defs/enum-property"
        },
        "items": {
          "$ref": "#/$defs/requirement-entity"
        },
        "minItems": {
          "$ref": "#/$defs/min-items-property"
        },
        "maxItems": {
          "$ref": "#/$defs/max-items-property"
        },
        "uniqueItems": {
          "$ref": "#/$defs/unique-items-property"
        },
        "required": {
          "$ref": "#/$defs/required-property"
        },
        "properties": {
          "$ref": "#/$defs/properties-property"
        },
        "patternProperties": {
          "$ref": "#/$defs/pattern-properties-property"
        },
        "additionalProperties": {
          "$ref": "#/$defs/additional-properties-property"
        },
        "minProperties": {
          "$ref": "#/$defs/min-properties-property"
        },
        "maxProperties": {
          "$ref": "#/$defs/max-properties-property"
        },
        "default": {
          "$ref": "#/$defs/default-property"
        },
        "examples": {
          "$ref": "#/$defs/examples-property"
        }
      },
      "additionalProperties": true
    },
    "requirements": {
      "required": [
        "properties"
      ],
      "properties": {
        "properties": {
          "description": "A mapping from sub-property names to requirements of the current property or definition\n<https://json-schema.org/understanding-json-schema/reference/conditionals.html?highlight=condition#if-then-else>",
          "type": "object",
          "additionalProperties": true,
          "minProperties": 1,
          "patternProperties": {
            ".": {
              "$ref": "#/$defs/requirement-entity"
            }
          }
        },
        "additionalProperties": {
          "$ref": "#/$defs/additional-properties-property"
        },
        "minProperties": {
          "$ref": "#/$defs/min-properties-property"
        },
        "maxProperties": {
          "$ref": "#/$defs/max-properties-property"
        }
      },
      "additionalProperties": true,
      "type": "object"
    },
    "if-property": {
      "description": "A conditional header of the current property or definition\n<https://json-schema.org/understanding-json-schema/reference/conditionals.html?highlight=condition#if-then-else>",
      "type": "object",
      "required": [
        "properties"
      ],
      "properties": {
        "properties": {
          "description": "A mapping from sub-property names to conditions of the current property or definition\n<https://json-schema.org/understanding-json-schema/reference/conditionals.html?highlight=condition#if-then-else>",
          "type": "object",
          "additionalProperties": true,
          "minProperties": 1,
          "patternProperties": {
            ".": {
              "$ref": "#/$defs/condition-entity"
            }
          }
        }
      },
      "additionalProperties": true
    },
    "then-property": {
      "$ref": "#/$defs/requirements",
      "description": "A conditional branch of the current property or definition\n<https://json-schema.org/understanding-json-schema/reference/conditionals.html?highlight=condition#if-then-else>",
      "type": "object"
    },
    "else-property": {
      "$ref": "#/$defs/requirements",
      "description": "A conditional else branch of the current property or definition\n<https://json-schema.org/understanding-json-schema/reference/conditionals.html?highlight=condition#if-then-else>",
      "type": "object"
    },
    "entity-dependencies": {
      "dependencies": {
        "$ref": {
          "required": []
        },
        "minimum": {
          "$ref": "#/definitions/numeric-type-requirement"
        },
        "maximum": {
          "$ref": "#/definitions/numeric-type-requirement"
        },
        "exclusiveMinimum": {
          "$ref": "#/definitions/numeric-type-requirement"
        },
        "exclusiveMaximum": {
          "$ref": "#/definitions/numeric-type-requirement"
        },
        "multipleOf": {
          "$ref": "#/definitions/numeric-type-requirement"
        },
        "minLength": {
          "$ref": "#/definitions/string-type-requirement"
        },
        "maxLength": {
          "$ref": "#/definitions/string-type-requirement"
        },
        "pattern": {
          "$ref": "#/definitions/string-type-requirement"
        },
        "format": {
          "$ref": "#/definitions/string-type-requirement"
        },
        "enum": {
          "$ref": "#/definitions/simple-type-requirement"
        },
        "items": {
          "$ref": "#/definitions/array-type-requirement"
        },
        "minItems": {
          "$ref": "#/definitions/array-type-requirement"
        },
        "maxItems": {
          "$ref": "#/definitions/array-type-requirement"
        },
        "uniqueItems": {
          "$ref": "#/definitions/array-type-requirement"
        },
        "required": {
          "$ref": "#/definitions/object-type-requirement"
        },
        "properties": {
          "$ref": "#/definitions/object-type-requirement"
        },
        "patternProperties": {
          "$ref": "#/definitions/object-type-requirement"
        },
        "additionalProperties": {
          "$ref": "#/definitions/object-type-requirement"
        },
        "minProperties": {
          "$ref": "#/definitions/object-type-requirement"
        },
        "maxProperties": {
          "$ref": "#/definitions/object-type-requirement"
        },
        "if": [
          "then"
        ],
        "then": [
          "if"
        ],
        "else": [
          "if",
          "then"
        ]
      }
    },
    "entity-requirements-and-dependencies": {
      "$ref": "#/$defs/entity-dependencies",
      "required": [
        "title",
        "description",
        "type"
      ]
    },
    "entity": {
      "$ref": "#/$defs/entity-requirements-and-dependencies",
      "type": "object",
      "properties": {
        "$comment": {
          "$ref": "#/$defs/comment-property"
        },
        "$ref": {
          "$ref": "#/$defs/ref-property"
        },
        "title": {
          "$ref": "#/$defs/title-property"
        },
        "description": {
          "$ref": "#/$defs/description-property"
        },
        "type": {
          "$ref": "#/$defs/type-property"
        },
        "minimum": {
          "$ref": "#/$defs/minimum-property"
        },
        "maximum": {
          "$ref": "#/$defs/maximum-property"
        },
        "exclusiveMinimum": {
          "$ref": "#/$defs/exclusive-minimum-property"
        },
        "exclusiveMaximum": {
          "$ref": "#/$defs/exclusive-maximum-property"
        },
        "multipleOf": {
          "$ref": "#/$defs/multiple-of-property"
        },
        "minLength": {
          "$ref": "#/$defs/min-length-property"
        },
        "maxLength": {
          "$ref": "#/$defs/max-length-property"
        },
        "pattern": {
          "$ref": "#/$defs/pattern-property"
        },
        "format": {
          "$ref": "#/$defs/format-property"
        },
        "enum": {
          "$ref": "#/$defs/enum-property"
        },
        "items": {
          "$ref": "#/$defs/items-property"
        },
        "minItems": {
          "$ref": "#/$defs/min-items-property"
        },
        "maxItems": {
          "$ref": "#/$defs/max-items-property"
        },
        "uniqueItems": {
          "$ref": "#/$defs/unique-items-property"
        },
        "required": {
          "$ref": "#/$defs/required-property"
        },
        "properties": {
          "$ref": "#/$defs/properties-property"
        },
        "patternProperties": {
          "$ref": "#/$defs/pattern-properties-property"
        },
        "additionalProperties": {
          "$ref": "#/$defs/additional-properties-property"
        },
        "minProperties": {
          "$ref": "#/$defs/min-properties-property"
        },
        "maxProperties": {
          "$ref": "#/$defs/max-properties-property"
        },
        "const": {
          "$ref": "#/$defs/const-property"
        },
        "default": {
          "$ref": "#/$defs/default-property"
        },
        "examples": {
          "$ref": "#/$defs/examples-property"
        },
        "not": {
          "$ref": "#/$defs/not-property"
        },
        "anyOf": {
          "$ref": "#/$defs/any-of-property"
        },
        "oneOf": {
          "$ref": "#/$defs/one-of-property"
        },
        "allOf": {
          "$ref": "#/$defs/all-of-property"
        },
        "if": {
          "$ref": "#/$defs/if-property"
        },
        "then": {
          "$ref": "#/$defs/then-property"
        },
        "else": {
          "$ref": "#/$defs/else-property"
        }
      },
      "additionalProperties": true
    },
    "root-entity": {
      "$ref": "#/$defs/entity-requirements-and-dependencies",
      "type": "object",
      "properties": {
        "$schema": {
          "description": "A schema used to validate this JSON schema",
          "type": "string",
          "minLength": 1,
          "examples": [
            "http://json-schema.org/draft-04/schema#",
            "http://json-schema.org/draft-07/schema#",
            "https://www.schemastore.org/metaschema-draft-07-unofficial-strict.json"
          ]
        },
        "$id": {
          "description": "An id of the current property or definition\n<https://json-schema.org/learn/getting-started-step-by-step#create-a-schema-definition>",
          "type": "string",
          "minLength": 1,
          "not": {
            "$ref": "#/$defs/space-string"
          },
          "examples": [
            "https://www.schemastore.org/schema-catalog.json"
          ]
        },
        "$comment": {
          "$ref": "#/$defs/comment-property"
        },
        "$ref": {
          "$ref": "#/$defs/ref-property"
        },
        "$defs": {
          "description": "Definitions",
          "type": "object",
          "additionalProperties": {
            "$ref": "#/$defs/sub-schema-entity",
            "description": "A definition"
          }
        },
        "definitions": {
          "description": "Definitions",
          "type": "object",
          "additionalProperties": {
            "$ref": "#/$defs/sub-schema-entity",
            "description": "A definition"
          }
        },
        "title": {
          "$ref": "#/$defs/title-property"
        },
        "description": {
          "$ref": "#/$defs/description-property"
        },
        "type": {
          "$ref": "#/$defs/type-property"
        },
        "minimum": {
          "$ref": "#/$defs/minimum-property"
        },
        "maximum": {
          "$ref": "#/$defs/maximum-property"
        },
        "exclusiveMinimum": {
          "$ref": "#/$defs/exclusive-minimum-property"
        },
        "exclusiveMaximum": {
          "$ref": "#/$defs/exclusive-maximum-property"
        },
        "multipleOf": {
          "$ref": "#/$defs/multiple-of-property"
        },
        "minLength": {
          "$ref": "#/$defs/min-length-property"
        },
        "maxLength": {
          "$ref": "#/$defs/max-length-property"
        },
        "pattern": {
          "$ref": "#/$defs/pattern-property"
        },
        "format": {
          "$ref": "#/$defs/format-property"
        },
        "enum": {
          "$ref": "#/$defs/enum-property"
        },
        "items": {
          "$ref": "#/$defs/items-property"
        },
        "minItems": {
          "$ref": "#/$defs/min-items-property"
        },
        "maxItems": {
          "$ref": "#/$defs/max-items-property"
        },
        "uniqueItems": {
          "$ref": "#/$defs/unique-items-property"
        },
        "required": {
          "$ref": "#/$defs/required-property"
        },
        "properties": {
          "$ref": "#/$defs/properties-property"
        },
        "patternProperties": {
          "$ref": "#/$defs/pattern-properties-property"
        },
        "additionalProperties": {
          "$ref": "#/$defs/additional-properties-property"
        },
        "minProperties": {
          "$ref": "#/$defs/min-properties-property"
        },
        "maxProperties": {
          "$ref": "#/$defs/max-properties-property"
        },
        "const": {
          "$ref": "#/$defs/const-property"
        },
        "default": {
          "$ref": "#/$defs/default-property"
        },
        "examples": {
          "$ref": "#/$defs/examples-property"
        },
        "not": {
          "$ref": "#/$defs/not-property"
        },
        "anyOf": {
          "$ref": "#/$defs/any-of-property"
        },
        "oneOf": {
          "$ref": "#/$defs/one-of-property"
        },
        "allOf": {
          "$ref": "#/$defs/all-of-property"
        },
        "if": {
          "$ref": "#/$defs/if-property"
        },
        "then": {
          "$ref": "#/$defs/then-property"
        },
        "else": {
          "$ref": "#/$defs/else-property"
        }
      },
      "additionalProperties": true
    }
  }
}
