Text Generation
Transformers
Safetensors
granite
granite-4.2
reasoning
thinking
tool-calling
ibm
conversational
Instructions to use ibm-granite/granite-4.2-30b with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use ibm-granite/granite-4.2-30b with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="ibm-granite/granite-4.2-30b") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("ibm-granite/granite-4.2-30b") model = AutoModelForCausalLM.from_pretrained("ibm-granite/granite-4.2-30b", device_map="auto") messages = [ {"role": "user", "content": "Who are you?"}, ] inputs = tokenizer.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Inference
- HuggingChat
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use ibm-granite/granite-4.2-30b with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "ibm-granite/granite-4.2-30b" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "ibm-granite/granite-4.2-30b", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/ibm-granite/granite-4.2-30b
- SGLang
How to use ibm-granite/granite-4.2-30b with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "ibm-granite/granite-4.2-30b" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "ibm-granite/granite-4.2-30b", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "ibm-granite/granite-4.2-30b" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "ibm-granite/granite-4.2-30b", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use ibm-granite/granite-4.2-30b with Docker Model Runner:
docker model run hf.co/ibm-granite/granite-4.2-30b
| {"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIC/jCCAoSgAwIBAgIURTx/kL8hZk4IWfv94wE/7AMcoWQwCgYIKoZIzj0EAwMwNzEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MR4wHAYDVQQDExVzaWdzdG9yZS1pbnRlcm1lZGlhdGUwHhcNMjYwODI0MjAxMTM3WhcNMjYwODI0MjAyMTM3WjAAMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE7nIDOSRjOK//BEbmmAM5yrdyMOegFRBs+Xxub0yUSjB/S52l4j5dOAxcgtSOmj3WWBx4BIyW8leApz0EE3IGzaOCAaMwggGfMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUS8/V/QJDaoR060LMcK8vzISj4Z4wHwYDVR0jBBgwFoAU39Ppz1YkEZb5qNjpKFWixi4YZD8wIgYDVR0RAQH/BBgwFoEUR3Jhbml0ZS1zaWduQGlibS5jb20wNAYKKwYBBAGDvzABAQQmaHR0cHM6Ly9zaWdzdG9yZS52ZXJpZnkuaWJtLmNvbS9vYXV0aDIwNgYKKwYBBAGDvzABCAQoDCZodHRwczovL3NpZ3N0b3JlLnZlcmlmeS5pYm0uY29tL29hdXRoMjAaBgorBgEEAYO/MAEYBAwMCjY1NTAwMUFFNEowgYkGCisGAQQB1nkCBAIEewR5AHcAdQDdPTBqxscRMmMZHhyZZzcCokpeuN48rf+HinKALynujgAAAaA1ZmHeAAAEAwBGMEQCIDhS5J4rmQEdQ/yx708BIszoejOrqToUDy4O1j/TyRknAiAFhZ06WsYYIste3pmSOMv30+PyfNHpzbkuRXl/AQpd6DAKBggqhkjOPQQDAwNoADBlAjA6CMYozwe1TbuJ91rw1ypOj+Zblwl+yVWXkv5k7PEVzqEwqhpuV4lYzPPvKX8V9CcCMQDfgX61LvNvkASRae4OI7TaQ89gLuZBH+W7Z/QbWIBlp7bRBqG94yErjbpwt16rmhU="},"tlogEntries":[{"logIndex":"2581881282","logId":{"keyId":"wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="},"kindVersion":{"kind":"dsse","version":"0.0.1"},"integratedTime":"1787602297","inclusionPromise":{"signedEntryTimestamp":"MEQCIBoxUVCcPIWt0jmvD2nWy07nC/eK51Z1INgOGiETZNDaAiA+aUa01AvKm89y//IaPzB1kyB+68c6FBOP7zhnlvP2hg=="},"inclusionProof":{"logIndex":"2459977020","rootHash":"U+Sgc48QhwBTx7o8xOl7csluysbkyFMKYeIvgvTrMkI=","treeSize":"2459977021","hashes":["nN/h5fRvxIg6RfH3QexhIL8m7brlHgd1OC9NALz/7AI=","D+nAkYSahkC4Yxv6IfqN4OYefpJcHzYWaSYTVjQqtn8=","OfBjkpBxRg6LBZtV8rt3lPUfbvzu95cEHFiq3KNYjeY=","cLPBJK5EUsxAWWNtLA9pMNM1GtUhTAtGh7omMeZXfoM=","LUy5X0QD4dGHN+RtW2mlFm41tqyqFUruQQQ7Lt1E9w0=","a6b1kEqj8WoaxHyty8N0Sc7GT2Bvn2DqkfMhi9NbedI=","+WG2gijtmLVsCtfzZW16GIWpk7H/xzOQE0j3z/Hvqhs=","RZ7XwGuqMr5gDUh2HpUcaXp+AmIiEcPJiMui4GLJE7o=","mBm+vQtn0C4thMnlTnxfxqowq1dXsPBCKaJ85da3JeU=","b80/J/68RC8/tx5xRdlKk6MmTpZiVRotquWBrE/z1pI=","SndbMKVtcTenAkwi2JBfGzD+mhexp1qJbRIY+A1JRIU=","xH/DCseLHr9eKoYT8qsORZK7zVdEGYWHuVtsVrD95wY="],"checkpoint":{"envelope":"rekor.sigstore.dev - 1193050959916656506\n2459977021\nU+Sgc48QhwBTx7o8xOl7csluysbkyFMKYeIvgvTrMkI=\n\n— rekor.sigstore.dev wNI9ajBEAiAA+RewyrhMTOjUZtRTVveh7xv2xgjp9Xy56OUvyaZqpQIgUFLtcK2eUamq2+aTSLI4vvvijgn4RoTC59nQZQExk58=\n"}},"canonicalizedBody":"eyJhcGlWZXJzaW9uIjoiMC4wLjEiLCJraW5kIjoiZHNzZSIsInNwZWMiOnsiZW52ZWxvcGVIYXNoIjp7ImFsZ29yaXRobSI6InNoYTI1NiIsInZhbHVlIjoiYjJkNTkzOTgxYmI5ZmZhMzBhNjZlNmEzMDUyOThkNDIwYjFiZTFkMmM4Mzg1MjI5ZmM2ODY1YjlhMjBhNDUxOSJ9LCJwYXlsb2FkSGFzaCI6eyJhbGdvcml0aG0iOiJzaGEyNTYiLCJ2YWx1ZSI6ImZkMTc0M2RiNjRmYWE1Njc5MTUwZWY4MzJhNjM0M2YxOWU5NmMyZjhmMDg1OTkxODliMDA3ZWIyZGMxOGI2NzQifSwic2lnbmF0dXJlcyI6W3sic2lnbmF0dXJlIjoiTUVVQ0lDOExLNGdSMW1YWkdnejI4MTNCQVl6WGhxckZBQWZGeFFqRDF4Vjl0elJaQWlFQXFpSHIzcjlRRGdxNGhmNU11c253QkQrcTNiS2c4aTVVRTM0eklLdjZ2UDA9IiwidmVyaWZpZXIiOiJMUzB0TFMxQ1JVZEpUaUJEUlZKVVNVWkpRMEZVUlMwdExTMHRDazFKU1VNdmFrTkRRVzlUWjBGM1NVSkJaMGxWVWxSNEwydE1PR2hhYXpSSlYyWjJPVFIzUlM4M1FVMWpiMWRSZDBObldVbExiMXBKZW1vd1JVRjNUWGNLVG5wRlZrMUNUVWRCTVZWRlEyaE5UV015Ykc1ak0xSjJZMjFWZFZwSFZqSk5ValIzU0VGWlJGWlJVVVJGZUZaNllWZGtlbVJIT1hsYVV6RndZbTVTYkFwamJURnNXa2RzYUdSSFZYZElhR05PVFdwWmQwOUVTVEJOYWtGNFRWUk5NMWRvWTA1TmFsbDNUMFJKTUUxcVFYbE5WRTB6VjJwQlFVMUdhM2RGZDFsSUNrdHZXa2w2YWpCRFFWRlpTVXR2V2tsNmFqQkVRVkZqUkZGblFVVTNia2xFVDFOU2FrOUxMeTlDUldKdGJVRk5OWGx5WkhsTlQyVm5SbEpDY3l0WWVIVUtZakI1VlZOcVFpOVROVEpzTkdvMVpFOUJlR05uZEZOUGJXb3pWMWRDZURSQ1NYbFhPR3hsUVhCNk1FVkZNMGxIZW1GUFEwRmhUWGRuWjBkbVRVRTBSd3BCTVZWa1JIZEZRaTkzVVVWQmQwbElaMFJCVkVKblRsWklVMVZGUkVSQlMwSm5aM0pDWjBWR1FsRmpSRUY2UVdSQ1owNVdTRkUwUlVablVWVlRPQzlXQ2k5UlNrUmhiMUl3TmpCTVRXTkxPSFo2U1ZOcU5GbzBkMGgzV1VSV1VqQnFRa0puZDBadlFWVXpPVkJ3ZWpGWmEwVmFZalZ4VG1wd1MwWlhhWGhwTkZrS1drUTRkMGxuV1VSV1VqQlNRVkZJTDBKQ1ozZEdiMFZWVWpOS2FHSnRiREJhVXpGNllWZGtkVkZIYkdsaVV6VnFZakl3ZDA1QldVdExkMWxDUWtGSFJBcDJla0ZDUVZGUmJXRklVakJqU0UwMlRIazVlbUZYWkhwa1J6bDVXbE0xTWxwWVNuQmFibXQxWVZkS2RFeHRUblppVXpsMldWaFdNR0ZFU1hkT1oxbExDa3QzV1VKQ1FVZEVkbnBCUWtOQlVXOUVRMXB2WkVoU2QyTjZiM1pNTTA1d1dqTk9NR0l6U214TWJscHNZMjFzYldWVE5YQlpiVEIxV1RJNWRFd3lPV2dLWkZoU2IwMXFRV0ZDWjI5eVFtZEZSVUZaVHk5TlFVVlpRa0YzVFVOcVdURk9WRUYzVFZWR1JrNUZiM2RuV1d0SFEybHpSMEZSVVVJeGJtdERRa0ZKUlFwbGQxSTFRVWhqUVdSUlJHUlFWRUp4ZUhOalVrMXRUVnBJYUhsYVducGpRMjlyY0dWMVRqUTRjbVlyU0dsdVMwRk1lVzUxYW1kQlFVRmhRVEZhYlVobENrRkJRVVZCZDBKSFRVVlJRMGxFYUZNMVNqUnliVkZGWkZFdmVYZzNNRGhDU1hONmIyVnFUM0p4Vkc5VlJIazBUekZxTDFSNVVtdHVRV2xCUm1oYU1EWUtWM05aV1VsemRHVXpjRzFUVDAxMk16QXJVSGxtVGtod2VtSnJkVkpZYkM5QlVYQmtOa1JCUzBKblozRm9hMnBQVUZGUlJFRjNUbTlCUkVKc1FXcEJOZ3BEVFZsdmVuZGxNVlJpZFVvNU1YSjNNWGx3VDJvcldtSnNkMndyZVZaWFdHdDJOV3MzVUVWV2VuRkZkM0ZvY0hWV05HeFplbEJRZGt0WU9GWTVRMk5EQ2sxUlJHWm5XRFl4VEhaT2RtdEJVMUpoWlRSUFNUZFVZVkU0T1dkTWRWcENTQ3RYTjFvdlVXSlhTVUpzY0RkaVVrSnhSemswZVVWeWFtSndkM1F4Tm5JS2JXaFZQUW90TFMwdExVVk9SQ0JEUlZKVVNVWkpRMEZVUlMwdExTMHRDZz09In1dfX0="}],"timestampVerificationData":{"rfc3161Timestamps":[{"signedTimestamp":"MIIE6zADAgEAMIIE4gYJKoZIhvcNAQcCoIIE0zCCBM8CAQMxDTALBglghkgBZQMEAgEwgcMGCyqGSIb3DQEJEAEEoIGzBIGwMIGtAgEBBgkrBgEEAYO/MAIwMTANBglghkgBZQMEAgEFAAQgO8lWle8YCQg1YEuaaELzp/R3G47CYE6vacO/r5b2ztICFQD8s9qgQUtcXM9UEi3K3S0viqNfCxgPMjAyNjA4MjQyMDExMzdaMAMCAQECCQC9VpBNWzW3lqAypDAwLjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MRUwEwYDVQQDEwxzaWdzdG9yZS10c2GgggIUMIICEDCCAZagAwIBAgIUOhNULwyQYe68wUMvy4qOiyojiwwwCgYIKoZIzj0EAwMwOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZDAeFw0yNTA0MDgwNjU5NDNaFw0zNTA0MDYwNjU5NDNaMC4xFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEVMBMGA1UEAxMMc2lnc3RvcmUtdHNhMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE4ra2Z8hKNig2T9kFjCAToGG30jky+WQv3BzL+mKvh1SKNR/UwuwsfNCg4sryoYAd8E6isovVA3M4aoNdm9QDi50Z8nTEyvqgfDPtTIwXItfiW/AFf1V7uwkbkAoj0xxco2owaDAOBgNVHQ8BAf8EBAMCB4AwHQYDVR0OBBYEFIn9eUOHz9BlRsMCRscsc1t9tOsDMB8GA1UdIwQYMBaAFJjsAe9/u1H/1JUeb4qImFMHic6/MBYGA1UdJQEB/wQMMAoGCCsGAQUFBwMIMAoGCCqGSM49BAMDA2gAMGUCMDtpsV/6KaO0qyF/UMsX2aSUXKQFdoGTptQGc0ftq1csulHPGG6dsmyMNd3JB+G3EQIxAOajvBcjpJmKb4Nv+2Taoj8Uc5+b6ih6FXCCKraSqupe07zqswMcXJTe1cExvHvvlzGCAdswggHXAgEBMFEwOTEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MSAwHgYDVQQDExdzaWdzdG9yZS10c2Etc2VsZnNpZ25lZAIUOhNULwyQYe68wUMvy4qOiyojiwwwCwYJYIZIAWUDBAIBoIH8MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAcBgkqhkiG9w0BCQUxDxcNMjYwODI0MjAxMTM3WjAvBgkqhkiG9w0BCQQxIgQgmm/uPAZ87ZMzsv4MxsMMxyruqankl78SkSb6frupcXwwgY4GCyqGSIb3DQEJEAIvMX8wfTB7MHkEIIX5J7wHq2LKw7RDVsEO/IGyxog/2nq55thw2dE6zQW3MFUwPaQ7MDkxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEgMB4GA1UEAxMXc2lnc3RvcmUtdHNhLXNlbGZzaWduZWQCFDoTVC8MkGHuvMFDL8uKjosqI4sMMAoGCCqGSM49BAMCBGcwZQIwDO6QRxWST5hqJRLL4pxB1MlFHp39pvCheDAcx58BRhdM+w6DLa5qjbQKlndTpu+7AjEAmhtnRc48XKwkxV6+vpa7N6iJnC21LV2R/fljiZR4c3gY6MHEmMUJzlm61faDEoTt"}]}},"dsseEnvelope":{"payload":"ewogICJfdHlwZSI6ICJodHRwczovL2luLXRvdG8uaW8vU3RhdGVtZW50L3YxIiwKICAic3ViamVjdCI6IFsKICAgIHsKICAgICAgIm5hbWUiOiAiZ3Jhbml0ZS00LjItMzBiIiwKICAgICAgImRpZ2VzdCI6IHsKICAgICAgICAic2hhMjU2IjogImE0ODZhNjRlYmI2ZDJhMmI3MmViOTNmNzljMmU0ZDkxM2RmMThkMzVjZjUyM2Y1ZWU2MGM0NGE1ZDFhMWUyNjMiCiAgICAgIH0KICAgIH0KICBdLAogICJwcmVkaWNhdGVUeXBlIjogImh0dHBzOi8vbW9kZWxfc2lnbmluZy9zaWduYXR1cmUvdjEuMCIsCiAgInByZWRpY2F0ZSI6IHsKICAgICJzZXJpYWxpemF0aW9uIjogewogICAgICAibWV0aG9kIjogImZpbGVzIiwKICAgICAgImhhc2hfdHlwZSI6ICJzaGEyNTYiLAogICAgICAiYWxsb3dfc3ltbGlua3MiOiBmYWxzZSwKICAgICAgImlnbm9yZV9wYXRocyI6IFsKICAgICAgICAiLmdpdGF0dHJpYnV0ZXMiLAogICAgICAgICIuZ2l0IiwKICAgICAgICAiLmdpdGlnbm9yZSIsCiAgICAgICAgIi5jYWNoZSIsCiAgICAgICAgIm1vZGVsLnNpZyIsCiAgICAgICAgIi5naXRodWIiCiAgICAgIF0KICAgIH0sCiAgICAicmVzb3VyY2VzIjogWwogICAgICB7CiAgICAgICAgIm5hbWUiOiAiUkVBRE1FLm1kIiwKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIsCiAgICAgICAgImRpZ2VzdCI6ICIxZTRlNGM0MzNhZWI2YjgxNGU2ZTM2YmMzODNjMTIxMTAzNzYxNjhkMTk2MDM4MjZkZDBjYzgyNWVkMWUzYjk1IgogICAgICB9LAogICAgICB7CiAgICAgICAgIm5hbWUiOiAiY2hhdF90ZW1wbGF0ZS5qaW5qYSIsCiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiLAogICAgICAgICJkaWdlc3QiOiAiZjBiYTQzZjc5YjNjYWJjYTVlNWE3NTg0Yzc3YWVjOTJmNDlmZWFlNDVjZGY3Nzc5Yzg3ZDlmYzU0Y2Q5MDI1OCIKICAgICAgfSwKICAgICAgewogICAgICAgICJuYW1lIjogImNvbmZpZy5qc29uIiwKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIsCiAgICAgICAgImRpZ2VzdCI6ICI4MmM4MzRhYzZiZjZhMmVjYmY5ODAxYjQ5YzNmYjkyNzAwOGRmMjRlYTQxNWMzNWU5MzFiNjA5MWNhYjIxMjc3IgogICAgICB9LAogICAgICB7CiAgICAgICAgIm5hbWUiOiAiZ2VuZXJhdGlvbl9jb25maWcuanNvbiIsCiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiLAogICAgICAgICJkaWdlc3QiOiAiMWI5YmFmMGE3OTU5ZDMxZDdmYjU4ZmY2YjUwNmMyN2QwOWE3M2QzOTVjYWRjY2M3ZTZkZDFkNGI3ZTQzZmQ5ZCIKICAgICAgfSwKICAgICAgewogICAgICAgICJuYW1lIjogImdyYW5pdGVfdGhpbmtpbmdfcGFyc2VyLnB5IiwKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIsCiAgICAgICAgImRpZ2VzdCI6ICI0MmY5ZjNiYTE5NmU2MGFhZjI3MmU0MTM2MjY2OTNlN2FiMzg3MWEwOWIxYmI2OGQ1NWEyNmZlOGQ1NTgyYmRmIgogICAgICB9LAogICAgICB7CiAgICAgICAgIm5hbWUiOiAibWVyZ2VzLnR4dCIsCiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiLAogICAgICAgICJkaWdlc3QiOiAiYjZmZTQyNGUzMzQ5MDNmN2ZiODRkM2ExMDZkOTczMDQ1NWY0NzQ0YjlmZTNjMjFlZTEzNmQ5N2EwMGU3MjUwMiIKICAgICAgfSwKICAgICAgewogICAgICAgICJuYW1lIjogIm1vZGVsLTAwMDAxLW9mLTAwMDExLnNhZmV0ZW5zb3JzIiwKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIsCiAgICAgICAgImRpZ2VzdCI6ICI3YmMwMzgxNDQ4ZjFhY2EwMTc1MzBiN2M0MzYzYTZiNTc3OWRlMmQwYzUxYzUwMDgzODRhMWI0NzdkMmJlZWVlIgogICAgICB9LAogICAgICB7CiAgICAgICAgIm5hbWUiOiAibW9kZWwtMDAwMDItb2YtMDAwMTEuc2FmZXRlbnNvcnMiLAogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IiwKICAgICAgICAiZGlnZXN0IjogIjIwNzUxZGY1ZWY3YzhlYjM5M2UyNzY2ODBkYTFmMGRiNzkxNjAyYjBmMDEwNDYyZjc3ODVhMjBjYmUxNGUwMmMiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAibmFtZSI6ICJtb2RlbC0wMDAwMy1vZi0wMDAxMS5zYWZldGVuc29ycyIsCiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiLAogICAgICAgICJkaWdlc3QiOiAiN2FiNjZhZjY2YWQ4YWFhZjVmYzNhMGMxN2ZlZDAwYjAwYmU4MTkzMmE1Y2Q5MDk0OTkxYzViYzEwYjdmNDI2NiIKICAgICAgfSwKICAgICAgewogICAgICAgICJuYW1lIjogIm1vZGVsLTAwMDA0LW9mLTAwMDExLnNhZmV0ZW5zb3JzIiwKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIsCiAgICAgICAgImRpZ2VzdCI6ICIxZjY5MzAwN2VhZTA5N2I1M2U3OGRmODUxOTljMTdjNzllZDAyOGZlN2JjNDgyNTZiMDk5MzA1ZDUxN2I2ODc0IgogICAgICB9LAogICAgICB7CiAgICAgICAgIm5hbWUiOiAibW9kZWwtMDAwMDUtb2YtMDAwMTEuc2FmZXRlbnNvcnMiLAogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IiwKICAgICAgICAiZGlnZXN0IjogImNmZmYyN2RmMDMxNzJhZmIyZmJmNjIzNTU0NGJmZDBiY2JiZjMyNzY4MGI3MWM5NGJiZDUxZDQ5ZmY2ODNjN2MiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAibmFtZSI6ICJtb2RlbC0wMDAwNi1vZi0wMDAxMS5zYWZldGVuc29ycyIsCiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiLAogICAgICAgICJkaWdlc3QiOiAiYzJmZDNiMDU5ZjZiMGM5NTdlMDQwZjQ3ZmQxZDRlYjlkNWFkMzA2OGMzNGE3MDE3Y2Y2ODA5OWVjODA3MWIzYiIKICAgICAgfSwKICAgICAgewogICAgICAgICJuYW1lIjogIm1vZGVsLTAwMDA3LW9mLTAwMDExLnNhZmV0ZW5zb3JzIiwKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIsCiAgICAgICAgImRpZ2VzdCI6ICJkZjNkZDg3YmQ3YTZjNmZjODc5MzlmZTlhYmM5YTUzZjA5YjFjN2QxZjFiNWQzYmI5Zjg3ODE4MGI4ODc3MjJlIgogICAgICB9LAogICAgICB7CiAgICAgICAgIm5hbWUiOiAibW9kZWwtMDAwMDgtb2YtMDAwMTEuc2FmZXRlbnNvcnMiLAogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IiwKICAgICAgICAiZGlnZXN0IjogIjhiZDZhNjhjODkwYjUyNDVlNzg4ZmIzYTI1ODQzZjI1NTIwMmEyMDUzOGE5ZjZhNDY4ZjY5Yjg3N2U5NDE2NDEiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAibmFtZSI6ICJtb2RlbC0wMDAwOS1vZi0wMDAxMS5zYWZldGVuc29ycyIsCiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiLAogICAgICAgICJkaWdlc3QiOiAiNWQ4NGM1Y2FhMjZlZmEwZTY1YmU0M2RhZjMyNGQxMDQxZjYzNDI1ZDIyNjU4MjM4NWI3MjI4YTg3ZTZlZjk2OSIKICAgICAgfSwKICAgICAgewogICAgICAgICJuYW1lIjogIm1vZGVsLTAwMDEwLW9mLTAwMDExLnNhZmV0ZW5zb3JzIiwKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIsCiAgICAgICAgImRpZ2VzdCI6ICI4YzI2YWNmNmRiZmYxNzZmM2RmNzZhY2U5MjQ1ZDEwNTkwNjM5YzkyZjAwYjgzZWQ2Y2FlOTczZGMyYWQ4ZTJmIgogICAgICB9LAogICAgICB7CiAgICAgICAgIm5hbWUiOiAibW9kZWwtMDAwMTEtb2YtMDAwMTEuc2FmZXRlbnNvcnMiLAogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IiwKICAgICAgICAiZGlnZXN0IjogImFjZDA0Zjc1NWM2ZWE5MDI1OWI2YTRjZWJlMTFhNmE0MDA4YzY4ZmU5ZDZiMzRkM2I1MDY3Y2E5ODAwYTcyNDYiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAibmFtZSI6ICJtb2RlbC5zYWZldGVuc29ycy5pbmRleC5qc29uIiwKICAgICAgICAiYWxnb3JpdGhtIjogInNoYTI1NiIsCiAgICAgICAgImRpZ2VzdCI6ICI4ZDM1YmQyNGUzZmZlY2Q3MDU3MzkxN2MxNTA0YTQ5ZjU1ZTJkMjhmYjc4OWEyOTYzZTBiMTlmNzUyMDJkNjE1IgogICAgICB9LAogICAgICB7CiAgICAgICAgIm5hbWUiOiAic3BlY2lhbF90b2tlbnNfbWFwLmpzb24iLAogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IiwKICAgICAgICAiZGlnZXN0IjogImU5NDM1ZmVmZDZkODM4ZmQ5ZmNiYmM0NGI5N2E4ZTNmZjMyMmJlN2Y2ZGZiN2U0ZmQyNDY4NTg2NTc0YmI1MmIiCiAgICAgIH0sCiAgICAgIHsKICAgICAgICAibmFtZSI6ICJ0b2tlbml6ZXIuanNvbiIsCiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiLAogICAgICAgICJkaWdlc3QiOiAiODgzOTc1MzE0ZDU4NzQzNzI2MzQ3Y2FhZjJjMzJhYzg5YWZkNWFkNTcyMjJjZmZiYzRmMDUyZjJhYjI3YjJkNyIKICAgICAgfSwKICAgICAgewogICAgICAgICJuYW1lIjogInRva2VuaXplcl9jb25maWcuanNvbiIsCiAgICAgICAgImFsZ29yaXRobSI6ICJzaGEyNTYiLAogICAgICAgICJkaWdlc3QiOiAiMjAwN2YyNmRmMTY2ZWQxMGEyZDZmYTg4MWMxYzhmM2NkZDE1MWU0NTE0NjlmNTliMjc0ODk3ZjE0NDQ5ODM1ZiIKICAgICAgfSwKICAgICAgewogICAgICAgICJuYW1lIjogInZvY2FiLmpzb24iLAogICAgICAgICJhbGdvcml0aG0iOiAic2hhMjU2IiwKICAgICAgICAiZGlnZXN0IjogImExYmUwYzFlMGE4OWI1YmFjZGE2YWY2ZjhiNjNkZjA5NjY4Y2I4ZDFmNjU2MjI5ZWU5MTIzMTQwYzk1MDc4MTAiCiAgICAgIH0KICAgIF0KICB9Cn0=","payloadType":"application/vnd.in-toto+json","signatures":[{"sig":"MEUCIC8LK4gR1mXZGgz2813BAYzXhqrFAAfFxQjD1xV9tzRZAiEAqiHr3r9QDgq4hf5MusnwBD+q3bKg8i5UE34zIKv6vP0="}]}} |