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.

Early Morning Lighting
LOPs lighting setup for early morning. This recipe just uses standard USD lights.
Nov 05, 2025 | 20.5.584 | lighting Cooked By: kif
ewogICAgIl9fY29va2Jvb2tNZXRhIjogewogICAgICAgICJjb250ZXh0IjogImxvcCIsCiAgICAgICAgInZlcnNpb24iOiAiMjAuNS41ODQiCiAgICB9LAogICAgImNhbWVyYTExIjogewogICAgICAgICJmbGFncyI6IHsKICAgICAgICAgICAgImRpc3BsYXkiOiB0cnVlCiAgICAgICAgfSwKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJzdW4iLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJhcGVydHVyZSI6ICJzZXRyYXRpbyIsCiAgICAgICAgICAgICJhc3BlY3RyYXRpbyI6IFsKICAgICAgICAgICAgICAgIDEsCiAgICAgICAgICAgICAgICAxCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJmb2N1c0Rpc3RhbmNlIjogNS4wMDAwMDAxMTkyMjEzNjMsCiAgICAgICAgICAgICJyIjogWwogICAgICAgICAgICAgICAgLTMzLjI4MDkyMjI5MDI1MDIyLAogICAgICAgICAgICAgICAgODMuODQ2MTAyNjQ2NjMwMzEsCiAgICAgICAgICAgICAgICAwLjAwMTQ1MDcxNDUzMDA2MjExOTMKICAgICAgICAgICAgXSwKICAgICAgICAgICAgInQiOiBbCiAgICAgICAgICAgICAgICAxLjg2OTkwMTcxMTE4NzEwMSwKICAgICAgICAgICAgICAgIDEuNDczMDc0MjI0MjEzMjM4NCwKICAgICAgICAgICAgICAgIDAuMjAzMDgxOTE4ODQ0MDUxNzcKICAgICAgICAgICAgXQogICAgICAgIH0sCiAgICAgICAgInBhcm10ZW1wbGF0ZXMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJpbnNlcnRfYWZ0ZXIiOiAiZm9sZGVyMV8yIiwKICAgICAgICAgICAgICAgICJwYXJtdGVtcGxhdGVzIjogewogICAgICAgICAgICAgICAgICAgICJmb2xkZXIyXzMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJLYXJtYSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdGVtcGxhdGVzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgInhuX19rYXJtYWNhbWVyYWxlbnNzaGFkZXJfODlhZyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iOiAiaG91Lm5vZGUoY2goJ3huX19rYXJtYWNhbWVyYWxlbnNzaGFkZXJ2b3BfNGZiZycpKS5zaGFkZXJTdHJpbmcoKSBpZiBob3Uubm9kZShjaCgneG5fX2thcm1hY2FtZXJhbGVuc3NoYWRlcnZvcF80ZmJnJykpICE9IE5vbmUgZWxzZSAnJyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYW5ndWFnZSI6ICJweXRob24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzYWJsZV93aGVuIjogInsgeG5fX2thcm1hY2FtZXJhbGVuc3NoYWRlcl9jb250cm9sXzluYmcgPT0gYmxvY2sgfSB7IHhuX19rYXJtYWNhbWVyYWxlbnNzaGFkZXJfY29udHJvbF85bmJnID09IG5vbmUgfSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImhpZGRlbiI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkxlbnMgU2hhZGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogIm5vcm1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNwYXJlX2NhdGVnb3J5IjogIlZpZXciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidWlzY29wZSI6ICJOb25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZGFwaXNjaGVtYSI6ICJLYXJtYUNhbWVyYUFQSSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2R2YWx1ZXR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ4bl9fa2FybWFjYW1lcmFsZW5zc2hhZGVydm9wXzRmYmciOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc2FibGVfd2hlbiI6ICJ7IHhuX19rYXJtYWNhbWVyYWxlbnNzaGFkZXJ2b3BfY29udHJvbF81c2JnID09IGJsb2NrIH0geyB4bl9fa2FybWFjYW1lcmFsZW5zc2hhZGVydm9wX2NvbnRyb2xfNXNiZyA9PSBub25lIH0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJMZW5zIFNoYWRlciBWT1AiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAibm9ybWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3BmaWx0ZXIiOiAiISFDVVNUT00vTUFURVJJQUwhISIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcHJlbGF0aXZlIjogIi4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3BhcmVfY2F0ZWdvcnkiOiAiVmlldyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1aXNjb3BlIjogIk5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkYXBpc2NoZW1hIjogIkthcm1hQ2FtZXJhQVBJIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVldHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJvcGVyYXRvcl9wYXRoIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ4bl9fa2FybWFjYW1lcmFsZW5zc2hhZGVydm9wX2NvbnRyb2xfNXNiZyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6ICJub25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXRlbV9nZW5lcmF0b3Jfc2NyaXB0IjogImltcG9ydCBsb3B1dGlsc1xucmV0dXJuIGxvcHV0aWxzLmNyZWF0ZUVkaXRQcm9wZXJ0aWVzQ29udHJvbE1lbnUoa3dhcmdzLCAnc3RyaW5nJykiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJMZW5zIFNoYWRlciBWT1AiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAiY29udHJvbF9uZXh0X3BhcmFtZXRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6bG9vayI6ICJpY29uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ4bl9fa2FybWFjYW1lcmFtYXRlcmlhbGJpbmRpbmdfY29udHJvbF9md2JnaSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6ICJub25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXRlbV9nZW5lcmF0b3Jfc2NyaXB0IjogImltcG9ydCBsb3B1dGlsc1xucmV0dXJuIGxvcHV0aWxzLmNyZWF0ZUVkaXRQcm9wZXJ0aWVzQ29udHJvbE1lbnUoa3dhcmdzLCAncmVsYXRpb25zaGlwJykiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJMZW5zIE1hdGVyaWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogImNvbnRyb2xfbmV4dF9wYXJhbWV0ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6Omxvb2siOiAiaWNvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAieG5fX2thcm1hY2FtZXJhbWF0ZXJpYWxiaW5kaW5nX2VqYmdpIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNhYmxlX3doZW4iOiAieyB4bl9fa2FybWFjYW1lcmFtYXRlcmlhbGJpbmRpbmdfY29udHJvbF9md2JnaSA9PSBibG9jayB9IHsgeG5fX2thcm1hY2FtZXJhbWF0ZXJpYWxiaW5kaW5nX2NvbnRyb2xfZndiZ2kgPT0gbm9uZSB9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiTGVucyBNYXRlcmlhbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJub3JtYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfYWN0aW9uIjogIlxuaW1wb3J0IGxvcHRvb2x1dGlsc1xubG9wdG9vbHV0aWxzLnNldHVwS2FybWFDYW1lcmFMZW5zTWF0ZXJpYWwoa3dhcmdzKVxuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9hY3Rpb25faGVscCI6ICJDcmVhdGUgYSBsZW5zIHNoYWRlciBMT1AuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9hY3Rpb25faWNvbiI6ICJWT1Bfa21hX3BoeXNpY2FsbGVucyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfYWN0aW9uX2xhbmd1YWdlIjogInB5dGhvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6OnVzZHBhdGh0eXBlIjogInByaW0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3BhcmVfY2F0ZWdvcnkiOiAiVmlldyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1aXNjb3BlIjogIk5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkYXBpc2NoZW1hIjogIkthcm1hQ2FtZXJhQVBJIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVlbmFtZSI6ICJtYXRlcmlhbDpiaW5kaW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVldHlwZSI6ICJyZWxhdGlvbnNoaXAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInhuX19rYXJtYWNhbWVyYXRpbnRfY29udHJvbF9pZWJnIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogIm5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpdGVtX2dlbmVyYXRvcl9zY3JpcHQiOiAiaW1wb3J0IGxvcHV0aWxzXG5yZXR1cm4gbG9wdXRpbHMuY3JlYXRlRWRpdFByb3BlcnRpZXNDb250cm9sTWVudShrd2FyZ3MsICdmbG9hdDMnKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlRpbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAiY29udHJvbF9uZXh0X3BhcmFtZXRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6bG9vayI6ICJpY29uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ4bl9fa2FybWFjYW1lcmF0aW50X2gwYWciOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNhYmxlX3doZW4iOiAieyB4bl9fa2FybWFjYW1lcmF0aW50X2NvbnRyb2xfaWViZyA9PSBibG9jayB9IHsgeG5fX2thcm1hY2FtZXJhdGludF9jb250cm9sX2llYmcgPT0gbm9uZSB9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiVGludCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNwYXJlX2NhdGVnb3J5IjogIlZpZXciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidWlzY29wZSI6ICJOb25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZGFwaXNjaGVtYSI6ICJLYXJtYUNhbWVyYUFQSSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2R2YWx1ZXR5cGUiOiAiZmxvYXQzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiY29sb3IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInhuX19rYXJtYWNhbWVyYXVzZV9sZW5zc2hhZGVyX2NvbnRyb2xfc3ViZyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6ICJub25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXRlbV9nZW5lcmF0b3Jfc2NyaXB0IjogImltcG9ydCBsb3B1dGlsc1xucmV0dXJuIGxvcHV0aWxzLmNyZWF0ZUVkaXRQcm9wZXJ0aWVzQ29udHJvbE1lbnUoa3dhcmdzLCAnYm9vbCcpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiVXNlIExlbnMgU2hhZGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogImNvbnRyb2xfbmV4dF9wYXJhbWV0ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6Omxvb2siOiAiaWNvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAieG5fX2thcm1hY2FtZXJhdXNlX2xlbnNzaGFkZXJfcmhiZyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzYWJsZV93aGVuIjogInsgeG5fX2thcm1hY2FtZXJhdXNlX2xlbnNzaGFkZXJfY29udHJvbF9zdWJnID09IGJsb2NrIH0geyB4bl9fa2FybWFjYW1lcmF1c2VfbGVuc3NoYWRlcl9jb250cm9sX3N1YmcgPT0gbm9uZSB9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiVXNlIExlbnMgU2hhZGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3BhcmVfY2F0ZWdvcnkiOiAiVmlldyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1aXNjb3BlIjogIk5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkYXBpc2NoZW1hIjogIkthcm1hQ2FtZXJhQVBJIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVldHlwZSI6ICJib29sIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAidG9nZ2xlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ4bl9fa2FybWFjYW1lcmF3aW5kb3dfY29udHJvbF9yaGJnIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogIm5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpdGVtX2dlbmVyYXRvcl9zY3JpcHQiOiAiaW1wb3J0IGxvcHV0aWxzXG5yZXR1cm4gbG9wdXRpbHMuY3JlYXRlRWRpdFByb3BlcnRpZXNDb250cm9sTWVudShrd2FyZ3MsICdmbG9hdDQnKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlNjcmVlbiBXaW5kb3ciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAiY29udHJvbF9uZXh0X3BhcmFtZXRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6bG9vayI6ICJpY29uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ4bl9fa2FybWFjYW1lcmF3aW5kb3dfcTNhZyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzYWJsZV93aGVuIjogInsgeG5fX2thcm1hY2FtZXJhd2luZG93X2NvbnRyb2xfcmhiZyA9PSBibG9jayB9IHsgeG5fX2thcm1hY2FtZXJhd2luZG93X2NvbnRyb2xfcmhiZyA9PSBub25lIH0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJTY3JlZW4gV2luZG93IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVtX2NvbXBvbmVudHMiOiA0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzcGFyZV9jYXRlZ29yeSI6ICJWaWV3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVpc2NvcGUiOiAiTm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2RhcGlzY2hlbWEiOiAiS2FybWFDYW1lcmFBUEkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWV0eXBlIjogImZsb2F0NCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImZsb2F0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJmb2xkZXJfdGFicyIKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgMC4wMSwKICAgICAgICAgICAgLTMuMTYKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogImNhbWVyYSIsCiAgICAgICAgInVzZXJfZGF0YSI6IHsKICAgICAgICAgICAgInNldF9sb29rYXQiOiAiVHJ1ZSIKICAgICAgICB9CiAgICB9LAogICAgImdyaWQyIjogewogICAgICAgICJlZGl0YWJsZXMiOiB7CiAgICAgICAgICAgICJzb3BuZXQvY3JlYXRlIjogewogICAgICAgICAgICAgICAgImNoaWxkcmVuIjogewogICAgICAgICAgICAgICAgICAgICJncmlkMSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImZsYWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc3BsYXkiOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlbmRlciI6IHRydWUKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZ3JpZCIKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgInR5cGUiOiAic3VibmV0IgogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJzaGFkZXJiYWxsMSIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgLTAuMDEsCiAgICAgICAgICAgIDEuNzYKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogInNvcGNyZWF0ZSIKICAgIH0sCiAgICAic2hhZGVyYmFsbDEiOiB7CiAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAiZmlsZXBhdGgiOiAiJEhIL3VzZC9hc3NldHMvc2hhZGVyYmFsbC9zaGFkZXJiYWxsLnVzZCIsCiAgICAgICAgICAgICJudW1fdmFyaWFudHMiOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgInByaW1wYXR0ZXJuIyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInZpc2libGUiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgInZhcmlhbnRuYW1lIyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInZpc2libGUiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgInZhcmlhbnRzZXQjIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAibW9kZWwiLAogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAicHJpbXBhdHRlcm4jIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAidmFyaWFudG5hbWUjIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAidmFyaWFudHNldCMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6ICJwcmV2aWV3T2JqZWN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgInZpc2libGUiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgInByaW1wYXR0ZXJuIyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInZpc2libGUiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgInZhcmlhbnRuYW1lIyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInZpc2libGUiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgInZhcmlhbnRzZXQjIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAiY29yZU1vZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAicHJpbXBhdHRlcm4jIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAidmFyaWFudG5hbWUjIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAidmFyaWFudHNldCMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6ICJncmFwaGljIiwKICAgICAgICAgICAgICAgICAgICAgICAgInZpc2libGUiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXQogICAgICAgIH0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAtMC4wMSwKICAgICAgICAgICAgMy4wNwogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAiYXNzZXRyZWZlcmVuY2UiCiAgICB9LAogICAgInNreSI6IHsKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJncmlkMiIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgInhuX19pbnB1dHNjb2xvclRlbXBlcmF0dXJlX3djYiI6IDE1MDAwLAogICAgICAgICAgICAieG5fX2lucHV0c2VuYWJsZUNvbG9yVGVtcGVyYXR1cmVfb21iIjogdHJ1ZSwKICAgICAgICAgICAgInhuX19pbnB1dHNleHBvc3VyZV92eWEiOiAxLAogICAgICAgICAgICAieG5fX2lucHV0c2thcm1hbGlnaHRwb2ludHJhZGl1c18xa2JmZiI6IDEsCiAgICAgICAgICAgICJ4bl9faW5wdXRzdGV4dHVyZWZpbGVfcjNhaCI6ICIkSEZTL2hvdWRpbmkvcGljL2hkcmkvSERSSUhhdmVuX2xlbm9uZ18xXzJrLnJhdCIKICAgICAgICB9LAogICAgICAgICJwYXJtdGVtcGxhdGVzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiaW5zZXJ0X2FmdGVyIjogImZvbGRlcjBfMiIsCiAgICAgICAgICAgICAgICAicGFybXRlbXBsYXRlcyI6IHsKICAgICAgICAgICAgICAgICAgICAiZm9sZGVyMV8zIjogewogICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiS2FybWEiLAogICAgICAgICAgICAgICAgICAgICAgICAicGFybXRlbXBsYXRlcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJMaWdodCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiTGlnaHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdGVtcGxhdGVzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieG5fX2lucHV0c2thcm1hbGlnaHRhY3RpdmVyYWRpdXNfY29udHJvbF9wemJmZiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogIm5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIml0ZW1fZ2VuZXJhdG9yX3NjcmlwdCI6ICJpbXBvcnQgbG9wdXRpbHNcbnJldHVybiBsb3B1dGlscy5jcmVhdGVFZGl0UHJvcGVydGllc0NvbnRyb2xNZW51KGt3YXJncywgJ2Zsb2F0JykiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkFjdGl2ZSBSYWRpdXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJjb250cm9sX25leHRfcGFyYW1ldGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4Ojpsb29rIjogImljb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieG5fX2lucHV0c2thcm1hbGlnaHRhY3RpdmVyYWRpdXNfb21iZmYiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6IC0xLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc2FibGVfd2hlbiI6ICJ7IHhuX19pbnB1dHNrYXJtYWxpZ2h0YWN0aXZlcmFkaXVzX2NvbnRyb2xfcHpiZmYgPT0gYmxvY2sgfSB7IHhuX19pbnB1dHNrYXJtYWxpZ2h0YWN0aXZlcmFkaXVzX2NvbnRyb2xfcHpiZmYgPT0gbm9uZSB9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJBY3RpdmUgUmFkaXVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3BhcmVfY2F0ZWdvcnkiOiAiTGlnaHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1aXNjb3BlIjogIk5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2RhcGlzY2hlbWEiOiAiS2FybWFMaWdodEFQSSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVldHlwZSI6ICJmbG9hdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJmbG9hdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInhuX19pbnB1dHNrYXJtYWxpZ2h0Y29udHJpYnNfNWZiZmYiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6ICIqIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNhYmxlX3doZW4iOiAieyB4bl9faW5wdXRza2FybWFsaWdodGNvbnRyaWJzX2NvbnRyb2xfNnNiZmYgPT0gYmxvY2sgfSB7IHhuX19pbnB1dHNrYXJtYWxpZ2h0Y29udHJpYnNfY29udHJvbF82c2JmZiA9PSBub25lIH0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkNvbnRyaWJ1dGlvbnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfaXRlbXMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiQW55IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRva2VuIjogIioiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJEaWZmdXNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRva2VuIjogImRpZmZ1c2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJSZWZsZWN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRva2VuIjogInJlZmxlY3QiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJDb2F0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRva2VuIjogImNvYXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJTU1MiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG9rZW4iOiAic3NzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiVm9sdW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRva2VuIjogInZvbHVtZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkFueSBkaWZmdXNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRva2VuIjogImRpZmZ1c2V8dm9sdW1lfHNzcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkFueSBub24tZGlmZnVzZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0b2tlbiI6ICItZGlmZnVzZSBcdTAwMjYgLXZvbHVtZSBcdTAwMjYgLXNzcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJzdHJpbmdfcmVwbGFjZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNwYXJlX2NhdGVnb3J5IjogIkxpZ2h0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidWlzY29wZSI6ICJOb25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkYXBpc2NoZW1hIjogIkthcm1hTGlnaHRBUEkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2R2YWx1ZXR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInhuX19pbnB1dHNrYXJtYWxpZ2h0Y29udHJpYnNfY29udHJvbF82c2JmZiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogIm5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIml0ZW1fZ2VuZXJhdG9yX3NjcmlwdCI6ICJpbXBvcnQgbG9wdXRpbHNcbnJldHVybiBsb3B1dGlscy5jcmVhdGVFZGl0UHJvcGVydGllc0NvbnRyb2xNZW51KGt3YXJncywgJ3N0cmluZycpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJDb250cmlidXRpb25zIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAiY29udHJvbF9uZXh0X3BhcmFtZXRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6bG9vayI6ICJpY29uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInhuX19pbnB1dHNrYXJtYWxpZ2h0Y29udHJpYnV0ZXNjYXVzdGljc18yeGJmZiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNhYmxlX3doZW4iOiAieyB4bl9faW5wdXRza2FybWFsaWdodGNvbnRyaWJ1dGVzY2F1c3RpY3NfY29udHJvbF8zYmNmZiA9PSBibG9jayB9IHsgeG5fX2lucHV0c2thcm1hbGlnaHRjb250cmlidXRlc2NhdXN0aWNzX2NvbnRyb2xfM2JjZmYgPT0gbm9uZSB9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJDb250cmlidXRlcyB0byBDYXVzdGljcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNwYXJlX2NhdGVnb3J5IjogIkxpZ2h0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidWlzY29wZSI6ICJOb25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkYXBpc2NoZW1hIjogIkthcm1hTGlnaHRBUEkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2R2YWx1ZXR5cGUiOiAiYm9vbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJ0b2dnbGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ4bl9faW5wdXRza2FybWFsaWdodGNvbnRyaWJ1dGVzY2F1c3RpY3NfY29udHJvbF8zYmNmZiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogIm5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIml0ZW1fZ2VuZXJhdG9yX3NjcmlwdCI6ICJpbXBvcnQgbG9wdXRpbHNcbnJldHVybiBsb3B1dGlscy5jcmVhdGVFZGl0UHJvcGVydGllc0NvbnRyb2xNZW51KGt3YXJncywgJ2Jvb2wnKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiQ29udHJpYnV0ZXMgdG8gQ2F1c3RpY3MiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJjb250cm9sX25leHRfcGFyYW1ldGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4Ojpsb29rIjogImljb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieG5fX2lucHV0c2thcm1hbGlnaHRpbGx1bWJhY2tncm91bmRfY29udHJvbF9sNGJmZiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogIm5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIml0ZW1fZ2VuZXJhdG9yX3NjcmlwdCI6ICJpbXBvcnQgbG9wdXRpbHNcbnJldHVybiBsb3B1dGlscy5jcmVhdGVFZGl0UHJvcGVydGllc0NvbnRyb2xNZW51KGt3YXJncywgJ2Jvb2wnKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiSWxsdW1pbmF0ZSBCYWNrZ3JvdW5kIEhvbGRvdXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJjb250cm9sX25leHRfcGFyYW1ldGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4Ojpsb29rIjogImljb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieG5fX2lucHV0c2thcm1hbGlnaHRpbGx1bWJhY2tncm91bmRfa3JiZmYiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzYWJsZV93aGVuIjogInsgeG5fX2lucHV0c2thcm1hbGlnaHRpbGx1bWJhY2tncm91bmRfY29udHJvbF9sNGJmZiA9PSBibG9jayB9IHsgeG5fX2lucHV0c2thcm1hbGlnaHRpbGx1bWJhY2tncm91bmRfY29udHJvbF9sNGJmZiA9PSBub25lIH0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIklsbHVtaW5hdGUgQmFja2dyb3VuZCBIb2xkb3V0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3BhcmVfY2F0ZWdvcnkiOiAiTGlnaHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1aXNjb3BlIjogIk5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2RhcGlzY2hlbWEiOiAiS2FybWFMaWdodEFQSSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVldHlwZSI6ICJib29sIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInRvZ2dsZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInhuX19pbnB1dHNrYXJtYWxpZ2h0bGlnaHRnZW9jYXN0c3NoYWRvd18yeGJmZiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNhYmxlX3doZW4iOiAieyB4bl9faW5wdXRza2FybWFsaWdodGxpZ2h0Z2VvY2FzdHNzaGFkb3dfY29udHJvbF8zYmNmZiA9PSBibG9jayB9IHsgeG5fX2lucHV0c2thcm1hbGlnaHRsaWdodGdlb2Nhc3Rzc2hhZG93X2NvbnRyb2xfM2JjZmYgPT0gbm9uZSB9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJMaWdodCBHZW9tZXRyeSBDYXN0cyBTaGFkb3ciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzcGFyZV9jYXRlZ29yeSI6ICJMaWdodCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVpc2NvcGUiOiAiTm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZGFwaXNjaGVtYSI6ICJLYXJtYUxpZ2h0QVBJIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWV0eXBlIjogImJvb2wiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAidG9nZ2xlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieG5fX2lucHV0c2thcm1hbGlnaHRsaWdodGdlb2Nhc3Rzc2hhZG93X2NvbnRyb2xfM2JjZmYiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6ICJub25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpdGVtX2dlbmVyYXRvcl9zY3JpcHQiOiAiaW1wb3J0IGxvcHV0aWxzXG5yZXR1cm4gbG9wdXRpbHMuY3JlYXRlRWRpdFByb3BlcnRpZXNDb250cm9sTWVudShrd2FyZ3MsICdib29sJykiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkxpZ2h0IEdlb21ldHJ5IENhc3RzIFNoYWRvdyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogImNvbnRyb2xfbmV4dF9wYXJhbWV0ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6Omxvb2siOiAiaWNvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ4bl9faW5wdXRza2FybWFsaWdodGxwZXRhZ19jb250cm9sX3hwYmZmIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAibm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXRlbV9nZW5lcmF0b3Jfc2NyaXB0IjogImltcG9ydCBsb3B1dGlsc1xucmV0dXJuIGxvcHV0aWxzLmNyZWF0ZUVkaXRQcm9wZXJ0aWVzQ29udHJvbE1lbnUoa3dhcmdzLCAnc3RyaW5nJykiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkxQRSBUYWciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJjb250cm9sX25leHRfcGFyYW1ldGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4Ojpsb29rIjogImljb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieG5fX2lucHV0c2thcm1hbGlnaHRscGV0YWdfd2NiZmYiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzYWJsZV93aGVuIjogInsgeG5fX2lucHV0c2thcm1hbGlnaHRscGV0YWdfY29udHJvbF94cGJmZiA9PSBibG9jayB9IHsgeG5fX2lucHV0c2thcm1hbGlnaHRscGV0YWdfY29udHJvbF94cGJmZiA9PSBub25lIH0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkxQRSBUYWciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJub3JtYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzcGFyZV9jYXRlZ29yeSI6ICJMaWdodCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVpc2NvcGUiOiAiTm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZGFwaXNjaGVtYSI6ICJLYXJtYUxpZ2h0QVBJIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWV0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ4bl9faW5wdXRza2FybWFsaWdodHBvaW50cmFkaXVzXzFrYmZmIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc2FibGVfd2hlbiI6ICJ7IHhuX19pbnB1dHNrYXJtYWxpZ2h0cG9pbnRyYWRpdXNfY29udHJvbF8yeGJmZiA9PSBibG9jayB9IHsgeG5fX2lucHV0c2thcm1hbGlnaHRwb2ludHJhZGl1c19jb250cm9sXzJ4YmZmID09IG5vbmUgfSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiUG9pbnQgTGlnaHQgUmFkaXVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtYXhfdmFsdWUiOiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpY3RfbWluIjogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzcGFyZV9jYXRlZ29yeSI6ICJMaWdodCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVpc2NvcGUiOiAiTm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZGFwaXNjaGVtYSI6ICJLYXJtYUxpZ2h0QVBJIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWV0eXBlIjogImZsb2F0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImZsb2F0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieG5fX2lucHV0c2thcm1hbGlnaHRwb2ludHJhZGl1c19jb250cm9sXzJ4YmZmIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAibm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXRlbV9nZW5lcmF0b3Jfc2NyaXB0IjogImltcG9ydCBsb3B1dGlsc1xucmV0dXJuIGxvcHV0aWxzLmNyZWF0ZUVkaXRQcm9wZXJ0aWVzQ29udHJvbE1lbnUoa3dhcmdzLCAnZmxvYXQnKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiUG9pbnQgTGlnaHQgUmFkaXVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAiY29udHJvbF9uZXh0X3BhcmFtZXRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6bG9vayI6ICJpY29uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInhuX19pbnB1dHNrYXJtYWxpZ2h0cmVuZGVybGlnaHRnZW9fY29udHJvbF95MmJmZiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogIm5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIml0ZW1fZ2VuZXJhdG9yX3NjcmlwdCI6ICJpbXBvcnQgbG9wdXRpbHNcbnJldHVybiBsb3B1dGlscy5jcmVhdGVFZGl0UHJvcGVydGllc0NvbnRyb2xNZW51KGt3YXJncywgJ2Jvb2wnKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiUmVuZGVyIExpZ2h0IEdlb21ldHJ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAiY29udHJvbF9uZXh0X3BhcmFtZXRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6bG9vayI6ICJpY29uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInhuX19pbnB1dHNrYXJtYWxpZ2h0cmVuZGVybGlnaHRnZW9feHBiZmYiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzYWJsZV93aGVuIjogInsgeG5fX2lucHV0c2thcm1hbGlnaHRyZW5kZXJsaWdodGdlb19jb250cm9sX3kyYmZmID09IGJsb2NrIH0geyB4bl9faW5wdXRza2FybWFsaWdodHJlbmRlcmxpZ2h0Z2VvX2NvbnRyb2xfeTJiZmYgPT0gbm9uZSB9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJSZW5kZXIgTGlnaHQgR2VvbWV0cnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzcGFyZV9jYXRlZ29yeSI6ICJMaWdodCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVpc2NvcGUiOiAiTm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZGFwaXNjaGVtYSI6ICJLYXJtYUxpZ2h0QVBJIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWV0eXBlIjogImJvb2wiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAidG9nZ2xlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieG5fX2lucHV0c2thcm1hbGlnaHRzaGFkZXJfY29udHJvbF94cGJmZiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogIm5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIml0ZW1fZ2VuZXJhdG9yX3NjcmlwdCI6ICJpbXBvcnQgbG9wdXRpbHNcbnJldHVybiBsb3B1dGlscy5jcmVhdGVFZGl0UHJvcGVydGllc0NvbnRyb2xNZW51KGt3YXJncywgJ3N0cmluZycpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJMaWdodCBTaGFkZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJjb250cm9sX25leHRfcGFyYW1ldGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4Ojpsb29rIjogImljb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieG5fX2lucHV0c2thcm1hbGlnaHRzaGFkZXJfd2NiZmYiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzYWJsZV93aGVuIjogInsgeG5fX2lucHV0c2thcm1hbGlnaHRzaGFkZXJfY29udHJvbF94cGJmZiA9PSBibG9jayB9IHsgeG5fX2lucHV0c2thcm1hbGlnaHRzaGFkZXJfY29udHJvbF94cGJmZiA9PSBub25lIH0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkxpZ2h0IFNoYWRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogIm5vcm1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNwYXJlX2NhdGVnb3J5IjogIkxpZ2h0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidWlzY29wZSI6ICJOb25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkYXBpc2NoZW1hIjogIkthcm1hTGlnaHRBUEkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2R2YWx1ZXR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInhuX19pbnB1dHNrYXJtYWxpZ2h0c2luZ2xlc2lkZWRfMWtiZmYiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzYWJsZV93aGVuIjogInsgeG5fX2lucHV0c2thcm1hbGlnaHRzaW5nbGVzaWRlZF9jb250cm9sXzJ4YmZmID09IGJsb2NrIH0geyB4bl9faW5wdXRza2FybWFsaWdodHNpbmdsZXNpZGVkX2NvbnRyb2xfMnhiZmYgPT0gbm9uZSB9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJTaW5nbGUgU2lkZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzcGFyZV9jYXRlZ29yeSI6ICJMaWdodCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVpc2NvcGUiOiAiTm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZGFwaXNjaGVtYSI6ICJLYXJtYUxpZ2h0QVBJIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWV0eXBlIjogImJvb2wiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAidG9nZ2xlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieG5fX2lucHV0c2thcm1hbGlnaHRzaW5nbGVzaWRlZF9jb250cm9sXzJ4YmZmIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAibm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXRlbV9nZW5lcmF0b3Jfc2NyaXB0IjogImltcG9ydCBsb3B1dGlsc1xucmV0dXJuIGxvcHV0aWxzLmNyZWF0ZUVkaXRQcm9wZXJ0aWVzQ29udHJvbE1lbnUoa3dhcmdzLCAnYm9vbCcpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJTaW5nbGUgU2lkZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJjb250cm9sX25leHRfcGFyYW1ldGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4Ojpsb29rIjogImljb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieG5fX2lucHV0c2thcm1hbGlnaHRzcHJlYWRfY29udHJvbF94cGJmZiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogIm5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIml0ZW1fZ2VuZXJhdG9yX3NjcmlwdCI6ICJpbXBvcnQgbG9wdXRpbHNcbnJldHVybiBsb3B1dGlscy5jcmVhdGVFZGl0UHJvcGVydGllc0NvbnRyb2xNZW51KGt3YXJncywgJ2Zsb2F0JykiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlNwcmVhZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogImNvbnRyb2xfbmV4dF9wYXJhbWV0ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6Omxvb2siOiAiaWNvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ4bl9faW5wdXRza2FybWFsaWdodHNwcmVhZF93Y2JmZiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNhYmxlX3doZW4iOiAieyB4bl9faW5wdXRza2FybWFsaWdodHNwcmVhZF9jb250cm9sX3hwYmZmID09IGJsb2NrIH0geyB4bl9faW5wdXRza2FybWFsaWdodHNwcmVhZF9jb250cm9sX3hwYmZmID09IG5vbmUgfSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiU3ByZWFkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtYXhfdmFsdWUiOiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpY3RfbWF4IjogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpY3RfbWluIjogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzcGFyZV9jYXRlZ29yeSI6ICJMaWdodCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVpc2NvcGUiOiAiTm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZGFwaXNjaGVtYSI6ICJLYXJtYUxpZ2h0QVBJIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWV0eXBlIjogImZsb2F0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImZsb2F0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ3JvdXBfZGVmYXVsdCI6ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdyb3VwX3R5cGUiOiAiY29sbGFwc2libGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJmb2xkZXJfY29sbGFwc2libGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIlNhbXBsaW5nIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJTYW1wbGluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcm10ZW1wbGF0ZXMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ4bl9faW5wdXRza2FybWFsaWdodGhkcmlfbWF4X2lzaXplX2NvbnRyb2xfeTJiZmYiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6ICJub25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpdGVtX2dlbmVyYXRvcl9zY3JpcHQiOiAiaW1wb3J0IGxvcHV0aWxzXG5yZXR1cm4gbG9wdXRpbHMuY3JlYXRlRWRpdFByb3BlcnRpZXNDb250cm9sTWVudShrd2FyZ3MsICdpbnQnKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiTWF4aW11bSBIRFJJIFNpemUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJjb250cm9sX25leHRfcGFyYW1ldGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4Ojpsb29rIjogImljb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieG5fX2lucHV0c2thcm1hbGlnaHRoZHJpX21heF9pc2l6ZV94cGJmZiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogMjA0OCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNhYmxlX3doZW4iOiAieyB4bl9faW5wdXRza2FybWFsaWdodGhkcmlfbWF4X2lzaXplX2NvbnRyb2xfeTJiZmYgPT0gYmxvY2sgfSB7IHhuX19pbnB1dHNrYXJtYWxpZ2h0aGRyaV9tYXhfaXNpemVfY29udHJvbF95MmJmZiA9PSBub25lIH0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIk1heGltdW0gSERSSSBTaXplIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAibm9ybWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3BhcmVfY2F0ZWdvcnkiOiAiU2FtcGxpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1aXNjb3BlIjogIk5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2RhcGlzY2hlbWEiOiAiS2FybWFMaWdodEFQSSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVldHlwZSI6ICJpbnQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInhuX19pbnB1dHNrYXJtYWxpZ2h0bWlzYmlhc19jb250cm9sX2tyYmZmIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAibm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXRlbV9nZW5lcmF0b3Jfc2NyaXB0IjogImltcG9ydCBsb3B1dGlsc1xucmV0dXJuIGxvcHV0aWxzLmNyZWF0ZUVkaXRQcm9wZXJ0aWVzQ29udHJvbE1lbnUoa3dhcmdzLCAnZmxvYXQnKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiTUlTIEJpYXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJjb250cm9sX25leHRfcGFyYW1ldGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4Ojpsb29rIjogImljb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieG5fX2lucHV0c2thcm1hbGlnaHRtaXNiaWFzX2plYmZmIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc2FibGVfd2hlbiI6ICJ7IHhuX19pbnB1dHNrYXJtYWxpZ2h0bWlzYmlhc19jb250cm9sX2tyYmZmID09IGJsb2NrIH0geyB4bl9faW5wdXRza2FybWFsaWdodG1pc2JpYXNfY29udHJvbF9rcmJmZiA9PSBub25lIH0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIk1JUyBCaWFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtYXhfdmFsdWUiOiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1pbl92YWx1ZSI6IC0xLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpY3RfbWF4IjogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpY3RfbWluIjogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzcGFyZV9jYXRlZ29yeSI6ICJTYW1wbGluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVpc2NvcGUiOiAiTm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZGFwaXNjaGVtYSI6ICJLYXJtYUxpZ2h0QVBJIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWV0eXBlIjogImZsb2F0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImZsb2F0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieG5fX2lucHV0c2thcm1hbGlnaHRwb3J0YWxtaXNiaWFzX2JvYmZmIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc2FibGVfd2hlbiI6ICJ7IHhuX19pbnB1dHNrYXJtYWxpZ2h0cG9ydGFsbWlzYmlhc19jb250cm9sX2MxYmZmID09IGJsb2NrIH0geyB4bl9faW5wdXRza2FybWFsaWdodHBvcnRhbG1pc2JpYXNfY29udHJvbF9jMWJmZiA9PSBub25lIH0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlBvcnRhbCBNSVMgQmlhcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWF4X3ZhbHVlIjogMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtaW5fdmFsdWUiOiAtMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaWN0X21heCI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaWN0X21pbiI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3BhcmVfY2F0ZWdvcnkiOiAiU2FtcGxpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1aXNjb3BlIjogIk5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2RhcGlzY2hlbWEiOiAiS2FybWFMaWdodEFQSSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVldHlwZSI6ICJmbG9hdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJmbG9hdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInhuX19pbnB1dHNrYXJtYWxpZ2h0cG9ydGFsbWlzYmlhc19jb250cm9sX2MxYmZmIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAibm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXRlbV9nZW5lcmF0b3Jfc2NyaXB0IjogImltcG9ydCBsb3B1dGlsc1xucmV0dXJuIGxvcHV0aWxzLmNyZWF0ZUVkaXRQcm9wZXJ0aWVzQ29udHJvbE1lbnUoa3dhcmdzLCAnZmxvYXQnKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiUG9ydGFsIE1JUyBCaWFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAiY29udHJvbF9uZXh0X3BhcmFtZXRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6bG9vayI6ICJpY29uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInhuX19pbnB1dHNrYXJtYWxpZ2h0c2FtcGxpbmdtb2RlX2NvbnRyb2xfcHpiZmYiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6ICJub25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpdGVtX2dlbmVyYXRvcl9zY3JpcHQiOiAiaW1wb3J0IGxvcHV0aWxzXG5yZXR1cm4gbG9wdXRpbHMuY3JlYXRlRWRpdFByb3BlcnRpZXNDb250cm9sTWVudShrd2FyZ3MsICdpbnQnKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiU2FtcGxpbmcgTW9kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogImNvbnRyb2xfbmV4dF9wYXJhbWV0ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6Omxvb2siOiAiaWNvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ4bl9faW5wdXRza2FybWFsaWdodHNhbXBsaW5nbW9kZV9vbWJmZiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogIkF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc2FibGVfd2hlbiI6ICJ7IHhuX19pbnB1dHNrYXJtYWxpZ2h0c2FtcGxpbmdtb2RlX2NvbnRyb2xfcHpiZmYgPT0gYmxvY2sgfSB7IHhuX19pbnB1dHNrYXJtYWxpZ2h0c2FtcGxpbmdtb2RlX2NvbnRyb2xfcHpiZmYgPT0gbm9uZSB9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJTYW1wbGluZyBNb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X2l0ZW1zIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG9rZW4iOiAiQXV0byIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlVuaWZvcm0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG9rZW4iOiAiVW5pZm9ybSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkxpZ2h0IFRyZWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG9rZW4iOiAiTGlnaHQgVHJlZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJub3JtYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzcGFyZV9jYXRlZ29yeSI6ICJTYW1wbGluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVpc2NvcGUiOiAiTm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZGFwaXNjaGVtYSI6ICJLYXJtYUxpZ2h0QVBJIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWV0eXBlIjogInRva2VuIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInhuX19pbnB1dHNrYXJtYWxpZ2h0c2FtcGxpbmdxdWFsaXR5X2NvbnRyb2xfbDRiZmYiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6ICJub25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpdGVtX2dlbmVyYXRvcl9zY3JpcHQiOiAiaW1wb3J0IGxvcHV0aWxzXG5yZXR1cm4gbG9wdXRpbHMuY3JlYXRlRWRpdFByb3BlcnRpZXNDb250cm9sTWVudShrd2FyZ3MsICdmbG9hdCcpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJTYW1wbGluZyBRdWFsaXR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAiY29udHJvbF9uZXh0X3BhcmFtZXRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6bG9vayI6ICJpY29uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInhuX19pbnB1dHNrYXJtYWxpZ2h0c2FtcGxpbmdxdWFsaXR5X2tyYmZmIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc2FibGVfd2hlbiI6ICJ7IHhuX19pbnB1dHNrYXJtYWxpZ2h0c2FtcGxpbmdxdWFsaXR5X2NvbnRyb2xfbDRiZmYgPT0gYmxvY2sgfSB7IHhuX19pbnB1dHNrYXJtYWxpZ2h0c2FtcGxpbmdxdWFsaXR5X2NvbnRyb2xfbDRiZmYgPT0gbm9uZSB9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJTYW1wbGluZyBRdWFsaXR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3BhcmVfY2F0ZWdvcnkiOiAiU2FtcGxpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1aXNjb3BlIjogIk5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2RhcGlzY2hlbWEiOiAiS2FybWFMaWdodEFQSSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVldHlwZSI6ICJmbG9hdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJmbG9hdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdyb3VwX2RlZmF1bHQiOiAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJncm91cF90eXBlIjogImNvbGxhcHNpYmxlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZm9sZGVyX2NvbGxhcHNpYmxlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJncm91cF9kZWZhdWx0IjogIjEiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImZvbGRlcl90YWJzIgogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAwLAogICAgICAgICAgICAwCiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJkb21lbGlnaHQ6OjMuMCIKICAgIH0sCiAgICAic3VuIjogewogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogInNreSIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgInIiOiBbCiAgICAgICAgICAgICAgICAtMjAuNDUwMzQ1NjQxMjc0NjY2LAogICAgICAgICAgICAgICAgNTEuNDUyODM4OTQzNjEzMDYsCiAgICAgICAgICAgICAgICAxMS43MDY5MzIyNjAzNTMwNTMKICAgICAgICAgICAgXSwKICAgICAgICAgICAgInhuX19pbnB1dHNhbmdsZV96dGEiOiAyLAogICAgICAgICAgICAieG5fX2lucHV0c2NvbG9yVGVtcGVyYXR1cmVfd2NiIjogNDAwMCwKICAgICAgICAgICAgInhuX19pbnB1dHNjb2xvcl96dGEiOiBbCiAgICAgICAgICAgICAgICAwLjc1ODAwMDAxNjIxMjQ2MzQsCiAgICAgICAgICAgICAgICAwLjQ1NDc0OTQ5NDc5MTAzMDksCiAgICAgICAgICAgICAgICAwLjIyMjg1MjAyMTQ1NTc2NDc3CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJ4bl9faW5wdXRzZXhwb3N1cmVfdnlhIjogMwogICAgICAgIH0sCiAgICAgICAgInBhcm10ZW1wbGF0ZXMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJpbnNlcnRfYWZ0ZXIiOiAiZm9sZGVyX3RyYW5zZm9ybV8zIiwKICAgICAgICAgICAgICAgICJwYXJtdGVtcGxhdGVzIjogewogICAgICAgICAgICAgICAgICAgICJmb2xkZXJfdHJhbnNmb3JtNV80IjogewogICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiS2FybWEiLAogICAgICAgICAgICAgICAgICAgICAgICAicGFybXRlbXBsYXRlcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJMaWdodCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiTGlnaHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdGVtcGxhdGVzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieG5fX2lucHV0c2thcm1hbGlnaHRhY3RpdmVyYWRpdXNfY29udHJvbF9wemJmZiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogIm5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIml0ZW1fZ2VuZXJhdG9yX3NjcmlwdCI6ICJpbXBvcnQgbG9wdXRpbHNcbnJldHVybiBsb3B1dGlscy5jcmVhdGVFZGl0UHJvcGVydGllc0NvbnRyb2xNZW51KGt3YXJncywgJ2Zsb2F0JykiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkFjdGl2ZSBSYWRpdXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJjb250cm9sX25leHRfcGFyYW1ldGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4Ojpsb29rIjogImljb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieG5fX2lucHV0c2thcm1hbGlnaHRhY3RpdmVyYWRpdXNfb21iZmYiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6IC0xLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc2FibGVfd2hlbiI6ICJ7IHhuX19pbnB1dHNrYXJtYWxpZ2h0YWN0aXZlcmFkaXVzX2NvbnRyb2xfcHpiZmYgPT0gYmxvY2sgfSB7IHhuX19pbnB1dHNrYXJtYWxpZ2h0YWN0aXZlcmFkaXVzX2NvbnRyb2xfcHpiZmYgPT0gbm9uZSB9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJBY3RpdmUgUmFkaXVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3BhcmVfY2F0ZWdvcnkiOiAiTGlnaHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1aXNjb3BlIjogIk5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2RhcGlzY2hlbWEiOiAiS2FybWFMaWdodEFQSSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVldHlwZSI6ICJmbG9hdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJmbG9hdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInhuX19pbnB1dHNrYXJtYWxpZ2h0Y29udHJpYnNfNWZiZmYiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6ICIqIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNhYmxlX3doZW4iOiAieyB4bl9faW5wdXRza2FybWFsaWdodGNvbnRyaWJzX2NvbnRyb2xfNnNiZmYgPT0gYmxvY2sgfSB7IHhuX19pbnB1dHNrYXJtYWxpZ2h0Y29udHJpYnNfY29udHJvbF82c2JmZiA9PSBub25lIH0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkNvbnRyaWJ1dGlvbnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfaXRlbXMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiQW55IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRva2VuIjogIioiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJEaWZmdXNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRva2VuIjogImRpZmZ1c2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJSZWZsZWN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRva2VuIjogInJlZmxlY3QiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJDb2F0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRva2VuIjogImNvYXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJTU1MiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG9rZW4iOiAic3NzIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiVm9sdW1lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRva2VuIjogInZvbHVtZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkFueSBkaWZmdXNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRva2VuIjogImRpZmZ1c2V8dm9sdW1lfHNzcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkFueSBub24tZGlmZnVzZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0b2tlbiI6ICItZGlmZnVzZSBcdTAwMjYgLXZvbHVtZSBcdTAwMjYgLXNzcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJzdHJpbmdfcmVwbGFjZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNwYXJlX2NhdGVnb3J5IjogIkxpZ2h0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidWlzY29wZSI6ICJOb25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkYXBpc2NoZW1hIjogIkthcm1hTGlnaHRBUEkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2R2YWx1ZXR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInhuX19pbnB1dHNrYXJtYWxpZ2h0Y29udHJpYnNfY29udHJvbF82c2JmZiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogIm5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIml0ZW1fZ2VuZXJhdG9yX3NjcmlwdCI6ICJpbXBvcnQgbG9wdXRpbHNcbnJldHVybiBsb3B1dGlscy5jcmVhdGVFZGl0UHJvcGVydGllc0NvbnRyb2xNZW51KGt3YXJncywgJ3N0cmluZycpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJDb250cmlidXRpb25zIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAiY29udHJvbF9uZXh0X3BhcmFtZXRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6bG9vayI6ICJpY29uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInhuX19pbnB1dHNrYXJtYWxpZ2h0Y29udHJpYnV0ZXNjYXVzdGljc18yeGJmZiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNhYmxlX3doZW4iOiAieyB4bl9faW5wdXRza2FybWFsaWdodGNvbnRyaWJ1dGVzY2F1c3RpY3NfY29udHJvbF8zYmNmZiA9PSBibG9jayB9IHsgeG5fX2lucHV0c2thcm1hbGlnaHRjb250cmlidXRlc2NhdXN0aWNzX2NvbnRyb2xfM2JjZmYgPT0gbm9uZSB9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJDb250cmlidXRlcyB0byBDYXVzdGljcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNwYXJlX2NhdGVnb3J5IjogIkxpZ2h0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidWlzY29wZSI6ICJOb25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkYXBpc2NoZW1hIjogIkthcm1hTGlnaHRBUEkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2R2YWx1ZXR5cGUiOiAiYm9vbCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJ0b2dnbGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ4bl9faW5wdXRza2FybWFsaWdodGNvbnRyaWJ1dGVzY2F1c3RpY3NfY29udHJvbF8zYmNmZiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogIm5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIml0ZW1fZ2VuZXJhdG9yX3NjcmlwdCI6ICJpbXBvcnQgbG9wdXRpbHNcbnJldHVybiBsb3B1dGlscy5jcmVhdGVFZGl0UHJvcGVydGllc0NvbnRyb2xNZW51KGt3YXJncywgJ2Jvb2wnKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiQ29udHJpYnV0ZXMgdG8gQ2F1c3RpY3MiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJjb250cm9sX25leHRfcGFyYW1ldGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4Ojpsb29rIjogImljb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieG5fX2lucHV0c2thcm1hbGlnaHRpbGx1bWJhY2tncm91bmRfY29udHJvbF9sNGJmZiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogIm5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIml0ZW1fZ2VuZXJhdG9yX3NjcmlwdCI6ICJpbXBvcnQgbG9wdXRpbHNcbnJldHVybiBsb3B1dGlscy5jcmVhdGVFZGl0UHJvcGVydGllc0NvbnRyb2xNZW51KGt3YXJncywgJ2Jvb2wnKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiSWxsdW1pbmF0ZSBCYWNrZ3JvdW5kIEhvbGRvdXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJjb250cm9sX25leHRfcGFyYW1ldGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4Ojpsb29rIjogImljb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieG5fX2lucHV0c2thcm1hbGlnaHRpbGx1bWJhY2tncm91bmRfa3JiZmYiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzYWJsZV93aGVuIjogInsgeG5fX2lucHV0c2thcm1hbGlnaHRpbGx1bWJhY2tncm91bmRfY29udHJvbF9sNGJmZiA9PSBibG9jayB9IHsgeG5fX2lucHV0c2thcm1hbGlnaHRpbGx1bWJhY2tncm91bmRfY29udHJvbF9sNGJmZiA9PSBub25lIH0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIklsbHVtaW5hdGUgQmFja2dyb3VuZCBIb2xkb3V0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3BhcmVfY2F0ZWdvcnkiOiAiTGlnaHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1aXNjb3BlIjogIk5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2RhcGlzY2hlbWEiOiAiS2FybWFMaWdodEFQSSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVldHlwZSI6ICJib29sIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInRvZ2dsZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInhuX19pbnB1dHNrYXJtYWxpZ2h0bGlnaHRnZW9jYXN0c3NoYWRvd18yeGJmZiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNhYmxlX3doZW4iOiAieyB4bl9faW5wdXRza2FybWFsaWdodGxpZ2h0Z2VvY2FzdHNzaGFkb3dfY29udHJvbF8zYmNmZiA9PSBibG9jayB9IHsgeG5fX2lucHV0c2thcm1hbGlnaHRsaWdodGdlb2Nhc3Rzc2hhZG93X2NvbnRyb2xfM2JjZmYgPT0gbm9uZSB9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJMaWdodCBHZW9tZXRyeSBDYXN0cyBTaGFkb3ciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzcGFyZV9jYXRlZ29yeSI6ICJMaWdodCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVpc2NvcGUiOiAiTm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZGFwaXNjaGVtYSI6ICJLYXJtYUxpZ2h0QVBJIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWV0eXBlIjogImJvb2wiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAidG9nZ2xlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieG5fX2lucHV0c2thcm1hbGlnaHRsaWdodGdlb2Nhc3Rzc2hhZG93X2NvbnRyb2xfM2JjZmYiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6ICJub25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpdGVtX2dlbmVyYXRvcl9zY3JpcHQiOiAiaW1wb3J0IGxvcHV0aWxzXG5yZXR1cm4gbG9wdXRpbHMuY3JlYXRlRWRpdFByb3BlcnRpZXNDb250cm9sTWVudShrd2FyZ3MsICdib29sJykiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkxpZ2h0IEdlb21ldHJ5IENhc3RzIFNoYWRvdyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogImNvbnRyb2xfbmV4dF9wYXJhbWV0ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6Omxvb2siOiAiaWNvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ4bl9faW5wdXRza2FybWFsaWdodGxwZXRhZ19jb250cm9sX3hwYmZmIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAibm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXRlbV9nZW5lcmF0b3Jfc2NyaXB0IjogImltcG9ydCBsb3B1dGlsc1xucmV0dXJuIGxvcHV0aWxzLmNyZWF0ZUVkaXRQcm9wZXJ0aWVzQ29udHJvbE1lbnUoa3dhcmdzLCAnc3RyaW5nJykiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkxQRSBUYWciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJjb250cm9sX25leHRfcGFyYW1ldGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4Ojpsb29rIjogImljb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieG5fX2lucHV0c2thcm1hbGlnaHRscGV0YWdfd2NiZmYiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzYWJsZV93aGVuIjogInsgeG5fX2lucHV0c2thcm1hbGlnaHRscGV0YWdfY29udHJvbF94cGJmZiA9PSBibG9jayB9IHsgeG5fX2lucHV0c2thcm1hbGlnaHRscGV0YWdfY29udHJvbF94cGJmZiA9PSBub25lIH0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkxQRSBUYWciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJub3JtYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzcGFyZV9jYXRlZ29yeSI6ICJMaWdodCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVpc2NvcGUiOiAiTm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZGFwaXNjaGVtYSI6ICJLYXJtYUxpZ2h0QVBJIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWV0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ4bl9faW5wdXRza2FybWFsaWdodHBvaW50cmFkaXVzXzFrYmZmIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc2FibGVfd2hlbiI6ICJ7IHhuX19pbnB1dHNrYXJtYWxpZ2h0cG9pbnRyYWRpdXNfY29udHJvbF8yeGJmZiA9PSBibG9jayB9IHsgeG5fX2lucHV0c2thcm1hbGlnaHRwb2ludHJhZGl1c19jb250cm9sXzJ4YmZmID09IG5vbmUgfSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiUG9pbnQgTGlnaHQgUmFkaXVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtYXhfdmFsdWUiOiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpY3RfbWluIjogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzcGFyZV9jYXRlZ29yeSI6ICJMaWdodCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVpc2NvcGUiOiAiTm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZGFwaXNjaGVtYSI6ICJLYXJtYUxpZ2h0QVBJIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWV0eXBlIjogImZsb2F0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImZsb2F0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieG5fX2lucHV0c2thcm1hbGlnaHRwb2ludHJhZGl1c19jb250cm9sXzJ4YmZmIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAibm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXRlbV9nZW5lcmF0b3Jfc2NyaXB0IjogImltcG9ydCBsb3B1dGlsc1xucmV0dXJuIGxvcHV0aWxzLmNyZWF0ZUVkaXRQcm9wZXJ0aWVzQ29udHJvbE1lbnUoa3dhcmdzLCAnZmxvYXQnKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiUG9pbnQgTGlnaHQgUmFkaXVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAiY29udHJvbF9uZXh0X3BhcmFtZXRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6bG9vayI6ICJpY29uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInhuX19pbnB1dHNrYXJtYWxpZ2h0cmVuZGVybGlnaHRnZW9fY29udHJvbF95MmJmZiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogIm5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIml0ZW1fZ2VuZXJhdG9yX3NjcmlwdCI6ICJpbXBvcnQgbG9wdXRpbHNcbnJldHVybiBsb3B1dGlscy5jcmVhdGVFZGl0UHJvcGVydGllc0NvbnRyb2xNZW51KGt3YXJncywgJ2Jvb2wnKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiUmVuZGVyIExpZ2h0IEdlb21ldHJ5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAiY29udHJvbF9uZXh0X3BhcmFtZXRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6bG9vayI6ICJpY29uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInhuX19pbnB1dHNrYXJtYWxpZ2h0cmVuZGVybGlnaHRnZW9feHBiZmYiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzYWJsZV93aGVuIjogInsgeG5fX2lucHV0c2thcm1hbGlnaHRyZW5kZXJsaWdodGdlb19jb250cm9sX3kyYmZmID09IGJsb2NrIH0geyB4bl9faW5wdXRza2FybWFsaWdodHJlbmRlcmxpZ2h0Z2VvX2NvbnRyb2xfeTJiZmYgPT0gbm9uZSB9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJSZW5kZXIgTGlnaHQgR2VvbWV0cnkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzcGFyZV9jYXRlZ29yeSI6ICJMaWdodCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVpc2NvcGUiOiAiTm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZGFwaXNjaGVtYSI6ICJLYXJtYUxpZ2h0QVBJIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWV0eXBlIjogImJvb2wiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAidG9nZ2xlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieG5fX2lucHV0c2thcm1hbGlnaHRzaGFkZXJfY29udHJvbF94cGJmZiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogIm5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIml0ZW1fZ2VuZXJhdG9yX3NjcmlwdCI6ICJpbXBvcnQgbG9wdXRpbHNcbnJldHVybiBsb3B1dGlscy5jcmVhdGVFZGl0UHJvcGVydGllc0NvbnRyb2xNZW51KGt3YXJncywgJ3N0cmluZycpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJMaWdodCBTaGFkZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJjb250cm9sX25leHRfcGFyYW1ldGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4Ojpsb29rIjogImljb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieG5fX2lucHV0c2thcm1hbGlnaHRzaGFkZXJfd2NiZmYiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzYWJsZV93aGVuIjogInsgeG5fX2lucHV0c2thcm1hbGlnaHRzaGFkZXJfY29udHJvbF94cGJmZiA9PSBibG9jayB9IHsgeG5fX2lucHV0c2thcm1hbGlnaHRzaGFkZXJfY29udHJvbF94cGJmZiA9PSBub25lIH0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkxpZ2h0IFNoYWRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogIm5vcm1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNwYXJlX2NhdGVnb3J5IjogIkxpZ2h0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidWlzY29wZSI6ICJOb25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkYXBpc2NoZW1hIjogIkthcm1hTGlnaHRBUEkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2R2YWx1ZXR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInhuX19pbnB1dHNrYXJtYWxpZ2h0c2luZ2xlc2lkZWRfMWtiZmYiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzYWJsZV93aGVuIjogInsgeG5fX2lucHV0c2thcm1hbGlnaHRzaW5nbGVzaWRlZF9jb250cm9sXzJ4YmZmID09IGJsb2NrIH0geyB4bl9faW5wdXRza2FybWFsaWdodHNpbmdsZXNpZGVkX2NvbnRyb2xfMnhiZmYgPT0gbm9uZSB9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJTaW5nbGUgU2lkZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzcGFyZV9jYXRlZ29yeSI6ICJMaWdodCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVpc2NvcGUiOiAiTm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZGFwaXNjaGVtYSI6ICJLYXJtYUxpZ2h0QVBJIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWV0eXBlIjogImJvb2wiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAidG9nZ2xlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieG5fX2lucHV0c2thcm1hbGlnaHRzaW5nbGVzaWRlZF9jb250cm9sXzJ4YmZmIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAibm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXRlbV9nZW5lcmF0b3Jfc2NyaXB0IjogImltcG9ydCBsb3B1dGlsc1xucmV0dXJuIGxvcHV0aWxzLmNyZWF0ZUVkaXRQcm9wZXJ0aWVzQ29udHJvbE1lbnUoa3dhcmdzLCAnYm9vbCcpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJTaW5nbGUgU2lkZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJjb250cm9sX25leHRfcGFyYW1ldGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4Ojpsb29rIjogImljb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieG5fX2lucHV0c2thcm1hbGlnaHRzcHJlYWRfY29udHJvbF94cGJmZiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogIm5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIml0ZW1fZ2VuZXJhdG9yX3NjcmlwdCI6ICJpbXBvcnQgbG9wdXRpbHNcbnJldHVybiBsb3B1dGlscy5jcmVhdGVFZGl0UHJvcGVydGllc0NvbnRyb2xNZW51KGt3YXJncywgJ2Zsb2F0JykiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlNwcmVhZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogImNvbnRyb2xfbmV4dF9wYXJhbWV0ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6Omxvb2siOiAiaWNvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ4bl9faW5wdXRza2FybWFsaWdodHNwcmVhZF93Y2JmZiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNhYmxlX3doZW4iOiAieyB4bl9faW5wdXRza2FybWFsaWdodHNwcmVhZF9jb250cm9sX3hwYmZmID09IGJsb2NrIH0geyB4bl9faW5wdXRza2FybWFsaWdodHNwcmVhZF9jb250cm9sX3hwYmZmID09IG5vbmUgfSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiU3ByZWFkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtYXhfdmFsdWUiOiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpY3RfbWF4IjogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpY3RfbWluIjogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzcGFyZV9jYXRlZ29yeSI6ICJMaWdodCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVpc2NvcGUiOiAiTm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZGFwaXNjaGVtYSI6ICJLYXJtYUxpZ2h0QVBJIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWV0eXBlIjogImZsb2F0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImZsb2F0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ3JvdXBfZGVmYXVsdCI6ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdyb3VwX3R5cGUiOiAiY29sbGFwc2libGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJmb2xkZXJfY29sbGFwc2libGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIlNhbXBsaW5nIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJTYW1wbGluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcm10ZW1wbGF0ZXMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ4bl9faW5wdXRza2FybWFsaWdodGhkcmlfbWF4X2lzaXplX2NvbnRyb2xfeTJiZmYiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6ICJub25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpdGVtX2dlbmVyYXRvcl9zY3JpcHQiOiAiaW1wb3J0IGxvcHV0aWxzXG5yZXR1cm4gbG9wdXRpbHMuY3JlYXRlRWRpdFByb3BlcnRpZXNDb250cm9sTWVudShrd2FyZ3MsICdpbnQnKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiTWF4aW11bSBIRFJJIFNpemUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJjb250cm9sX25leHRfcGFyYW1ldGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4Ojpsb29rIjogImljb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieG5fX2lucHV0c2thcm1hbGlnaHRoZHJpX21heF9pc2l6ZV94cGJmZiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogMjA0OCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNhYmxlX3doZW4iOiAieyB4bl9faW5wdXRza2FybWFsaWdodGhkcmlfbWF4X2lzaXplX2NvbnRyb2xfeTJiZmYgPT0gYmxvY2sgfSB7IHhuX19pbnB1dHNrYXJtYWxpZ2h0aGRyaV9tYXhfaXNpemVfY29udHJvbF95MmJmZiA9PSBub25lIH0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIk1heGltdW0gSERSSSBTaXplIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAibm9ybWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3BhcmVfY2F0ZWdvcnkiOiAiU2FtcGxpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1aXNjb3BlIjogIk5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2RhcGlzY2hlbWEiOiAiS2FybWFMaWdodEFQSSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVldHlwZSI6ICJpbnQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInhuX19pbnB1dHNrYXJtYWxpZ2h0bWlzYmlhc19jb250cm9sX2tyYmZmIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAibm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXRlbV9nZW5lcmF0b3Jfc2NyaXB0IjogImltcG9ydCBsb3B1dGlsc1xucmV0dXJuIGxvcHV0aWxzLmNyZWF0ZUVkaXRQcm9wZXJ0aWVzQ29udHJvbE1lbnUoa3dhcmdzLCAnZmxvYXQnKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiTUlTIEJpYXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJjb250cm9sX25leHRfcGFyYW1ldGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4Ojpsb29rIjogImljb24iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieG5fX2lucHV0c2thcm1hbGlnaHRtaXNiaWFzX2plYmZmIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc2FibGVfd2hlbiI6ICJ7IHhuX19pbnB1dHNrYXJtYWxpZ2h0bWlzYmlhc19jb250cm9sX2tyYmZmID09IGJsb2NrIH0geyB4bl9faW5wdXRza2FybWFsaWdodG1pc2JpYXNfY29udHJvbF9rcmJmZiA9PSBub25lIH0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIk1JUyBCaWFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtYXhfdmFsdWUiOiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1pbl92YWx1ZSI6IC0xLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpY3RfbWF4IjogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpY3RfbWluIjogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzcGFyZV9jYXRlZ29yeSI6ICJTYW1wbGluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVpc2NvcGUiOiAiTm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZGFwaXNjaGVtYSI6ICJLYXJtYUxpZ2h0QVBJIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWV0eXBlIjogImZsb2F0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImZsb2F0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieG5fX2lucHV0c2thcm1hbGlnaHRwb3J0YWxtaXNiaWFzX2JvYmZmIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc2FibGVfd2hlbiI6ICJ7IHhuX19pbnB1dHNrYXJtYWxpZ2h0cG9ydGFsbWlzYmlhc19jb250cm9sX2MxYmZmID09IGJsb2NrIH0geyB4bl9faW5wdXRza2FybWFsaWdodHBvcnRhbG1pc2JpYXNfY29udHJvbF9jMWJmZiA9PSBub25lIH0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlBvcnRhbCBNSVMgQmlhcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWF4X3ZhbHVlIjogMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtaW5fdmFsdWUiOiAtMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaWN0X21heCI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaWN0X21pbiI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3BhcmVfY2F0ZWdvcnkiOiAiU2FtcGxpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1aXNjb3BlIjogIk5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2RhcGlzY2hlbWEiOiAiS2FybWFMaWdodEFQSSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVldHlwZSI6ICJmbG9hdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJmbG9hdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInhuX19pbnB1dHNrYXJtYWxpZ2h0cG9ydGFsbWlzYmlhc19jb250cm9sX2MxYmZmIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAibm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXRlbV9nZW5lcmF0b3Jfc2NyaXB0IjogImltcG9ydCBsb3B1dGlsc1xucmV0dXJuIGxvcHV0aWxzLmNyZWF0ZUVkaXRQcm9wZXJ0aWVzQ29udHJvbE1lbnUoa3dhcmdzLCAnZmxvYXQnKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiUG9ydGFsIE1JUyBCaWFzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAiY29udHJvbF9uZXh0X3BhcmFtZXRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6bG9vayI6ICJpY29uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInhuX19pbnB1dHNrYXJtYWxpZ2h0c2FtcGxpbmdtb2RlX2NvbnRyb2xfcHpiZmYiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6ICJub25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpdGVtX2dlbmVyYXRvcl9zY3JpcHQiOiAiaW1wb3J0IGxvcHV0aWxzXG5yZXR1cm4gbG9wdXRpbHMuY3JlYXRlRWRpdFByb3BlcnRpZXNDb250cm9sTWVudShrd2FyZ3MsICdpbnQnKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiU2FtcGxpbmcgTW9kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogImNvbnRyb2xfbmV4dF9wYXJhbWV0ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6Omxvb2siOiAiaWNvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ4bl9faW5wdXRza2FybWFsaWdodHNhbXBsaW5nbW9kZV9vbWJmZiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogIkF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc2FibGVfd2hlbiI6ICJ7IHhuX19pbnB1dHNrYXJtYWxpZ2h0c2FtcGxpbmdtb2RlX2NvbnRyb2xfcHpiZmYgPT0gYmxvY2sgfSB7IHhuX19pbnB1dHNrYXJtYWxpZ2h0c2FtcGxpbmdtb2RlX2NvbnRyb2xfcHpiZmYgPT0gbm9uZSB9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJTYW1wbGluZyBNb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X2l0ZW1zIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkF1dG8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG9rZW4iOiAiQXV0byIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlVuaWZvcm0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG9rZW4iOiAiVW5pZm9ybSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkxpZ2h0IFRyZWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG9rZW4iOiAiTGlnaHQgVHJlZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJub3JtYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzcGFyZV9jYXRlZ29yeSI6ICJTYW1wbGluZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVpc2NvcGUiOiAiTm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZGFwaXNjaGVtYSI6ICJLYXJtYUxpZ2h0QVBJIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNkdmFsdWV0eXBlIjogInRva2VuIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInhuX19pbnB1dHNrYXJtYWxpZ2h0c2FtcGxpbmdxdWFsaXR5X2NvbnRyb2xfbDRiZmYiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6ICJub25lIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpdGVtX2dlbmVyYXRvcl9zY3JpcHQiOiAiaW1wb3J0IGxvcHV0aWxzXG5yZXR1cm4gbG9wdXRpbHMuY3JlYXRlRWRpdFByb3BlcnRpZXNDb250cm9sTWVudShrd2FyZ3MsICdmbG9hdCcpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJTYW1wbGluZyBRdWFsaXR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAiY29udHJvbF9uZXh0X3BhcmFtZXRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6bG9vayI6ICJpY29uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInhuX19pbnB1dHNrYXJtYWxpZ2h0c2FtcGxpbmdxdWFsaXR5X2tyYmZmIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpc2FibGVfd2hlbiI6ICJ7IHhuX19pbnB1dHNrYXJtYWxpZ2h0c2FtcGxpbmdxdWFsaXR5X2NvbnRyb2xfbDRiZmYgPT0gYmxvY2sgfSB7IHhuX19pbnB1dHNrYXJtYWxpZ2h0c2FtcGxpbmdxdWFsaXR5X2NvbnRyb2xfbDRiZmYgPT0gbm9uZSB9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJTYW1wbGluZyBRdWFsaXR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3BhcmVfY2F0ZWdvcnkiOiAiU2FtcGxpbmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1aXNjb3BlIjogIk5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2RhcGlzY2hlbWEiOiAiS2FybWFMaWdodEFQSSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZHZhbHVldHlwZSI6ICJmbG9hdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJmbG9hdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdyb3VwX2RlZmF1bHQiOiAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJncm91cF90eXBlIjogImNvbGxhcHNpYmxlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZm9sZGVyX2NvbGxhcHNpYmxlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJncm91cF9kZWZhdWx0IjogIjEiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImZvbGRlcl90YWJzIgogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAwLjAxLAogICAgICAgICAgICAtMS41NQogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAiZGlzdGFudGxpZ2h0OjoyLjAiLAogICAgICAgICJ1c2VyX2RhdGEiOiB7CiAgICAgICAgICAgICJzZXRfbG9va2F0IjogIlRydWUiCiAgICAgICAgfQogICAgfQp9
Assign Materials By Name
Assign materials to geometry with the same name.
Nov 03, 2025 | 20.5.584 | solaris Cooked By: kif
ewogICAgIl9fY29va2Jvb2tNZXRhIjogewogICAgICAgICJjb250ZXh0IjogImxvcCIsCiAgICAgICAgInZlcnNpb24iOiAiMjAuNS41ODQiCiAgICB9LAogICAgImFzc2lnbl9tYXRlcmlhbHNfYnlfbmFtZSI6IHsKICAgICAgICAiZmxhZ3MiOiB7CiAgICAgICAgICAgICJkaXNwbGF5IjogdHJ1ZQogICAgICAgIH0sCiAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImZyb20iOiAibWF0ZXJpYWxsaWJyYXJ5MSIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgImV4cG9ydGxpc3QiOiAiKiIsCiAgICAgICAgICAgICJwcmltcGF0dGVybiI6ICIvZ2VvLyoiLAogICAgICAgICAgICAic25pcHBldCI6ICJzdHJpbmcgbmFtZSA9IHVzZF9uYW1lKDAsIHNAcHJpbXBhdGgpO1xuc3RyaW5nIG1hdHMgPSBcIi9tYXRlcmlhbHMvXCIgKyBuYW1lO1xuXG51c2RfYWRkcmVsYXRpb25zaGlwdGFyZ2V0KDAsIHNAcHJpbXBhdGgsIFwibWF0ZXJpYWw6YmluZGluZ1wiLCBtYXRzKTtcbnVzZF9zZXRhdHRyaWIoMCwgc0BwcmltcGF0aCwgXCJmYW1pbHlOYW1lXCIsIFwibWF0ZXJpYWxCaW5kXCIpOyIKICAgICAgICB9LAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgMS4xLAogICAgICAgICAgICAtNC40OAogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAiYXR0cmlid3JhbmdsZSIKICAgIH0sCiAgICAiY3ViZSI6IHsKICAgICAgICAiZmxhZ3MiOiB7CiAgICAgICAgICAgICJyZW5kZXIiOiB0cnVlCiAgICAgICAgfSwKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJwcmltcGF0aCI6ICIvZ2VvLyRPUyIKICAgICAgICB9LAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgMi41MSwKICAgICAgICAgICAgMC4wNgogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAiY3ViZSIKICAgIH0sCiAgICAibWF0ZXJpYWxsaWJyYXJ5MSI6IHsKICAgICAgICAiY2hpbGRyZW4iOiB7CiAgICAgICAgICAgICJjdWJlIjogewogICAgICAgICAgICAgICAgImNoaWxkcmVuIjogewogICAgICAgICAgICAgICAgICAgICJkaXNwbGFjZW1lbnRfb3V0cHV0IjogewogICAgICAgICAgICAgICAgICAgICAgICAiY29sb3IiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjY5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMC44OQogICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAiZmxhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29sb3JkZWZhdWx0IjogZmFsc2UKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZnJvbSI6ICJtdGx4ZGlzcGxhY2VtZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6ICJvdXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0b19pbmRleCI6ICJzdWJvdXRwdXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb25uZWN0b3JraW5kIjogIm91dHB1dCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFybWxhYmVsIjogIkRpc3BsYWNlbWVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFybW5hbWUiOiAiZGlzcGxhY2VtZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdHlwZSI6ICJkaXNwbGFjZW1lbnQiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIuNTIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMi40MwogICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAic2l6ZSI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNzcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjY4CiAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN1Ym5ldGNvbm5lY3RvciIKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJpbnB1dHMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJmbGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNwbGF5IjogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZW5kZXIiOiB0cnVlCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC00LjU0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMC4wNAogICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAic2l6ZSI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNzcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjUzCiAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN1YmlucHV0IgogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgIm10bHhkaXNwbGFjZW1lbnQiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0wLjI5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLTIuNDMKICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgInNpemUiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjc3LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMC44MwogICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJtdGx4ZGlzcGxhY2VtZW50IgogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgIm10bHhzdGFuZGFyZF9zdXJmYWNlIjogewogICAgICAgICAgICAgICAgICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYmFzZV9jb2xvciI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjMwMDAwMDAxMTkyMDkyODk2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuMDc1MDAwMDAyOTgwMjMyMjQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMC4zMDAwMDAwMTE5MjA5Mjg5NgogICAgICAgICAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMC4yOSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuMDQKICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgInNpemUiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjc3LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMS44OAogICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJtdGx4c3RhbmRhcmRfc3VyZmFjZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ1c2VyX2RhdGEiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiX19pbnB1dGdyb3VwXyI6ICJjb2xsYXBzZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIl9faW5wdXRncm91cF9CYXNlIjogImNvbGxhcHNlZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiX19pbnB1dGdyb3VwX0NvYXQiOiAiY29sbGFwc2VkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJfX2lucHV0Z3JvdXBfRW1pc3Npb24iOiAiY29sbGFwc2VkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJfX2lucHV0Z3JvdXBfR2VvbWV0cnkiOiAiY29sbGFwc2VkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJfX2lucHV0Z3JvdXBfU2hlZW4iOiAiY29sbGFwc2VkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJfX2lucHV0Z3JvdXBfU3BlY3VsYXIiOiAiY29sbGFwc2VkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJfX2lucHV0Z3JvdXBfU3Vic3VyZmFjZSI6ICJjb2xsYXBzZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIl9faW5wdXRncm91cF9UaGluIEZpbG0iOiAiY29sbGFwc2VkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJfX2lucHV0Z3JvdXBfVHJhbnNtaXNzaW9uIjogImNvbGxhcHNlZCIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgInN1cmZhY2Vfb3V0cHV0IjogewogICAgICAgICAgICAgICAgICAgICAgICAiY29sb3IiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjg5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMC42OSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuNgogICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAiZmxhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29sb3JkZWZhdWx0IjogZmFsc2UKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZnJvbSI6ICJtdGx4c3RhbmRhcmRfc3VyZmFjZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAib3V0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAic3Vib3V0cHV0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29ubmVjdG9ya2luZCI6ICJvdXRwdXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcm1sYWJlbCI6ICJTdXJmYWNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtbmFtZSI6ICJzdXJmYWNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdHlwZSI6ICJzdXJmYWNlIgogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAyLjUyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMC4wNAogICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAic2l6ZSI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNzcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjY4CiAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN1Ym5ldGNvbm5lY3RvciIKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgImZsYWdzIjogewogICAgICAgICAgICAgICAgICAgICJtYXRlcmlhbCI6IHRydWUKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAicGFybXRlbXBsYXRlcyI6IFsKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICJpbnNlcnRfZmlyc3QiOiAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgInBhcm10ZW1wbGF0ZXMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZm9sZGVyMSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiTWF0ZXJpYWxYIEJ1aWxkZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdGVtcGxhdGVzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaW5oZXJpdF9jdHJsIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkluaGVyaXQgZnJvbSBDbGFzcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV9pdGVtcyI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJOZXZlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0b2tlbiI6ICIwIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiQWx3YXlzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRva2VuIjogIjEiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJNYXRlcmlhbCBGbGFnIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRva2VuIjogIjIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAibm9ybWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJpbnRlZ2VyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2VwYXJhdG9yMSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInNlcGFyYXRvciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNoYWRlcl9iYXNlcHJpbXBhdGgiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6ICIvX19jbGFzc19tdGxfXy9gJE9TYCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiQ2xhc3MgUHJpbSBQYXRoIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAibm9ybWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2FjdGlvbiI6ICJpbXBvcnQgbG9wc2hhZGVydXRpbHNcbmxvcHNoYWRlcnV0aWxzLnNlbGVjdFByaW1Gcm9tSW5wdXRPckZpbGUoa3dhcmdzKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9hY3Rpb25faGVscCI6ICJTZWxlY3QgYSBwcmltaXRpdmUgaW4gdGhlIFNjZW5lIFZpZXdlciBvciBTY2VuZSBHcmFwaCBUcmVlIHBhbmUuXG5DdHJsLWNsaWNrIHRvIHNlbGVjdCB1c2luZyB0aGUgcHJpbWl0aXZlIHBpY2tlciBkaWFsb2cuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2FjdGlvbl9pY29uIjogIkJVVFRPTlNfcmVzZWxlY3QiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6OnNoYWRlcl9pc3Bhcm0iOiAiMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6dXNkcGF0aHR5cGUiOiAicHJpbSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNwYXJlX2NhdGVnb3J5IjogIlNoYWRlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaGFkZXJfZm9yY2VjaGlsZHJlbiI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJGb3JjZSBUcmFuc2xhdGlvbiBvZiBDaGlsZHJlbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6c2hhZGVyX2lzcGFybSI6ICIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3BhcmVfY2F0ZWdvcnkiOiAiU2hhZGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInRvZ2dsZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNoYWRlcl9yZWZlcmVuY2V0eXBlIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4cHJlc3Npb24iOiAibiA9IGhvdS5wd2QoKVxubl9oYXNGbGFnID0gbi5pc01hdGVyaWFsRmxhZ1NldCgpXG5pID0gbi5ldmFsUGFybSgnaW5oZXJpdF9jdHJsJylcbnIgPSAnbm9uZSdcbmlmIGkgPT0gMSBvciAobl9oYXNGbGFnIGFuZCBpID09IDIpOlxuICAgIHIgPSAnaW5oZXJpdCdcbnJldHVybiByIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFuZ3VhZ2UiOiAicHl0aG9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJDbGFzcyBBcmMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfaXRlbXMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiTm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0b2tlbiI6ICJub25lIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiUmVmZXJlbmNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRva2VuIjogInJlZmVyZW5jZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkluaGVyaXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG9rZW4iOiAiaW5oZXJpdCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlNwZWNpYWxpemUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG9rZW4iOiAic3BlY2lhbGl6ZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlJlcHJlc2VudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0b2tlbiI6ICJyZXByZXNlbnQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAibm9ybWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4OjpzaGFkZXJfaXNwYXJtIjogIjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzcGFyZV9jYXRlZ29yeSI6ICJTaGFkZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2hhZGVyX3JlbmRlcmNvbnRleHRuYW1lIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAibXRseCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiUmVuZGVyIENvbnRleHQgTmFtZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogIm5vcm1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6c2hhZGVyX2lzcGFybSI6ICIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3BhcmVfY2F0ZWdvcnkiOiAiU2hhZGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhYm1lbnVtYXNrIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAiTWF0ZXJpYWxYIHBhcmFtZXRlciBjb25zdGFudCBjb2xsZWN0IG51bGwgZ2VuZXJpY3NoYWRlciBzdWJuZXQgc3VibmV0Y29ubmVjdG9yIHN1Ym91dHB1dCBzdWJpbnB1dCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiVGFiIE1lbnUgTWFzayIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogIm5vcm1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNwYXJlX2NhdGVnb3J5IjogIlRhYiBNZW51IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFncyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdyb3VwX3R5cGUiOiAiY29sbGFwc2libGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4OjpzaGFkZXJfaXNwYXJtIjogIjAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJmb2xkZXJfY29sbGFwc2libGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgInBvc2l0aW9uIjogWwogICAgICAgICAgICAgICAgICAgIDUuNSwKICAgICAgICAgICAgICAgICAgICA0Ny44NQogICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICJzaXplIjogWwogICAgICAgICAgICAgICAgICAgIDEuNzcsCiAgICAgICAgICAgICAgICAgICAgMC44MwogICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICJ0eXBlIjogInN1Ym5ldCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgInNwaGVyZSI6IHsKICAgICAgICAgICAgICAgICJjaGlsZHJlbiI6IHsKICAgICAgICAgICAgICAgICAgICAiZGlzcGxhY2VtZW50X291dHB1dCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgImNvbG9yIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgMC42LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMC42OSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuODkKICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgImZsYWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbG9yZGVmYXVsdCI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZyb20iOiAibXRseGRpc3BsYWNlbWVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAib3V0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAic3Vib3V0cHV0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29ubmVjdG9ya2luZCI6ICJvdXRwdXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcm1sYWJlbCI6ICJEaXNwbGFjZW1lbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcm1uYW1lIjogImRpc3BsYWNlbWVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFybXR5cGUiOiAiZGlzcGxhY2VtZW50IgogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAyLjUyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLTIuNDMKICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgInNpemUiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjc3LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMC42OAogICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdWJuZXRjb25uZWN0b3IiCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAiaW5wdXRzIjogewogICAgICAgICAgICAgICAgICAgICAgICAiZmxhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlzcGxheSI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVuZGVyIjogdHJ1ZQogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtNC41NCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuMDQKICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgInNpemUiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjc3LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMC41MwogICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdWJpbnB1dCIKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJtdGx4ZGlzcGxhY2VtZW50IjogewogICAgICAgICAgICAgICAgICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMC4yOSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0yLjQzCiAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICJzaXplIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgMS43NywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuODMKICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAibXRseGRpc3BsYWNlbWVudCIKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJtdGx4c3RhbmRhcmRfc3VyZmFjZSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInBhcm1zIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgImJhc2VfY29sb3IiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMC4yNSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMC4yOSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuMDQKICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgInNpemUiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjc3LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMS44OAogICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJtdGx4c3RhbmRhcmRfc3VyZmFjZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ1c2VyX2RhdGEiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiX19pbnB1dGdyb3VwXyI6ICJjb2xsYXBzZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIl9faW5wdXRncm91cF9CYXNlIjogImNvbGxhcHNlZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiX19pbnB1dGdyb3VwX0NvYXQiOiAiY29sbGFwc2VkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJfX2lucHV0Z3JvdXBfRW1pc3Npb24iOiAiY29sbGFwc2VkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJfX2lucHV0Z3JvdXBfR2VvbWV0cnkiOiAiY29sbGFwc2VkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJfX2lucHV0Z3JvdXBfU2hlZW4iOiAiY29sbGFwc2VkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJfX2lucHV0Z3JvdXBfU3BlY3VsYXIiOiAiY29sbGFwc2VkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJfX2lucHV0Z3JvdXBfU3Vic3VyZmFjZSI6ICJjb2xsYXBzZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIl9faW5wdXRncm91cF9UaGluIEZpbG0iOiAiY29sbGFwc2VkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJfX2lucHV0Z3JvdXBfVHJhbnNtaXNzaW9uIjogImNvbGxhcHNlZCIKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgInN1cmZhY2Vfb3V0cHV0IjogewogICAgICAgICAgICAgICAgICAgICAgICAiY29sb3IiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjg5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMC42OSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuNgogICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAiZmxhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29sb3JkZWZhdWx0IjogZmFsc2UKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgImlucHV0cyI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZnJvbSI6ICJtdGx4c3RhbmRhcmRfc3VyZmFjZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAib3V0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAic3Vib3V0cHV0IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29ubmVjdG9ya2luZCI6ICJvdXRwdXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhcm1sYWJlbCI6ICJTdXJmYWNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtbmFtZSI6ICJzdXJmYWNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdHlwZSI6ICJzdXJmYWNlIgogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAyLjUyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMC4wNAogICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAic2l6ZSI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNzcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjY4CiAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN1Ym5ldGNvbm5lY3RvciIKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgImZsYWdzIjogewogICAgICAgICAgICAgICAgICAgICJkaXNwbGF5IjogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAibWF0ZXJpYWwiOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICJyZW5kZXIiOiB0cnVlCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgInBhcm10ZW1wbGF0ZXMiOiBbCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAiaW5zZXJ0X2ZpcnN0IjogIiIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdGVtcGxhdGVzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgImZvbGRlcjEiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIk1hdGVyaWFsWCBCdWlsZGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFybXRlbXBsYXRlcyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImluaGVyaXRfY3RybCI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogMiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJJbmhlcml0IGZyb20gQ2xhc3MiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfaXRlbXMiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiTmV2ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG9rZW4iOiAiMCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkFsd2F5cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0b2tlbiI6ICIxIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiTWF0ZXJpYWwgRmxhZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0b2tlbiI6ICIyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogIm5vcm1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiaW50ZWdlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNlcGFyYXRvcjEiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzZXBhcmF0b3IiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaGFkZXJfYmFzZXByaW1wYXRoIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlZmF1bHRfdmFsdWUiOiAiL19fY2xhc3NfbXRsX18vYCRPU2AiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIkNsYXNzIFByaW0gUGF0aCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogIm5vcm1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9hY3Rpb24iOiAiaW1wb3J0IGxvcHNoYWRlcnV0aWxzXG5sb3BzaGFkZXJ1dGlscy5zZWxlY3RQcmltRnJvbUlucHV0T3JGaWxlKGt3YXJncykiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfYWN0aW9uX2hlbHAiOiAiU2VsZWN0IGEgcHJpbWl0aXZlIGluIHRoZSBTY2VuZSBWaWV3ZXIgb3IgU2NlbmUgR3JhcGggVHJlZSBwYW5lLlxuQ3RybC1jbGljayB0byBzZWxlY3QgdXNpbmcgdGhlIHByaW1pdGl2ZSBwaWNrZXIgZGlhbG9nLiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9hY3Rpb25faWNvbiI6ICJCVVRUT05TX3Jlc2VsZWN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZWZ4OjpzaGFkZXJfaXNwYXJtIjogIjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6OnVzZHBhdGh0eXBlIjogInByaW0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzcGFyZV9jYXRlZ29yeSI6ICJTaGFkZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2hhZGVyX2ZvcmNlY2hpbGRyZW4iOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmYXVsdF92YWx1ZSI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiRm9yY2UgVHJhbnNsYXRpb24gb2YgQ2hpbGRyZW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6OnNoYWRlcl9pc3Bhcm0iOiAiMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNwYXJlX2NhdGVnb3J5IjogIlNoYWRlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJ0b2dnbGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaGFkZXJfcmVmZXJlbmNldHlwZSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleHByZXNzaW9uIjogIm4gPSBob3UucHdkKClcbm5faGFzRmxhZyA9IG4uaXNNYXRlcmlhbEZsYWdTZXQoKVxuaSA9IG4uZXZhbFBhcm0oJ2luaGVyaXRfY3RybCcpXG5yID0gJ25vbmUnXG5pZiBpID09IDEgb3IgKG5faGFzRmxhZyBhbmQgaSA9PSAyKTpcbiAgICByID0gJ2luaGVyaXQnXG5yZXR1cm4gciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhbmd1YWdlIjogInB5dGhvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGFiZWwiOiAiQ2xhc3MgQXJjIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X2l0ZW1zIjogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIk5vbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG9rZW4iOiAibm9uZSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlJlZmVyZW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0b2tlbiI6ICJyZWZlcmVuY2UiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJJbmhlcml0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRva2VuIjogImluaGVyaXQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJTcGVjaWFsaXplIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRva2VuIjogInNwZWNpYWxpemUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJSZXByZXNlbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG9rZW4iOiAicmVwcmVzZW50IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWVudV90eXBlIjogIm5vcm1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6c2hhZGVyX2lzcGFybSI6ICIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3BhcmVfY2F0ZWdvcnkiOiAiU2hhZGVyIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNoYWRlcl9yZW5kZXJjb250ZXh0bmFtZSI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogIm10bHgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlJlbmRlciBDb250ZXh0IE5hbWUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJub3JtYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlZng6OnNoYWRlcl9pc3Bhcm0iOiAiMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNwYXJlX2NhdGVnb3J5IjogIlNoYWRlciIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWJtZW51bWFzayI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogIk1hdGVyaWFsWCBwYXJhbWV0ZXIgY29uc3RhbnQgY29sbGVjdCBudWxsIGdlbmVyaWNzaGFkZXIgc3VibmV0IHN1Ym5ldGNvbm5lY3RvciBzdWJvdXRwdXQgc3ViaW5wdXQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlRhYiBNZW51IE1hc2siLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1lbnVfdHlwZSI6ICJub3JtYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdF9jYWxsYmFja19sYW5ndWFnZSI6ICJoc2NyaXB0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzcGFyZV9jYXRlZ29yeSI6ICJUYWIgTWVudSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhZ3MiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJncm91cF90eXBlIjogImNvbGxhcHNpYmxlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGVmeDo6c2hhZGVyX2lzcGFybSI6ICIwIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiZm9sZGVyX2NvbGxhcHNpYmxlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgICAgICAgICA1LjQ0LAogICAgICAgICAgICAgICAgICAgIDQ2LjE2CiAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgInNpemUiOiBbCiAgICAgICAgICAgICAgICAgICAgMS43NywKICAgICAgICAgICAgICAgICAgICAwLjgzCiAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgInR5cGUiOiAic3VibmV0IgogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAiaW5wdXRzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiZnJvbSI6ICJtZXJnZTEiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMAogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicGFybXMiOiB7CiAgICAgICAgICAgICJtYXRlcmlhbHMiOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgImFzc2lnbiMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAiZW5hYmxlIyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInZpc2libGUiOiBmYWxzZQogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgImdlb3BhdGgjIjogewogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAibWF0ZmxhZyMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICJ2aXNpYmxlIjogZmFsc2UKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICJtYXRub2RlIyI6IHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIjogIioiLAogICAgICAgICAgICAgICAgICAgICAgICAidmlzaWJsZSI6IGZhbHNlCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAibWF0cGF0aCMiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2aXNpYmxlIjogZmFsc2UKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0KICAgICAgICB9LAogICAgICAgICJwYXJtdGVtcGxhdGVzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiaW5zZXJ0X2FmdGVyIjogIm1hdHBhdGhwcmVmaXgiLAogICAgICAgICAgICAgICAgInBhcm10ZW1wbGF0ZXMiOiB7CiAgICAgICAgICAgICAgICAgICAgInRhYm1lbnVmb2xkZXIiOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICJsYWJlbCI6ICJUYWIgTWVudSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJwYXJtdGVtcGxhdGVzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhYm1lbnVtYXNrIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0X3ZhbHVlIjogIipidWlsZGVyIHBhcmFtZXRlciBjb25zdGFudCByYW1wcGFybSBjb2xsZWN0IG51bGwgc3VibmV0IHN1Ym5ldGNvbm5lY3RvciBzdWJvdXRwdXQgc3ViaW5wdXQgZ2VuZXJpY3NoYWRlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhYmVsIjogIlRhYiBNZW51IE1hc2siLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtZW51X3R5cGUiOiAibm9ybWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2NyaXB0X2NhbGxiYWNrX2xhbmd1YWdlIjogImhzY3JpcHQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3BhcmVfY2F0ZWdvcnkiOiAiVGFiIE1lbnUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJzY3JpcHRfY2FsbGJhY2tfbGFuZ3VhZ2UiOiAiaHNjcmlwdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJ0YWdzIjogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgImdyb3VwX3R5cGUiOiAiY29sbGFwc2libGUiCiAgICAgICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogImZvbGRlcl9jb2xsYXBzaWJsZSIKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICBdLAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgMS4wMiwKICAgICAgICAgICAgLTIuOTkKICAgICAgICBdLAogICAgICAgICJ0eXBlIjogIm1hdGVyaWFsbGlicmFyeSIKICAgIH0sCiAgICAibWVyZ2UxIjogewogICAgICAgICJpbnB1dHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogInNwaGVyZSIsCiAgICAgICAgICAgICAgICAiZnJvbV9pbmRleCI6IDAsCiAgICAgICAgICAgICAgICAidG9faW5kZXgiOiAwCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJmcm9tIjogImN1YmUiLAogICAgICAgICAgICAgICAgImZyb21faW5kZXgiOiAwLAogICAgICAgICAgICAgICAgInRvX2luZGV4IjogMQogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAicG9zaXRpb24iOiBbCiAgICAgICAgICAgIDEuMDIsCiAgICAgICAgICAgIC0xLjY5CiAgICAgICAgXSwKICAgICAgICAidHlwZSI6ICJtZXJnZSIKICAgIH0sCiAgICAic3BoZXJlIjogewogICAgICAgICJwYXJtcyI6IHsKICAgICAgICAgICAgInByaW1wYXRoIjogIi9nZW8vJE9TIiwKICAgICAgICAgICAgInQiOiBbCiAgICAgICAgICAgICAgICAtMywKICAgICAgICAgICAgICAgIDAsCiAgICAgICAgICAgICAgICAwCiAgICAgICAgICAgIF0KICAgICAgICB9LAogICAgICAgICJwb3NpdGlvbiI6IFsKICAgICAgICAgICAgMCwKICAgICAgICAgICAgMAogICAgICAgIF0sCiAgICAgICAgInR5cGUiOiAic3BoZXJlIgogICAgfQp9