{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "contract": {
      "type": "string",
      "const": "OverlayNode"
    },
    "overlayId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 256
    },
    "renderNode": {
      "type": "object",
      "properties": {
        "contract": {
          "type": "string",
          "const": "RenderNode"
        },
        "nodeId": {
          "type": "string",
          "minLength": 1,
          "maxLength": 256
        },
        "kind": {
          "type": "string",
          "enum": [
            "shell",
            "page",
            "navigation",
            "view",
            "record",
            "control",
            "detail",
            "action",
            "overlay",
            "professional-provider"
          ]
        },
        "version": {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        },
        "ownerRepo": {
          "type": "string",
          "minLength": 1,
          "maxLength": 256
        },
        "parentNodeId": {
          "type": "string",
          "minLength": 1,
          "maxLength": 256
        },
        "children": {
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          }
        },
        "slot": {
          "type": "string",
          "minLength": 1,
          "maxLength": 256
        },
        "pageRef": {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "id": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "version": {
              "anyOf": [
                {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991
                },
                {
                  "type": "string",
                  "minLength": 1
                }
              ]
            },
            "ownerRepo": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          },
          "required": [
            "kind",
            "id"
          ],
          "additionalProperties": false
        },
        "semanticRef": {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "id": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "version": {
              "anyOf": [
                {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991
                },
                {
                  "type": "string",
                  "minLength": 1
                }
              ]
            },
            "ownerRepo": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          },
          "required": [
            "kind",
            "id"
          ],
          "additionalProperties": false
        },
        "dataContextRef": {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "id": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "version": {
              "anyOf": [
                {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991
                },
                {
                  "type": "string",
                  "minLength": 1
                }
              ]
            },
            "ownerRepo": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          },
          "required": [
            "kind",
            "id"
          ],
          "additionalProperties": false
        },
        "capabilityRef": {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "id": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "version": {
              "anyOf": [
                {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991
                },
                {
                  "type": "string",
                  "minLength": 1
                }
              ]
            },
            "ownerRepo": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          },
          "required": [
            "kind",
            "id"
          ],
          "additionalProperties": false
        },
        "runtimeContractVersion": {
          "type": "string",
          "minLength": 1,
          "maxLength": 256
        },
        "providerRef": {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "id": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "version": {
              "anyOf": [
                {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991
                },
                {
                  "type": "string",
                  "minLength": 1
                }
              ]
            },
            "ownerRepo": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          },
          "required": [
            "kind",
            "id"
          ],
          "additionalProperties": false
        },
        "stateRef": {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "id": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "version": {
              "anyOf": [
                {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991
                },
                {
                  "type": "string",
                  "minLength": 1
                }
              ]
            },
            "ownerRepo": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          },
          "required": [
            "kind",
            "id"
          ],
          "additionalProperties": false
        },
        "surface": {
          "type": "object",
          "properties": {
            "frameOwner": {
              "type": "string",
              "enum": [
                "host",
                "provider",
                "none"
              ]
            },
            "tone": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "density": {
              "type": "string",
              "enum": [
                "compact",
                "default",
                "comfortable"
              ]
            }
          },
          "required": [
            "frameOwner",
            "density"
          ],
          "additionalProperties": false
        },
        "scroll": {
          "type": "object",
          "properties": {
            "owner": {
              "type": "string",
              "enum": [
                "page",
                "surface",
                "provider"
              ]
            },
            "axis": {
              "type": "string",
              "enum": [
                "x",
                "y",
                "both",
                "none"
              ]
            },
            "restoreKey": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "virtualizationBoundary": {
              "type": "boolean"
            }
          },
          "required": [
            "owner",
            "axis",
            "virtualizationBoundary"
          ],
          "additionalProperties": false
        },
        "activation": {
          "type": "object",
          "properties": {
            "activationId": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "mode": {
              "type": "string",
              "enum": [
                "navigate",
                "select",
                "drawer",
                "modal",
                "fullscreen",
                "inline"
              ]
            },
            "targetPath": {
              "type": "string",
              "pattern": "^\\/(?!\\/)"
            },
            "history": {
              "type": "string",
              "enum": [
                "push",
                "replace"
              ]
            }
          },
          "required": [
            "activationId",
            "mode"
          ],
          "additionalProperties": false
        },
        "lifecycle": {
          "type": "object",
          "properties": {
            "mountPolicy": {
              "type": "string",
              "enum": [
                "always",
                "when-visible",
                "when-active"
              ]
            },
            "queryPolicy": {
              "type": "string",
              "enum": [
                "always",
                "when-visible",
                "when-active",
                "manual"
              ]
            },
            "retainOnDeactivate": {
              "type": "boolean"
            },
            "deepLink": {
              "type": "boolean"
            },
            "focusReturn": {
              "type": "boolean"
            }
          },
          "required": [
            "mountPolicy",
            "queryPolicy",
            "retainOnDeactivate",
            "deepLink",
            "focusReturn"
          ],
          "additionalProperties": false
        },
        "layout": {
          "type": "object",
          "properties": {
            "mode": {
              "type": "string",
              "enum": [
                "contents",
                "block",
                "flex",
                "grid",
                "absolute"
              ]
            },
            "direction": {
              "type": "string",
              "enum": [
                "row",
                "column"
              ]
            },
            "columns": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            },
            "align": {
              "type": "string",
              "enum": [
                "start",
                "center",
                "end",
                "stretch"
              ]
            },
            "justify": {
              "type": "string",
              "enum": [
                "start",
                "center",
                "end",
                "between",
                "around"
              ]
            },
            "gapTokenRef": {
              "type": "object",
              "properties": {
                "kind": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                },
                "id": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                },
                "version": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "exclusiveMinimum": 0,
                      "maximum": 9007199254740991
                    },
                    {
                      "type": "string",
                      "minLength": 1
                    }
                  ]
                },
                "ownerRepo": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                }
              },
              "required": [
                "kind",
                "id"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "mode"
          ],
          "additionalProperties": false
        },
        "style": {
          "type": "object",
          "properties": {
            "width": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                }
              ]
            },
            "height": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                }
              ]
            },
            "minWidth": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                }
              ]
            },
            "maxWidth": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                }
              ]
            },
            "minHeight": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                }
              ]
            },
            "maxHeight": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                }
              ]
            },
            "padding": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                }
              ]
            },
            "paddingBlock": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                }
              ]
            },
            "paddingInline": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                }
              ]
            },
            "margin": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                }
              ]
            },
            "marginBlockStart": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                }
              ]
            },
            "marginBlockEnd": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                }
              ]
            },
            "marginInlineStart": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                }
              ]
            },
            "marginInlineEnd": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                }
              ]
            },
            "display": {
              "type": "string",
              "enum": [
                "none",
                "block",
                "inline",
                "inline-block",
                "flex",
                "inline-flex",
                "grid",
                "contents"
              ]
            },
            "gap": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                }
              ]
            },
            "rowGap": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                }
              ]
            },
            "columnGap": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                }
              ]
            },
            "background": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                }
              ]
            },
            "color": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                }
              ]
            },
            "borderColor": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                }
              ]
            },
            "borderWidth": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                }
              ]
            },
            "borderStyle": {
              "type": "string",
              "enum": [
                "none",
                "solid",
                "dashed",
                "dotted"
              ]
            },
            "borderRadius": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                }
              ]
            },
            "boxShadow": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                }
              ]
            },
            "fontSize": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                }
              ]
            },
            "fontFamily": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                }
              ]
            },
            "fontWeight": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                }
              ]
            },
            "lineHeight": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                }
              ]
            },
            "textAlign": {
              "type": "string",
              "enum": [
                "start",
                "center",
                "end",
                "left",
                "right"
              ]
            },
            "whiteSpace": {
              "type": "string",
              "enum": [
                "normal",
                "nowrap",
                "pre",
                "pre-wrap",
                "pre-line",
                "break-spaces"
              ]
            },
            "overflow": {
              "type": "string",
              "enum": [
                "visible",
                "hidden",
                "auto",
                "scroll",
                "clip"
              ]
            },
            "overflowX": {
              "type": "string",
              "enum": [
                "visible",
                "hidden",
                "auto",
                "scroll",
                "clip"
              ]
            },
            "overflowY": {
              "type": "string",
              "enum": [
                "visible",
                "hidden",
                "auto",
                "scroll",
                "clip"
              ]
            },
            "position": {
              "type": "string",
              "enum": [
                "static",
                "relative",
                "absolute",
                "sticky",
                "fixed"
              ]
            },
            "inset": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                }
              ]
            },
            "top": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                }
              ]
            },
            "right": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                }
              ]
            },
            "bottom": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                }
              ]
            },
            "left": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                }
              ]
            },
            "gridTemplateColumns": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                }
              ]
            },
            "gridColumn": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                }
              ]
            },
            "gridRow": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                }
              ]
            },
            "flex": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                }
              ]
            },
            "flexDirection": {
              "type": "string",
              "enum": [
                "row",
                "row-reverse",
                "column",
                "column-reverse"
              ]
            },
            "flexWrap": {
              "type": "string",
              "enum": [
                "nowrap",
                "wrap",
                "wrap-reverse"
              ]
            },
            "alignItems": {
              "type": "string",
              "enum": [
                "start",
                "center",
                "end",
                "stretch",
                "baseline"
              ]
            },
            "justifyContent": {
              "type": "string",
              "enum": [
                "start",
                "center",
                "end",
                "space-between",
                "space-around",
                "space-evenly"
              ]
            },
            "flexGrow": {
              "type": "number",
              "minimum": 0
            },
            "flexShrink": {
              "type": "number",
              "minimum": 0
            },
            "alignSelf": {
              "type": "string",
              "enum": [
                "auto",
                "start",
                "center",
                "end",
                "stretch"
              ]
            },
            "justifySelf": {
              "type": "string",
              "enum": [
                "auto",
                "start",
                "center",
                "end",
                "stretch"
              ]
            },
            "objectFit": {
              "type": "string",
              "enum": [
                "contain",
                "cover",
                "fill",
                "none",
                "scale-down"
              ]
            },
            "opacity": {
              "type": "number",
              "minimum": 0,
              "maximum": 1
            }
          },
          "additionalProperties": false
        },
        "responsive": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "minWidthPx": {
                "type": "number",
                "minimum": 0
              },
              "maxWidthPx": {
                "type": "number",
                "exclusiveMinimum": 0
              },
              "layout": {
                "type": "object",
                "properties": {
                  "mode": {
                    "type": "string",
                    "enum": [
                      "contents",
                      "block",
                      "flex",
                      "grid",
                      "absolute"
                    ]
                  },
                  "direction": {
                    "type": "string",
                    "enum": [
                      "row",
                      "column"
                    ]
                  },
                  "columns": {
                    "type": "integer",
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991
                  },
                  "align": {
                    "type": "string",
                    "enum": [
                      "start",
                      "center",
                      "end",
                      "stretch"
                    ]
                  },
                  "justify": {
                    "type": "string",
                    "enum": [
                      "start",
                      "center",
                      "end",
                      "between",
                      "around"
                    ]
                  },
                  "gapTokenRef": {
                    "type": "object",
                    "properties": {
                      "kind": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                      },
                      "id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                      },
                      "version": {
                        "anyOf": [
                          {
                            "type": "integer",
                            "exclusiveMinimum": 0,
                            "maximum": 9007199254740991
                          },
                          {
                            "type": "string",
                            "minLength": 1
                          }
                        ]
                      },
                      "ownerRepo": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                      }
                    },
                    "required": [
                      "kind",
                      "id"
                    ],
                    "additionalProperties": false
                  }
                },
                "required": [
                  "mode"
                ],
                "additionalProperties": false
              },
              "style": {
                "type": "object",
                "properties": {
                  "width": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                      }
                    ]
                  },
                  "height": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                      }
                    ]
                  },
                  "minWidth": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                      }
                    ]
                  },
                  "maxWidth": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                      }
                    ]
                  },
                  "minHeight": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                      }
                    ]
                  },
                  "maxHeight": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                      }
                    ]
                  },
                  "padding": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                      }
                    ]
                  },
                  "paddingBlock": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                      }
                    ]
                  },
                  "paddingInline": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                      }
                    ]
                  },
                  "margin": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                      }
                    ]
                  },
                  "marginBlockStart": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                      }
                    ]
                  },
                  "marginBlockEnd": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                      }
                    ]
                  },
                  "marginInlineStart": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                      }
                    ]
                  },
                  "marginInlineEnd": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                      }
                    ]
                  },
                  "display": {
                    "type": "string",
                    "enum": [
                      "none",
                      "block",
                      "inline",
                      "inline-block",
                      "flex",
                      "inline-flex",
                      "grid",
                      "contents"
                    ]
                  },
                  "gap": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                      }
                    ]
                  },
                  "rowGap": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                      }
                    ]
                  },
                  "columnGap": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                      }
                    ]
                  },
                  "background": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                      }
                    ]
                  },
                  "color": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                      }
                    ]
                  },
                  "borderColor": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                      }
                    ]
                  },
                  "borderWidth": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                      }
                    ]
                  },
                  "borderStyle": {
                    "type": "string",
                    "enum": [
                      "none",
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "borderRadius": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                      }
                    ]
                  },
                  "boxShadow": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                      }
                    ]
                  },
                  "fontSize": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                      }
                    ]
                  },
                  "fontFamily": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                      }
                    ]
                  },
                  "fontWeight": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                      }
                    ]
                  },
                  "lineHeight": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                      }
                    ]
                  },
                  "textAlign": {
                    "type": "string",
                    "enum": [
                      "start",
                      "center",
                      "end",
                      "left",
                      "right"
                    ]
                  },
                  "whiteSpace": {
                    "type": "string",
                    "enum": [
                      "normal",
                      "nowrap",
                      "pre",
                      "pre-wrap",
                      "pre-line",
                      "break-spaces"
                    ]
                  },
                  "overflow": {
                    "type": "string",
                    "enum": [
                      "visible",
                      "hidden",
                      "auto",
                      "scroll",
                      "clip"
                    ]
                  },
                  "overflowX": {
                    "type": "string",
                    "enum": [
                      "visible",
                      "hidden",
                      "auto",
                      "scroll",
                      "clip"
                    ]
                  },
                  "overflowY": {
                    "type": "string",
                    "enum": [
                      "visible",
                      "hidden",
                      "auto",
                      "scroll",
                      "clip"
                    ]
                  },
                  "position": {
                    "type": "string",
                    "enum": [
                      "static",
                      "relative",
                      "absolute",
                      "sticky",
                      "fixed"
                    ]
                  },
                  "inset": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                      }
                    ]
                  },
                  "top": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                      }
                    ]
                  },
                  "right": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                      }
                    ]
                  },
                  "bottom": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                      }
                    ]
                  },
                  "left": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                      }
                    ]
                  },
                  "gridTemplateColumns": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                      }
                    ]
                  },
                  "gridColumn": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                      }
                    ]
                  },
                  "gridRow": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                      }
                    ]
                  },
                  "flex": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                      }
                    ]
                  },
                  "flexDirection": {
                    "type": "string",
                    "enum": [
                      "row",
                      "row-reverse",
                      "column",
                      "column-reverse"
                    ]
                  },
                  "flexWrap": {
                    "type": "string",
                    "enum": [
                      "nowrap",
                      "wrap",
                      "wrap-reverse"
                    ]
                  },
                  "alignItems": {
                    "type": "string",
                    "enum": [
                      "start",
                      "center",
                      "end",
                      "stretch",
                      "baseline"
                    ]
                  },
                  "justifyContent": {
                    "type": "string",
                    "enum": [
                      "start",
                      "center",
                      "end",
                      "space-between",
                      "space-around",
                      "space-evenly"
                    ]
                  },
                  "flexGrow": {
                    "type": "number",
                    "minimum": 0
                  },
                  "flexShrink": {
                    "type": "number",
                    "minimum": 0
                  },
                  "alignSelf": {
                    "type": "string",
                    "enum": [
                      "auto",
                      "start",
                      "center",
                      "end",
                      "stretch"
                    ]
                  },
                  "justifySelf": {
                    "type": "string",
                    "enum": [
                      "auto",
                      "start",
                      "center",
                      "end",
                      "stretch"
                    ]
                  },
                  "objectFit": {
                    "type": "string",
                    "enum": [
                      "contain",
                      "cover",
                      "fill",
                      "none",
                      "scale-down"
                    ]
                  },
                  "opacity": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1
                  }
                },
                "additionalProperties": false
              }
            },
            "required": [
              "layout"
            ],
            "additionalProperties": false
          }
        },
        "accessRef": {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "id": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "version": {
              "anyOf": [
                {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991
                },
                {
                  "type": "string",
                  "minLength": 1
                }
              ]
            },
            "ownerRepo": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          },
          "required": [
            "kind",
            "id"
          ],
          "additionalProperties": false
        },
        "evidenceRef": {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "id": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "version": {
              "anyOf": [
                {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991
                },
                {
                  "type": "string",
                  "minLength": 1
                }
              ]
            },
            "ownerRepo": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          },
          "required": [
            "kind",
            "id"
          ],
          "additionalProperties": false
        },
        "state": {
          "type": "string",
          "enum": [
            "idle",
            "loading",
            "empty",
            "error",
            "success",
            "disabled",
            "selected"
          ]
        },
        "renderModel": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "$ref": "#/$defs/__schema0"
          }
        },
        "repeat": {
          "type": "object",
          "properties": {
            "source": {
              "$ref": "#/$defs/__schema1"
            },
            "keyPath": {
              "minItems": 1,
              "maxItems": 16,
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 1,
                "maxLength": 256
              }
            },
            "limit": {
              "default": 200,
              "type": "integer",
              "minimum": 1,
              "maximum": 1000
            }
          },
          "required": [
            "source",
            "keyPath",
            "limit"
          ],
          "additionalProperties": false
        }
      },
      "required": [
        "contract",
        "nodeId",
        "kind",
        "version",
        "ownerRepo",
        "children",
        "pageRef",
        "capabilityRef",
        "surface",
        "scroll",
        "activation",
        "lifecycle",
        "layout",
        "responsive",
        "state",
        "renderModel"
      ],
      "additionalProperties": false
    },
    "presentation": {
      "type": "string",
      "enum": [
        "drawer",
        "modal",
        "fullscreen"
      ]
    },
    "zIndexLane": {
      "type": "string",
      "enum": [
        "popover",
        "drawer",
        "modal",
        "fullscreen",
        "system"
      ]
    },
    "url": {
      "type": "object",
      "properties": {
        "parameter": {
          "type": "string",
          "minLength": 1,
          "maxLength": 256
        },
        "value": {
          "type": "string",
          "minLength": 1,
          "maxLength": 256
        },
        "openMode": {
          "type": "string",
          "enum": [
            "push",
            "replace"
          ]
        },
        "closeMode": {
          "type": "string",
          "enum": [
            "back",
            "replace"
          ]
        }
      },
      "required": [
        "parameter",
        "value",
        "openMode",
        "closeMode"
      ],
      "additionalProperties": false
    },
    "focus": {
      "type": "object",
      "properties": {
        "initial": {
          "type": "string",
          "enum": [
            "first-interactive",
            "container",
            "explicit"
          ]
        },
        "trap": {
          "type": "boolean"
        }
      },
      "required": [
        "initial",
        "trap"
      ],
      "additionalProperties": false
    },
    "close": {
      "type": "object",
      "properties": {
        "escape": {
          "type": "boolean"
        },
        "backdrop": {
          "type": "boolean"
        }
      },
      "required": [
        "escape",
        "backdrop"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "contract",
    "overlayId",
    "renderNode",
    "presentation",
    "zIndexLane",
    "url",
    "focus",
    "close"
  ],
  "additionalProperties": false,
  "$defs": {
    "__schema0": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "number"
        },
        {
          "type": "boolean"
        },
        {
          "type": "null"
        },
        {
          "type": "array",
          "items": {
            "$ref": "#/$defs/__schema0"
          }
        },
        {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "$ref": "#/$defs/__schema0"
          }
        }
      ]
    },
    "__schema1": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "const": "literal"
            },
            "value": {
              "$ref": "#/$defs/__schema0"
            }
          },
          "required": [
            "kind",
            "value"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "const": "read"
            },
            "root": {
              "type": "string",
              "enum": [
                "state",
                "model",
                "bindings",
                "queries",
                "scope",
                "intent",
                "result",
                "actions"
              ]
            },
            "path": {
              "maxItems": 16,
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 1,
                "maxLength": 256
              }
            }
          },
          "required": [
            "kind",
            "root",
            "path"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "const": "operator"
            },
            "operator": {
              "type": "string",
              "enum": [
                "add",
                "subtract",
                "multiply",
                "divide",
                "min",
                "max",
                "round",
                "equals",
                "not-equals",
                "less-than",
                "less-or-equal",
                "greater-than",
                "greater-or-equal",
                "and",
                "or",
                "not",
                "coalesce",
                "concat",
                "string",
                "number",
                "length",
                "includes",
                "get",
                "set-path",
                "merge",
                "entries",
                "from-entries",
                "array-concat",
                "slice",
                "trim",
                "fixed",
                "number-format",
                "encode-uri-component"
              ]
            },
            "arguments": {
              "minItems": 1,
              "maxItems": 32,
              "type": "array",
              "items": {
                "$ref": "#/$defs/__schema1"
              }
            }
          },
          "required": [
            "kind",
            "operator",
            "arguments"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "const": "conditional"
            },
            "condition": {
              "$ref": "#/$defs/__schema1"
            },
            "then": {
              "$ref": "#/$defs/__schema1"
            },
            "else": {
              "$ref": "#/$defs/__schema1"
            }
          },
          "required": [
            "kind",
            "condition",
            "then",
            "else"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "const": "object"
            },
            "fields": {
              "type": "object",
              "propertyNames": {
                "type": "string",
                "minLength": 1,
                "maxLength": 256
              },
              "additionalProperties": {
                "$ref": "#/$defs/__schema1"
              }
            }
          },
          "required": [
            "kind",
            "fields"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "const": "array"
            },
            "items": {
              "maxItems": 1000,
              "type": "array",
              "items": {
                "$ref": "#/$defs/__schema1"
              }
            }
          },
          "required": [
            "kind",
            "items"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "const": "map"
            },
            "source": {
              "$ref": "#/$defs/__schema1"
            },
            "value": {
              "$ref": "#/$defs/__schema1"
            }
          },
          "required": [
            "kind",
            "source",
            "value"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "const": "filter"
            },
            "source": {
              "$ref": "#/$defs/__schema1"
            },
            "value": {
              "$ref": "#/$defs/__schema1"
            }
          },
          "required": [
            "kind",
            "source",
            "value"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "const": "sum"
            },
            "source": {
              "$ref": "#/$defs/__schema1"
            },
            "value": {
              "$ref": "#/$defs/__schema1"
            }
          },
          "required": [
            "kind",
            "source",
            "value"
          ],
          "additionalProperties": false
        }
      ]
    }
  },
  "$id": "https://schemas.infmonkeys.com/contracts/overlay-node.schema.json",
  "title": "overlay-node"
}
