ranarag commited on
Commit
d2cbcb3
·
verified ·
1 Parent(s): 55b5f80

model card upload

Browse files
Files changed (2) hide show
  1. README.md +435 -3
  2. model.sig +1 -1
README.md CHANGED
@@ -1,3 +1,435 @@
1
- ---
2
- license: apache-2.0
3
- ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ library_name: transformers
4
+ tags:
5
+ - language
6
+ - granite-4.0
7
+ ---
8
+
9
+ # Granite-4.0-H-300M-Base
10
+
11
+ **Model Summary:**
12
+ Granite-4.0-H-300M-Base is a lightweight decoder-only language model designed for scenarios where efficiency and speed are critical. They can run on resource-constrained devices such as smartphones or IoT hardware, enabling offline and privacy-preserving applications. It also supports Fill-in-the-Middle (FIM) code completion through the use of specialized prefix and suffix tokens. The model is trained from scratch on approximately 15 trillion tokens following a four-stage training strategy: 10 trillion tokens in the first stage, 2 trillion in the second, another 2 trillion in the third, and 0.5 trillion in the final stage.
13
+
14
+ - **Developers:** Granite Team, IBM
15
+ - **HF Collection:** [Granite 4.0 Nano Language Models HF Collection](https://huggingface.co/collections/ibm-granite/granite-40-nano-language-models-68e5775c80b60e43b72cfa16)
16
+ - **GitHub Repository:** [ibm-granite/granite-4.0-nano-language-models](https://github.com/ibm-granite/granite-4.0-nano-language-models)
17
+ - **Website**: [Granite Docs](https://www.ibm.com/granite/docs/)
18
+ - **Release Date**: October 23, 2025
19
+ - **License:** [Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0)
20
+
21
+ **Supported Languages:**
22
+ English, German, Spanish, French, Japanese, Portuguese, Arabic, Czech, Italian, Korean, Dutch, and Chinese. Users may fine-tune Granite 4.0 Nano models to support languages beyond those included in this list.
23
+
24
+ **Intended Use:**
25
+ Prominent use cases of LLMs in text-to-text generation include summarization, text classification, extraction, question-answering and code-completion (including FIM) tasks. Moreover, these lightweight models can serve as baseline to create task-sepcific models for different applications.
26
+
27
+ **Generation:**
28
+ This is a simple example of how to use Granite-4.0-H-300M-Base model.
29
+
30
+ Install the following libraries:
31
+
32
+ ```shell
33
+ pip install torch torchvision torchaudio
34
+ pip install accelerate
35
+ pip install transformers
36
+ ```
37
+ Then, copy the code snippet below to run the example.
38
+
39
+ ```python
40
+ from transformers import AutoModelForCausalLM, AutoTokenizer
41
+ device = "cuda"
42
+
43
+ model_path = "ibm-granite/granite-4.0-h-300m-base"
44
+
45
+ tokenizer = AutoTokenizer.from_pretrained(model_path)
46
+ # drop device_map if running on CPU
47
+ model = AutoModelForCausalLM.from_pretrained(model_path, device_map=device)
48
+ model.eval()
49
+ # change input text as desired
50
+ input_text = "The capital of France is"
51
+ # tokenize the text
52
+ input_tokens = tokenizer(input_text, return_tensors="pt").to(device)
53
+ # generate output tokens
54
+ output = model.generate(**input_tokens, max_length=10)
55
+ # decode output tokens into text
56
+ output = tokenizer.batch_decode(output)
57
+ # print output
58
+ print(output[0])
59
+ ```
60
+
61
+ Expected output:
62
+ ```shell
63
+ The capital of France is Paris.
64
+ ```
65
+
66
+ **Evaluation Results:**
67
+ <table>
68
+ <thead>
69
+ <tr>
70
+ <th style="text-align:left; background-color: #001d6c; color: white;">Benchmarks</th>
71
+ <th style="text-align:left; background-color: #001d6c; color: white;">Metric</th>
72
+ <th style="text-align:center; background-color: #001d6c; color: white;">300M Dense</th>
73
+ <th style="text-align:center; background-color: #001d6c; color: white;">H 300M Dense</th>
74
+ <th style="text-align:center; background-color: #001d6c; color: white;">1B Dense</th>
75
+ <th style="text-align:center; background-color: #001d6c; color: white;">H 1B Dense</th>
76
+ </tr>
77
+ </thead>
78
+ <tbody>
79
+ <tr>
80
+ <td colspan="6" style="text-align:center; background-color: #FFFFFF; color: #2D2D2D; font-style:italic;">
81
+ General Tasks
82
+ </td>
83
+ </tr>
84
+ <tr>
85
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">MMLU</td>
86
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">5-shot</td>
87
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">33.08</td>
88
+ <td style="text-align:right; background-color: #DAE8FF; color: #2D2D2D;">36.07</td>
89
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">59.82</td>
90
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">58.71</td>
91
+ </tr>
92
+ <tr>
93
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">MMLU-Pro</td>
94
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">5-shot,CoT</td>
95
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">11.29</td>
96
+ <td style="text-align:right; background-color: #DAE8FF; color: #2D2D2D;">10.08</td>
97
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">29.96</td>
98
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">23.45</td>
99
+ </tr>
100
+ <tr>
101
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">BBH</td>
102
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">3-shot, CoT</td>
103
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">32.19</td>
104
+ <td style="text-align:right; background-color: #DAE8FF; color: #2D2D2D;">29.96</td>
105
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">57.73</td>
106
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">48.45</td>
107
+ </tr>
108
+ <tr>
109
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">AGI EVAL</td>
110
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">3-shot</td>
111
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">28.97</td>
112
+ <td style="text-align:right; background-color: #DAE8FF; color: #2D2D2D;">29.2</td>
113
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">48.95</td>
114
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">47.46</td>
115
+ </tr>
116
+ <tr>
117
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">DROP</td>
118
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">5-shot</td>
119
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">29.77</td>
120
+ <td style="text-align:right; background-color: #DAE8FF; color: #2D2D2D;">28.56</td>
121
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">58.18</td>
122
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">57.18</td>
123
+ </tr>
124
+ <tr>
125
+ <td colspan="6" style="text-align:center; background-color: #FFFFFF; color: #2D2D2D; font-style:italic;">
126
+ Math Tasks
127
+ </td>
128
+ </tr>
129
+ <tr>
130
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">GSM8K</td>
131
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">8-shot</td>
132
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">24.11</td>
133
+ <td style="text-align:right; background-color: #DAE8FF; color: #2D2D2D;">24.41</td>
134
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">62.4</td>
135
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">57.39</td>
136
+ </tr>
137
+ <tr>
138
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">Minerva Math</td>
139
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">4-shot</td>
140
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">9.96</td>
141
+ <td style="text-align:right; background-color: #DAE8FF; color: #2D2D2D;">11.5</td>
142
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">30.3</td>
143
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">21.3</td>
144
+ </tr>
145
+ <tr>
146
+ <td colspan="6" style="text-align:center; background-color: #FFFFFF; color: #2D2D2D; font-style:italic;">
147
+ Code Tasks
148
+ </td>
149
+ </tr>
150
+ <tr>
151
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">HumanEval</td>
152
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">pass@1 [StarCoder Prompt]</td>
153
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">34.6</td>
154
+ <td style="text-align:right; background-color: #DAE8FF; color: #2D2D2D;">35.61</td>
155
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">68.08</td>
156
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">68.26</td>
157
+ </tr>
158
+ <tr>
159
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">HumanEval</td>
160
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">pass@1</td>
161
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">32</td>
162
+ <td style="text-align:right; background-color: #DAE8FF; color: #2D2D2D;">34</td>
163
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">60</td>
164
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">59</td>
165
+ </tr>
166
+ <tr>
167
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">HumanEval+</td>
168
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">pass@1</td>
169
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">29</td>
170
+ <td style="text-align:right; background-color: #DAE8FF; color: #2D2D2D;">29</td>
171
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">57</td>
172
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">56</td>
173
+ </tr>
174
+ <tr>
175
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">MBPP</td>
176
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">pass@1</td>
177
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">45</td>
178
+ <td style="text-align:right; background-color: #DAE8FF; color: #2D2D2D;">17</td>
179
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">72</td>
180
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">65</td>
181
+ </tr>
182
+ <tr>
183
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">MBPP+</td>
184
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">pass@1</td>
185
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">38</td>
186
+ <td style="text-align:right; background-color: #DAE8FF; color: #2D2D2D;">16</td>
187
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">60</td>
188
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">54</td>
189
+ </tr>
190
+ <tr>
191
+ <td colspan="10" style="text-align:center; background-color: #FFFFFF; color: #2D2D2D; font-style:italic;">
192
+ Multilingual Tasks
193
+ </td>
194
+ </tr>
195
+ <tr>
196
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">MMMLU</td>
197
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">5-shot</td>
198
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">30.93</td>
199
+ <td style="text-align:right; background-color: #DAE8FF; color: #2D2D2D;">31.02</td>
200
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">46.73</td>
201
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">48.55</td>
202
+ </tr>
203
+ <tr>
204
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">INCLUDE</td>
205
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">5-shot</td>
206
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">27.32</td>
207
+ <td style="text-align:right; background-color: #DAE8FF; color: #2D2D2D;">29.26</td>
208
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">42.6</td>
209
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">43.8</td>
210
+ </tr>
211
+ <tr>
212
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">MGSM</td>
213
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">8-shot</td>
214
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">13.92</td>
215
+ <td style="text-align:right; background-color: #DAE8FF; color: #2D2D2D;">15.12</td>
216
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">46.96</td>
217
+ <td style="text-align:right; background-color: #FFFFFF; color: #2D2D2D;">41.52</td>
218
+ </tr>
219
+ </tbody></table>
220
+
221
+ <table>
222
+ <caption><b>Multilingual Benchmarks and thr included languages:</b></caption>
223
+ <thead>
224
+ <tr>
225
+ <th style="text-align:left; background-color: #001d6c; color: white;">Benchmarks</th>
226
+ <th style="text-align:left; background-color: #001d6c; color: white;"># Langs</th>
227
+ <th style="text-align:center; background-color: #001d6c; color: white;">Languages</th>
228
+ </tr>
229
+ </thead>
230
+ <tbody>
231
+ <tr>
232
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">MMMLU</td>
233
+ <td style="text-align:center; background-color: #FFFFFF; color: #2D2D2D;">11</td>
234
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">ar, de, en, es, fr, ja, ko, pt, zh, bn, hi</td>
235
+ </tr>
236
+ <tr>
237
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">INCLUDE</td>
238
+ <td style="text-align:center; background-color: #FFFFFF; color: #2D2D2D;">14</td>
239
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">hi, bn, ta, te, ar, de, es, fr, it, ja, ko, nl, pt, zh</td>
240
+ </tr>
241
+ <tr>
242
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">MGSM</td>
243
+ <td style="text-align:center; background-color: #FFFFFF; color: #2D2D2D;">5</td>
244
+ <td style="text-align:left; background-color: #FFFFFF; color: #2D2D2D;">en, es, fr, ja, zh</td>
245
+ </tr>
246
+ </tbody>
247
+ </table>
248
+
249
+ **Model Architecture:**
250
+ Granite-4.0-H-300M-Base is based on a decoder-only dense transformer architecture. Core components of this architecture are: GQA, Mamba2, MLP with SwiGLU, RMSNorm, and shared input/output embeddings.
251
+
252
+ <table>
253
+ <thead>
254
+ <tr>
255
+ <th style="text-align:left; background-color: #001d6c; color: white;">Model</th>
256
+ <th style="text-align:center; background-color: #001d6c; color: white;">300M Dense</th>
257
+ <th style="text-align:center; background-color: #001d6c; color: white;">H 300M Dense</th>
258
+ <th style="text-align:center; background-color: #001d6c; color: white;">1B Dense</th>
259
+ <th style="text-align:center; background-color: #001d6c; color: white;">H 1B Dense</th>
260
+ </tr></thead>
261
+ <tbody>
262
+ <tr>
263
+ <td style="text-align:left; background-color: #FFFFFF; color: black;">Embedding size</td>
264
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">1024</td>
265
+ <td style="text-align:center; background-color: #DAE8FF; color: black;">768</td>
266
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">2048</td>
267
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">1536</td>
268
+ </tr>
269
+ <tr>
270
+ <td style="text-align:left; background-color: #FFFFFF; color: black;">Number of layers</td>
271
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">28 attention</td>
272
+ <td style="text-align:center; background-color: #DAE8FF; color: black;">4 attention / 28 Mamba2</td>
273
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">40 attention</td>
274
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">4 attention / 36 Mamba2</td>
275
+ </tr>
276
+ <tr>
277
+ <td style="text-align:left; background-color: #FFFFFF; color: black;">Attention head size</td>
278
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">64</td>
279
+ <td style="text-align:center; background-color: #DAE8FF; color: black;">64</td>
280
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">128</td>
281
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">128</td>
282
+ </tr>
283
+ <tr>
284
+ <td style="text-align:left; background-color: #FFFFFF; color: black;">Number of attention heads</td>
285
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">16</td>
286
+ <td style="text-align:center; background-color: #DAE8FF; color: black;">12</td>
287
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">16</td>
288
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">12</td>
289
+ </tr>
290
+ <tr>
291
+ <td style="text-align:left; background-color: #FFFFFF; color: black;">Number of KV heads</td>
292
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">4</td>
293
+ <td style="text-align:center; background-color: #DAE8FF; color: black;">4</td>
294
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">4</td>
295
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">4</td>
296
+ </tr>
297
+ <tr>
298
+ <td style="text-align:left; background-color: #FFFFFF; color: black;">Mamba2 state size</td>
299
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">-</td>
300
+ <td style="text-align:center; background-color: #DAE8FF; color: black;">128</td>
301
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">-</td>
302
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">128</td>
303
+ </tr>
304
+ <tr>
305
+ <td style="text-align:left; background-color: #FFFFFF; color: black;">Number of Mamba2 heads</td>
306
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">-</td>
307
+ <td style="text-align:center; background-color: #DAE8FF; color: black;">48</td>
308
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">-</td>
309
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">48</td>
310
+ </tr>
311
+
312
+ <tr>
313
+ <td style="text-align:left; background-color: #FFFFFF; color: black;">MLP / Shared expert hidden size</td>
314
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">2048</td>
315
+ <td style="text-align:center; background-color: #DAE8FF; color: black;">2048</td>
316
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">4096</td>
317
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">4096</td>
318
+ </tr>
319
+ <tr>
320
+ <td style="text-align:left; background-color: #FFFFFF; color: black;">Num. Experts</td>
321
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">-</td>
322
+ <td style="text-align:center; background-color: #DAE8FF; color: black;">-</td>
323
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">-</td>
324
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">-</td>
325
+ </tr>
326
+ <tr>
327
+ <td style="text-align:left; background-color: #FFFFFF; color: black;">Num. active Experts</td>
328
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">-</td>
329
+ <td style="text-align:center; background-color: #DAE8FF; color: black;">-</td>
330
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">-</td>
331
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">-</td>
332
+ </tr>
333
+ <tr>
334
+ <td style="text-align:left; background-color: #FFFFFF; color: black;">Expert hidden size</td>
335
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">-</td>
336
+ <td style="text-align:center; background-color: #DAE8FF; color: black;">-</td>
337
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">-</td>
338
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">-</td>
339
+ </tr>
340
+ <tr>
341
+ <td style="text-align:left; background-color: #FFFFFF; color: black;">MLP activation</td>
342
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">SwiGLU</td>
343
+ <td style="text-align:center; background-color: #DAE8FF; color: black;">SwiGLU</td>
344
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">SwiGLU</td>
345
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">SwiGLU</td>
346
+ </tr>
347
+
348
+ <tr>
349
+ <td style="text-align:left; background-color: #FFFFFF; color: black;">Sequence length</td>
350
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">32K</td>
351
+ <td style="text-align:center; background-color: #DAE8FF; color: black;">32K</td>
352
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">128K</td>
353
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">128K</td>
354
+ </tr>
355
+ <tr>
356
+ <td style="text-align:left; background-color: #FFFFFF; color: black;">Position embedding</td>
357
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">RoPE</td>
358
+ <td style="text-align:center; background-color: #DAE8FF; color: black;">NoPE</td>
359
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">RoPE</td>
360
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">NoPE</td>
361
+ </tr>
362
+ <tr>
363
+ <td style="text-align:left; background-color: #FFFFFF; color: black;"># Parameters</td>
364
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">350M</td>
365
+ <td style="text-align:center; background-color: #DAE8FF; color: black;">340M</td>
366
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">1.6B</td>
367
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">1.5B</td>
368
+ </tr>
369
+ <tr>
370
+ <td style="text-align:left; background-color: #FFFFFF; color: black;"># Active parameters</td>
371
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">350M</td>
372
+ <td style="text-align:center; background-color: #DAE8FF; color: black;">340M</td>
373
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">1.6B</td>
374
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">1.5B</td>
375
+ </tr>
376
+ </tbody></table>
377
+
378
+
379
+ **Training Data:** This model is trained on a mix of open source and proprietary data following a four-stage training strategy.
380
+
381
+ <table>
382
+ <thead>
383
+ <tr>
384
+ <th style="text-align:left; background-color: #001d6c; color: white;">Stage</th>
385
+ <th style="text-align:left; background-color: #001d6c; color: white;">Characteristics</th>
386
+ <th style="text-align:center; background-color: #001d6c; color: white;">300M Dense</th>
387
+ <th style="text-align:center; background-color: #001d6c; color: white;">H 300M Dense</th>
388
+ <th style="text-align:center; background-color: #001d6c; color: white;">1B Dense</th>
389
+ <th style="text-align:center; background-color: #001d6c; color: white;">H 1B Dense</th>
390
+ </tr></thead>
391
+ <tbody>
392
+ <tr>
393
+ <td style="text-align:left; background-color: #FFFFFF; color: black;">I</td>
394
+ <td style="text-align:left; background-color: #FFFFFF; color: black;">General mixture of training data, warmup, and power scheduler for learning rate.</td>
395
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">10</td>
396
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">10</td>
397
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">10</td>
398
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">10</td>
399
+ </tr>
400
+ <tr>
401
+ <td style="text-align:left; background-color: #FFFFFF; color: black;">II</td>
402
+ <td style="text-align:left; background-color: #FFFFFF; color: black;">General mixture of training data with higher percentages of code and math with power scheduler for learning rate.</td>
403
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">2</td>
404
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">2</td>
405
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">2</td>
406
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">2</td>
407
+ </tr>
408
+ <tr>
409
+ <td style="text-align:left; background-color: #FFFFFF; color: black;">III</td>
410
+ <td style="text-align:left; background-color: #FFFFFF; color: black;">High quality training data, exponential decay of learning rate.</td>
411
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">2</td>
412
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">2</td>
413
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">2</td>
414
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">2</td>
415
+ </tr>
416
+ <tr>
417
+ <td style="text-align:left; background-color: #FFFFFF; color: black;">IV</td>
418
+ <td style="text-align:left; background-color: #FFFFFF; color: black;">High quality training data, linear decay to zero for learning rate.</td>
419
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">0.5</td>
420
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">0.5</td>
421
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">0.5</td>
422
+ <td style="text-align:center; background-color: #FFFFFF; color: black;">0.5</td>
423
+ </tr>
424
+ </tbody></table>
425
+
426
+ **Infrastructure:**
427
+ We trained the Granite 4.0 Nano Language Models utilizing an NVIDIA GB200 NVL72 cluster hosted in CoreWeave. Intra-rack communication occurs via the 72-GPU NVLink domain, and a non-blocking, full Fat-Tree NDR 400 Gb/s InfiniBand network provides inter-rack communication. This cluster provides a scalable and efficient infrastructure for training our models over thousands of GPUs.
428
+
429
+ **Ethical Considerations and Limitations:**
430
+ The use of Large Language Models involves risks and ethical considerations people must be aware of, including but not limited to: bias and fairness, misinformation, and autonomous decision-making. Granite-4.0-H-300M-Base model is not the exception in this regard. Even though this model is suited for multiple generative AI tasks, it has not undergone any safety alignment, there it may produce problematic outputs. Additionally, it remains uncertain whether smaller models might exhibit increased susceptibility to hallucination in generation scenarios by copying text verbatim from the training dataset due to their reduced sizes and memorization capacities. This aspect is currently an active area of research, and we anticipate more rigorous exploration, comprehension, and mitigations in this domain. Regarding ethics, a latent risk associated with all Large Language Models is their malicious utilization. We urge the community to use Granite-4.0-H-300M-Base model with ethical intentions and in a responsible way.
431
+
432
+ **Resources**
433
+ - ⭐️ Learn about the latest updates with Granite: https://www.ibm.com/granite
434
+ - 📄 Get started with tutorials, best practices, and prompt engineering advice: https://www.ibm.com/granite/docs/
435
+ - 💡 Learn about the latest Granite learning resources: https://github.com/ibm-granite-community/
model.sig CHANGED
@@ -1 +1 @@
1
- {"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIC5TCCAmygAwIBAgIUZmL60FV+mMmozJREpHRYoVzQnlswCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjUxMDE0MTgyNDM3WhcNMjUxMDE0MTgzNDM3WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHOnbP6kT1sL7qNrY/kqLzr4B4YNZmRDgjndZPocf3eFSoSq2BvJQ1P33v0ppyrG6F4LkHriMmlXc5phRrW8jYaOCAYswggGHMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUT9iNsCOihb7cTV29OC9NdOAu9PQwHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wJAYDVR0RAQH/BBowGIEWR3Jhbml0ZS12ZXJpZnlAaWJtLmNvbTA0BgorBgEEAYO/MAEBBCZodHRwczovL3NpZ3N0b3JlLnZlcmlmeS5pYm0uY29tL29hdXRoMjA2BgorBgEEAYO/MAEIBCgMJmh0dHBzOi8vc2lnc3RvcmUudmVyaWZ5LmlibS5jb20vb2F1dGgyMIGLBgorBgEEAdZ5AgQCBH0EewB5AHcA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGZ4/eURgAABAMASDBGAiEAsKCLCUV90rzbKGZPwC0gPCQwB694ikOPCU/6YmjnZEACIQCTGWVg6VLjBlyzn5Xq3wRuql6C5mFfyURZen0Cm6OkfTAKBggqhkjOPQQDAwNnADBkAjAXbN5YAeay0w3trSAPkljV7kTTf3wHYI8ia0O4H3dweLKYtPeDLqyVrm/gUip0ZVcCMF8DiKm51tdrdMYnNGc2CV+LVeMy1/GDjzqpp4MwOPActusus8xZVV8YccgVTH9mkg=="},"tlogEntries":[{"logIndex":"606047181","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"dsse","version":"0.0.1"},"integratedTime":"1760466277","inclusionPromise":{"signedEntryTimestamp":"MEUCIE42c/tQ1pbvET1tovK2OEkgnzm7OqMdHyOuQbg0biqKAiEAiA2rVxlxvv9qi1mm7LFzxFEQ/YufJ1EVjxjo+MPfW6g="},"inclusionProof":{"logIndex":"484142919","rootHash":"ehROyhEDjore/OcdryVJyJF5xLUfnUITFuGirXHXAo4=","treeSize":"484142925","hashes":["pE3hKgH8XkglZTvpCKzUmiTrfPv6tli64Yr46foCS/M=","ijcMJiskdNzi1uZnrKFN9YZ7yQZFJ75GKU8DSzzupdI=","UUehVSIjFAcdaOqhwP9itM0rDgAMOfoj8La8GYDWn2s=","vpbXzyRkkPuZLgyzOjO3sEwwsSrg9cSF0yerOQSehac=","vrx6IK1sYTaIVGCeIQt25/+P1Sofwi7NEB9+yVDmm+c=","/VrF8/wtFQAgwWKpXo5Er6ceMRrUf/w8ZogxNgrskPo=","kDiC1A9urvhNHG7lPKobSrlZuu48NS3HpgJY7Xy3hwk=","LqGkX8+rD1wVnrpum/PMkeCnc6fBnxLNM+MPGh2pTmM=","kvgGahRMGgYTwxmxPtohk2R8z1R3JV37v2UMNva7XR4=","g4GUCr4x8kWv2hAakmk0bm6pUhwTBqJ6CUoT298h55A=","50oftog2sjMabyDNUlyJmNgoAXS0GySmuXmNT3mRfZU=","FCUArrW/nO/hAQzI7iiHtjoGrsL91mwOOxU4M6cMEO0=","RmSrQKXyr5YyI8R/gSBKogg5Egc5EtWPxIyo03CZ+ek=","/Kugvj2mis6h9KZfZqcetCPGOlkrUnBLnPyZ3HFf+tk=","inrOYOb+roitD1EYWHmRPy8aJnjhSAhp5cHXbXVlxU4=","8nCds1SUzxGg2Xoa+M1tOFTwx+1BGtp8TDMSS4P54xQ=","V5lOdefY1WOOt4iQp7tZoyj1beBDVi24KsEMcgsqZds=","2Wv4GiithwNukRKV06clevnQQYCzXmSS/+/OJtXgsXQ=","1mfy94KpcItqshH9+gwqV6jccupcaMpVsF28New8zDY=","vS7O4ozHIQZJWBiov+mkpI27GE8zAmVCEkRcP3NDyNE="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n484142925\nehROyhEDjore/OcdryVJyJF5xLUfnUITFuGirXHXAo4=\n\n— rekor.sigstore.dev wNI9ajBEAiBUfAmO4Y3H8Mr3ABEifW381rhG/IFMBvHGio5dNBwFawIgKm1nMHYAUZnl6bdQ1/yhu2kdhwau93KU/JVaN/RjDwg=\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiZHNzZSIsInNwZWMiOnsiZW52ZWxvcGVIYXNoIjp7ImFsZ29yaXRobSI6InNoYTI1NiIsInZhbHVlIjoiZmE4ZjJmMWFjYjU0OTYwZDU5NGEzNGExYTk4M2ZiODk5NTRiOGRmOWQ3ZWM4ZDFkMGNkNDA1NDNmYWJiMzQwNyJ9LCJwYXlsb2FkSGFzaCI6eyJhbGdvcml0aG0iOiJzaGEyNTYiLCJ2YWx1ZSI6IjI3MjQwN2JhZTU4NWI3MWJkM2I2NGZkZWY0ODMxOGZkYzQ4OWYzMmE5NjBjNzU3MTllOGZiMjcyN2FmZmJjZTAifSwic2lnbmF0dXJlcyI6W3sic2lnbmF0dXJlIjoiTUVRQ0lIc1VMMEZzUWF0U3gvUXVMRG1wQVNGd1lVNG9Jc1lOTjJ2Q21XV1pMNm5YQWlBNlZuaU1rZ3RFTXJadk1JV3BiN203aTRRUnp2VUxHMFpSa2JTcUp0REp3UT09IiwidmVyaWZpZXIiOiJMUzB0TFMxQ1JVZEpUaUJEUlZKVVNVWkpRMEZVUlMwdExTMHRDazFKU1VNMVZFTkRRVzE1WjBGM1NVSkJaMGxWV20xTU5qQkdWaXR0VFcxdmVrcFNSWEJJVWxsdlZucFJibXh6ZDBObldVbExiMXBKZW1vd1JVRjNUWGNLVG5wRlZrMUNUVWRCTVZWRlEyaE5UV015Ykc1ak0xSjJZMjFWZFZwSFZqSk5ValIzU0VGWlJGWlJVVVJGZUZaNllWZGtlbVJIT1hsYVV6RndZbTVTYkFwamJURnNXa2RzYUdSSFZYZElhR05PVFdwVmVFMUVSVEJOVkdkNVRrUk5NMWRvWTA1TmFsVjRUVVJGTUUxVVozcE9SRTB6VjJwQlFVMUdhM2RGZDFsSUNrdHZXa2w2YWpCRFFWRlpTVXR2V2tsNmFqQkVRVkZqUkZGblFVVklUMjVpVURaclZERnpURGR4VG5KWkwydHhUSHB5TkVJMFdVNWFiVkpFWjJwdVpGb0tVRzlqWmpObFJsTnZVM0V5UW5aS1VURlFNek4yTUhCd2VYSkhOa1kwVEd0SWNtbE5iV3hZWXpWd2FGSnlWemhxV1dGUFEwRlpjM2RuWjBkSVRVRTBSd3BCTVZWa1JIZEZRaTkzVVVWQmQwbElaMFJCVkVKblRsWklVMVZGUkVSQlMwSm5aM0pDWjBWR1FsRmpSRUY2UVdSQ1owNVdTRkUwUlVablVWVlVPV2xPQ25ORFQybG9ZamRqVkZZeU9VOURPVTVrVDBGMU9WQlJkMGgzV1VSV1VqQnFRa0puZDBadlFWVXpPVkJ3ZWpGWmEwVmFZalZ4VG1wd1MwWlhhWGhwTkZrS1drUTRkMHBCV1VSV1VqQlNRVkZJTDBKQ2IzZEhTVVZYVWpOS2FHSnRiREJhVXpFeVdsaEtjRnB1YkVGaFYwcDBURzFPZG1KVVFUQkNaMjl5UW1kRlJRcEJXVTh2VFVGRlFrSkRXbTlrU0ZKM1kzcHZka3d6VG5CYU0wNHdZak5LYkV4dVdteGpiV3h0WlZNMWNGbHRNSFZaTWpsMFRESTVhR1JZVW05TmFrRXlDa0puYjNKQ1owVkZRVmxQTDAxQlJVbENRMmROU20xb01HUklRbnBQYVRoMll6SnNibU16VW5aamJWVjFaRzFXZVdGWFdqVk1iV3hwWWxNMWFtSXlNSFlLWWpKR01XUkhaM2xOU1VkTVFtZHZja0puUlVWQlpGbzFRV2RSUTBKSU1FVmxkMEkxUVVoalFUTlVNSGRoYzJKSVJWUktha2RTTkdOdFYyTXpRWEZLU3dwWWNtcGxVRXN6TDJnMGNIbG5Remh3TjI4MFFVRkJSMW8wTDJWVlVtZEJRVUpCVFVGVFJFSkhRV2xGUVhOTFEweERWVlk1TUhKNllrdEhXbEIzUXpCbkNsQkRVWGRDTmprMGFXdFBVRU5WTHpaWmJXcHVXa1ZCUTBsUlExUkhWMVpuTmxaTWFrSnNlWHB1TlZoeE0zZFNkWEZzTmtNMWJVWm1lVlZTV21WdU1FTUtiVFpQYTJaVVFVdENaMmR4YUd0cVQxQlJVVVJCZDA1dVFVUkNhMEZxUVZoaVRqVlpRV1ZoZVRCM00zUnlVMEZRYTJ4cVZqZHJWRlJtTTNkSVdVazRhUXBoTUU4MFNETmtkMlZNUzFsMFVHVkVUSEY1Vm5KdEwyZFZhWEF3V2xaalEwMUdPRVJwUzIwMU1YUmtjbVJOV1c1T1IyTXlRMVlyVEZabFRYa3hMMGRFQ21wNmNYQndORTEzVDFCQlkzUjFjM1Z6T0hoYVZsWTRXV05qWjFaVVNEbHRhMmM5UFFvdExTMHRMVVZPUkNCRFJWSlVTVVpKUTBGVVJTMHRMUzB0Q2c9PSJ9XX19"}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIIE6zADAgEAMIIE4gYJKoZIhvcNAQcCoIIE0zCCBM8CAQMxDTALBglghkgBZQMEAgEwgcMGCyqGSIb3DQEJEAEEoIGzBIGwMIGtAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgxKsn6BX+XNtt2/+9C62PbOXsLeZwDjtR6Ko9NlhjzkoCFQDmgkA2vGymnsR+cIRIAyeZKvTz1BgPMjAyNTEwMTQxODI0MzdaMAMCAQECCQDIpVSlysQwJqAypDAwLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2GgggIUMIICEDCCAZagAwIBAgIUOhNULwyQYe68wUMvy4qOiyojiwwwCgYIKoZIzj0EAwMwOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZDAeFw0yNTA0MDgwNjU5NDNaFw0zNTA0MDYwNjU5NDNaMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE4ra2Z8hKNig2T9kFjCAToGG30jky+WQv3BzL+mKvh1SKNR/UwuwsfNCg4sryoYAd8E6isovVA3M4aoNdm9QDi50Z8nTEyvqgfDPtTIwXItfiW/AFf1V7uwkbkAoj0xxco2owaDAOBgNVHQ8BAf8EBAMCB4AwHQYDVR0OBBYEFIn9eUOHz9BlRsMCRscsc1t9tOsDMB8GA1UdIwQYMBaAFJjsAe9/u1H/1JUeb4qImFMHic6/MBYGA1UdJQEB/wQMMAoGCCsGAQUFBwMIMAoGCCqGSM49BAMDA2gAMGUCMDtpsV/6KaO0qyF/UMsX2aSUXKQFdoGTptQGc0ftq1csulHPGG6dsmyMNd3JB+G3EQIxAOajvBcjpJmKb4Nv+2Taoj8Uc5+b6ih6FXCCKraSqupe07zqswMcXJTe1cExvHvvlzGCAdswggHXAgEBMFEwOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCwYJYIZIAWUDBAIBoIH8MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjUxMDE0MTgyNDM3WjAvBgkqhkiG9w0BCQQxIgQgX2knzXO/whGhErFqGYTe6QyuxGpKkdFH1Lv59bJ5lEkwgY4GCyqGSIb3DQEJEAIvMX8wfTB7MHkEIIX5J7wHq2LKw7RDVsEO/IGyxog/2nq55thw2dE6zQW3MFUwPaQ7MDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAoGCCqGSM49BAMCBGcwZQIxALxYudCv4TeHpRDB8z8Wx917sxaIrg7Sd0RETxz78eJ0fY5Y8YL1Jh0DLBHfaWBTGwIwd3C9fz1NF2iUGuIRvIc59jR1pU61UvoNe6Vba0lqNUcKR+l5uaa+fj++u0yOTRaL"}]}},"dsseEnvelope":{"payload":"ewogICJfdHlwZSI6ICJodHRwczovL2luLXRvdG8uaW8vU3RhdGVtZW50L3YxIiwKICAic3ViamVjdCI6IFsKICAgIHsKICAgICAgIm5hbWUiOiAiZ3Jhbml0ZS00LjAtaC1uYW5vLTMwMG0tYmFzZSIsCiAgICAgICJkaWdlc3QiOiB7CiAgICAgICAgInNoYTI1NiI6ICI5MGU2YmM5ZGVhY2FjNjE5OWRlNDY0ZjdiOWNkYzMwZTkwZTMxOTQxOWUyMjJlYzQ5YzMyNTJhZmZlNGUzNGFiIgogICAgICB9CiAgICB9CiAgXSwKICAicHJlZGljYXRlVHlwZSI6ICJodHRwczovL21vZGVsX3NpZ25pbmcvc2lnbmF0dXJlL3YxLjAiLAogICJwcmVkaWNhdGUiOiB7CiAgICAic2VyaWFsaXphdGlvbiI6IHsKICAgICAgImlnbm9yZV9wYXRocyI6IFsKICAgICAgICAiLmdpdGlnbm9yZSIsCiAgICAgICAgIi5naXRodWIiLAogICAgICAgICIuZ2l0IiwKICAgICAgICAibW9kZWwuc2lnIiwKICAgICAgICAiLmdpdGF0dHJpYnV0ZXMiCiAgICAgIF0sCiAgICAgICJtZXRob2QiOiAiZmlsZXMiLAogICAgICAiYWxsb3dfc3ltbGlua3MiOiBmYWxzZSwKICAgICAgImhhc2hfdHlwZSI6ICJzaGEyNTYiCiAgICB9LAogICAgInJlc291cmNlcyI6IFsKICAgICAgewogICAgICAgICJkaWdlc3QiOiAiYzExYmU5M2YyZTVmODMwOTYwNDJiMTljM2RmM2IwZDk4MjgxOWI2M2M1Mzc4ZTBiNmE4MmM0ZmRiZTAxN2ZhYyIsCiAgICAgICAgIm5hbWUiOiAiY29uZmlnLmpzb24iLAogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IgogICAgICB9LAogICAgICB7CiAgICAgICAgImRpZ2VzdCI6ICI3YzA0Y2I5ZDJiYTc3MWY3NTI4ZmJhNWE3MTA0OTk5Y2RhZjc1NjZkMDJiNWZiZDU4NDcyODI5ZjYyNzE2MTc3IiwKICAgICAgICAibmFtZSI6ICJnZW5lcmF0aW9uX2NvbmZpZy5qc29uIiwKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIKICAgICAgfSwKICAgICAgewogICAgICAgICJkaWdlc3QiOiAiYjZmZTQyNGUzMzQ5MDNmN2ZiODRkM2ExMDZkOTczMDQ1NWY0NzQ0YjlmZTNjMjFlZTEzNmQ5N2EwMGU3MjUwMiIsCiAgICAgICAgIm5hbWUiOiAibWVyZ2VzLnR4dCIsCiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAiZGlnZXN0IjogImVkNmUzMDU3ZGU5YjVhYjljMDk2NzRiZWYyYjVjZjEzM2FjYTIwYWZmYjFhNmY1M2IyODdhZjIxNDdjMjAwZjciLAogICAgICAgICJuYW1lIjogIm1vZGVsLnNhZmV0ZW5zb3JzIiwKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIKICAgICAgfSwKICAgICAgewogICAgICAgICJkaWdlc3QiOiAiYzA4Njc2YzQ5ZmQ3OTY5YTMxMzBmNzJiZTZkNGJmMzRkYTY2YWE0ODRhNmUyMWRmZmUzNTk4OTNhMWJkNWYyZSIsCiAgICAgICAgIm5hbWUiOiAic3BlY2lhbF90b2tlbnNfbWFwLmpzb24iLAogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IgogICAgICB9LAogICAgICB7CiAgICAgICAgImRpZ2VzdCI6ICJlMmJhZDY2NDM5NTM4Y2I0ZDVhNzU4MDY4MDkzMjQzMmVkOWVjZTlkM2I4NTc3ZTY3NTUxMmJkZjExNTk5MjUzIiwKICAgICAgICAibmFtZSI6ICJ0b2tlbml6ZXIuanNvbiIsCiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAiZGlnZXN0IjogImE1ZWM1ZGFhYjEyYmEwOTBhOTBmM2RkMTY5YzhmOWMyNzU1NTcwMTNhODdiOWMxMjU4ZGM3Y2I0OTdhMzVjODYiLAogICAgICAgICJuYW1lIjogInRva2VuaXplcl9jb25maWcuanNvbiIsCiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAiZGlnZXN0IjogIjhhZjcxMDc2ZGU4YjBiNjI2ZWVkMGY0Yzk4NGZhZjBhN2MwNjI0NzkxNjRiMmEzMTMwOGE5NDg1MjRkNGY2OWMiLAogICAgICAgICJuYW1lIjogInZvY2FiLmpzb24iLAogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IgogICAgICB9CiAgICBdCiAgfQp9","payloadType":"application/vnd.in-toto+json","signatures":[{"sig":"MEQCIHsUL0FsQatSx/QuLDmpASFwYU4oIsYNN2vCmWWZL6nXAiA6VniMkgtEMrZvMIWpb7m7i4QRzvULG0ZRkbSqJtDJwQ=="}]}}
 
1
+ {"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIC5DCCAmqgAwIBAgIURv7HYtgpXoOQ/POu3ZdImKpVdW4wCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjUxMDIwMTEwNjM0WhcNMjUxMDIwMTExNjM0WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAESbDv9R9RjyQc4Dtna+amkF7QCIZtkdX6A96NmSpvlCrYeUAEHcGkJbilWVUYxKppptS31smq5GZgKFQ6WIcePaOCAYkwggGFMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUKjG8cYx4+wJVshgZTEOqJOLofqwwHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wJAYDVR0RAQH/BBowGIEWR3Jhbml0ZS12ZXJpZnlAaWJtLmNvbTA0BgorBgEEAYO/MAEBBCZodHRwczovL3NpZ3N0b3JlLnZlcmlmeS5pYm0uY29tL29hdXRoMjA2BgorBgEEAYO/MAEIBCgMJmh0dHBzOi8vc2lnc3RvcmUudmVyaWZ5LmlibS5jb20vb2F1dGgyMIGJBgorBgEEAdZ5AgQCBHsEeQB3AHUA3T0wasbHETJjGR4cmWc3AqJKXrjePK3/h4pygC8p7o4AAAGaAUyxZAAABAMARjBEAiAQIo6NKcVB3wSfngHrz5CRh2nBahU5G1fbTqYr1nWfgAIgWmGwii4GOpkrpUjTH7jYlVtZx25GxPcb5UEiiCnttgYwCgYIKoZIzj0EAwMDaAAwZQIxAJiaT14gkn5bpxzqEIBrZQ3SJbE8qGO7bmTwPql38m6xXzyu7tiICwhljTJc2wIEqgIwQeb5Y6Y85GDV3iFMJl066+gb0BWNw7jUehCGTSeJH9h3egWQgu9knWNKl88zsKl+"},"tlogEntries":[{"logIndex":"622898057","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"dsse","version":"0.0.1"},"integratedTime":"1760958400","inclusionPromise":{"signedEntryTimestamp":"MEQCIC/onAtZ9JDPNAPX3kcSr0EAifZD/Usp+i+VkRnS199kAiA1oFi27T82g7mmLjIABQaCtRqu5KnjllMOWwoqMs4WIw=="},"inclusionProof":{"logIndex":"500993795","rootHash":"vFVYmsmhzvStgPMVDyJ9pvfw5j+LIy99hCfJ6CzA35k=","treeSize":"500993797","hashes":["J1w3BS+nwpfoA2A12MuNx41yW/rUWIhfrw6Hpu62lVA=","f8x4TQBEJk9ITPwdNxllZjilTO1WAHYyxSTkAQAYlxw=","HRunOYKRvlBcrL8ZB7b08zZaSZs+ep77ffmowOQP6ss=","g7fw06H7gWCS4czPCtDywPGjynIKU9L8icKBJpnftA0=","E6wBfBtRibnjOOTpsw7AglI6qHKKYQLbBsUkCOHSOYg=","ReikE5f8Mt9Fxmn0HkbkyFShtaBCm7pDV+htSCsWxbo=","+IO+Gs7LjN0FE0XQsQ5DJ8OGQCAzMCgmYN7++VB2AxA=","sZz8mjhiYp9OEs0f1dQyfPRcCGwvwMhxb69tbtxYGhA=","IEfBUPr/rhNZzb8B9lMr45R1g8+4y8KbM+K61qt/yEY=","zz0u1VmttTdodFw2vwldBHWAinT4XoiUwP6qLYf3ldE=","ignBbwyLkAXSQfQoWjGMZ2m2p9d7dDqWaXW4XAlV30g=","Uh9lxATVI904AWJn3ydpTnpBfb8dfuOMpPBBb10+kv4=","vCYQZqPwuKPvCNeCqAVIBfGK0xps0RT3XAe3bs7RKyM=","eGvIh/2VuASWOIw2cAlggnhHIj5WniQ0TmehEpx+ZbU=","2Wv4GiithwNukRKV06clevnQQYCzXmSS/+/OJtXgsXQ=","1mfy94KpcItqshH9+gwqV6jccupcaMpVsF28New8zDY=","vS7O4ozHIQZJWBiov+mkpI27GE8zAmVCEkRcP3NDyNE="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n500993797\nvFVYmsmhzvStgPMVDyJ9pvfw5j+LIy99hCfJ6CzA35k=\n\n— rekor.sigstore.dev wNI9ajBGAiEA7d8CKKVz8h7r9+pMWzTtxvS3GQ+MQdCvvzhu/DVCvgkCIQD+4UFlxjskVqBAM0JgJBEboVIeFImyK/Up2EV/11+pZw==\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiZHNzZSIsInNwZWMiOnsiZW52ZWxvcGVIYXNoIjp7ImFsZ29yaXRobSI6InNoYTI1NiIsInZhbHVlIjoiZDg3ZDQzMDY3Y2U3ZjNhNzA1ZDI4ODUwZTFiZDBjZTdkMWZiNGNlM2ExODc0ODJhMDJiZjdjZWZkY2E4NzNlOCJ9LCJwYXlsb2FkSGFzaCI6eyJhbGdvcml0aG0iOiJzaGEyNTYiLCJ2YWx1ZSI6ImJiZjAwMzE1NDUxNzU0MGRhMmMzNmFlNjE0NWExMDhmNDQ1Y2UxMjlkMzhlYzhiMmMwYTE1MjNhYjU0MzAxY2EifSwic2lnbmF0dXJlcyI6W3sic2lnbmF0dXJlIjoiTUVZQ0lRQzhuTWVWUXBZVzZQbVR6ekM4UzRta0hXOTRLZ3Z1VXRCQlhzM1g3TGs2TmdJaEFQR1lBeGYvS1MxTzBKUExTVk5NQzNvT29IWXRpczNIV0ZxNVJhUWNWNzhEIiwidmVyaWZpZXIiOiJMUzB0TFMxQ1JVZEpUaUJEUlZKVVNVWkpRMEZVUlMwdExTMHRDazFKU1VNMVJFTkRRVzF4WjBGM1NVSkJaMGxWVW5ZM1NGbDBaM0JZYjA5UkwxQlBkVE5hWkVsdFMzQldaRmMwZDBObldVbExiMXBKZW1vd1JVRjNUWGNLVG5wRlZrMUNUVWRCTVZWRlEyaE5UV015Ykc1ak0xSjJZMjFWZFZwSFZqSk5ValIzU0VGWlJGWlJVVVJGZUZaNllWZGtlbVJIT1hsYVV6RndZbTVTYkFwamJURnNXa2RzYUdSSFZYZElhR05PVFdwVmVFMUVTWGROVkVWM1RtcE5NRmRvWTA1TmFsVjRUVVJKZDAxVVJYaE9hazB3VjJwQlFVMUdhM2RGZDFsSUNrdHZXa2w2YWpCRFFWRlpTVXR2V2tsNmFqQkVRVkZqUkZGblFVVlRZa1IyT1ZJNVVtcDVVV00wUkhSdVlTdGhiV3RHTjFGRFNWcDBhMlJZTmtFNU5rNEtiVk53ZG14RGNsbGxWVUZGU0dOSGEwcGlhV3hYVmxWWmVFdHdjSEIwVXpNeGMyMXhOVWRhWjB0R1VUWlhTV05sVUdGUFEwRlphM2RuWjBkR1RVRTBSd3BCTVZWa1JIZEZRaTkzVVVWQmQwbElaMFJCVkVKblRsWklVMVZGUkVSQlMwSm5aM0pDWjBWR1FsRmpSRUY2UVdSQ1owNVdTRkUwUlVablVWVkxha2M0Q21OWmVEUXJkMHBXYzJobldsUkZUM0ZLVDB4dlpuRjNkMGgzV1VSV1VqQnFRa0puZDBadlFWVXpPVkJ3ZWpGWmEwVmFZalZ4VG1wd1MwWlhhWGhwTkZrS1drUTRkMHBCV1VSV1VqQlNRVkZJTDBKQ2IzZEhTVVZYVWpOS2FHSnRiREJhVXpFeVdsaEtjRnB1YkVGaFYwcDBURzFPZG1KVVFUQkNaMjl5UW1kRlJRcEJXVTh2VFVGRlFrSkRXbTlrU0ZKM1kzcHZka3d6VG5CYU0wNHdZak5LYkV4dVdteGpiV3h0WlZNMWNGbHRNSFZaTWpsMFRESTVhR1JZVW05TmFrRXlDa0puYjNKQ1owVkZRVmxQTDAxQlJVbENRMmROU20xb01HUklRbnBQYVRoMll6SnNibU16VW5aamJWVjFaRzFXZVdGWFdqVk1iV3hwWWxNMWFtSXlNSFlLWWpKR01XUkhaM2xOU1VkS1FtZHZja0puUlVWQlpGbzFRV2RSUTBKSWMwVmxVVUl6UVVoVlFUTlVNSGRoYzJKSVJWUktha2RTTkdOdFYyTXpRWEZLU3dwWWNtcGxVRXN6TDJnMGNIbG5Remh3TjI4MFFVRkJSMkZCVlhsNFdrRkJRVUpCVFVGU2FrSkZRV2xCVVVsdk5rNUxZMVpDTTNkVFptNW5TSEo2TlVOU0NtZ3lia0poYUZVMVJ6Rm1ZbFJ4V1hJeGJsZG1aMEZKWjFkdFIzZHBhVFJIVDNCcmNuQlZhbFJJTjJwWmJGWjBXbmd5TlVkNFVHTmlOVlZGYVdsRGJuUUtkR2RaZDBObldVbExiMXBKZW1vd1JVRjNUVVJoUVVGM1dsRkplRUZLYVdGVU1UUm5hMjQxWW5CNGVuRkZTVUp5V2xFelUwcGlSVGh4UjA4M1ltMVVkd3BRY1d3ek9HMDJlRmg2ZVhVM2RHbEpRM2RvYkdwVVNtTXlkMGxGY1dkSmQxRmxZalZaTmxrNE5VZEVWak5wUmsxS2JEQTJOaXRuWWpCQ1YwNTNOMnBWQ21Wb1EwZFVVMlZLU0Rsb00yVm5WMUZuZFRscmJsZE9TMnc0T0hwelMyd3JDaTB0TFMwdFJVNUVJRU5GVWxSSlJrbERRVlJGTFMwdExTMEsifV19fQ=="}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIIE6TADAgEAMIIE4AYJKoZIhvcNAQcCoIIE0TCCBM0CAQMxDTALBglghkgBZQMEAgEwgcIGCyqGSIb3DQEJEAEEoIGyBIGvMIGsAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgbqxfbqWfneNi9oL3saxtdkXAVBIsbujMxg7LfstPQlsCFGzhcWVHXmurVafsRVI1bk3DZ3aQGA8yMDI1MTAyMDExMDYzOVowAwIBAQIJAIW953lpO2uaoDKkMDAuMRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxFTATBgNVBAMTDHNpZ3N0b3JlLXRzYaCCAhQwggIQMIIBlqADAgECAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDAKBggqhkjOPQQDAzA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkMB4XDTI1MDQwODA2NTk0M1oXDTM1MDQwNjA2NTk0M1owLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2EwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAATitrZnyEo2KDZP2QWMIBOgYbfSOTL5ZC/cHMv6Yq+HVIo1H9TC7Cx80KDiyvKhgB3wTqKyi9UDczhqg12b1AOLnRnydMTK+qB8M+1MjBci1+Jb8AV/VXu7CRuQCiPTHFyjajBoMA4GA1UdDwEB/wQEAwIHgDAdBgNVHQ4EFgQUif15Q4fP0GVGwwJGxyxzW3206wMwHwYDVR0jBBgwFoAUmOwB73+7Uf/UlR5vioiYUweJzr8wFgYDVR0lAQH/BAwwCgYIKwYBBQUHAwgwCgYIKoZIzj0EAwMDaAAwZQIwO2mxX/opo7SrIX9QyxfZpJRcpAV2gZOm1AZzR+2rVyy6Uc8Ybp2ybIw13ckH4bcRAjEA5qO8FyOkmYpvg2/7ZNqiPxRzn5vqKHoVcIIqtpKq6l7TvOqzAxxclN7VwTG8e++XMYIB2jCCAdYCAQEwUTA5MRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxIDAeBgNVBAMTF3NpZ3N0b3JlLXRzYS1zZWxmc2lnbmVkAhQ6E1QvDJBh7rzBQy/Lio6LKiOLDDALBglghkgBZQMEAgGggfwwGgYJKoZIhvcNAQkDMQ0GCyqGSIb3DQEJEAEEMBwGCSqGSIb3DQEJBTEPFw0yNTEwMjAxMTA2MzlaMC8GCSqGSIb3DQEJBDEiBCDk76XrlPrwaPvV+FplzI/cA5m3/9/wjRIXRnQpv3tNRDCBjgYLKoZIhvcNAQkQAi8xfzB9MHsweQQghfknvAerYsrDtENWwQ78gbLGiD/aernm2HDZ0TrNBbcwVTA9pDswOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCgYIKoZIzj0EAwIEZjBkAjBHlhMsYqX9CalBpmkiebrSwHzSHAaFRF1F4O9Cdz6cPyT2aX/PClKE0XhFSXr4v/cCMGYv+inbVr3IZLTRKihHbSQl59KVB4rSn3oJXhE6pLpuRo8E7Qf1ZjdYW0+Fe2+eVg=="}]}},"dsseEnvelope":{"payload":"ewogICJfdHlwZSI6ICJodHRwczovL2luLXRvdG8uaW8vU3RhdGVtZW50L3YxIiwKICAic3ViamVjdCI6IFsKICAgIHsKICAgICAgIm5hbWUiOiAiZ3Jhbml0ZS00LjAtaC0zMDBtLWJhc2UiLAogICAgICAiZGlnZXN0IjogewogICAgICAgICJzaGEyNTYiOiAiNGZiMjdjN2U0ZThhNTJlY2Y1NTZiYmIwYmY0MDA3ODEwZDNiOTMyMmU5MjhlZTgwOTYzOGE3MWU2MWU4NDdiYSIKICAgICAgfQogICAgfQogIF0sCiAgInByZWRpY2F0ZVR5cGUiOiAiaHR0cHM6Ly9tb2RlbF9zaWduaW5nL3NpZ25hdHVyZS92MS4wIiwKICAicHJlZGljYXRlIjogewogICAgInJlc291cmNlcyI6IFsKICAgICAgewogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IiwKICAgICAgICAibmFtZSI6ICJSRUFETUUubWQiLAogICAgICAgICJkaWdlc3QiOiAiMWU2YzRhYjk3YjVjMGM1MjhmYThhOTc4ZDc5NjI3Y2VkNGZlNmFjYTU2NjFmNWViY2MyNGMxMzlmY2NmZTgxNSIKICAgICAgfSwKICAgICAgewogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IiwKICAgICAgICAibmFtZSI6ICJjb25maWcuanNvbiIsCiAgICAgICAgImRpZ2VzdCI6ICJjMTFiZTkzZjJlNWY4MzA5NjA0MmIxOWMzZGYzYjBkOTgyODE5YjYzYzUzNzhlMGI2YTgyYzRmZGJlMDE3ZmFjIgogICAgICB9LAogICAgICB7CiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiLAogICAgICAgICJuYW1lIjogImdlbmVyYXRpb25fY29uZmlnLmpzb24iLAogICAgICAgICJkaWdlc3QiOiAiN2MwNGNiOWQyYmE3NzFmNzUyOGZiYTVhNzEwNDk5OWNkYWY3NTY2ZDAyYjVmYmQ1ODQ3MjgyOWY2MjcxNjE3NyIKICAgICAgfSwKICAgICAgewogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IiwKICAgICAgICAibmFtZSI6ICJtZXJnZXMudHh0IiwKICAgICAgICAiZGlnZXN0IjogImI2ZmU0MjRlMzM0OTAzZjdmYjg0ZDNhMTA2ZDk3MzA0NTVmNDc0NGI5ZmUzYzIxZWUxMzZkOTdhMDBlNzI1MDIiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIsCiAgICAgICAgIm5hbWUiOiAibW9kZWwuc2FmZXRlbnNvcnMiLAogICAgICAgICJkaWdlc3QiOiAiZWQ2ZTMwNTdkZTliNWFiOWMwOTY3NGJlZjJiNWNmMTMzYWNhMjBhZmZiMWE2ZjUzYjI4N2FmMjE0N2MyMDBmNyIKICAgICAgfSwKICAgICAgewogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IiwKICAgICAgICAibmFtZSI6ICJzcGVjaWFsX3Rva2Vuc19tYXAuanNvbiIsCiAgICAgICAgImRpZ2VzdCI6ICJjMDg2NzZjNDlmZDc5NjlhMzEzMGY3MmJlNmQ0YmYzNGRhNjZhYTQ4NGE2ZTIxZGZmZTM1OTg5M2ExYmQ1ZjJlIgogICAgICB9LAogICAgICB7CiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiLAogICAgICAgICJuYW1lIjogInRva2VuaXplci5qc29uIiwKICAgICAgICAiZGlnZXN0IjogImUyYmFkNjY0Mzk1MzhjYjRkNWE3NTgwNjgwOTMyNDMyZWQ5ZWNlOWQzYjg1NzdlNjc1NTEyYmRmMTE1OTkyNTMiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIsCiAgICAgICAgIm5hbWUiOiAidG9rZW5pemVyX2NvbmZpZy5qc29uIiwKICAgICAgICAiZGlnZXN0IjogImE1ZWM1ZGFhYjEyYmEwOTBhOTBmM2RkMTY5YzhmOWMyNzU1NTcwMTNhODdiOWMxMjU4ZGM3Y2I0OTdhMzVjODYiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIsCiAgICAgICAgIm5hbWUiOiAidm9jYWIuanNvbiIsCiAgICAgICAgImRpZ2VzdCI6ICI4YWY3MTA3NmRlOGIwYjYyNmVlZDBmNGM5ODRmYWYwYTdjMDYyNDc5MTY0YjJhMzEzMDhhOTQ4NTI0ZDRmNjljIgogICAgICB9CiAgICBdLAogICAgInNlcmlhbGl6YXRpb24iOiB7CiAgICAgICJtZXRob2QiOiAiZmlsZXMiLAogICAgICAiaWdub3JlX3BhdGhzIjogWwogICAgICAgICJtb2RlbC5zaWciLAogICAgICAgICIuZ2l0aWdub3JlIiwKICAgICAgICAiLmdpdCIsCiAgICAgICAgIi5naXRodWIiLAogICAgICAgICIuZ2l0YXR0cmlidXRlcyIKICAgICAgXSwKICAgICAgImFsbG93X3N5bWxpbmtzIjogZmFsc2UsCiAgICAgICJoYXNoX3R5cGUiOiAic2hhMjU2IgogICAgfQogIH0KfQ==","payloadType":"application/vnd.in-toto+json","signatures":[{"sig":"MEYCIQC8nMeVQpYW6PmTzzC8S4mkHW94KgvuUtBBXs3X7Lk6NgIhAPGYAxf/KS1O0JPLSVNMC3oOoHYtis3HWFq5RaQcV78D"}]}}