Codercat Studio | Cookbook

This cookbook contains a collection of useful HoudiniFX node setups. All examples are stored using the new Houdini recipe API and can be copied from this website directly into Houdini using our simple shelf tools. We also periodically make a backup of the recipes here.

Copy a snippet of interest from this page, then use Paste on the "Cookbook" shelf to paste it in.

If you would like to share a recipe, click the Create button and paste in the output of the "Copy" shelf tool. Note that you must be logged in to do so. If you have any questions or comments, feel free to reach out at codercatclub@gmail.com.

Get new recipes updates over RSS feed.

⚠️ Changelog

11.20.2025 - We updated the copy shelf tool to include the Houdini version, which is also visible on the recipes listing. Please update your shelf tools using the Python one-liner from the Recommended Install section.

📦 Recommended Install

To install Cookbook shelf tools copy this code to Houdini Python Shell and press Enter. You will see Cookbook shelf apper on the top panel.

To open Python Shell press Alt-Shift-P or go to main menu Window > Python Shell.

📂 Alternative Manual Install
⬇️ Download shelf tool file and place it to your Houdini toolbar folder:
  • Windows:
  • macOS:
  • Linux:

Replace USERNAME and X.Y with your account name and Houdini version.

Restart Houdini.

? About this project

Motivation and Goals

We created this Houdini Cookbook because:

  • We needed a way to quickly share and store small Houdini node setups. Previously, we attempted to create HDA libraries, but it was too cumbersome for our small team.
  • We believe there is a better way to share Houdini examples than by sharing entire Houdini files.
  • We enjoy sharing our small setups with the Houdini community.
  • We strongly believe in the idea of "Own Your Data," therefore we do not hold any published recipes hostage. All recipes are backed up once a day to a public Git repository here. Even if this service goes down, anyone can still download the full collection and use it directly with the Cookbook shelf tool or by using the two Python functions described below.
  • We also embrace the idea of decentralization, and we are considering open sourcing the Cookbook web service so that anyone can run it locally with their own collection or as their own public webpage. Let us know if this is something that interests you.

How Does It Work

In Houdini 20.5, SideFX introduced a new Recipe system that allows users to save collections of nodes into human-readable structured text files (JSON). Within this, they added a new collection of Python utilities (hou.data) that allows for creating and loading recipes programmatically.

In particular, the Cookbook shelf tools use hou.data.selectedItemsAsData(...) for copying nodes and hou.createItemsFromData(...) for pasting.

For this web service, we use the Go programming language and store all submitted recipes in plain text JSON files.

Simple Water Material
Simple and fast water material for Karma. This material use metalness and doesn't use transmission to optimize for faster render.
Nov 05, 2025 | 20.5.584 | shading Cooked By: kif
ewogICAgIl9fY29va2Jvb2tNZXRhIjogewogICAgICAgICJjb250ZXh0IjogInZvcCIsCiAgICAgICAgInZlcnNpb24iOiAiMjAuNS41ODQiCiAgICB9LAogICAgIndhdGVyIjogewogICAgICAgICJjaGlsZHJlbiI6IHsKICAgICAgICAgICAgIk1hdGVyaWFsX091dHB1dHNfYW5kX0FPVnMiOiB7CiAgICAgICAgICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgImZyb20iOiAibXRseHN0YW5kYXJkX3N1cmZhY2UiLAogICAgICAgICAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6ICJvdXQiLAogICAgICAgICAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAic3VyZmFjZSIKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgImZyb20iOiAibWF0ZXJpYWxfcHJvcGVydGllcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogInByb3BlcnRpZXMiLAogICAgICAgICAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAicHJvcGVydGllcyIKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAgICAgICAgICJuYW1lMSI6ICJzdXJmYWNlIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgICAgICAgICA2LjYxLAogICAgICAgICAgICAgICAgICAgIC00LjM5CiAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgInNpemUiOiBbCiAgICAgICAgICAgICAgICAgICAgMS43NywKICAgICAgICAgICAgICAgICAgICAwLjk4CiAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgInR5cGUiOiAic3Vib3V0cHV0IgogICAgICAgICAgICB9LAogICAgICAgICAgICAiaW5wdXRzIjogewogICAgICAgICAgICAgICAgImZsYWdzIjogewogICAgICAgICAgICAgICAgICAgICJkaXNwbGF5IjogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAicmVuZGVyIjogdHJ1ZQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgICAgICAgICAtMTYuNjQsCiAgICAgICAgICAgICAgICAgICAgLTAuMDQKICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAic2l6ZSI6IFsKICAgICAgICAgICAgICAgICAgICAxLjc3LAogICAgICAgICAgICAgICAgICAgIDAuNTMKICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAidHlwZSI6ICJzdWJpbnB1dCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImxhcmdlX2ZsYXRfYXJlYXMiOiB7CiAgICAgICAgICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICAgICAgICAgImZyZXEiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgIDAuNSwKICAgICAgICAgICAgICAgICAgICAgICAgMSwKICAgICAgICAgICAgICAgICAgICAgICAgMC41CiAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAib2N0YXZlcyI6IDgKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgICAgICAgICAgLTEwLjUsCiAgICAgICAgICAgICAgICAgICAgLTUuMzkKICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAic2l6ZSI6IFsKICAgICAgICAgICAgICAgICAgICAxLjc3LAogICAgICAgICAgICAgICAgICAgIDIuNzkKICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAidHlwZSI6ICJtdGx4dW5pZmllZG5vaXNlM2QiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJtYXRlcmlhbF9wcm9wZXJ0aWVzIjogewogICAgICAgICAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAgICAgICAgIDMuMDYsCiAgICAgICAgICAgICAgICAgICAgLTUuMTQKICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAic2l6ZSI6IFsKICAgICAgICAgICAgICAgICAgICAxLjc3LAogICAgICAgICAgICAgICAgICAgIDAuNjgKICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAidHlwZSI6ICJrbWFfbWF0ZXJpYWxfcHJvcGVydGllcyIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm10bHhkaXNwbGFjZW1lbnQiOiB7CiAgICAgICAgICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgICAgICAgICAgMy4xMSwKICAgICAgICAgICAgICAgICAgICAtNi43NAogICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICJzaXplIjogWwogICAgICAgICAgICAgICAgICAgIDEuNzcsCiAgICAgICAgICAgICAgICAgICAgMC44MwogICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICJ0eXBlIjogIm10bHhkaXNwbGFjZW1lbnQiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJtdGx4aGVpZ2h0dG9ub3JtYWwxIjogewogICAgICAgICAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICJmcm9tIjogIm10bHhtaXgxIiwKICAgICAgICAgICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAib3V0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInRvX2luZGV4IjogImluIgogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgICAgICAgICAgLTMuNTgsCiAgICAgICAgICAgICAgICAgICAgLTMuMwogICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICJzaXplIjogWwogICAgICAgICAgICAgICAgICAgIDEuNzcsCiAgICAgICAgICAgICAgICAgICAgMC44MwogICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICJ0eXBlIjogIm10bHhoZWlnaHR0b25vcm1hbCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm10bHhtaXgxIjogewogICAgICAgICAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICJmcm9tIjogInNtYWxsX3JpcHBsZXMiLAogICAgICAgICAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6ICJvdXQiLAogICAgICAgICAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAiYmciCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICJmcm9tIjogImxhcmdlX2ZsYXRfYXJlYXMiLAogICAgICAgICAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6ICJvdXQiLAogICAgICAgICAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAibWl4IgogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICAgICAgICAgImZnIjogMQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgICAgICAgICAtNi43OCwKICAgICAgICAgICAgICAgICAgICAtMy4xNgogICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICJzaXplIjogWwogICAgICAgICAgICAgICAgICAgIDEuNzcsCiAgICAgICAgICAgICAgICAgICAgMC45OAogICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICJ0eXBlIjogIm10bHhtaXgiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJtdGx4bm9ybWFsbWFwMSI6IHsKICAgICAgICAgICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAiZnJvbSI6ICJtdGx4aGVpZ2h0dG9ub3JtYWwxIiwKICAgICAgICAgICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAib3V0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInRvX2luZGV4IjogImluIgogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICAgICAgICAgInNjYWxlIjogMC4wMDI1CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAgICAgICAgIC0wLjcsCiAgICAgICAgICAgICAgICAgICAgLTMuMwogICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICJzaXplIjogWwogICAgICAgICAgICAgICAgICAgIDEuNzcsCiAgICAgICAgICAgICAgICAgICAgMS4yOAogICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICJ0eXBlIjogIm10bHhub3JtYWxtYXAiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJtdGx4c3RhbmRhcmRfc3VyZmFjZSI6IHsKICAgICAgICAgICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAiZnJvbSI6ICJtdGx4bm9ybWFsbWFwMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJmcm9tX2luZGV4IjogIm91dCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0b19pbmRleCI6ICJub3JtYWwiCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgICAgICAgICAiYmFzZV9jb2xvciI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgMC4xMjEyNTk5OTQ4MDQ4NTkxNiwKICAgICAgICAgICAgICAgICAgICAgICAgMC4xNDYwOTk4MjA3MzMwNzAzNywKICAgICAgICAgICAgICAgICAgICAgICAgMC4xODc5OTk5OTM1NjI2OTgzNgogICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgIm1ldGFsbmVzcyI6IDAuODcsCiAgICAgICAgICAgICAgICAgICAgInNwZWN1bGFyX0lPUiI6IDEuMzMsCiAgICAgICAgICAgICAgICAgICAgInNwZWN1bGFyX3JvdWdobmVzcyI6IDAuMQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgICAgICAgICAzLjA3LAogICAgICAgICAgICAgICAgICAgIC0wLjk0CiAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgInNpemUiOiBbCiAgICAgICAgICAgICAgICAgICAgMS43NywKICAgICAgICAgICAgICAgICAgICAzLjE2CiAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgInR5cGUiOiAibXRseHN0YW5kYXJkX3N1cmZhY2UiLAogICAgICAgICAgICAgICAgInVzZXJfZGF0YSI6IHsKICAgICAgICAgICAgICAgICAgICAiX19pbnB1dGdyb3VwXyI6ICJjb2xsYXBzZWQiLAogICAgICAgICAgICAgICAgICAgICJfX2lucHV0Z3JvdXBfQ29hdCI6ICJjb2xsYXBzZWQiLAogICAgICAgICAgICAgICAgICAgICJfX2lucHV0Z3JvdXBfRW1pc3Npb24iOiAiY29sbGFwc2VkIiwKICAgICAgICAgICAgICAgICAgICAiX19pbnB1dGdyb3VwX1NoZWVuIjogImNvbGxhcHNlZCIsCiAgICAgICAgICAgICAgICAgICAgIl9faW5wdXRncm91cF9TcGVjdWxhciI6ICJjb2xsYXBzZWQiLAogICAgICAgICAgICAgICAgICAgICJfX2lucHV0Z3JvdXBfU3Vic3VyZmFjZSI6ICJjb2xsYXBzZWQiLAogICAgICAgICAgICAgICAgICAgICJfX2lucHV0Z3JvdXBfVGhpbiBGaWxtIjogImNvbGxhcHNlZCIsCiAgICAgICAgICAgICAgICAgICAgIl9faW5wdXRncm91cF9UcmFuc21pc3Npb24iOiAiY29sbGFwc2VkIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAic21hbGxfcmlwcGxlcyI6IHsKICAgICAgICAgICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgICAgICAgICAiZnJlcSI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgNTAsCiAgICAgICAgICAgICAgICAgICAgICAgIDEsCiAgICAgICAgICAgICAgICAgICAgICAgIDkKICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICJvY3RhdmVzIjogOAogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgICAgICAgICAtMTAuNDksCiAgICAgICAgICAgICAgICAgICAgLTEuNDkKICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAic2l6ZSI6IFsKICAgICAgICAgICAgICAgICAgICAxLjc3LAogICAgICAgICAgICAgICAgICAgIDIuNzkKICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAidHlwZSI6ICJtdGx4dW5pZmllZG5vaXNlM2QiCiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICJmbGFncyI6IHsKICAgICAgICAgICAgImRpc3BsYXkiOiB0cnVlLAogICAgICAgICAgICAibWF0ZXJpYWwiOiB0cnVlLAogICAgICAgICAgICAicmVuZGVyIjogdHJ1ZQogICAgICAgIH0sCiAgICAgICAgInBhcm10ZW1wbGF0ZXMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJpbnNlcnRfZmlyc3QiOiAiIiwKICAgICAgICAgICAgICAgICJwYXJtdGVtcGxhdGVzIjogewogICAgICAgICAgICAgICAgICAgICJmb2xkZXIxIjogewogICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiS2FybWEgTWF0ZXJpYWwgQnVpbGRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdGVtcGxhdGVzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgImluaGVyaXRfY3RybCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6IDIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkluaGVyaXQgZnJvbSBDbGFzcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfaXRlbXMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJOZXZlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG9rZW4iOiAiMCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkFsd2F5cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG9rZW4iOiAiMSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIk1hdGVyaWFsIEZsYWciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRva2VuIjogIjIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAibm9ybWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImludGVnZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInNlcGFyYXRvcjEiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzZXBhcmF0b3IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInNoYWRlcl9iYXNlcHJpbXBhdGgiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAiL19fY2xhc3NfbXRsX18vYCRPU2AiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJDbGFzcyBQcmltIFBhdGgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAibm9ybWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2FjdGlvbiI6ICJpbXBvcnQgbG9wc2hhZGVydXRpbHNcbmxvcHNoYWRlcnV0aWxzLnNlbGVjdFByaW1Gcm9tSW5wdXRPckZpbGUoa3dhcmdzKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfYWN0aW9uX2hlbHAiOiAiU2VsZWN0IGEgcHJpbWl0aXZlIGluIHRoZSBTY2VuZSBWaWV3ZXIgb3IgU2NlbmUgR3JhcGggVHJlZSBwYW5lLlxuQ3RybC1jbGljayB0byBzZWxlY3QgdXNpbmcgdGhlIHByaW1pdGl2ZSBwaWNrZXIgZGlhbG9nLiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfYWN0aW9uX2ljb24iOiAiQlVUVE9OU19yZXNlbGVjdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6OnNoYWRlcl9pc3Bhcm0iOiAiMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6OnVzZHBhdGh0eXBlIjogInByaW0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3BhcmVfY2F0ZWdvcnkiOiAiU2hhZGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaGFkZXJfZm9yY2VjaGlsZHJlbiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkZvcmNlIFRyYW5zbGF0aW9uIG9mIENoaWxkcmVuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4OjpzaGFkZXJfaXNwYXJtIjogIjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3BhcmVfY2F0ZWdvcnkiOiAiU2hhZGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAidG9nZ2xlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaGFkZXJfcmVmZXJlbmNldHlwZSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iOiAibiA9IGhvdS5wd2QoKVxubl9oYXNGbGFnID0gbi5pc01hdGVyaWFsRmxhZ1NldCgpXG5pID0gbi5ldmFsUGFybSgnaW5oZXJpdF9jdHJsJylcbnIgPSAnbm9uZSdcbmlmIGkgPT0gMSBvciAobl9oYXNGbGFnIGFuZCBpID09IDIpOlxuICAgIHIgPSAnaW5oZXJpdCdcbnJldHVybiByIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhbmd1YWdlIjogInB5dGhvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJDbGFzcyBBcmMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X2l0ZW1zIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiTm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG9rZW4iOiAibm9uZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlJlZmVyZW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG9rZW4iOiAicmVmZXJlbmNlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiSW5oZXJpdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG9rZW4iOiAiaW5oZXJpdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlNwZWNpYWxpemUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRva2VuIjogInNwZWNpYWxpemUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJSZXByZXNlbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRva2VuIjogInJlcHJlc2VudCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJub3JtYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6OnNoYWRlcl9pc3Bhcm0iOiAiMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzcGFyZV9jYXRlZ29yeSI6ICJTaGFkZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInNoYWRlcl9yZW5kZXJjb250ZXh0bmFtZSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6ICJrbWEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJSZW5kZXIgQ29udGV4dCBOYW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogIm5vcm1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6c2hhZGVyX2lzcGFybSI6ICIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNwYXJlX2NhdGVnb3J5IjogIlNoYWRlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFibWVudW1hc2siOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAia2FybWEgVVNEIF5tdGx4VXNkKiBebXRseHJhbXAqIF5obXRseHJhbXAqIF5obXRseGN1YmljcmFtcCogTWF0ZXJpYWxYIHBhcmFtZXRlciBjb25zdGFudCBjb2xsZWN0IG51bGwgZ2VuZXJpY3NoYWRlciBzdWJuZXQgc3VibmV0Y29ubmVjdG9yIHN1Ym91dHB1dCBzdWJpbnB1dCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlRhYiBNZW51IE1hc2siLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAibm9ybWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3BhcmVfY2F0ZWdvcnkiOiAiVGFiIE1lbnUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgImdyb3VwX3R5cGUiOiAiY29sbGFwc2libGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6c2hhZGVyX2lzcGFybSI6ICIwIgogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJmb2xkZXJfY29sbGFwc2libGUiCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDAsCiAgICAgICAgICAgIDAKICAgICAgICBdLAogICAgICAgICJzaXplIjogWwogICAgICAgICAgICAxLjc3LAogICAgICAgICAgICAwLjgzCiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJzdWJuZXQiCiAgICB9Cn0=
Assign Materials By Name
Assign materials to geometry with the same name.
Nov 03, 2025 | 20.5.584 | solaris Cooked By: kif
ewogICAgIl9fY29va2Jvb2tNZXRhIjogewogICAgICAgICJjb250ZXh0IjogImxvcCIsCiAgICAgICAgInZlcnNpb24iOiAiMjAuNS41ODQiCiAgICB9LAogICAgImFzc2lnbl9tYXRlcmlhbHNfYnlfbmFtZSI6IHsKICAgICAgICAiZmxhZ3MiOiB7CiAgICAgICAgICAgICJkaXNwbGF5IjogdHJ1ZQogICAgICAgIH0sCiAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAibWF0ZXJpYWxsaWJyYXJ5MSIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgImV4cG9ydGxpc3QiOiAiKiIsCiAgICAgICAgICAgICJwcmltcGF0dGVybiI6ICIvZ2VvLyoiLAogICAgICAgICAgICAic25pcHBldCI6ICJzdHJpbmcgbmFtZSA9IHVzZF9uYW1lKDAsIHNAcHJpbXBhdGgpO1xuc3RyaW5nIG1hdHMgPSBcIi9tYXRlcmlhbHMvXCIgKyBuYW1lO1xuXG51c2RfYWRkcmVsYXRpb25zaGlwdGFyZ2V0KDAsIHNAcHJpbXBhdGgsIFwibWF0ZXJpYWw6YmluZGluZ1wiLCBtYXRzKTtcbnVzZF9zZXRhdHRyaWIoMCwgc0BwcmltcGF0aCwgXCJmYW1pbHlOYW1lXCIsIFwibWF0ZXJpYWxCaW5kXCIpOyIKICAgICAgICB9LAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgMS4xLAogICAgICAgICAgICAtNC40OAogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAiYXR0cmlid3JhbmdsZSIKICAgIH0sCiAgICAiY3ViZSI6IHsKICAgICAgICAiZmxhZ3MiOiB7CiAgICAgICAgICAgICJyZW5kZXIiOiB0cnVlCiAgICAgICAgfSwKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJwcmltcGF0aCI6ICIvZ2VvLyRPUyIKICAgICAgICB9LAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgMi41MSwKICAgICAgICAgICAgMC4wNgogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAiY3ViZSIKICAgIH0sCiAgICAibWF0ZXJpYWxsaWJyYXJ5MSI6IHsKICAgICAgICAiY2hpbGRyZW4iOiB7CiAgICAgICAgICAgICJjdWJlIjogewogICAgICAgICAgICAgICAgImNoaWxkcmVuIjogewogICAgICAgICAgICAgICAgICAgICJkaXNwbGFjZW1lbnRfb3V0cHV0IjogewogICAgICAgICAgICAgICAgICAgICAgICAiY29sb3IiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjY5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMC44OQogICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAiZmxhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29sb3JkZWZhdWx0IjogZmFsc2UKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZnJvbSI6ICJtdGx4ZGlzcGxhY2VtZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6ICJvdXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0b19pbmRleCI6ICJzdWJvdXRwdXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb25uZWN0b3JraW5kIjogIm91dHB1dCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFybWxhYmVsIjogIkRpc3BsYWNlbWVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFybW5hbWUiOiAiZGlzcGxhY2VtZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdHlwZSI6ICJkaXNwbGFjZW1lbnQiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIuNTIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMi40MwogICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAic2l6ZSI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNzcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjY4CiAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN1Ym5ldGNvbm5lY3RvciIKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJpbnB1dHMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJmbGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNwbGF5IjogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZW5kZXIiOiB0cnVlCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC00LjU0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMC4wNAogICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAic2l6ZSI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNzcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjUzCiAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN1YmlucHV0IgogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgIm10bHhkaXNwbGFjZW1lbnQiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0wLjI5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLTIuNDMKICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgInNpemUiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjc3LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMC44MwogICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJtdGx4ZGlzcGxhY2VtZW50IgogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgIm10bHhzdGFuZGFyZF9zdXJmYWNlIjogewogICAgICAgICAgICAgICAgICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYmFzZV9jb2xvciI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjMwMDAwMDAxMTkyMDkyODk2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuMDc1MDAwMDAyOTgwMjMyMjQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMC4zMDAwMDAwMTE5MjA5Mjg5NgogICAgICAgICAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMC4yOSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuMDQKICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgInNpemUiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjc3LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMS44OAogICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJtdGx4c3RhbmRhcmRfc3VyZmFjZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ1c2VyX2RhdGEiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiX19pbnB1dGdyb3VwXyI6ICJjb2xsYXBzZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIl9faW5wdXRncm91cF9CYXNlIjogImNvbGxhcHNlZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiX19pbnB1dGdyb3VwX0NvYXQiOiAiY29sbGFwc2VkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJfX2lucHV0Z3JvdXBfRW1pc3Npb24iOiAiY29sbGFwc2VkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJfX2lucHV0Z3JvdXBfR2VvbWV0cnkiOiAiY29sbGFwc2VkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJfX2lucHV0Z3JvdXBfU2hlZW4iOiAiY29sbGFwc2VkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJfX2lucHV0Z3JvdXBfU3BlY3VsYXIiOiAiY29sbGFwc2VkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJfX2lucHV0Z3JvdXBfU3Vic3VyZmFjZSI6ICJjb2xsYXBzZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIl9faW5wdXRncm91cF9UaGluIEZpbG0iOiAiY29sbGFwc2VkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJfX2lucHV0Z3JvdXBfVHJhbnNtaXNzaW9uIjogImNvbGxhcHNlZCIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgInN1cmZhY2Vfb3V0cHV0IjogewogICAgICAgICAgICAgICAgICAgICAgICAiY29sb3IiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjg5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMC42OSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuNgogICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAiZmxhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29sb3JkZWZhdWx0IjogZmFsc2UKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZnJvbSI6ICJtdGx4c3RhbmRhcmRfc3VyZmFjZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAib3V0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAic3Vib3V0cHV0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29ubmVjdG9ya2luZCI6ICJvdXRwdXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcm1sYWJlbCI6ICJTdXJmYWNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtbmFtZSI6ICJzdXJmYWNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdHlwZSI6ICJzdXJmYWNlIgogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAyLjUyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMC4wNAogICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAic2l6ZSI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNzcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjY4CiAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN1Ym5ldGNvbm5lY3RvciIKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgImZsYWdzIjogewogICAgICAgICAgICAgICAgICAgICJtYXRlcmlhbCI6IHRydWUKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAicGFybXRlbXBsYXRlcyI6IFsKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICJpbnNlcnRfZmlyc3QiOiAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgInBhcm10ZW1wbGF0ZXMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZm9sZGVyMSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiTWF0ZXJpYWxYIEJ1aWxkZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdGVtcGxhdGVzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaW5oZXJpdF9jdHJsIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkluaGVyaXQgZnJvbSBDbGFzcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV9pdGVtcyI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJOZXZlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0b2tlbiI6ICIwIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiQWx3YXlzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRva2VuIjogIjEiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJNYXRlcmlhbCBGbGFnIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRva2VuIjogIjIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAibm9ybWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2VwYXJhdG9yMSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInNlcGFyYXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNoYWRlcl9iYXNlcHJpbXBhdGgiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6ICIvX19jbGFzc19tdGxfXy9gJE9TYCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiQ2xhc3MgUHJpbSBQYXRoIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAibm9ybWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2FjdGlvbiI6ICJpbXBvcnQgbG9wc2hhZGVydXRpbHNcbmxvcHNoYWRlcnV0aWxzLnNlbGVjdFByaW1Gcm9tSW5wdXRPckZpbGUoa3dhcmdzKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9hY3Rpb25faGVscCI6ICJTZWxlY3QgYSBwcmltaXRpdmUgaW4gdGhlIFNjZW5lIFZpZXdlciBvciBTY2VuZSBHcmFwaCBUcmVlIHBhbmUuXG5DdHJsLWNsaWNrIHRvIHNlbGVjdCB1c2luZyB0aGUgcHJpbWl0aXZlIHBpY2tlciBkaWFsb2cuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2FjdGlvbl9pY29uIjogIkJVVFRPTlNfcmVzZWxlY3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6OnNoYWRlcl9pc3Bhcm0iOiAiMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6dXNkcGF0aHR5cGUiOiAicHJpbSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNwYXJlX2NhdGVnb3J5IjogIlNoYWRlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaGFkZXJfZm9yY2VjaGlsZHJlbiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJGb3JjZSBUcmFuc2xhdGlvbiBvZiBDaGlsZHJlbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6c2hhZGVyX2lzcGFybSI6ICIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3BhcmVfY2F0ZWdvcnkiOiAiU2hhZGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInRvZ2dsZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNoYWRlcl9yZWZlcmVuY2V0eXBlIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iOiAibiA9IGhvdS5wd2QoKVxubl9oYXNGbGFnID0gbi5pc01hdGVyaWFsRmxhZ1NldCgpXG5pID0gbi5ldmFsUGFybSgnaW5oZXJpdF9jdHJsJylcbnIgPSAnbm9uZSdcbmlmIGkgPT0gMSBvciAobl9oYXNGbGFnIGFuZCBpID09IDIpOlxuICAgIHIgPSAnaW5oZXJpdCdcbnJldHVybiByIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFuZ3VhZ2UiOiAicHl0aG9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJDbGFzcyBBcmMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfaXRlbXMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiTm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0b2tlbiI6ICJub25lIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiUmVmZXJlbmNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRva2VuIjogInJlZmVyZW5jZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkluaGVyaXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG9rZW4iOiAiaW5oZXJpdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlNwZWNpYWxpemUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG9rZW4iOiAic3BlY2lhbGl6ZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlJlcHJlc2VudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0b2tlbiI6ICJyZXByZXNlbnQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAibm9ybWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4OjpzaGFkZXJfaXNwYXJtIjogIjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzcGFyZV9jYXRlZ29yeSI6ICJTaGFkZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2hhZGVyX3JlbmRlcmNvbnRleHRuYW1lIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAibXRseCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiUmVuZGVyIENvbnRleHQgTmFtZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogIm5vcm1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6c2hhZGVyX2lzcGFybSI6ICIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3BhcmVfY2F0ZWdvcnkiOiAiU2hhZGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhYm1lbnVtYXNrIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAiTWF0ZXJpYWxYIHBhcmFtZXRlciBjb25zdGFudCBjb2xsZWN0IG51bGwgZ2VuZXJpY3NoYWRlciBzdWJuZXQgc3VibmV0Y29ubmVjdG9yIHN1Ym91dHB1dCBzdWJpbnB1dCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiVGFiIE1lbnUgTWFzayIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogIm5vcm1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNwYXJlX2NhdGVnb3J5IjogIlRhYiBNZW51IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdyb3VwX3R5cGUiOiAiY29sbGFwc2libGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4OjpzaGFkZXJfaXNwYXJtIjogIjAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJmb2xkZXJfY29sbGFwc2libGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAgICAgICAgIDUuNSwKICAgICAgICAgICAgICAgICAgICA0Ny44NQogICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICJzaXplIjogWwogICAgICAgICAgICAgICAgICAgIDEuNzcsCiAgICAgICAgICAgICAgICAgICAgMC44MwogICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICJ0eXBlIjogInN1Ym5ldCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgInNwaGVyZSI6IHsKICAgICAgICAgICAgICAgICJjaGlsZHJlbiI6IHsKICAgICAgICAgICAgICAgICAgICAiZGlzcGxhY2VtZW50X291dHB1dCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImNvbG9yIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgMC42LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMC42OSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuODkKICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgImZsYWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbG9yZGVmYXVsdCI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZyb20iOiAibXRseGRpc3BsYWNlbWVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAib3V0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAic3Vib3V0cHV0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29ubmVjdG9ya2luZCI6ICJvdXRwdXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcm1sYWJlbCI6ICJEaXNwbGFjZW1lbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcm1uYW1lIjogImRpc3BsYWNlbWVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFybXR5cGUiOiAiZGlzcGxhY2VtZW50IgogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAyLjUyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLTIuNDMKICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgInNpemUiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjc3LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMC42OAogICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdWJuZXRjb25uZWN0b3IiCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAiaW5wdXRzIjogewogICAgICAgICAgICAgICAgICAgICAgICAiZmxhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzcGxheSI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVuZGVyIjogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtNC41NCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuMDQKICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgInNpemUiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjc3LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMC41MwogICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdWJpbnB1dCIKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJtdGx4ZGlzcGxhY2VtZW50IjogewogICAgICAgICAgICAgICAgICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMC4yOSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0yLjQzCiAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICJzaXplIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgMS43NywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuODMKICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAibXRseGRpc3BsYWNlbWVudCIKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJtdGx4c3RhbmRhcmRfc3VyZmFjZSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgImJhc2VfY29sb3IiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMC4yNSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMC4yOSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuMDQKICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgInNpemUiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjc3LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMS44OAogICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJtdGx4c3RhbmRhcmRfc3VyZmFjZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ1c2VyX2RhdGEiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiX19pbnB1dGdyb3VwXyI6ICJjb2xsYXBzZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIl9faW5wdXRncm91cF9CYXNlIjogImNvbGxhcHNlZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiX19pbnB1dGdyb3VwX0NvYXQiOiAiY29sbGFwc2VkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJfX2lucHV0Z3JvdXBfRW1pc3Npb24iOiAiY29sbGFwc2VkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJfX2lucHV0Z3JvdXBfR2VvbWV0cnkiOiAiY29sbGFwc2VkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJfX2lucHV0Z3JvdXBfU2hlZW4iOiAiY29sbGFwc2VkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJfX2lucHV0Z3JvdXBfU3BlY3VsYXIiOiAiY29sbGFwc2VkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJfX2lucHV0Z3JvdXBfU3Vic3VyZmFjZSI6ICJjb2xsYXBzZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIl9faW5wdXRncm91cF9UaGluIEZpbG0iOiAiY29sbGFwc2VkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJfX2lucHV0Z3JvdXBfVHJhbnNtaXNzaW9uIjogImNvbGxhcHNlZCIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgInN1cmZhY2Vfb3V0cHV0IjogewogICAgICAgICAgICAgICAgICAgICAgICAiY29sb3IiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjg5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMC42OSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuNgogICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAiZmxhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29sb3JkZWZhdWx0IjogZmFsc2UKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZnJvbSI6ICJtdGx4c3RhbmRhcmRfc3VyZmFjZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAib3V0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAic3Vib3V0cHV0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29ubmVjdG9ya2luZCI6ICJvdXRwdXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcm1sYWJlbCI6ICJTdXJmYWNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtbmFtZSI6ICJzdXJmYWNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdHlwZSI6ICJzdXJmYWNlIgogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAyLjUyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMC4wNAogICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAic2l6ZSI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNzcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjY4CiAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN1Ym5ldGNvbm5lY3RvciIKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgImZsYWdzIjogewogICAgICAgICAgICAgICAgICAgICJkaXNwbGF5IjogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAibWF0ZXJpYWwiOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICJyZW5kZXIiOiB0cnVlCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgInBhcm10ZW1wbGF0ZXMiOiBbCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAiaW5zZXJ0X2ZpcnN0IjogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdGVtcGxhdGVzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgImZvbGRlcjEiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIk1hdGVyaWFsWCBCdWlsZGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFybXRlbXBsYXRlcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImluaGVyaXRfY3RybCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogMiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJJbmhlcml0IGZyb20gQ2xhc3MiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfaXRlbXMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiTmV2ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG9rZW4iOiAiMCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkFsd2F5cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0b2tlbiI6ICIxIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiTWF0ZXJpYWwgRmxhZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0b2tlbiI6ICIyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogIm5vcm1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNlcGFyYXRvcjEiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzZXBhcmF0b3IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaGFkZXJfYmFzZXByaW1wYXRoIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAiL19fY2xhc3NfbXRsX18vYCRPU2AiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkNsYXNzIFByaW0gUGF0aCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogIm5vcm1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9hY3Rpb24iOiAiaW1wb3J0IGxvcHNoYWRlcnV0aWxzXG5sb3BzaGFkZXJ1dGlscy5zZWxlY3RQcmltRnJvbUlucHV0T3JGaWxlKGt3YXJncykiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfYWN0aW9uX2hlbHAiOiAiU2VsZWN0IGEgcHJpbWl0aXZlIGluIHRoZSBTY2VuZSBWaWV3ZXIgb3IgU2NlbmUgR3JhcGggVHJlZSBwYW5lLlxuQ3RybC1jbGljayB0byBzZWxlY3QgdXNpbmcgdGhlIHByaW1pdGl2ZSBwaWNrZXIgZGlhbG9nLiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9hY3Rpb25faWNvbiI6ICJCVVRUT05TX3Jlc2VsZWN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4OjpzaGFkZXJfaXNwYXJtIjogIjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6OnVzZHBhdGh0eXBlIjogInByaW0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzcGFyZV9jYXRlZ29yeSI6ICJTaGFkZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2hhZGVyX2ZvcmNlY2hpbGRyZW4iOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiRm9yY2UgVHJhbnNsYXRpb24gb2YgQ2hpbGRyZW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6OnNoYWRlcl9pc3Bhcm0iOiAiMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNwYXJlX2NhdGVnb3J5IjogIlNoYWRlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJ0b2dnbGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaGFkZXJfcmVmZXJlbmNldHlwZSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIjogIm4gPSBob3UucHdkKClcbm5faGFzRmxhZyA9IG4uaXNNYXRlcmlhbEZsYWdTZXQoKVxuaSA9IG4uZXZhbFBhcm0oJ2luaGVyaXRfY3RybCcpXG5yID0gJ25vbmUnXG5pZiBpID09IDEgb3IgKG5faGFzRmxhZyBhbmQgaSA9PSAyKTpcbiAgICByID0gJ2luaGVyaXQnXG5yZXR1cm4gciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhbmd1YWdlIjogInB5dGhvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiQ2xhc3MgQXJjIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X2l0ZW1zIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIk5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG9rZW4iOiAibm9uZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlJlZmVyZW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0b2tlbiI6ICJyZWZlcmVuY2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJJbmhlcml0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRva2VuIjogImluaGVyaXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJTcGVjaWFsaXplIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRva2VuIjogInNwZWNpYWxpemUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJSZXByZXNlbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG9rZW4iOiAicmVwcmVzZW50IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogIm5vcm1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6c2hhZGVyX2lzcGFybSI6ICIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3BhcmVfY2F0ZWdvcnkiOiAiU2hhZGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNoYWRlcl9yZW5kZXJjb250ZXh0bmFtZSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogIm10bHgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlJlbmRlciBDb250ZXh0IE5hbWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJub3JtYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6OnNoYWRlcl9pc3Bhcm0iOiAiMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNwYXJlX2NhdGVnb3J5IjogIlNoYWRlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWJtZW51bWFzayI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogIk1hdGVyaWFsWCBwYXJhbWV0ZXIgY29uc3RhbnQgY29sbGVjdCBudWxsIGdlbmVyaWNzaGFkZXIgc3VibmV0IHN1Ym5ldGNvbm5lY3RvciBzdWJvdXRwdXQgc3ViaW5wdXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlRhYiBNZW51IE1hc2siLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJub3JtYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzcGFyZV9jYXRlZ29yeSI6ICJUYWIgTWVudSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJncm91cF90eXBlIjogImNvbGxhcHNpYmxlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6c2hhZGVyX2lzcGFybSI6ICIwIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZm9sZGVyX2NvbGxhcHNpYmxlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgICAgICAgICA1LjQ0LAogICAgICAgICAgICAgICAgICAgIDQ2LjE2CiAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgInNpemUiOiBbCiAgICAgICAgICAgICAgICAgICAgMS43NywKICAgICAgICAgICAgICAgICAgICAwLjgzCiAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgInR5cGUiOiAic3VibmV0IgogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJtZXJnZTEiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJtYXRlcmlhbHMiOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgImFzc2lnbiMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAiZW5hYmxlIyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInZpc2libGUiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgImdlb3BhdGgjIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAibWF0ZmxhZyMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2aXNpYmxlIjogZmFsc2UKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJtYXRub2RlIyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogIioiLAogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAibWF0cGF0aCMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2aXNpYmxlIjogZmFsc2UKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0KICAgICAgICB9LAogICAgICAgICJwYXJtdGVtcGxhdGVzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiaW5zZXJ0X2FmdGVyIjogIm1hdHBhdGhwcmVmaXgiLAogICAgICAgICAgICAgICAgInBhcm10ZW1wbGF0ZXMiOiB7CiAgICAgICAgICAgICAgICAgICAgInRhYm1lbnVmb2xkZXIiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJUYWIgTWVudSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdGVtcGxhdGVzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhYm1lbnVtYXNrIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogIipidWlsZGVyIHBhcmFtZXRlciBjb25zdGFudCByYW1wcGFybSBjb2xsZWN0IG51bGwgc3VibmV0IHN1Ym5ldGNvbm5lY3RvciBzdWJvdXRwdXQgc3ViaW5wdXQgZ2VuZXJpY3NoYWRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlRhYiBNZW51IE1hc2siLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAibm9ybWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3BhcmVfY2F0ZWdvcnkiOiAiVGFiIE1lbnUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgImdyb3VwX3R5cGUiOiAiY29sbGFwc2libGUiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImZvbGRlcl9jb2xsYXBzaWJsZSIKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgMS4wMiwKICAgICAgICAgICAgLTIuOTkKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogIm1hdGVyaWFsbGlicmFyeSIKICAgIH0sCiAgICAibWVyZ2UxIjogewogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogInNwaGVyZSIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogImN1YmUiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMQogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDEuMDIsCiAgICAgICAgICAgIC0xLjY5CiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJtZXJnZSIKICAgIH0sCiAgICAic3BoZXJlIjogewogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgInByaW1wYXRoIjogIi9nZW8vJE9TIiwKICAgICAgICAgICAgInQiOiBbCiAgICAgICAgICAgICAgICAtMywKICAgICAgICAgICAgICAgIDAsCiAgICAgICAgICAgICAgICAwCiAgICAgICAgICAgIF0KICAgICAgICB9LAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgMCwKICAgICAgICAgICAgMAogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAic3BoZXJlIgogICAgfQp9