json_schema: {
      "$schema": "http://json-schema.org/draft-04/schema#",
      "id": "http://mindsnacks.github.io/Zinc/schemas/v1/manifest.json#",
      "type": "object",
      "required": [
          "catalog",
          "bundle",
          "version",
          "files"
      ],
      "additionalProperties": false,
      "properties": {
          "format": {
              "type": "string",
              "pattern": "1"
          },
          "catalog": {
              "type": "string",
              "minLength": 1
          },
          "bundle": {
              "type": "string",
              "minLength": 1
          },
          "version": {
              "type": "integer",
              "minimum": 1
          },
          "flavors": {
              "type": "array",
              "items": {
                  "type": "string",
                  "minLength": 1
              }
          },
          "files": {
              "type": "object",
              "patternProperties": {
                  ".+": {
                      "type": "object",
                      "required": [
                          "sha",
                          "formats"
                      ],
                      "additionalProperties": false,
                      "properties": {
                          "sha": {
                              "type": "string",
                              "pattern": "[0-9a-f]{40}"
                          },
                          "formats": {
                              "type": "object",
                              "additionalProperties": false,
                              "patternProperties": {
                                  "^(gz|raw)$": {
                                      "type": "object",
                                      "properties": {
                                          "size": {
                                              "type": "integer",
                                              "minimum": 0
                                          }
                                      },
                                      "required": [
                                          "size"
                                      ],
                                      "additionalProperties": false
                                  }
                              }
                          },
                          "flavors": {
                              "type": "array",
                              "items": {
                                  "type": "string",
                                  "minLength": 1
                              }
                          }
                      }
                  }
              }
          }
      }
  }