1079d581eSLawrence Tang{
2079d581eSLawrence Tang    "$id": "cper-json-ia32x54-processor-section",
3079d581eSLawrence Tang    "$schema": "https://json-schema.org/draft/2020-12/schema",
4079d581eSLawrence Tang    "type": "object",
5079d581eSLawrence Tang    "required": ["validationBits", "localAPICID", "cpuidInfo", "processorErrorInfo", "processorContextInfo"],
6079d581eSLawrence Tang    "additionalProperties": false,
7079d581eSLawrence Tang    "properties": {
8079d581eSLawrence Tang        "validationBits": {
9079d581eSLawrence Tang            "type": "object",
10079d581eSLawrence Tang            "required": ["localAPICIDValid", "cpuIDInfoValid", "processorErrorInfoNum", "processorContextInfoNum"],
11079d581eSLawrence Tang            "properties": {
12079d581eSLawrence Tang                "localAPICIDValid": {
13079d581eSLawrence Tang                    "type": "boolean"
14079d581eSLawrence Tang                },
15079d581eSLawrence Tang                "cpuIDInfoValid": {
16079d581eSLawrence Tang                    "type": "boolean"
17079d581eSLawrence Tang                },
18079d581eSLawrence Tang                "processorErrorInfoNum": {
19079d581eSLawrence Tang                    "type": "integer",
20079d581eSLawrence Tang                    "minimum": 0
21079d581eSLawrence Tang                },
22079d581eSLawrence Tang                "processorContextInfoNum": {
23079d581eSLawrence Tang                    "type": "integer",
24079d581eSLawrence Tang                    "minimum": 0
25079d581eSLawrence Tang                }
26079d581eSLawrence Tang            }
27079d581eSLawrence Tang        },
28079d581eSLawrence Tang        "localAPICID": {
29079d581eSLawrence Tang            "type": "integer"
30079d581eSLawrence Tang        },
31079d581eSLawrence Tang        "cpuidInfo": {
32079d581eSLawrence Tang            "type": "object",
33079d581eSLawrence Tang            "required": ["eax", "ebx", "ecx", "edx"],
34079d581eSLawrence Tang            "properties": {
35079d581eSLawrence Tang                "eax": {
36079d581eSLawrence Tang                    "type": "integer"
37079d581eSLawrence Tang                },
38079d581eSLawrence Tang                "ebx": {
39079d581eSLawrence Tang                    "type": "integer"
40079d581eSLawrence Tang                },
41079d581eSLawrence Tang                "ecx": {
42079d581eSLawrence Tang                    "type": "integer"
43079d581eSLawrence Tang                },
44079d581eSLawrence Tang                "edx": {
45079d581eSLawrence Tang                    "type": "integer"
46079d581eSLawrence Tang                }
47079d581eSLawrence Tang            }
48079d581eSLawrence Tang        },
49079d581eSLawrence Tang        "processorErrorInfo": {
50079d581eSLawrence Tang            "type": "array",
51079d581eSLawrence Tang            "items": {
52079d581eSLawrence Tang                "type": "object",
53079d581eSLawrence Tang                "required": ["type", "validationBits", "checkInfo", "targetAddressID", "requestorID", "responderID", "instructionPointer"],
54079d581eSLawrence Tang                "additionalProperties": false,
55079d581eSLawrence Tang                "properties": {
56079d581eSLawrence Tang                    "type": {
57079d581eSLawrence Tang                        "type": "string"
58079d581eSLawrence Tang                    },
59079d581eSLawrence Tang                    "validationBits": {
60079d581eSLawrence Tang                        "type": "object",
61079d581eSLawrence Tang                        "required": ["checkInfoValid", "targetAddressIDValid", "requestorIDValid", "responderIDValid", "instructionPointerValid"],
62079d581eSLawrence Tang                        "additionalProperties": false,
63079d581eSLawrence Tang                        "properties": {
64079d581eSLawrence Tang                            "checkInfoValid": {
65079d581eSLawrence Tang                                "type": "boolean"
66079d581eSLawrence Tang                            },
67079d581eSLawrence Tang                            "targetAddressIDValid": {
68079d581eSLawrence Tang                                "type": "boolean"
69079d581eSLawrence Tang                            },
70079d581eSLawrence Tang                            "requestorIDValid": {
71079d581eSLawrence Tang                                "type": "boolean"
72079d581eSLawrence Tang                            },
73079d581eSLawrence Tang                            "responderIDValid": {
74079d581eSLawrence Tang                                "type": "boolean"
75079d581eSLawrence Tang                            },
76079d581eSLawrence Tang                            "instructionPointerValid": {
77079d581eSLawrence Tang                                "type": "boolean"
78079d581eSLawrence Tang                            }
79079d581eSLawrence Tang                        }
80079d581eSLawrence Tang                    },
81079d581eSLawrence Tang                    "checkInfo": {
82079d581eSLawrence Tang                        "type" : "object",
83079d581eSLawrence Tang                        "oneOf": [
84079d581eSLawrence Tang                            {
85079d581eSLawrence Tang                                "type": "object",
86079d581eSLawrence Tang                                "required": ["validationBits", "transactionType", "operation", "level", "processorContextCorrupt", "uncorrected", "preciseIP", "restartableIP", "overflow"],
87079d581eSLawrence Tang                                "additionalProperties": false,
88079d581eSLawrence Tang                                "properties": {
89079d581eSLawrence Tang                                    "validationBits": {
90079d581eSLawrence Tang                                        "type": "object",
91079d581eSLawrence Tang                                        "required": ["transactionTypeValid", "operationValid", "levelValid", "processorContextCorruptValid", "uncorrectedValid", "preciseIPValid", "restartableIPValid", "overflowValid"],
92079d581eSLawrence Tang                                        "properties": {
93079d581eSLawrence Tang                                            "transactionTypeValid": {
94079d581eSLawrence Tang                                                "type": "boolean"
95079d581eSLawrence Tang                                            },
96079d581eSLawrence Tang                                            "operationValid": {
97079d581eSLawrence Tang                                                "type": "boolean"
98079d581eSLawrence Tang                                            },
99079d581eSLawrence Tang                                            "levelValid": {
100079d581eSLawrence Tang                                                "type": "boolean"
101079d581eSLawrence Tang                                            },
102079d581eSLawrence Tang                                            "processorContextCorruptValid": {
103079d581eSLawrence Tang                                                "type": "boolean"
104079d581eSLawrence Tang                                            },
105079d581eSLawrence Tang                                            "uncorrectedValid": {
106079d581eSLawrence Tang                                                "type": "boolean"
107079d581eSLawrence Tang                                            },
108079d581eSLawrence Tang                                            "preciseIPValid": {
109079d581eSLawrence Tang                                                "type": "boolean"
110079d581eSLawrence Tang                                            },
111079d581eSLawrence Tang                                            "restartableIPValid": {
112079d581eSLawrence Tang                                                "type": "boolean"
113079d581eSLawrence Tang                                            },
114079d581eSLawrence Tang                                            "overflowValid": {
115079d581eSLawrence Tang                                                "type": "boolean"
116079d581eSLawrence Tang                                            }
117079d581eSLawrence Tang                                        }
118079d581eSLawrence Tang                                    },
119079d581eSLawrence Tang                                    "transactionType": {
120079d581eSLawrence Tang                                        "type": "object",
1218a2d737cSLawrence Tang                                        "$ref": "./common/cper-json-nvp.json"
122079d581eSLawrence Tang                                    },
123079d581eSLawrence Tang                                    "operation": {
124079d581eSLawrence Tang                                        "type": "object",
1258a2d737cSLawrence Tang                                        "$ref": "./common/cper-json-nvp.json"
126079d581eSLawrence Tang                                    },
127079d581eSLawrence Tang                                    "level": {
128079d581eSLawrence Tang                                        "type": "integer",
129079d581eSLawrence Tang                                        "minimum": 0
130079d581eSLawrence Tang                                    },
131079d581eSLawrence Tang                                    "processorContextCorrupt": {
132079d581eSLawrence Tang                                        "type": "boolean"
133079d581eSLawrence Tang                                    },
134079d581eSLawrence Tang                                    "uncorrected": {
135079d581eSLawrence Tang                                        "type": "boolean"
136079d581eSLawrence Tang                                    },
137079d581eSLawrence Tang                                    "preciseIP": {
138079d581eSLawrence Tang                                        "type": "boolean"
139079d581eSLawrence Tang                                    },
140079d581eSLawrence Tang                                    "restartableIP": {
141079d581eSLawrence Tang                                        "type": "boolean"
142079d581eSLawrence Tang                                    },
143079d581eSLawrence Tang                                    "overflow": {
144079d581eSLawrence Tang                                        "type": "boolean"
145079d581eSLawrence Tang                                    }
146079d581eSLawrence Tang                                }
147079d581eSLawrence Tang                            },
148079d581eSLawrence Tang                            {
149079d581eSLawrence Tang                                "type": "object",
150079d581eSLawrence Tang                                "required": ["validationBits", "transactionType", "operation", "level", "processorContextCorrupt", "uncorrected", "preciseIP", "restartableIP", "overflow", "participationType", "timedOut", "addressSpace"],
151079d581eSLawrence Tang                                "additionalProperties": false,
152079d581eSLawrence Tang                                "properties": {
153079d581eSLawrence Tang                                    "validationBits": {
154079d581eSLawrence Tang                                        "type": "object",
155*d34f2b11SLawrence Tang                                        "required": ["transactionTypeValid", "operationValid", "levelValid", "processorContextCorruptValid", "uncorrectedValid", "preciseIPValid", "restartableIPValid", "overflowValid", "participationTypeValid", "timedOutValid", "addressSpaceValid"],
156079d581eSLawrence Tang                                        "properties": {
157079d581eSLawrence Tang                                            "transactionTypeValid": {
158079d581eSLawrence Tang                                                "type": "boolean"
159079d581eSLawrence Tang                                            },
160079d581eSLawrence Tang                                            "operationValid": {
161079d581eSLawrence Tang                                                "type": "boolean"
162079d581eSLawrence Tang                                            },
163079d581eSLawrence Tang                                            "levelValid": {
164079d581eSLawrence Tang                                                "type": "boolean"
165079d581eSLawrence Tang                                            },
166079d581eSLawrence Tang                                            "processorContextCorruptValid": {
167079d581eSLawrence Tang                                                "type": "boolean"
168079d581eSLawrence Tang                                            },
169079d581eSLawrence Tang                                            "uncorrectedValid": {
170079d581eSLawrence Tang                                                "type": "boolean"
171079d581eSLawrence Tang                                            },
172079d581eSLawrence Tang                                            "preciseIPValid": {
173079d581eSLawrence Tang                                                "type": "boolean"
174079d581eSLawrence Tang                                            },
175079d581eSLawrence Tang                                            "restartableIPValid": {
176079d581eSLawrence Tang                                                "type": "boolean"
177079d581eSLawrence Tang                                            },
178079d581eSLawrence Tang                                            "overflowValid": {
179079d581eSLawrence Tang                                                "type": "boolean"
180079d581eSLawrence Tang                                            },
181079d581eSLawrence Tang                                            "participationTypeValid": {
182079d581eSLawrence Tang                                                "type": "boolean"
183079d581eSLawrence Tang                                            },
184079d581eSLawrence Tang                                            "timedOutValid": {
185079d581eSLawrence Tang                                                "type": "boolean"
186*d34f2b11SLawrence Tang                                            },
187*d34f2b11SLawrence Tang                                            "addressSpaceValid": {
188*d34f2b11SLawrence Tang                                                "type": "boolean"
189079d581eSLawrence Tang                                            }
190079d581eSLawrence Tang                                        }
191079d581eSLawrence Tang                                    },
192079d581eSLawrence Tang                                    "transactionType": {
193079d581eSLawrence Tang                                        "type": "object",
1948a2d737cSLawrence Tang                                        "$ref": "./common/cper-json-nvp.json"
195079d581eSLawrence Tang                                    },
196079d581eSLawrence Tang                                    "operation": {
197079d581eSLawrence Tang                                        "type": "object",
1988a2d737cSLawrence Tang                                        "$ref": "./common/cper-json-nvp.json"
199079d581eSLawrence Tang                                    },
200079d581eSLawrence Tang                                    "level": {
201079d581eSLawrence Tang                                        "type": "integer",
202079d581eSLawrence Tang                                        "minimum": 0
203079d581eSLawrence Tang                                    },
204079d581eSLawrence Tang                                    "processorContextCorrupt": {
205079d581eSLawrence Tang                                        "type": "boolean"
206079d581eSLawrence Tang                                    },
207079d581eSLawrence Tang                                    "uncorrected": {
208079d581eSLawrence Tang                                        "type": "boolean"
209079d581eSLawrence Tang                                    },
210079d581eSLawrence Tang                                    "preciseIP": {
211079d581eSLawrence Tang                                        "type": "boolean"
212079d581eSLawrence Tang                                    },
213079d581eSLawrence Tang                                    "restartableIP": {
214079d581eSLawrence Tang                                        "type": "boolean"
215079d581eSLawrence Tang                                    },
216079d581eSLawrence Tang                                    "overflow": {
217079d581eSLawrence Tang                                        "type": "boolean"
218079d581eSLawrence Tang                                    },
219079d581eSLawrence Tang                                    "participationType": {
220079d581eSLawrence Tang                                        "type": "object",
2218a2d737cSLawrence Tang                                        "$ref": "./common/cper-json-nvp.json"
222079d581eSLawrence Tang                                    },
223079d581eSLawrence Tang                                    "addressSpace": {
224079d581eSLawrence Tang                                        "type": "object",
2258a2d737cSLawrence Tang                                        "$ref": "./common/cper-json-nvp.json"
226079d581eSLawrence Tang                                    },
227079d581eSLawrence Tang                                    "timedOut": {
228079d581eSLawrence Tang                                        "type": "boolean"
229079d581eSLawrence Tang                                    }
230079d581eSLawrence Tang                                }
231079d581eSLawrence Tang                            },
232079d581eSLawrence Tang                            {
233079d581eSLawrence Tang                                "type": "object",
234079d581eSLawrence Tang                                "required": [],
235079d581eSLawrence Tang                                "additionalProperties": false,
236079d581eSLawrence Tang                                "properties": {
237079d581eSLawrence Tang                                    "validationBits": {
238079d581eSLawrence Tang                                        "type": "object",
239079d581eSLawrence Tang                                        "required": ["errorTypeValid", "processorContextCorruptValid", "uncorrectedValid", "preciseIPValid", "restartableIPValid", "overflowValid"],
240079d581eSLawrence Tang                                        "properties": {
241079d581eSLawrence Tang                                            "errorTypeValid": {
242079d581eSLawrence Tang                                                "type": "boolean"
243079d581eSLawrence Tang                                            },
244079d581eSLawrence Tang                                            "processorContextCorruptValid": {
245079d581eSLawrence Tang                                                "type": "boolean"
246079d581eSLawrence Tang                                            },
247079d581eSLawrence Tang                                            "uncorrectedValid": {
248079d581eSLawrence Tang                                                "type": "boolean"
249079d581eSLawrence Tang                                            },
250079d581eSLawrence Tang                                            "preciseIPValid": {
251079d581eSLawrence Tang                                                "type": "boolean"
252079d581eSLawrence Tang                                            },
253079d581eSLawrence Tang                                            "restartableIPValid": {
254079d581eSLawrence Tang                                                "type": "boolean"
255079d581eSLawrence Tang                                            },
256079d581eSLawrence Tang                                            "overflowValid": {
257079d581eSLawrence Tang                                                "type": "boolean"
258079d581eSLawrence Tang                                            }
259079d581eSLawrence Tang                                        }
260079d581eSLawrence Tang                                    },
261079d581eSLawrence Tang                                    "errorType": {
262079d581eSLawrence Tang                                        "type": "object",
2638a2d737cSLawrence Tang                                        "$ref": "./common/cper-json-nvp.json"
264079d581eSLawrence Tang                                    },
265079d581eSLawrence Tang                                    "processorContextCorrupt": {
266079d581eSLawrence Tang                                        "type": "boolean"
267079d581eSLawrence Tang                                    },
268079d581eSLawrence Tang                                    "uncorrected": {
269079d581eSLawrence Tang                                        "type": "boolean"
270079d581eSLawrence Tang                                    },
271079d581eSLawrence Tang                                    "preciseIP": {
272079d581eSLawrence Tang                                        "type": "boolean"
273079d581eSLawrence Tang                                    },
274079d581eSLawrence Tang                                    "restartableIP": {
275079d581eSLawrence Tang                                        "type": "boolean"
276079d581eSLawrence Tang                                    },
277079d581eSLawrence Tang                                    "overflow": {
278079d581eSLawrence Tang                                        "type": "boolean"
279079d581eSLawrence Tang                                    }
280079d581eSLawrence Tang                                }
281079d581eSLawrence Tang                            }
282079d581eSLawrence Tang                        ]
283079d581eSLawrence Tang                    },
284079d581eSLawrence Tang                    "targetAddressID": {
285079d581eSLawrence Tang                        "type": "integer"
286079d581eSLawrence Tang                    },
287079d581eSLawrence Tang                    "requestorID": {
288079d581eSLawrence Tang                        "type": "integer"
289079d581eSLawrence Tang                    },
290079d581eSLawrence Tang                    "responderID": {
291079d581eSLawrence Tang                        "type": "integer"
292079d581eSLawrence Tang                    },
293079d581eSLawrence Tang                    "instructionPointer": {
294079d581eSLawrence Tang                        "type": "integer"
295079d581eSLawrence Tang                    }
296079d581eSLawrence Tang                }
297079d581eSLawrence Tang            }
298079d581eSLawrence Tang        },
299079d581eSLawrence Tang        "processorContextInfo": {
300079d581eSLawrence Tang            "type": "array",
301079d581eSLawrence Tang            "items": {
302079d581eSLawrence Tang                "type": "object",
303079d581eSLawrence Tang                "required": ["registerContextType", "registerArraySize", "msrAddress", "mmRegisterAddress"],
304079d581eSLawrence Tang                "additionalProperties": false,
305079d581eSLawrence Tang                "properties": {
306079d581eSLawrence Tang                    "registerContextType": {
307079d581eSLawrence Tang                        "type": "object",
3088a2d737cSLawrence Tang                        "$ref": "./common/cper-json-nvp.json"
309079d581eSLawrence Tang                    },
310079d581eSLawrence Tang                    "registerArraySize": {
311079d581eSLawrence Tang                        "type": "integer"
312079d581eSLawrence Tang                    },
313079d581eSLawrence Tang                    "msrAddress": {
314079d581eSLawrence Tang                        "type": "integer"
315079d581eSLawrence Tang                    },
316079d581eSLawrence Tang                    "mmRegisterAddress": {
317079d581eSLawrence Tang                        "type": "integer"
318079d581eSLawrence Tang                    },
319079d581eSLawrence Tang                    "registerArray": {
320079d581eSLawrence Tang                        "type": "object",
321079d581eSLawrence Tang                        "oneOf": [
322079d581eSLawrence Tang                            {
323079d581eSLawrence Tang                                "type": "object",
324079d581eSLawrence Tang                                "required": ["eax", "ebx", "ecx", "edx", "esi", "edi", "ebp", "esp", "cs", "ds", "ss", "es", "fs", "gs", "eflags", "eip", "cr0", "cr1", "cr2", "cr3", "cr4", "gdtr", "idtr", "ldtr", "tr"],
325079d581eSLawrence Tang                                "additionalProperties": false,
326079d581eSLawrence Tang                                "properties": {
327079d581eSLawrence Tang                                    "eax": { "type": "integer" },
328079d581eSLawrence Tang                                    "ebx": { "type": "integer" },
329079d581eSLawrence Tang                                    "ecx": { "type": "integer" },
330079d581eSLawrence Tang                                    "edx": { "type": "integer" },
331079d581eSLawrence Tang                                    "esi": { "type": "integer" },
332079d581eSLawrence Tang                                    "edi": { "type": "integer" },
333079d581eSLawrence Tang                                    "ebp": { "type": "integer" },
334079d581eSLawrence Tang                                    "esp": { "type": "integer" },
335079d581eSLawrence Tang                                    "cs": { "type": "integer" },
336079d581eSLawrence Tang                                    "ds": { "type": "integer" },
337079d581eSLawrence Tang                                    "ss": { "type": "integer" },
338079d581eSLawrence Tang                                    "es": { "type": "integer" },
339079d581eSLawrence Tang                                    "fs": { "type": "integer" },
340079d581eSLawrence Tang                                    "gs": { "type": "integer" },
341079d581eSLawrence Tang                                    "eflags": { "type": "integer" },
342079d581eSLawrence Tang                                    "eip": { "type": "integer" },
343079d581eSLawrence Tang                                    "cr0": { "type": "integer" },
344079d581eSLawrence Tang                                    "cr1": { "type": "integer" },
345079d581eSLawrence Tang                                    "cr2": { "type": "integer" },
346079d581eSLawrence Tang                                    "cr3": { "type": "integer" },
347079d581eSLawrence Tang                                    "cr4": { "type": "integer" },
348079d581eSLawrence Tang                                    "gdtr": { "type": "integer" },
349079d581eSLawrence Tang                                    "idtr": { "type": "integer" },
350079d581eSLawrence Tang                                    "ldtr": { "type": "integer" },
351079d581eSLawrence Tang                                    "tr": { "type": "integer" }
352079d581eSLawrence Tang                                }
353079d581eSLawrence Tang                            },
354079d581eSLawrence Tang                            {
355079d581eSLawrence Tang                                "type": "object",
356079d581eSLawrence Tang                                "required": ["rax", "rbx", "rcx", "rdx", "rsi", "rdi", "rbp", "rsp", "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15", "cs", "ds", "es", "fs", "gs", "rflags", "eip", "cr0", "cr1", "cr2", "cr3", "cr4", "cr8", "gdtr_0", "gdtr_1", "idtr_0", "idtr_1", "ldtr", "tr"],
357079d581eSLawrence Tang                                "additionalProperties": false,
358079d581eSLawrence Tang                                "properties": {
359079d581eSLawrence Tang                                    "rax": { "type": "integer" },
360079d581eSLawrence Tang                                    "rbx": { "type": "integer" },
361079d581eSLawrence Tang                                    "rcx": { "type": "integer" },
362079d581eSLawrence Tang                                    "rdx": { "type": "integer" },
363079d581eSLawrence Tang                                    "rsi": { "type": "integer" },
364079d581eSLawrence Tang                                    "rdi": { "type": "integer" },
365079d581eSLawrence Tang                                    "rbp": { "type": "integer" },
366079d581eSLawrence Tang                                    "rsp": { "type": "integer" },
367079d581eSLawrence Tang                                    "r8": { "type": "integer" },
368079d581eSLawrence Tang                                    "r9": { "type": "integer" },
369079d581eSLawrence Tang                                    "r10": { "type": "integer" },
370079d581eSLawrence Tang                                    "r11": { "type": "integer" },
371079d581eSLawrence Tang                                    "r12": { "type": "integer" },
372079d581eSLawrence Tang                                    "r13": { "type": "integer" },
373079d581eSLawrence Tang                                    "r14": { "type": "integer" },
374079d581eSLawrence Tang                                    "r15": { "type": "integer" },
375079d581eSLawrence Tang                                    "cs": { "type": "integer" },
376079d581eSLawrence Tang                                    "ds": { "type": "integer" },
377079d581eSLawrence Tang                                    "ss": { "type": "integer" },
378079d581eSLawrence Tang                                    "es": { "type": "integer" },
379079d581eSLawrence Tang                                    "fs": { "type": "integer" },
380079d581eSLawrence Tang                                    "gs": { "type": "integer" },
381079d581eSLawrence Tang                                    "rflags": { "type": "integer" },
382079d581eSLawrence Tang                                    "eip": { "type": "integer" },
383079d581eSLawrence Tang                                    "cr0": { "type": "integer" },
384079d581eSLawrence Tang                                    "cr1": { "type": "integer" },
385079d581eSLawrence Tang                                    "cr2": { "type": "integer" },
386079d581eSLawrence Tang                                    "cr3": { "type": "integer" },
387079d581eSLawrence Tang                                    "cr4": { "type": "integer" },
388079d581eSLawrence Tang                                    "cr8": { "type": "integer" },
389079d581eSLawrence Tang                                    "gdtr_0": { "type": "integer" },
390079d581eSLawrence Tang                                    "gdtr_1": { "type": "integer" },
391079d581eSLawrence Tang                                    "idtr_0": { "type": "integer" },
392079d581eSLawrence Tang                                    "idtr_1": { "type": "integer" },
393079d581eSLawrence Tang                                    "ldtr": { "type": "integer" },
394079d581eSLawrence Tang                                    "tr": { "type": "integer" }
395079d581eSLawrence Tang                                }
396079d581eSLawrence Tang                            },
397079d581eSLawrence Tang                            {
398079d581eSLawrence Tang                                "type": "object",
399079d581eSLawrence Tang                                "required": ["data"],
400079d581eSLawrence Tang                                "additionalProperties": false,
401079d581eSLawrence Tang                                "properties": {
402079d581eSLawrence Tang                                    "data": {
403079d581eSLawrence Tang                                        "type": "string"
404079d581eSLawrence Tang                                    }
405079d581eSLawrence Tang                                }
406079d581eSLawrence Tang                            }
407079d581eSLawrence Tang                        ]
408079d581eSLawrence Tang                    }
409079d581eSLawrence Tang                }
410079d581eSLawrence Tang            }
411079d581eSLawrence Tang        }
412079d581eSLawrence Tang    }
413079d581eSLawrence Tang}