{
"_readme" : [
"This file locks the dependencies of your project to a known state" ,
"Read more about it at https://g...content-available-to-author-only...r.org/doc/01-basic-usage.md#installing-dependencies" ,
"This file is @generated automatically"
] ,
"content-hash" : "c45927154818ea2ace2b91ce3d890ee6" ,
"packages" : [
{
"name" : "myclabs/php-enum" ,
"version" : "1.7.1" ,
"source" : {
"type" : "git" ,
"url" : "https://g...content-available-to-author-only...b.com/myclabs/php-enum.git" ,
"reference" : "f46847626b8739de22e4ebc6b56010f317d4448d"
} ,
"dist" : {
"type" : "zip" ,
"url" : "https://a...content-available-to-author-only...b.com/repos/myclabs/php-enum/zipball/f46847626b8739de22e4ebc6b56010f317d4448d" ,
"reference" : "f46847626b8739de22e4ebc6b56010f317d4448d" ,
"shasum" : ""
} ,
"require" : {
"ext-json" : "*" ,
"php" : ">=7.1"
} ,
"require-dev" : {
"phpunit/phpunit" : "^4.8.35|^5.7|^6.0" ,
"squizlabs/php_codesniffer" : "1.*"
} ,
"type" : "library" ,
"autoload" : {
"psr-4" : {
"MyCLabs\\ Enum\\ " : "src/"
}
} ,
"notification-url" : "https://p...content-available-to-author-only...t.org/downloads/" ,
"license" : [
"MIT"
] ,
"authors" : [
{
"name" : "PHP Enum contributors" ,
"homepage" : "https://g...content-available-to-author-only...b.com/myclabs/php-enum/graphs/contributors"
}
] ,
"description" : "PHP Enum implementation" ,
"homepage" : "http://g...content-available-to-author-only...b.com/myclabs/php-enum" ,
"keywords" : [
"enum"
] ,
"time" : "2019-05-05T10:12:03+00:00"
} ,
{
"name" : "symfony/polyfill-ctype" ,
"version" : "v1.11.0" ,
"source" : {
"type" : "git" ,
"url" : "https://g...content-available-to-author-only...b.com/symfony/polyfill-ctype.git" ,
"reference" : "82ebae02209c21113908c229e9883c419720738a"
} ,
"dist" : {
"type" : "zip" ,
"url" : "https://a...content-available-to-author-only...b.com/repos/symfony/polyfill-ctype/zipball/82ebae02209c21113908c229e9883c419720738a" ,
"reference" : "82ebae02209c21113908c229e9883c419720738a" ,
"shasum" : ""
} ,
"require" : {
"php" : ">=5.3.3"
} ,
"suggest" : {
"ext-ctype" : "For best performance"
} ,
"type" : "library" ,
"extra" : {
"branch-alias" : {
"dev-master" : "1.11-dev"
}
} ,
"autoload" : {
"psr-4" : {
"Symfony\\ Polyfill\\ Ctype\\ " : ""
} ,
"files" : [
"bootstrap.php"
]
} ,
"notification-url" : "https://p...content-available-to-author-only...t.org/downloads/" ,
"license" : [
"MIT"
] ,
"authors" : [
{
"name" : "Symfony Community" ,
"homepage" : "https://s...content-available-to-author-only...y.com/contributors"
} ,
{
"name" : "Gert de Pagter" ,
"email" : "BackEndTea@gmail.com"
}
] ,
"description" : "Symfony polyfill for ctype functions" ,
"homepage" : "https://s...content-available-to-author-only...y.com" ,
"keywords" : [
"compatibility" ,
"ctype" ,
"polyfill" ,
"portable"
] ,
"time" : "2019-02-06T07:57:58+00:00"
} ,
{
"name" : "webmozart/assert" ,
"version" : "1.4.0" ,
"source" : {
"type" : "git" ,
"url" : "https://g...content-available-to-author-only...b.com/webmozart/assert.git" ,
"reference" : "83e253c8e0be5b0257b881e1827274667c5c17a9"
} ,
"dist" : {
"type" : "zip" ,
"url" : "https://a...content-available-to-author-only...b.com/repos/webmozart/assert/zipball/83e253c8e0be5b0257b881e1827274667c5c17a9" ,
"reference" : "83e253c8e0be5b0257b881e1827274667c5c17a9" ,
"shasum" : ""
} ,
"require" : {
"php" : "^5.3.3 || ^7.0" ,
"symfony/polyfill-ctype" : "^1.8"
} ,
"require-dev" : {
"phpunit/phpunit" : "^4.6" ,
"sebastian/version" : "^1.0.1"
} ,
"type" : "library" ,
"extra" : {
"branch-alias" : {
"dev-master" : "1.3-dev"
}
} ,
"autoload" : {
"psr-4" : {
"Webmozart\\ Assert\\ " : "src/"
}
} ,
"notification-url" : "https://p...content-available-to-author-only...t.org/downloads/" ,
"license" : [
"MIT"
] ,
"authors" : [
{
"name" : "Bernhard Schussek" ,
"email" : "bschussek@gmail.com"
}
] ,
"description" : "Assertions to validate method input/output with nice error messages." ,
"keywords" : [
"assert" ,
"check" ,
"validate"
] ,
"time" : "2018-12-25T11:19:39+00:00"
}
] ,
"packages-dev" : [
{
"name" : "doctrine/instantiator" ,
"version" : "1.2.0" ,
"source" : {
"type" : "git" ,
"url" : "https://g...content-available-to-author-only...b.com/doctrine/instantiator.git" ,
"reference" : "a2c590166b2133a4633738648b6b064edae0814a"
} ,
"dist" : {
"type" : "zip" ,
"url" : "https://a...content-available-to-author-only...b.com/repos/doctrine/instantiator/zipball/a2c590166b2133a4633738648b6b064edae0814a" ,
"reference" : "a2c590166b2133a4633738648b6b064edae0814a" ,
"shasum" : ""
} ,
"require" : {
"php" : "^7.1"
} ,
"require-dev" : {
"doctrine/coding-standard" : "^6.0" ,
"ext-pdo" : "*" ,
"ext-phar" : "*" ,
"phpbench/phpbench" : "^0.13" ,
"phpstan/phpstan-phpunit" : "^0.11" ,
"phpstan/phpstan-shim" : "^0.11" ,
"phpunit/phpunit" : "^7.0"
} ,
"type" : "library" ,
"extra" : {
"branch-alias" : {
"dev-master" : "1.2.x-dev"
}
} ,
"autoload" : {
"psr-4" : {
"Doctrine\\ Instantiator\\ " : "src/Doctrine/Instantiator/"
}
} ,
"notification-url" : "https://p...content-available-to-author-only...t.org/downloads/" ,
"license" : [
"MIT"
] ,
"authors" : [
{
"name" : "Marco Pivetta" ,
"email" : "ocramius@gmail.com" ,
"homepage" : "http://o...content-available-to-author-only...b.com/"
}
] ,
"description" : "A small, lightweight utility to instantiate objects in PHP without invoking their constructors" ,
"homepage" : "https://w...content-available-to-author-only...t.org/projects/instantiator.html" ,
"keywords" : [
"constructor" ,
"instantiate"
] ,
"time" : "2019-03-17T17:37:11+00:00"
} ,
{
"name" : "myclabs/deep-copy" ,
"version" : "1.9.1" ,
"source" : {
"type" : "git" ,
"url" : "https://g...content-available-to-author-only...b.com/myclabs/DeepCopy.git" ,
"reference" : "e6828efaba2c9b79f4499dae1d66ef8bfa7b2b72"
} ,
"dist" : {
"type" : "zip" ,
"url" : "https://a...content-available-to-author-only...b.com/repos/myclabs/DeepCopy/zipball/e6828efaba2c9b79f4499dae1d66ef8bfa7b2b72" ,
"reference" : "e6828efaba2c9b79f4499dae1d66ef8bfa7b2b72" ,
"shasum" : ""
} ,
"require" : {
"php" : "^7.1"
} ,
"replace" : {
"myclabs/deep-copy" : "self.version"
} ,
"require-dev" : {
"doctrine/collections" : "^1.0" ,
"doctrine/common" : "^2.6" ,
"phpunit/phpunit" : "^7.1"
} ,
"type" : "library" ,
"autoload" : {
"psr-4" : {
"DeepCopy\\ " : "src/DeepCopy/"
} ,
"files" : [
"src/DeepCopy/deep_copy.php"
]
} ,
"notification-url" : "https://p...content-available-to-author-only...t.org/downloads/" ,
"license" : [
"MIT"
] ,
"description" : "Create deep copies (clones) of your objects" ,
"keywords" : [
"clone" ,
"copy" ,
"duplicate" ,
"object" ,
"object graph"
] ,
"time" : "2019-04-07T13:18:21+00:00"
} ,
{
"name" : "phar-io/manifest" ,
"version" : "1.0.3" ,
"source" : {
"type" : "git" ,
"url" : "https://g...content-available-to-author-only...b.com/phar-io/manifest.git" ,
"reference" : "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4"
} ,
"dist" : {
"type" : "zip" ,
"url" : "https://a...content-available-to-author-only...b.com/repos/phar-io/manifest/zipball/7761fcacf03b4d4f16e7ccb606d4879ca431fcf4" ,
"reference" : "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4" ,
"shasum" : ""
} ,
"require" : {
"ext-dom" : "*" ,
"ext-phar" : "*" ,
"phar-io/version" : "^2.0" ,
"php" : "^5.6 || ^7.0"
} ,
"type" : "library" ,
"extra" : {
"branch-alias" : {
"dev-master" : "1.0.x-dev"
}
} ,
"autoload" : {
"classmap" : [
"src/"
]
} ,
"notification-url" : "https://p...content-available-to-author-only...t.org/downloads/" ,
"license" : [
"BSD-3-Clause"
] ,
"authors" : [
{
"name" : "Arne Blankerts" ,
"email" : "arne@blankerts.de" ,
"role" : "Developer"
} ,
{
"name" : "Sebastian Heuer" ,
"email" : "sebastian@phpeople.de" ,
"role" : "Developer"
} ,
{
"name" : "Sebastian Bergmann" ,
"email" : "sebastian@phpunit.de" ,
"role" : "Developer"
}
] ,
"description" : "Component for reading phar.io manifest information from a PHP Archive (PHAR)" ,
"time" : "2018-07-08T19:23:20+00:00"
} ,
{
"name" : "phar-io/version" ,
"version" : "2.0.1" ,
"source" : {
"type" : "git" ,
"url" : "https://g...content-available-to-author-only...b.com/phar-io/version.git" ,
"reference" : "45a2ec53a73c70ce41d55cedef9063630abaf1b6"
} ,
"dist" : {
"type" : "zip" ,
"url" : "https://a...content-available-to-author-only...b.com/repos/phar-io/version/zipball/45a2ec53a73c70ce41d55cedef9063630abaf1b6" ,
"reference" : "45a2ec53a73c70ce41d55cedef9063630abaf1b6" ,
"shasum" : ""
} ,
"require" : {
"php" : "^5.6 || ^7.0"
} ,
"type" : "library" ,
"autoload" : {
"classmap" : [
"src/"
]
} ,
"notification-url" : "https://p...content-available-to-author-only...t.org/downloads/" ,
"license" : [
"BSD-3-Clause"
] ,
"authors" : [
{
"name" : "Arne Blankerts" ,
"email" : "arne@blankerts.de" ,
"role" : "Developer"
} ,
{
"name" : "Sebastian Heuer" ,
"email" : "sebastian@phpeople.de" ,
"role" : "Developer"
} ,
{
"name" : "Sebastian Bergmann" ,
"email" : "sebastian@phpunit.de" ,
"role" : "Developer"
}
] ,
"description" : "Library for handling version information and constraints" ,
"time" : "2018-07-08T19:19:57+00:00"
} ,
{
"name" : "phpdocumentor/reflection-common" ,
"version" : "1.0.1" ,
"source" : {
"type" : "git" ,
"url" : "https://g...content-available-to-author-only...b.com/phpDocumentor/ReflectionCommon.git" ,
"reference" : "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6"
} ,
"dist" : {
"type" : "zip" ,
"url" : "https://a...content-available-to-author-only...b.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6" ,
"reference" : "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6" ,
"shasum" : ""
} ,
"require" : {
"php" : ">=5.5"
} ,
"require-dev" : {
"phpunit/phpunit" : "^4.6"
} ,
"type" : "library" ,
"extra" : {
"branch-alias" : {
"dev-master" : "1.0.x-dev"
}
} ,
"autoload" : {
"psr-4" : {
"phpDocumentor\\ Reflection\\ " : [
"src"
]
}
} ,
"notification-url" : "https://p...content-available-to-author-only...t.org/downloads/" ,
"license" : [
"MIT"
] ,
"authors" : [
{
"name" : "Jaap van Otterdijk" ,
"email" : "opensource@ijaap.nl"
}
] ,
"description" : "Common reflection classes used by phpdocumentor to reflect the code structure" ,
"homepage" : "http://w...content-available-to-author-only...c.org" ,
"keywords" : [
"FQSEN" ,
"phpDocumentor" ,
"phpdoc" ,
"reflection" ,
"static analysis"
] ,
"time" : "2017-09-11T18:02:19+00:00"
} ,
{
"name" : "phpdocumentor/reflection-docblock" ,
"version" : "4.3.1" ,
"source" : {
"type" : "git" ,
"url" : "https://g...content-available-to-author-only...b.com/phpDocumentor/ReflectionDocBlock.git" ,
"reference" : "bdd9f737ebc2a01c06ea7ff4308ec6697db9b53c"
} ,
"dist" : {
"type" : "zip" ,
"url" : "https://a...content-available-to-author-only...b.com/repos/phpDocumentor/ReflectionDocBlock/zipball/bdd9f737ebc2a01c06ea7ff4308ec6697db9b53c" ,
"reference" : "bdd9f737ebc2a01c06ea7ff4308ec6697db9b53c" ,
"shasum" : ""
} ,
"require" : {
"php" : "^7.0" ,
"phpdocumentor/reflection-common" : "^1.0.0" ,
"phpdocumentor/type-resolver" : "^0.4.0" ,
"webmozart/assert" : "^1.0"
} ,
"require-dev" : {
"doctrine/instantiator" : "~1.0.5" ,
"mockery/mockery" : "^1.0" ,
"phpunit/phpunit" : "^6.4"
} ,
"type" : "library" ,
"extra" : {
"branch-alias" : {
"dev-master" : "4.x-dev"
}
} ,
"autoload" : {
"psr-4" : {
"phpDocumentor\\ Reflection\\ " : [
"src/"
]
}
} ,
"notification-url" : "https://p...content-available-to-author-only...t.org/downloads/" ,
"license" : [
"MIT"
] ,
"authors" : [
{
"name" : "Mike van Riel" ,
"email" : "me@mikevanriel.com"
}
] ,
"description" : "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock." ,
"time" : "2019-04-30T17:48:53+00:00"
} ,
{
"name" : "phpdocumentor/type-resolver" ,
"version" : "0.4.0" ,
"source" : {
"type" : "git" ,
"url" : "https://g...content-available-to-author-only...b.com/phpDocumentor/TypeResolver.git" ,
"reference" : "9c977708995954784726e25d0cd1dddf4e65b0f7"
} ,
"dist" : {
"type" : "zip" ,
"url" : "https://a...content-available-to-author-only...b.com/repos/phpDocumentor/TypeResolver/zipball/9c977708995954784726e25d0cd1dddf4e65b0f7" ,
"reference" : "9c977708995954784726e25d0cd1dddf4e65b0f7" ,
"shasum" : ""
} ,
"require" : {
"php" : "^5.5 || ^7.0" ,
"phpdocumentor/reflection-common" : "^1.0"
} ,
"require-dev" : {
"mockery/mockery" : "^0.9.4" ,
"phpunit/phpunit" : "^5.2||^4.8.24"
} ,
"type" : "library" ,
"extra" : {
"branch-alias" : {
"dev-master" : "1.0.x-dev"
}
} ,
"autoload" : {
"psr-4" : {
"phpDocumentor\\ Reflection\\ " : [
"src/"
]
}
} ,
"notification-url" : "https://p...content-available-to-author-only...t.org/downloads/" ,
"license" : [
"MIT"
] ,
"authors" : [
{
"name" : "Mike van Riel" ,
"email" : "me@mikevanriel.com"
}
] ,
"time" : "2017-07-14T14:27:02+00:00"
} ,
{
"name" : "phpspec/prophecy" ,
"version" : "1.8.0" ,
"source" : {
"type" : "git" ,
"url" : "https://g...content-available-to-author-only...b.com/phpspec/prophecy.git" ,
"reference" : "4ba436b55987b4bf311cb7c6ba82aa528aac0a06"
} ,
"dist" : {
"type" : "zip" ,
"url" : "https://a...content-available-to-author-only...b.com/repos/phpspec/prophecy/zipball/4ba436b55987b4bf311cb7c6ba82aa528aac0a06" ,
"reference" : "4ba436b55987b4bf311cb7c6ba82aa528aac0a06" ,
"shasum" : ""
} ,
"require" : {
"doctrine/instantiator" : "^1.0.2" ,
"php" : "^5.3|^7.0" ,
"phpdocumentor/reflection-docblock" : "^2.0|^3.0.2|^4.0" ,
"sebastian/comparator" : "^1.1|^2.0|^3.0" ,
"sebastian/recursion-context" : "^1.0|^2.0|^3.0"
} ,
"require-dev" : {
"phpspec/phpspec" : "^2.5|^3.2" ,
"phpunit/phpunit" : "^4.8.35 || ^5.7 || ^6.5 || ^7.1"
} ,
"type" : "library" ,
"extra" : {
"branch-alias" : {
"dev-master" : "1.8.x-dev"
}
} ,
"autoload" : {
"psr-0" : {
"Prophecy\\ " : "src/"
}
} ,
"notification-url" : "https://p...content-available-to-author-only...t.org/downloads/" ,
"license" : [
"MIT"
] ,
"authors" : [
{
"name" : "Konstantin Kudryashov" ,
"email" : "ever.zet@gmail.com" ,
"homepage" : "http://e...content-available-to-author-only...t.com"
} ,
{
"name" : "Marcello Duarte" ,
"email" : "marcello.duarte@gmail.com"
}
] ,
"description" : "Highly opinionated mocking framework for PHP 5.3+" ,
"homepage" : "https://g...content-available-to-author-only...b.com/phpspec/prophecy" ,
"keywords" : [
"Double" ,
"Dummy" ,
"fake" ,
"mock" ,
"spy" ,
"stub"
] ,
"time" : "2018-08-05T17:53:17+00:00"
} ,
{
"name" : "phpunit/php-code-coverage" ,
"version" : "7.0.4" ,
"source" : {
"type" : "git" ,
"url" : "https://g...content-available-to-author-only...b.com/sebastianbergmann/php-code-coverage.git" ,
"reference" : "6024c8a6cb962d496b7bd049ed8f48473824176d"
} ,
"dist" : {
"type" : "zip" ,
"url" : "https://a...content-available-to-author-only...b.com/repos/sebastianbergmann/php-code-coverage/zipball/6024c8a6cb962d496b7bd049ed8f48473824176d" ,
"reference" : "6024c8a6cb962d496b7bd049ed8f48473824176d" ,
"shasum" : ""
} ,
"require" : {
"ext-dom" : "*" ,
"ext-xmlwriter" : "*" ,
"php" : "^7.2" ,
"phpunit/php-file-iterator" : "^2.0.2" ,
"phpunit/php-text-template" : "^1.2.1" ,
"phpunit/php-token-stream" : "^3.0.1" ,
"sebastian/code-unit-reverse-lookup" : "^1.0.1" ,
"sebastian/environment" : "^4.1" ,
"sebastian/version" : "^2.0.1" ,
"theseer/tokenizer" : "^1.1"
} ,
"require-dev" : {
"phpunit/phpunit" : "^8.0"
} ,
"suggest" : {
"ext-xdebug" : "^2.6.1"
} ,
"type" : "library" ,
"extra" : {
"branch-alias" : {
"dev-master" : "7.0-dev"
}
} ,
"autoload" : {
"classmap" : [
"src/"
]
} ,
"notification-url" : "https://p...content-available-to-author-only...t.org/downloads/" ,
"license" : [
"BSD-3-Clause"
] ,
"authors" : [
{
"name" : "Sebastian Bergmann" ,
"email" : "sebastian@phpunit.de" ,
"role" : "lead"
}
] ,
"description" : "Library that provides collection, processing, and rendering functionality for PHP code coverage information." ,
"homepage" : "https://g...content-available-to-author-only...b.com/sebastianbergmann/php-code-coverage" ,
"keywords" : [
"coverage" ,
"testing" ,
"xunit"
] ,
"time" : "2019-05-29T09:59:31+00:00"
} ,
{
"name" : "phpunit/php-file-iterator" ,
"version" : "2.0.2" ,
"source" : {
"type" : "git" ,
"url" : "https://g...content-available-to-author-only...b.com/sebastianbergmann/php-file-iterator.git" ,
"reference" : "050bedf145a257b1ff02746c31894800e5122946"
} ,
"dist" : {
"type" : "zip" ,
"url" : "https://a...content-available-to-author-only...b.com/repos/sebastianbergmann/php-file-iterator/zipball/050bedf145a257b1ff02746c31894800e5122946" ,
"reference" : "050bedf145a257b1ff02746c31894800e5122946" ,
"shasum" : ""
} ,
"require" : {
"php" : "^7.1"
} ,
"require-dev" : {
"phpunit/phpunit" : "^7.1"
} ,
"type" : "library" ,
"extra" : {
"branch-alias" : {
"dev-master" : "2.0.x-dev"
}
} ,
"autoload" : {
"classmap" : [
"src/"
]
} ,
"notification-url" : "https://p...content-available-to-author-only...t.org/downloads/" ,
"license" : [
"BSD-3-Clause"
] ,
"authors" : [
{
"name" : "Sebastian Bergmann" ,
"email" : "sebastian@phpunit.de" ,
"role" : "lead"
}
] ,
"description" : "FilterIterator implementation that filters files based on a list of suffixes." ,
"homepage" : "https://g...content-available-to-author-only...b.com/sebastianbergmann/php-file-iterator/" ,
"keywords" : [
"filesystem" ,
"iterator"
] ,
"time" : "2018-09-13T20:33:42+00:00"
} ,
{
"name" : "phpunit/php-text-template" ,
"version" : "1.2.1" ,
"source" : {
"type" : "git" ,
"url" : "https://g...content-available-to-author-only...b.com/sebastianbergmann/php-text-template.git" ,
"reference" : "31f8b717e51d9a2afca6c9f046f5d69fc27c8686"
} ,
"dist" : {
"type" : "zip" ,
"url" : "https://a...content-available-to-author-only...b.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686" ,
"reference" : "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" ,
"shasum" : ""
} ,
"require" : {
"php" : ">=5.3.3"
} ,
"type" : "library" ,
"autoload" : {
"classmap" : [
"src/"
]
} ,
"notification-url" : "https://p...content-available-to-author-only...t.org/downloads/" ,
"license" : [
"BSD-3-Clause"
] ,
"authors" : [
{
"name" : "Sebastian Bergmann" ,
"email" : "sebastian@phpunit.de" ,
"role" : "lead"
}
] ,
"description" : "Simple template engine." ,
"homepage" : "https://g...content-available-to-author-only...b.com/sebastianbergmann/php-text-template/" ,
"keywords" : [
"template"
] ,
"time" : "2015-06-21T13:50:34+00:00"
} ,
{
"name" : "phpunit/php-timer" ,
"version" : "2.1.1" ,
"source" : {
"type" : "git" ,
"url" : "https://g...content-available-to-author-only...b.com/sebastianbergmann/php-timer.git" ,
"reference" : "8b389aebe1b8b0578430bda0c7c95a829608e059"
} ,
"dist" : {
"type" : "zip" ,
"url" : "https://a...content-available-to-author-only...b.com/repos/sebastianbergmann/php-timer/zipball/8b389aebe1b8b0578430bda0c7c95a829608e059" ,
"reference" : "8b389aebe1b8b0578430bda0c7c95a829608e059" ,
"shasum" : ""
} ,
"require" : {
"php" : "^7.1"
} ,
"require-dev" : {
"phpunit/phpunit" : "^7.0"
} ,
"type" : "library" ,
"extra" : {
"branch-alias" : {
"dev-master" : "2.1-dev"
}
} ,
"autoload" : {
"classmap" : [
"src/"
]
} ,
"notification-url" : "https://p...content-available-to-author-only...t.org/downloads/" ,
"license" : [
"BSD-3-Clause"
] ,
"authors" : [
{
"name" : "Sebastian Bergmann" ,
"email" : "sebastian@phpunit.de" ,
"role" : "lead"
}
] ,
"description" : "Utility class for timing" ,
"homepage" : "https://g...content-available-to-author-only...b.com/sebastianbergmann/php-timer/" ,
"keywords" : [
"timer"
] ,
"time" : "2019-02-20T10:12:59+00:00"
} ,
{
"name" : "phpunit/php-token-stream" ,
"version" : "3.0.1" ,
"source" : {
"type" : "git" ,
"url" : "https://g...content-available-to-author-only...b.com/sebastianbergmann/php-token-stream.git" ,
"reference" : "c99e3be9d3e85f60646f152f9002d46ed7770d18"
} ,
"dist" : {
"type" : "zip" ,
"url" : "https://a...content-available-to-author-only...b.com/repos/sebastianbergmann/php-token-stream/zipball/c99e3be9d3e85f60646f152f9002d46ed7770d18" ,
"reference" : "c99e3be9d3e85f60646f152f9002d46ed7770d18" ,
"shasum" : ""
} ,
"require" : {
"ext-tokenizer" : "*" ,
"php" : "^7.1"
} ,
"require-dev" : {
"phpunit/phpunit" : "^7.0"
} ,
"type" : "library" ,
"extra" : {
"branch-alias" : {
"dev-master" : "3.0-dev"
}
} ,
"autoload" : {
"classmap" : [
"src/"
]
} ,
"notification-url" : "https://p...content-available-to-author-only...t.org/downloads/" ,
"license" : [
"BSD-3-Clause"
] ,
"authors" : [
{
"name" : "Sebastian Bergmann" ,
"email" : "sebastian@phpunit.de"
}
] ,
"description" : "Wrapper around PHP's tokenizer extension." ,
"homepage" : "https://g...content-available-to-author-only...b.com/sebastianbergmann/php-token-stream/" ,
"keywords" : [
"tokenizer"
] ,
"time" : "2018-10-30T05:52:18+00:00"
} ,
{
"name" : "phpunit/phpunit" ,
"version" : "8.1.6" ,
"source" : {
"type" : "git" ,
"url" : "https://g...content-available-to-author-only...b.com/sebastianbergmann/phpunit.git" ,
"reference" : "e3c9da6e645492c461e0a11eca117f83f4f4c840"
} ,
"dist" : {
"type" : "zip" ,
"url" : "https://a...content-available-to-author-only...b.com/repos/sebastianbergmann/phpunit/zipball/e3c9da6e645492c461e0a11eca117f83f4f4c840" ,
"reference" : "e3c9da6e645492c461e0a11eca117f83f4f4c840" ,
"shasum" : ""
} ,
"require" : {
"doctrine/instantiator" : "^1.1" ,
"ext-dom" : "*" ,
"ext-json" : "*" ,
"ext-libxml" : "*" ,
"ext-mbstring" : "*" ,
"ext-xml" : "*" ,
"ext-xmlwriter" : "*" ,
"myclabs/deep-copy" : "^1.7" ,
"phar-io/manifest" : "^1.0.2" ,
"phar-io/version" : "^2.0" ,
"php" : "^7.2" ,
"phpspec/prophecy" : "^1.7" ,
"phpunit/php-code-coverage" : "^7.0" ,
"phpunit/php-file-iterator" : "^2.0.1" ,
"phpunit/php-text-template" : "^1.2.1" ,
"phpunit/php-timer" : "^2.1" ,
"sebastian/comparator" : "^3.0" ,
"sebastian/diff" : "^3.0" ,
"sebastian/environment" : "^4.1" ,
"sebastian/exporter" : "^3.1" ,
"sebastian/global-state" : "^3.0" ,
"sebastian/object-enumerator" : "^3.0.3" ,
"sebastian/resource-operations" : "^2.0" ,
"sebastian/version" : "^2.0.1"
} ,
"require-dev" : {
"ext-pdo" : "*"
} ,
"suggest" : {
"ext-soap" : "*" ,
"ext-xdebug" : "*" ,
"phpunit/php-invoker" : "^2.0"
} ,
"bin" : [
"phpunit"
] ,
"type" : "library" ,
"extra" : {
"branch-alias" : {
"dev-master" : "8.1-dev"
}
} ,
"autoload" : {
"classmap" : [
"src/"
]
} ,
"notification-url" : "https://p...content-available-to-author-only...t.org/downloads/" ,
"license" : [
"BSD-3-Clause"
] ,
"authors" : [
{
"name" : "Sebastian Bergmann" ,
"email" : "sebastian@phpunit.de" ,
"role" : "lead"
}
] ,
"description" : "The PHP Unit Testing framework." ,
"homepage" : "https://p...content-available-to-author-only...t.de/" ,
"keywords" : [
"phpunit" ,
"testing" ,
"xunit"
] ,
"time" : "2019-05-28T11:53:42+00:00"
} ,
{
"name" : "sebastian/code-unit-reverse-lookup" ,
"version" : "1.0.1" ,
"source" : {
"type" : "git" ,
"url" : "https://g...content-available-to-author-only...b.com/sebastianbergmann/code-unit-reverse-lookup.git" ,
"reference" : "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18"
} ,
"dist" : {
"type" : "zip" ,
"url" : "https://a...content-available-to-author-only...b.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/4419fcdb5eabb9caa61a27c7a1db532a6b55dd18" ,
"reference" : "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18" ,
"shasum" : ""
} ,
"require" : {
"php" : "^5.6 || ^7.0"
} ,
"require-dev" : {
"phpunit/phpunit" : "^5.7 || ^6.0"
} ,
"type" : "library" ,
"extra" : {
"branch-alias" : {
"dev-master" : "1.0.x-dev"
}
} ,
"autoload" : {
"classmap" : [
"src/"
]
} ,
"notification-url" : "https://p...content-available-to-author-only...t.org/downloads/" ,
"license" : [
"BSD-3-Clause"
] ,
"authors" : [
{
"name" : "Sebastian Bergmann" ,
"email" : "sebastian@phpunit.de"
}
] ,
"description" : "Looks up which function or method a line of code belongs to" ,
"homepage" : "https://g...content-available-to-author-only...b.com/sebastianbergmann/code-unit-reverse-lookup/" ,
"time" : "2017-03-04T06:30:41+00:00"
} ,
{
"name" : "sebastian/comparator" ,
"version" : "3.0.2" ,
"source" : {
"type" : "git" ,
"url" : "https://g...content-available-to-author-only...b.com/sebastianbergmann/comparator.git" ,
"reference" : "5de4fc177adf9bce8df98d8d141a7559d7ccf6da"
} ,
"dist" : {
"type" : "zip" ,
"url" : "https://a...content-available-to-author-only...b.com/repos/sebastianbergmann/comparator/zipball/5de4fc177adf9bce8df98d8d141a7559d7ccf6da" ,
"reference" : "5de4fc177adf9bce8df98d8d141a7559d7ccf6da" ,
"shasum" : ""
} ,
"require" : {
"php" : "^7.1" ,
"sebastian/diff" : "^3.0" ,
"sebastian/exporter" : "^3.1"
} ,
"require-dev" : {
"phpunit/phpunit" : "^7.1"
} ,
"type" : "library" ,
"extra" : {
"branch-alias" : {
"dev-master" : "3.0-dev"
}
} ,
"autoload" : {
"classmap" : [
"src/"
]
} ,
"notification-url" : "https://p...content-available-to-author-only...t.org/downloads/" ,
"license" : [
"BSD-3-Clause"
] ,
"authors" : [
{
"name" : "Jeff Welch" ,
"email" : "whatthejeff@gmail.com"
} ,
{
"name" : "Volker Dusch" ,
"email" : "github@wallbash.com"
} ,
{
"name" : "Bernhard Schussek" ,
"email" : "bschussek@2bepublished.at"
} ,
{
"name" : "Sebastian Bergmann" ,
"email" : "sebastian@phpunit.de"
}
] ,
"description" : "Provides the functionality to compare PHP values for equality" ,
"homepage" : "https://g...content-available-to-author-only...b.com/sebastianbergmann/comparator" ,
"keywords" : [
"comparator" ,
"compare" ,
"equality"
] ,
"time" : "2018-07-12T15:12:46+00:00"
} ,
{
"name" : "sebastian/diff" ,
"version" : "3.0.2" ,
"source" : {
"type" : "git" ,
"url" : "https://g...content-available-to-author-only...b.com/sebastianbergmann/diff.git" ,
"reference" : "720fcc7e9b5cf384ea68d9d930d480907a0c1a29"
} ,
"dist" : {
"type" : "zip" ,
"url" : "https://a...content-available-to-author-only...b.com/repos/sebastianbergmann/diff/zipball/720fcc7e9b5cf384ea68d9d930d480907a0c1a29" ,
"reference" : "720fcc7e9b5cf384ea68d9d930d480907a0c1a29" ,
"shasum" : ""
} ,
"require" : {
"php" : "^7.1"
} ,
"require-dev" : {
"phpunit/phpunit" : "^7.5 || ^8.0" ,
"symfony/process" : "^2 || ^3.3 || ^4"
} ,
"type" : "library" ,
"extra" : {
"branch-alias" : {
"dev-master" : "3.0-dev"
}
} ,
"autoload" : {
"classmap" : [
"src/"
]
} ,
"notification-url" : "https://p...content-available-to-author-only...t.org/downloads/" ,
"license" : [
"BSD-3-Clause"
] ,
"authors" : [
{
"name" : "Kore Nordmann" ,
"email" : "mail@kore-nordmann.de"
} ,
{
"name" : "Sebastian Bergmann" ,
"email" : "sebastian@phpunit.de"
}
] ,
"description" : "Diff implementation" ,
"homepage" : "https://g...content-available-to-author-only...b.com/sebastianbergmann/diff" ,
"keywords" : [
"diff" ,
"udiff" ,
"unidiff" ,
"unified diff"
] ,
"time" : "2019-02-04T06:01:07+00:00"
} ,
{
"name" : "sebastian/environment" ,
"version" : "4.2.2" ,
"source" : {
"type" : "git" ,
"url" : "https://g...content-available-to-author-only...b.com/sebastianbergmann/environment.git" ,
"reference" : "f2a2c8e1c97c11ace607a7a667d73d47c19fe404"
} ,
"dist" : {
"type" : "zip" ,
"url" : "https://a...content-available-to-author-only...b.com/repos/sebastianbergmann/environment/zipball/f2a2c8e1c97c11ace607a7a667d73d47c19fe404" ,
"reference" : "f2a2c8e1c97c11ace607a7a667d73d47c19fe404" ,
"shasum" : ""
} ,
"require" : {
"php" : "^7.1"
} ,
"require-dev" : {
"phpunit/phpunit" : "^7.5"
} ,
"suggest" : {
"ext-posix" : "*"
} ,
"type" : "library" ,
"extra" : {
"branch-alias" : {
"dev-master" : "4.2-dev"
}
} ,
"autoload" : {
"classmap" : [
"src/"
]
} ,
"notification-url" : "https://p...content-available-to-author-only...t.org/downloads/" ,
"license" : [
"BSD-3-Clause"
] ,
"authors" : [
{
"name" : "Sebastian Bergmann" ,
"email" : "sebastian@phpunit.de"
}
] ,
"description" : "Provides functionality to handle HHVM/PHP environments" ,
"homepage" : "http://w...content-available-to-author-only...b.com/sebastianbergmann/environment" ,
"keywords" : [
"Xdebug" ,
"environment" ,
"hhvm"
] ,
"time" : "2019-05-05T09:05:15+00:00"
} ,
{
"name" : "sebastian/exporter" ,
"version" : "3.1.0" ,
"source" : {
"type" : "git" ,
"url" : "https://g...content-available-to-author-only...b.com/sebastianbergmann/exporter.git" ,
"reference" : "234199f4528de6d12aaa58b612e98f7d36adb937"
} ,
"dist" : {
"type" : "zip" ,
"url" : "https://a...content-available-to-author-only...b.com/repos/sebastianbergmann/exporter/zipball/234199f4528de6d12aaa58b612e98f7d36adb937" ,
"reference" : "234199f4528de6d12aaa58b612e98f7d36adb937" ,
"shasum" : ""
} ,
"require" : {
"php" : "^7.0" ,
"sebastian/recursion-context" : "^3.0"
} ,
"require-dev" : {
"ext-mbstring" : "*" ,
"phpunit/phpunit" : "^6.0"
} ,
"type" : "library" ,
"extra" : {
"branch-alias" : {
"dev-master" : "3.1.x-dev"
}
} ,
"autoload" : {
"classmap" : [
"src/"
]
} ,
"notification-url" : "https://p...content-available-to-author-only...t.org/downloads/" ,
"license" : [
"BSD-3-Clause"
] ,
"authors" : [
{
"name" : "Jeff Welch" ,
"email" : "whatthejeff@gmail.com"
} ,
{
"name" : "Volker Dusch" ,
"email" : "github@wallbash.com"
} ,
{
"name" : "Bernhard Schussek" ,
"email" : "bschussek@2bepublished.at"
} ,
{
"name" : "Sebastian Bergmann" ,
"email" : "sebastian@phpunit.de"
} ,
{
"name" : "Adam Harvey" ,
"email" : "aharvey@php.net"
}
] ,
"description" : "Provides the functionality to export PHP variables for visualization" ,
"homepage" : "http://w...content-available-to-author-only...b.com/sebastianbergmann/exporter" ,
"keywords" : [
"export" ,
"exporter"
] ,
"time" : "2017-04-03T13:19:02+00:00"
} ,
{
"name" : "sebastian/global-state" ,
"version" : "3.0.0" ,
"source" : {
"type" : "git" ,
"url" : "https://g...content-available-to-author-only...b.com/sebastianbergmann/global-state.git" ,
"reference" : "edf8a461cf1d4005f19fb0b6b8b95a9f7fa0adc4"
} ,
"dist" : {
"type" : "zip" ,
"url" : "https://a...content-available-to-author-only...b.com/repos/sebastianbergmann/global-state/zipball/edf8a461cf1d4005f19fb0b6b8b95a9f7fa0adc4" ,
"reference" : "edf8a461cf1d4005f19fb0b6b8b95a9f7fa0adc4" ,
"shasum" : ""
} ,
"require" : {
"php" : "^7.2" ,
"sebastian/object-reflector" : "^1.1.1" ,
"sebastian/recursion-context" : "^3.0"
} ,
"require-dev" : {
"ext-dom" : "*" ,
"phpunit/phpunit" : "^8.0"
} ,
"suggest" : {
"ext-uopz" : "*"
} ,
"type" : "library" ,
"extra" : {
"branch-alias" : {
"dev-master" : "3.0-dev"
}
} ,
"autoload" : {
"classmap" : [
"src/"
]
} ,
"notification-url" : "https://p...content-available-to-author-only...t.org/downloads/" ,
"license" : [
"BSD-3-Clause"
] ,
"authors" : [
{
"name" : "Sebastian Bergmann" ,
"email" : "sebastian@phpunit.de"
}
] ,
"description" : "Snapshotting of global state" ,
"homepage" : "http://w...content-available-to-author-only...b.com/sebastianbergmann/global-state" ,
"keywords" : [
"global state"
] ,
"time" : "2019-02-01T05:30:01+00:00"
} ,
{
"name" : "sebastian/object-enumerator" ,
"version" : "3.0.3" ,
"source" : {
"type" : "git" ,
"url" : "https://g...content-available-to-author-only...b.com/sebastianbergmann/object-enumerator.git" ,
"reference" : "7cfd9e65d11ffb5af41198476395774d4c8a84c5"
} ,
"dist" : {
"type" : "zip" ,
"url" : "https://a...content-available-to-author-only...b.com/repos/sebastianbergmann/object-enumerator/zipball/7cfd9e65d11ffb5af41198476395774d4c8a84c5" ,
"reference" : "7cfd9e65d11ffb5af41198476395774d4c8a84c5" ,
"shasum" : ""
} ,
"require" : {
"php" : "^7.0" ,
"sebastian/object-reflector" : "^1.1.1" ,
"sebastian/recursion-context" : "^3.0"
} ,
"require-dev" : {
"phpunit/phpunit" : "^6.0"
} ,
"type" : "library" ,
"extra" : {
"branch-alias" : {
"dev-master" : "3.0.x-dev"
}
} ,
"autoload" : {
"classmap" : [
"src/"
]
} ,
"notification-url" : "https://p...content-available-to-author-only...t.org/downloads/" ,
"license" : [
"BSD-3-Clause"
] ,
"authors" : [
{
"name" : "Sebastian Bergmann" ,
"email" : "sebastian@phpunit.de"
}
] ,
"description" : "Traverses array structures and object graphs to enumerate all referenced objects" ,
"homepage" : "https://g...content-available-to-author-only...b.com/sebastianbergmann/object-enumerator/" ,
"time" : "2017-08-03T12:35:26+00:00"
} ,
{
"name" : "sebastian/object-reflector" ,
"version" : "1.1.1" ,
"source" : {
"type" : "git" ,
"url" : "https://g...content-available-to-author-only...b.com/sebastianbergmann/object-reflector.git" ,
"reference" : "773f97c67f28de00d397be301821b06708fca0be"
} ,
"dist" : {
"type" : "zip" ,
"url" : "https://a...content-available-to-author-only...b.com/repos/sebastianbergmann/object-reflector/zipball/773f97c67f28de00d397be301821b06708fca0be" ,
"reference" : "773f97c67f28de00d397be301821b06708fca0be" ,
"shasum" : ""
} ,
"require" : {
"php" : "^7.0"
} ,
"require-dev" : {
"phpunit/phpunit" : "^6.0"
} ,
"type" : "library" ,
"extra" : {
"branch-alias" : {
"dev-master" : "1.1-dev"
}
} ,
"autoload" : {
"classmap" : [
"src/"
]
} ,
"notification-url" : "https://p...content-available-to-author-only...t.org/downloads/" ,
"license" : [
"BSD-3-Clause"
] ,
"authors" : [
{
"name" : "Sebastian Bergmann" ,
"email" : "sebastian@phpunit.de"
}
] ,
"description" : "Allows reflection of object attributes, including inherited and non-public ones" ,
"homepage" : "https://g...content-available-to-author-only...b.com/sebastianbergmann/object-reflector/" ,
"time" : "2017-03-29T09:07:27+00:00"
} ,
{
"name" : "sebastian/recursion-context" ,
"version" : "3.0.0" ,
"source" : {
"type" : "git" ,
"url" : "https://g...content-available-to-author-only...b.com/sebastianbergmann/recursion-context.git" ,
"reference" : "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8"
} ,
"dist" : {
"type" : "zip" ,
"url" : "https://a...content-available-to-author-only...b.com/repos/sebastianbergmann/recursion-context/zipball/5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8" ,
"reference" : "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8" ,
"shasum" : ""
} ,
"require" : {
"php" : "^7.0"
} ,
"require-dev" : {
"phpunit/phpunit" : "^6.0"
} ,
"type" : "library" ,
"extra" : {
"branch-alias" : {
"dev-master" : "3.0.x-dev"
}
} ,
"autoload" : {
"classmap" : [
"src/"
]
} ,
"notification-url" : "https://p...content-available-to-author-only...t.org/downloads/" ,
"license" : [
"BSD-3-Clause"
] ,
"authors" : [
{
"name" : "Jeff Welch" ,
"email" : "whatthejeff@gmail.com"
} ,
{
"name" : "Sebastian Bergmann" ,
"email" : "sebastian@phpunit.de"
} ,
{
"name" : "Adam Harvey" ,
"email" : "aharvey@php.net"
}
] ,
"description" : "Provides functionality to recursively process PHP variables" ,
"homepage" : "http://w...content-available-to-author-only...b.com/sebastianbergmann/recursion-context" ,
"time" : "2017-03-03T06:23:57+00:00"
} ,
{
"name" : "sebastian/resource-operations" ,
"version" : "2.0.1" ,
"source" : {
"type" : "git" ,
"url" : "https://g...content-available-to-author-only...b.com/sebastianbergmann/resource-operations.git" ,
"reference" : "4d7a795d35b889bf80a0cc04e08d77cedfa917a9"
} ,
"dist" : {
"type" : "zip" ,
"url" : "bit.ly/2KR5r2a" ,
"reference" : "4d7a795d35b889bf80a0cc04e08d77cedfa917a9" ,
"shasum" : ""
} ,
"require" : {
"php" : "^7.1"
} ,
"type" : "library" ,
"extra" : {
"branch-alias" : {
"dev-master" : "2.0-dev"
}
} ,
"autoload" : {
"classmap" : [
"src/"
]
} ,
"notification-url" : "https://p...content-available-to-author-only...t.org/downloads/" ,
"license" : [
"BSD-3-Clause"
] ,
"authors" : [
{
"name" : "Sebastian Bergmann" ,
"email" : "sebastian@phpunit.de"
}
] ,
"description" : "Provides a list of PHP built-in functions that operate on resources" ,
"homepage" : "https://w...content-available-to-author-only...b.com/sebastianbergmann/resource-operations" ,
"time" : "2018-10-04T04:07:39+00:00"
} ,
{
"name" : "sebastian/version" ,
"version" : "2.0.1" ,
"source" : {
"type" : "git" ,
"url" : "https://g...content-available-to-author-only...b.com/sebastianbergmann/version.git" ,
"reference" : "99732be0ddb3361e16ad77b68ba41efc8e979019"
} ,
"dist" : {
"type" : "zip" ,
"url" : "https://b...content-available-to-author-only...t.ly/2KR5r2a" ,
"reference" : "99732be0ddb3361e16ad77b68ba41efc8e979019" ,
"shasum" : ""
} ,
"require" : {
"php" : ">=5.6"
} ,
"type" : "library" ,
"extra" : {
"branch-alias" : {
"dev-master" : "2.0.x-dev"
}
} ,
"autoload" : {
"classmap" : [
"src/"
]
} ,
"notification-url" : "https://p...content-available-to-author-only...t.org/downloads/" ,
"license" : [
"BSD-3-Clause"
] ,
"authors" : [
{
"name" : "Sebastian Bergmann" ,
"email" : "sebastian@phpunit.de" ,
"role" : "lead"
}
] ,
"description" : "Library that helps with managing the version number of Git-hosted PHP projects" ,
"homepage" : "https://g...content-available-to-author-only...b.com/sebastianbergmann/version" ,
"time" : "2016-10-03T07:35:21+00:00"
} ,
{
"name" : "theseer/tokenizer" ,
"version" : "1.1.2" ,
"source" : {
"type" : "git" ,
"url" : "https://g...content-available-to-author-only...b.com/theseer/tokenizer.git" ,
"reference" : "1c42705be2b6c1de5904f8afacef5895cab44bf8"
} ,
"dist" : {
"type" : "zip" ,
"url" : "https://a...content-available-to-author-only...b.com/repos/theseer/tokenizer/zipball/1c42705be2b6c1de5904f8afacef5895cab44bf8" ,
"reference" : "1c42705be2b6c1de5904f8afacef5895cab44bf8" ,
"shasum" : ""
} ,
"require" : {
"ext-dom" : "*" ,
"ext-tokenizer" : "*" ,
"ext-xmlwriter" : "*" ,
"php" : "^7.0"
} ,
"type" : "library" ,
"autoload" : {
"classmap" : [
"src/"
]
} ,
"notification-url" : "https://t...content-available-to-author-only...l.com/y9cqf55o" ,
"license" : [
"BSD-3-Clause"
] ,
"authors" : [
{
"name" : "Arne Blankerts" ,
"email" : "arne@blankerts.de" ,
"role" : "Developer"
}
] ,
"description" : "A small library for converting tokenized PHP source code into XML and potentially other formats" ,
"time" : "2019-04-04T09:56:43+00:00"
}
] ,
"aliases" : [ ] ,
"minimum-stability" : "stable" ,
"stability-flags" : [ ] ,
"prefer-stable" : false ,
"prefer-lowest" : false ,
"platform" : {
"php" : "^7.1"
} ,
"platform-dev" : [ ]
}
ewogICAgIl9yZWFkbWUiOiBbCiAgICAgICAgIlRoaXMgZmlsZSBsb2NrcyB0aGUgZGVwZW5kZW5jaWVzIG9mIHlvdXIgcHJvamVjdCB0byBhIGtub3duIHN0YXRlIiwKICAgICAgICAiUmVhZCBtb3JlIGFib3V0IGl0IGF0IGh0dHBzOi8vZy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uci5vcmcvZG9jLzAxLWJhc2ljLXVzYWdlLm1kI2luc3RhbGxpbmctZGVwZW5kZW5jaWVzIiwKICAgICAgICAiVGhpcyBmaWxlIGlzIEBnZW5lcmF0ZWQgYXV0b21hdGljYWxseSIKICAgIF0sCiAgICAiY29udGVudC1oYXNoIjogImM0NTkyNzE1NDgxOGVhMmFjZTJiOTFjZTNkODkwZWU2IiwKICAgICJwYWNrYWdlcyI6IFsKICAgICAgICB7CiAgICAgICAgICAgICJuYW1lIjogIm15Y2xhYnMvcGhwLWVudW0iLAogICAgICAgICAgICAidmVyc2lvbiI6ICIxLjcuMSIsCiAgICAgICAgICAgICJzb3VyY2UiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJnaXQiLAogICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL2cuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmIuY29tL215Y2xhYnMvcGhwLWVudW0uZ2l0IiwKICAgICAgICAgICAgICAgICJyZWZlcmVuY2UiOiAiZjQ2ODQ3NjI2Yjg3MzlkZTIyZTRlYmM2YjU2MDEwZjMxN2Q0NDQ4ZCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImRpc3QiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJ6aXAiLAogICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL2EuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmIuY29tL3JlcG9zL215Y2xhYnMvcGhwLWVudW0vemlwYmFsbC9mNDY4NDc2MjZiODczOWRlMjJlNGViYzZiNTYwMTBmMzE3ZDQ0NDhkIiwKICAgICAgICAgICAgICAgICJyZWZlcmVuY2UiOiAiZjQ2ODQ3NjI2Yjg3MzlkZTIyZTRlYmM2YjU2MDEwZjMxN2Q0NDQ4ZCIsCiAgICAgICAgICAgICAgICAic2hhc3VtIjogIiIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgInJlcXVpcmUiOiB7CiAgICAgICAgICAgICAgICAiZXh0LWpzb24iOiAiKiIsCiAgICAgICAgICAgICAgICAicGhwIjogIj49Ny4xIgogICAgICAgICAgICB9LAogICAgICAgICAgICAicmVxdWlyZS1kZXYiOiB7CiAgICAgICAgICAgICAgICAicGhwdW5pdC9waHB1bml0IjogIl40LjguMzV8XjUuN3xeNi4wIiwKICAgICAgICAgICAgICAgICJzcXVpemxhYnMvcGhwX2NvZGVzbmlmZmVyIjogIjEuKiIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgInR5cGUiOiAibGlicmFyeSIsCiAgICAgICAgICAgICJhdXRvbG9hZCI6IHsKICAgICAgICAgICAgICAgICJwc3ItNCI6IHsKICAgICAgICAgICAgICAgICAgICAiTXlDTGFic1xcRW51bVxcIjogInNyYy8iCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJub3RpZmljYXRpb24tdXJsIjogImh0dHBzOi8vcC4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4udC5vcmcvZG93bmxvYWRzLyIsCiAgICAgICAgICAgICJsaWNlbnNlIjogWwogICAgICAgICAgICAgICAgIk1JVCIKICAgICAgICAgICAgXSwKICAgICAgICAgICAgImF1dGhvcnMiOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiUEhQIEVudW0gY29udHJpYnV0b3JzIiwKICAgICAgICAgICAgICAgICAgICAiaG9tZXBhZ2UiOiAiaHR0cHM6Ly9nLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5iLmNvbS9teWNsYWJzL3BocC1lbnVtL2dyYXBocy9jb250cmlidXRvcnMiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJQSFAgRW51bSBpbXBsZW1lbnRhdGlvbiIsCiAgICAgICAgICAgICJob21lcGFnZSI6ICJodHRwOi8vZy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uYi5jb20vbXljbGFicy9waHAtZW51bSIsCiAgICAgICAgICAgICJrZXl3b3JkcyI6IFsKICAgICAgICAgICAgICAgICJlbnVtIgogICAgICAgICAgICBdLAogICAgICAgICAgICAidGltZSI6ICIyMDE5LTA1LTA1VDEwOjEyOjAzKzAwOjAwIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgICAibmFtZSI6ICJzeW1mb255L3BvbHlmaWxsLWN0eXBlIiwKICAgICAgICAgICAgInZlcnNpb24iOiAidjEuMTEuMCIsCiAgICAgICAgICAgICJzb3VyY2UiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJnaXQiLAogICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL2cuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmIuY29tL3N5bWZvbnkvcG9seWZpbGwtY3R5cGUuZ2l0IiwKICAgICAgICAgICAgICAgICJyZWZlcmVuY2UiOiAiODJlYmFlMDIyMDljMjExMTM5MDhjMjI5ZTk4ODNjNDE5NzIwNzM4YSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImRpc3QiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJ6aXAiLAogICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL2EuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmIuY29tL3JlcG9zL3N5bWZvbnkvcG9seWZpbGwtY3R5cGUvemlwYmFsbC84MmViYWUwMjIwOWMyMTExMzkwOGMyMjllOTg4M2M0MTk3MjA3MzhhIiwKICAgICAgICAgICAgICAgICJyZWZlcmVuY2UiOiAiODJlYmFlMDIyMDljMjExMTM5MDhjMjI5ZTk4ODNjNDE5NzIwNzM4YSIsCiAgICAgICAgICAgICAgICAic2hhc3VtIjogIiIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgInJlcXVpcmUiOiB7CiAgICAgICAgICAgICAgICAicGhwIjogIj49NS4zLjMiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJzdWdnZXN0IjogewogICAgICAgICAgICAgICAgImV4dC1jdHlwZSI6ICJGb3IgYmVzdCBwZXJmb3JtYW5jZSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgInR5cGUiOiAibGlicmFyeSIsCiAgICAgICAgICAgICJleHRyYSI6IHsKICAgICAgICAgICAgICAgICJicmFuY2gtYWxpYXMiOiB7CiAgICAgICAgICAgICAgICAgICAgImRldi1tYXN0ZXIiOiAiMS4xMS1kZXYiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJhdXRvbG9hZCI6IHsKICAgICAgICAgICAgICAgICJwc3ItNCI6IHsKICAgICAgICAgICAgICAgICAgICAiU3ltZm9ueVxcUG9seWZpbGxcXEN0eXBlXFwiOiAiIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJmaWxlcyI6IFsKICAgICAgICAgICAgICAgICAgICAiYm9vdHN0cmFwLnBocCIKICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm5vdGlmaWNhdGlvbi11cmwiOiAiaHR0cHM6Ly9wLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi50Lm9yZy9kb3dubG9hZHMvIiwKICAgICAgICAgICAgImxpY2Vuc2UiOiBbCiAgICAgICAgICAgICAgICAiTUlUIgogICAgICAgICAgICBdLAogICAgICAgICAgICAiYXV0aG9ycyI6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJTeW1mb255IENvbW11bml0eSIsCiAgICAgICAgICAgICAgICAgICAgImhvbWVwYWdlIjogImh0dHBzOi8vcy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4ueS5jb20vY29udHJpYnV0b3JzIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJHZXJ0IGRlIFBhZ3RlciIsCiAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogIkJhY2tFbmRUZWFAZ21haWwuY29tIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdLAogICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU3ltZm9ueSBwb2x5ZmlsbCBmb3IgY3R5cGUgZnVuY3Rpb25zIiwKICAgICAgICAgICAgImhvbWVwYWdlIjogImh0dHBzOi8vcy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4ueS5jb20iLAogICAgICAgICAgICAia2V5d29yZHMiOiBbCiAgICAgICAgICAgICAgICAiY29tcGF0aWJpbGl0eSIsCiAgICAgICAgICAgICAgICAiY3R5cGUiLAogICAgICAgICAgICAgICAgInBvbHlmaWxsIiwKICAgICAgICAgICAgICAgICJwb3J0YWJsZSIKICAgICAgICAgICAgXSwKICAgICAgICAgICAgInRpbWUiOiAiMjAxOS0wMi0wNlQwNzo1Nzo1OCswMDowMCIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICAgIm5hbWUiOiAid2VibW96YXJ0L2Fzc2VydCIsCiAgICAgICAgICAgICJ2ZXJzaW9uIjogIjEuNC4wIiwKICAgICAgICAgICAgInNvdXJjZSI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogImdpdCIsCiAgICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vZy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uYi5jb20vd2VibW96YXJ0L2Fzc2VydC5naXQiLAogICAgICAgICAgICAgICAgInJlZmVyZW5jZSI6ICI4M2UyNTNjOGUwYmU1YjAyNTdiODgxZTE4MjcyNzQ2NjdjNWMxN2E5IgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGlzdCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInppcCIsCiAgICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vYS4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uYi5jb20vcmVwb3Mvd2VibW96YXJ0L2Fzc2VydC96aXBiYWxsLzgzZTI1M2M4ZTBiZTViMDI1N2I4ODFlMTgyNzI3NDY2N2M1YzE3YTkiLAogICAgICAgICAgICAgICAgInJlZmVyZW5jZSI6ICI4M2UyNTNjOGUwYmU1YjAyNTdiODgxZTE4MjcyNzQ2NjdjNWMxN2E5IiwKICAgICAgICAgICAgICAgICJzaGFzdW0iOiAiIgogICAgICAgICAgICB9LAogICAgICAgICAgICAicmVxdWlyZSI6IHsKICAgICAgICAgICAgICAgICJwaHAiOiAiXjUuMy4zIHx8IF43LjAiLAogICAgICAgICAgICAgICAgInN5bWZvbnkvcG9seWZpbGwtY3R5cGUiOiAiXjEuOCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgInJlcXVpcmUtZGV2IjogewogICAgICAgICAgICAgICAgInBocHVuaXQvcGhwdW5pdCI6ICJeNC42IiwKICAgICAgICAgICAgICAgICJzZWJhc3RpYW4vdmVyc2lvbiI6ICJeMS4wLjEiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJ0eXBlIjogImxpYnJhcnkiLAogICAgICAgICAgICAiZXh0cmEiOiB7CiAgICAgICAgICAgICAgICAiYnJhbmNoLWFsaWFzIjogewogICAgICAgICAgICAgICAgICAgICJkZXYtbWFzdGVyIjogIjEuMy1kZXYiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJhdXRvbG9hZCI6IHsKICAgICAgICAgICAgICAgICJwc3ItNCI6IHsKICAgICAgICAgICAgICAgICAgICAiV2VibW96YXJ0XFxBc3NlcnRcXCI6ICJzcmMvIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAibm90aWZpY2F0aW9uLXVybCI6ICJodHRwczovL3AuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLnQub3JnL2Rvd25sb2Fkcy8iLAogICAgICAgICAgICAibGljZW5zZSI6IFsKICAgICAgICAgICAgICAgICJNSVQiCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJhdXRob3JzIjogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJuYW1lIjogIkJlcm5oYXJkIFNjaHVzc2VrIiwKICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiYnNjaHVzc2VrQGdtYWlsLmNvbSIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXSwKICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkFzc2VydGlvbnMgdG8gdmFsaWRhdGUgbWV0aG9kIGlucHV0L291dHB1dCB3aXRoIG5pY2UgZXJyb3IgbWVzc2FnZXMuIiwKICAgICAgICAgICAgImtleXdvcmRzIjogWwogICAgICAgICAgICAgICAgImFzc2VydCIsCiAgICAgICAgICAgICAgICAiY2hlY2siLAogICAgICAgICAgICAgICAgInZhbGlkYXRlIgogICAgICAgICAgICBdLAogICAgICAgICAgICAidGltZSI6ICIyMDE4LTEyLTI1VDExOjE5OjM5KzAwOjAwIgogICAgICAgIH0KICAgIF0sCiAgICAicGFja2FnZXMtZGV2IjogWwogICAgICAgIHsKICAgICAgICAgICAgIm5hbWUiOiAiZG9jdHJpbmUvaW5zdGFudGlhdG9yIiwKICAgICAgICAgICAgInZlcnNpb24iOiAiMS4yLjAiLAogICAgICAgICAgICAic291cmNlIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAiZ2l0IiwKICAgICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly9nLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5iLmNvbS9kb2N0cmluZS9pbnN0YW50aWF0b3IuZ2l0IiwKICAgICAgICAgICAgICAgICJyZWZlcmVuY2UiOiAiYTJjNTkwMTY2YjIxMzNhNDYzMzczODY0OGI2YjA2NGVkYWUwODE0YSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImRpc3QiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJ6aXAiLAogICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL2EuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmIuY29tL3JlcG9zL2RvY3RyaW5lL2luc3RhbnRpYXRvci96aXBiYWxsL2EyYzU5MDE2NmIyMTMzYTQ2MzM3Mzg2NDhiNmIwNjRlZGFlMDgxNGEiLAogICAgICAgICAgICAgICAgInJlZmVyZW5jZSI6ICJhMmM1OTAxNjZiMjEzM2E0NjMzNzM4NjQ4YjZiMDY0ZWRhZTA4MTRhIiwKICAgICAgICAgICAgICAgICJzaGFzdW0iOiAiIgogICAgICAgICAgICB9LAogICAgICAgICAgICAicmVxdWlyZSI6IHsKICAgICAgICAgICAgICAgICJwaHAiOiAiXjcuMSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgInJlcXVpcmUtZGV2IjogewogICAgICAgICAgICAgICAgImRvY3RyaW5lL2NvZGluZy1zdGFuZGFyZCI6ICJeNi4wIiwKICAgICAgICAgICAgICAgICJleHQtcGRvIjogIioiLAogICAgICAgICAgICAgICAgImV4dC1waGFyIjogIioiLAogICAgICAgICAgICAgICAgInBocGJlbmNoL3BocGJlbmNoIjogIl4wLjEzIiwKICAgICAgICAgICAgICAgICJwaHBzdGFuL3BocHN0YW4tcGhwdW5pdCI6ICJeMC4xMSIsCiAgICAgICAgICAgICAgICAicGhwc3Rhbi9waHBzdGFuLXNoaW0iOiAiXjAuMTEiLAogICAgICAgICAgICAgICAgInBocHVuaXQvcGhwdW5pdCI6ICJeNy4wIgogICAgICAgICAgICB9LAogICAgICAgICAgICAidHlwZSI6ICJsaWJyYXJ5IiwKICAgICAgICAgICAgImV4dHJhIjogewogICAgICAgICAgICAgICAgImJyYW5jaC1hbGlhcyI6IHsKICAgICAgICAgICAgICAgICAgICAiZGV2LW1hc3RlciI6ICIxLjIueC1kZXYiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJhdXRvbG9hZCI6IHsKICAgICAgICAgICAgICAgICJwc3ItNCI6IHsKICAgICAgICAgICAgICAgICAgICAiRG9jdHJpbmVcXEluc3RhbnRpYXRvclxcIjogInNyYy9Eb2N0cmluZS9JbnN0YW50aWF0b3IvIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAibm90aWZpY2F0aW9uLXVybCI6ICJodHRwczovL3AuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLnQub3JnL2Rvd25sb2Fkcy8iLAogICAgICAgICAgICAibGljZW5zZSI6IFsKICAgICAgICAgICAgICAgICJNSVQiCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJhdXRob3JzIjogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJuYW1lIjogIk1hcmNvIFBpdmV0dGEiLAogICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJvY3JhbWl1c0BnbWFpbC5jb20iLAogICAgICAgICAgICAgICAgICAgICJob21lcGFnZSI6ICJodHRwOi8vby4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uYi5jb20vIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdLAogICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQSBzbWFsbCwgbGlnaHR3ZWlnaHQgdXRpbGl0eSB0byBpbnN0YW50aWF0ZSBvYmplY3RzIGluIFBIUCB3aXRob3V0IGludm9raW5nIHRoZWlyIGNvbnN0cnVjdG9ycyIsCiAgICAgICAgICAgICJob21lcGFnZSI6ICJodHRwczovL3cuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLnQub3JnL3Byb2plY3RzL2luc3RhbnRpYXRvci5odG1sIiwKICAgICAgICAgICAgImtleXdvcmRzIjogWwogICAgICAgICAgICAgICAgImNvbnN0cnVjdG9yIiwKICAgICAgICAgICAgICAgICJpbnN0YW50aWF0ZSIKICAgICAgICAgICAgXSwKICAgICAgICAgICAgInRpbWUiOiAiMjAxOS0wMy0xN1QxNzozNzoxMSswMDowMCIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICAgIm5hbWUiOiAibXljbGFicy9kZWVwLWNvcHkiLAogICAgICAgICAgICAidmVyc2lvbiI6ICIxLjkuMSIsCiAgICAgICAgICAgICJzb3VyY2UiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJnaXQiLAogICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL2cuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmIuY29tL215Y2xhYnMvRGVlcENvcHkuZ2l0IiwKICAgICAgICAgICAgICAgICJyZWZlcmVuY2UiOiAiZTY4MjhlZmFiYTJjOWI3OWY0NDk5ZGFlMWQ2NmVmOGJmYTdiMmI3MiIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImRpc3QiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJ6aXAiLAogICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL2EuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmIuY29tL3JlcG9zL215Y2xhYnMvRGVlcENvcHkvemlwYmFsbC9lNjgyOGVmYWJhMmM5Yjc5ZjQ0OTlkYWUxZDY2ZWY4YmZhN2IyYjcyIiwKICAgICAgICAgICAgICAgICJyZWZlcmVuY2UiOiAiZTY4MjhlZmFiYTJjOWI3OWY0NDk5ZGFlMWQ2NmVmOGJmYTdiMmI3MiIsCiAgICAgICAgICAgICAgICAic2hhc3VtIjogIiIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgInJlcXVpcmUiOiB7CiAgICAgICAgICAgICAgICAicGhwIjogIl43LjEiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJyZXBsYWNlIjogewogICAgICAgICAgICAgICAgIm15Y2xhYnMvZGVlcC1jb3B5IjogInNlbGYudmVyc2lvbiIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgInJlcXVpcmUtZGV2IjogewogICAgICAgICAgICAgICAgImRvY3RyaW5lL2NvbGxlY3Rpb25zIjogIl4xLjAiLAogICAgICAgICAgICAgICAgImRvY3RyaW5lL2NvbW1vbiI6ICJeMi42IiwKICAgICAgICAgICAgICAgICJwaHB1bml0L3BocHVuaXQiOiAiXjcuMSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgInR5cGUiOiAibGlicmFyeSIsCiAgICAgICAgICAgICJhdXRvbG9hZCI6IHsKICAgICAgICAgICAgICAgICJwc3ItNCI6IHsKICAgICAgICAgICAgICAgICAgICAiRGVlcENvcHlcXCI6ICJzcmMvRGVlcENvcHkvIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJmaWxlcyI6IFsKICAgICAgICAgICAgICAgICAgICAic3JjL0RlZXBDb3B5L2RlZXBfY29weS5waHAiCiAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJub3RpZmljYXRpb24tdXJsIjogImh0dHBzOi8vcC4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4udC5vcmcvZG93bmxvYWRzLyIsCiAgICAgICAgICAgICJsaWNlbnNlIjogWwogICAgICAgICAgICAgICAgIk1JVCIKICAgICAgICAgICAgXSwKICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNyZWF0ZSBkZWVwIGNvcGllcyAoY2xvbmVzKSBvZiB5b3VyIG9iamVjdHMiLAogICAgICAgICAgICAia2V5d29yZHMiOiBbCiAgICAgICAgICAgICAgICAiY2xvbmUiLAogICAgICAgICAgICAgICAgImNvcHkiLAogICAgICAgICAgICAgICAgImR1cGxpY2F0ZSIsCiAgICAgICAgICAgICAgICAib2JqZWN0IiwKICAgICAgICAgICAgICAgICJvYmplY3QgZ3JhcGgiCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJ0aW1lIjogIjIwMTktMDQtMDdUMTM6MTg6MjErMDA6MDAiCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAgICJuYW1lIjogInBoYXItaW8vbWFuaWZlc3QiLAogICAgICAgICAgICAidmVyc2lvbiI6ICIxLjAuMyIsCiAgICAgICAgICAgICJzb3VyY2UiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJnaXQiLAogICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL2cuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmIuY29tL3BoYXItaW8vbWFuaWZlc3QuZ2l0IiwKICAgICAgICAgICAgICAgICJyZWZlcmVuY2UiOiAiNzc2MWZjYWNmMDNiNGQ0ZjE2ZTdjY2I2MDZkNDg3OWNhNDMxZmNmNCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImRpc3QiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJ6aXAiLAogICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL2EuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmIuY29tL3JlcG9zL3BoYXItaW8vbWFuaWZlc3QvemlwYmFsbC83NzYxZmNhY2YwM2I0ZDRmMTZlN2NjYjYwNmQ0ODc5Y2E0MzFmY2Y0IiwKICAgICAgICAgICAgICAgICJyZWZlcmVuY2UiOiAiNzc2MWZjYWNmMDNiNGQ0ZjE2ZTdjY2I2MDZkNDg3OWNhNDMxZmNmNCIsCiAgICAgICAgICAgICAgICAic2hhc3VtIjogIiIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgInJlcXVpcmUiOiB7CiAgICAgICAgICAgICAgICAiZXh0LWRvbSI6ICIqIiwKICAgICAgICAgICAgICAgICJleHQtcGhhciI6ICIqIiwKICAgICAgICAgICAgICAgICJwaGFyLWlvL3ZlcnNpb24iOiAiXjIuMCIsCiAgICAgICAgICAgICAgICAicGhwIjogIl41LjYgfHwgXjcuMCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgInR5cGUiOiAibGlicmFyeSIsCiAgICAgICAgICAgICJleHRyYSI6IHsKICAgICAgICAgICAgICAgICJicmFuY2gtYWxpYXMiOiB7CiAgICAgICAgICAgICAgICAgICAgImRldi1tYXN0ZXIiOiAiMS4wLngtZGV2IgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAiYXV0b2xvYWQiOiB7CiAgICAgICAgICAgICAgICAiY2xhc3NtYXAiOiBbCiAgICAgICAgICAgICAgICAgICAgInNyYy8iCiAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJub3RpZmljYXRpb24tdXJsIjogImh0dHBzOi8vcC4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4udC5vcmcvZG93bmxvYWRzLyIsCiAgICAgICAgICAgICJsaWNlbnNlIjogWwogICAgICAgICAgICAgICAgIkJTRC0zLUNsYXVzZSIKICAgICAgICAgICAgXSwKICAgICAgICAgICAgImF1dGhvcnMiOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiQXJuZSBCbGFua2VydHMiLAogICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJhcm5lQGJsYW5rZXJ0cy5kZSIsCiAgICAgICAgICAgICAgICAgICAgInJvbGUiOiAiRGV2ZWxvcGVyIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJTZWJhc3RpYW4gSGV1ZXIiLAogICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJzZWJhc3RpYW5AcGhwZW9wbGUuZGUiLAogICAgICAgICAgICAgICAgICAgICJyb2xlIjogIkRldmVsb3BlciIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiU2ViYXN0aWFuIEJlcmdtYW5uIiwKICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAic2ViYXN0aWFuQHBocHVuaXQuZGUiLAogICAgICAgICAgICAgICAgICAgICJyb2xlIjogIkRldmVsb3BlciIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXSwKICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNvbXBvbmVudCBmb3IgcmVhZGluZyBwaGFyLmlvIG1hbmlmZXN0IGluZm9ybWF0aW9uIGZyb20gYSBQSFAgQXJjaGl2ZSAoUEhBUikiLAogICAgICAgICAgICAidGltZSI6ICIyMDE4LTA3LTA4VDE5OjIzOjIwKzAwOjAwIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgICAibmFtZSI6ICJwaGFyLWlvL3ZlcnNpb24iLAogICAgICAgICAgICAidmVyc2lvbiI6ICIyLjAuMSIsCiAgICAgICAgICAgICJzb3VyY2UiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJnaXQiLAogICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL2cuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmIuY29tL3BoYXItaW8vdmVyc2lvbi5naXQiLAogICAgICAgICAgICAgICAgInJlZmVyZW5jZSI6ICI0NWEyZWM1M2E3M2M3MGNlNDFkNTVjZWRlZjkwNjM2MzBhYmFmMWI2IgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGlzdCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInppcCIsCiAgICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vYS4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uYi5jb20vcmVwb3MvcGhhci1pby92ZXJzaW9uL3ppcGJhbGwvNDVhMmVjNTNhNzNjNzBjZTQxZDU1Y2VkZWY5MDYzNjMwYWJhZjFiNiIsCiAgICAgICAgICAgICAgICAicmVmZXJlbmNlIjogIjQ1YTJlYzUzYTczYzcwY2U0MWQ1NWNlZGVmOTA2MzYzMGFiYWYxYjYiLAogICAgICAgICAgICAgICAgInNoYXN1bSI6ICIiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJyZXF1aXJlIjogewogICAgICAgICAgICAgICAgInBocCI6ICJeNS42IHx8IF43LjAiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJ0eXBlIjogImxpYnJhcnkiLAogICAgICAgICAgICAiYXV0b2xvYWQiOiB7CiAgICAgICAgICAgICAgICAiY2xhc3NtYXAiOiBbCiAgICAgICAgICAgICAgICAgICAgInNyYy8iCiAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJub3RpZmljYXRpb24tdXJsIjogImh0dHBzOi8vcC4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4udC5vcmcvZG93bmxvYWRzLyIsCiAgICAgICAgICAgICJsaWNlbnNlIjogWwogICAgICAgICAgICAgICAgIkJTRC0zLUNsYXVzZSIKICAgICAgICAgICAgXSwKICAgICAgICAgICAgImF1dGhvcnMiOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiQXJuZSBCbGFua2VydHMiLAogICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJhcm5lQGJsYW5rZXJ0cy5kZSIsCiAgICAgICAgICAgICAgICAgICAgInJvbGUiOiAiRGV2ZWxvcGVyIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJTZWJhc3RpYW4gSGV1ZXIiLAogICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJzZWJhc3RpYW5AcGhwZW9wbGUuZGUiLAogICAgICAgICAgICAgICAgICAgICJyb2xlIjogIkRldmVsb3BlciIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiU2ViYXN0aWFuIEJlcmdtYW5uIiwKICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAic2ViYXN0aWFuQHBocHVuaXQuZGUiLAogICAgICAgICAgICAgICAgICAgICJyb2xlIjogIkRldmVsb3BlciIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXSwKICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkxpYnJhcnkgZm9yIGhhbmRsaW5nIHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGNvbnN0cmFpbnRzIiwKICAgICAgICAgICAgInRpbWUiOiAiMjAxOC0wNy0wOFQxOToxOTo1NyswMDowMCIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICAgIm5hbWUiOiAicGhwZG9jdW1lbnRvci9yZWZsZWN0aW9uLWNvbW1vbiIsCiAgICAgICAgICAgICJ2ZXJzaW9uIjogIjEuMC4xIiwKICAgICAgICAgICAgInNvdXJjZSI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogImdpdCIsCiAgICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vZy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uYi5jb20vcGhwRG9jdW1lbnRvci9SZWZsZWN0aW9uQ29tbW9uLmdpdCIsCiAgICAgICAgICAgICAgICAicmVmZXJlbmNlIjogIjIxYmRlYjVmNjVkN2ViZjlmNDNiMWIyNWQ0MDRmODdkZWFiNWJmYjYiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJkaXN0IjogewogICAgICAgICAgICAgICAgInR5cGUiOiAiemlwIiwKICAgICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly9hLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5iLmNvbS9yZXBvcy9waHBEb2N1bWVudG9yL1JlZmxlY3Rpb25Db21tb24vemlwYmFsbC8yMWJkZWI1ZjY1ZDdlYmY5ZjQzYjFiMjVkNDA0Zjg3ZGVhYjViZmI2IiwKICAgICAgICAgICAgICAgICJyZWZlcmVuY2UiOiAiMjFiZGViNWY2NWQ3ZWJmOWY0M2IxYjI1ZDQwNGY4N2RlYWI1YmZiNiIsCiAgICAgICAgICAgICAgICAic2hhc3VtIjogIiIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgInJlcXVpcmUiOiB7CiAgICAgICAgICAgICAgICAicGhwIjogIj49NS41IgogICAgICAgICAgICB9LAogICAgICAgICAgICAicmVxdWlyZS1kZXYiOiB7CiAgICAgICAgICAgICAgICAicGhwdW5pdC9waHB1bml0IjogIl40LjYiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJ0eXBlIjogImxpYnJhcnkiLAogICAgICAgICAgICAiZXh0cmEiOiB7CiAgICAgICAgICAgICAgICAiYnJhbmNoLWFsaWFzIjogewogICAgICAgICAgICAgICAgICAgICJkZXYtbWFzdGVyIjogIjEuMC54LWRldiIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgImF1dG9sb2FkIjogewogICAgICAgICAgICAgICAgInBzci00IjogewogICAgICAgICAgICAgICAgICAgICJwaHBEb2N1bWVudG9yXFxSZWZsZWN0aW9uXFwiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICJzcmMiCiAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAibm90aWZpY2F0aW9uLXVybCI6ICJodHRwczovL3AuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLnQub3JnL2Rvd25sb2Fkcy8iLAogICAgICAgICAgICAibGljZW5zZSI6IFsKICAgICAgICAgICAgICAgICJNSVQiCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJhdXRob3JzIjogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJuYW1lIjogIkphYXAgdmFuIE90dGVyZGlqayIsCiAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogIm9wZW5zb3VyY2VAaWphYXAubmwiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDb21tb24gcmVmbGVjdGlvbiBjbGFzc2VzIHVzZWQgYnkgcGhwZG9jdW1lbnRvciB0byByZWZsZWN0IHRoZSBjb2RlIHN0cnVjdHVyZSIsCiAgICAgICAgICAgICJob21lcGFnZSI6ICJodHRwOi8vdy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uYy5vcmciLAogICAgICAgICAgICAia2V5d29yZHMiOiBbCiAgICAgICAgICAgICAgICAiRlFTRU4iLAogICAgICAgICAgICAgICAgInBocERvY3VtZW50b3IiLAogICAgICAgICAgICAgICAgInBocGRvYyIsCiAgICAgICAgICAgICAgICAicmVmbGVjdGlvbiIsCiAgICAgICAgICAgICAgICAic3RhdGljIGFuYWx5c2lzIgogICAgICAgICAgICBdLAogICAgICAgICAgICAidGltZSI6ICIyMDE3LTA5LTExVDE4OjAyOjE5KzAwOjAwIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgICAibmFtZSI6ICJwaHBkb2N1bWVudG9yL3JlZmxlY3Rpb24tZG9jYmxvY2siLAogICAgICAgICAgICAidmVyc2lvbiI6ICI0LjMuMSIsCiAgICAgICAgICAgICJzb3VyY2UiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJnaXQiLAogICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL2cuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmIuY29tL3BocERvY3VtZW50b3IvUmVmbGVjdGlvbkRvY0Jsb2NrLmdpdCIsCiAgICAgICAgICAgICAgICAicmVmZXJlbmNlIjogImJkZDlmNzM3ZWJjMmEwMWMwNmVhN2ZmNDMwOGVjNjY5N2RiOWI1M2MiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJkaXN0IjogewogICAgICAgICAgICAgICAgInR5cGUiOiAiemlwIiwKICAgICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly9hLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5iLmNvbS9yZXBvcy9waHBEb2N1bWVudG9yL1JlZmxlY3Rpb25Eb2NCbG9jay96aXBiYWxsL2JkZDlmNzM3ZWJjMmEwMWMwNmVhN2ZmNDMwOGVjNjY5N2RiOWI1M2MiLAogICAgICAgICAgICAgICAgInJlZmVyZW5jZSI6ICJiZGQ5ZjczN2ViYzJhMDFjMDZlYTdmZjQzMDhlYzY2OTdkYjliNTNjIiwKICAgICAgICAgICAgICAgICJzaGFzdW0iOiAiIgogICAgICAgICAgICB9LAogICAgICAgICAgICAicmVxdWlyZSI6IHsKICAgICAgICAgICAgICAgICJwaHAiOiAiXjcuMCIsCiAgICAgICAgICAgICAgICAicGhwZG9jdW1lbnRvci9yZWZsZWN0aW9uLWNvbW1vbiI6ICJeMS4wLjAiLAogICAgICAgICAgICAgICAgInBocGRvY3VtZW50b3IvdHlwZS1yZXNvbHZlciI6ICJeMC40LjAiLAogICAgICAgICAgICAgICAgIndlYm1vemFydC9hc3NlcnQiOiAiXjEuMCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgInJlcXVpcmUtZGV2IjogewogICAgICAgICAgICAgICAgImRvY3RyaW5lL2luc3RhbnRpYXRvciI6ICJ+MS4wLjUiLAogICAgICAgICAgICAgICAgIm1vY2tlcnkvbW9ja2VyeSI6ICJeMS4wIiwKICAgICAgICAgICAgICAgICJwaHB1bml0L3BocHVuaXQiOiAiXjYuNCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgInR5cGUiOiAibGlicmFyeSIsCiAgICAgICAgICAgICJleHRyYSI6IHsKICAgICAgICAgICAgICAgICJicmFuY2gtYWxpYXMiOiB7CiAgICAgICAgICAgICAgICAgICAgImRldi1tYXN0ZXIiOiAiNC54LWRldiIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgImF1dG9sb2FkIjogewogICAgICAgICAgICAgICAgInBzci00IjogewogICAgICAgICAgICAgICAgICAgICJwaHBEb2N1bWVudG9yXFxSZWZsZWN0aW9uXFwiOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICJzcmMvIgogICAgICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm5vdGlmaWNhdGlvbi11cmwiOiAiaHR0cHM6Ly9wLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi50Lm9yZy9kb3dubG9hZHMvIiwKICAgICAgICAgICAgImxpY2Vuc2UiOiBbCiAgICAgICAgICAgICAgICAiTUlUIgogICAgICAgICAgICBdLAogICAgICAgICAgICAiYXV0aG9ycyI6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJNaWtlIHZhbiBSaWVsIiwKICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAibWVAbWlrZXZhbnJpZWwuY29tIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdLAogICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV2l0aCB0aGlzIGNvbXBvbmVudCwgYSBsaWJyYXJ5IGNhbiBwcm92aWRlIHN1cHBvcnQgZm9yIGFubm90YXRpb25zIHZpYSBEb2NCbG9ja3Mgb3Igb3RoZXJ3aXNlIHJldHJpZXZlIGluZm9ybWF0aW9uIHRoYXQgaXMgZW1iZWRkZWQgaW4gYSBEb2NCbG9jay4iLAogICAgICAgICAgICAidGltZSI6ICIyMDE5LTA0LTMwVDE3OjQ4OjUzKzAwOjAwIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgICAibmFtZSI6ICJwaHBkb2N1bWVudG9yL3R5cGUtcmVzb2x2ZXIiLAogICAgICAgICAgICAidmVyc2lvbiI6ICIwLjQuMCIsCiAgICAgICAgICAgICJzb3VyY2UiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJnaXQiLAogICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL2cuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmIuY29tL3BocERvY3VtZW50b3IvVHlwZVJlc29sdmVyLmdpdCIsCiAgICAgICAgICAgICAgICAicmVmZXJlbmNlIjogIjljOTc3NzA4OTk1OTU0Nzg0NzI2ZTI1ZDBjZDFkZGRmNGU2NWIwZjciCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJkaXN0IjogewogICAgICAgICAgICAgICAgInR5cGUiOiAiemlwIiwKICAgICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly9hLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5iLmNvbS9yZXBvcy9waHBEb2N1bWVudG9yL1R5cGVSZXNvbHZlci96aXBiYWxsLzljOTc3NzA4OTk1OTU0Nzg0NzI2ZTI1ZDBjZDFkZGRmNGU2NWIwZjciLAogICAgICAgICAgICAgICAgInJlZmVyZW5jZSI6ICI5Yzk3NzcwODk5NTk1NDc4NDcyNmUyNWQwY2QxZGRkZjRlNjViMGY3IiwKICAgICAgICAgICAgICAgICJzaGFzdW0iOiAiIgogICAgICAgICAgICB9LAogICAgICAgICAgICAicmVxdWlyZSI6IHsKICAgICAgICAgICAgICAgICJwaHAiOiAiXjUuNSB8fCBeNy4wIiwKICAgICAgICAgICAgICAgICJwaHBkb2N1bWVudG9yL3JlZmxlY3Rpb24tY29tbW9uIjogIl4xLjAiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJyZXF1aXJlLWRldiI6IHsKICAgICAgICAgICAgICAgICJtb2NrZXJ5L21vY2tlcnkiOiAiXjAuOS40IiwKICAgICAgICAgICAgICAgICJwaHB1bml0L3BocHVuaXQiOiAiXjUuMnx8XjQuOC4yNCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgInR5cGUiOiAibGlicmFyeSIsCiAgICAgICAgICAgICJleHRyYSI6IHsKICAgICAgICAgICAgICAgICJicmFuY2gtYWxpYXMiOiB7CiAgICAgICAgICAgICAgICAgICAgImRldi1tYXN0ZXIiOiAiMS4wLngtZGV2IgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAiYXV0b2xvYWQiOiB7CiAgICAgICAgICAgICAgICAicHNyLTQiOiB7CiAgICAgICAgICAgICAgICAgICAgInBocERvY3VtZW50b3JcXFJlZmxlY3Rpb25cXCI6IFsKICAgICAgICAgICAgICAgICAgICAgICAgInNyYy8iCiAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAibm90aWZpY2F0aW9uLXVybCI6ICJodHRwczovL3AuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLnQub3JnL2Rvd25sb2Fkcy8iLAogICAgICAgICAgICAibGljZW5zZSI6IFsKICAgICAgICAgICAgICAgICJNSVQiCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJhdXRob3JzIjogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJuYW1lIjogIk1pa2UgdmFuIFJpZWwiLAogICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJtZUBtaWtldmFucmllbC5jb20iCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJ0aW1lIjogIjIwMTctMDctMTRUMTQ6Mjc6MDIrMDA6MDAiCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAgICJuYW1lIjogInBocHNwZWMvcHJvcGhlY3kiLAogICAgICAgICAgICAidmVyc2lvbiI6ICIxLjguMCIsCiAgICAgICAgICAgICJzb3VyY2UiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJnaXQiLAogICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL2cuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmIuY29tL3BocHNwZWMvcHJvcGhlY3kuZ2l0IiwKICAgICAgICAgICAgICAgICJyZWZlcmVuY2UiOiAiNGJhNDM2YjU1OTg3YjRiZjMxMWNiN2M2YmE4MmFhNTI4YWFjMGEwNiIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImRpc3QiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJ6aXAiLAogICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL2EuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmIuY29tL3JlcG9zL3BocHNwZWMvcHJvcGhlY3kvemlwYmFsbC80YmE0MzZiNTU5ODdiNGJmMzExY2I3YzZiYTgyYWE1MjhhYWMwYTA2IiwKICAgICAgICAgICAgICAgICJyZWZlcmVuY2UiOiAiNGJhNDM2YjU1OTg3YjRiZjMxMWNiN2M2YmE4MmFhNTI4YWFjMGEwNiIsCiAgICAgICAgICAgICAgICAic2hhc3VtIjogIiIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgInJlcXVpcmUiOiB7CiAgICAgICAgICAgICAgICAiZG9jdHJpbmUvaW5zdGFudGlhdG9yIjogIl4xLjAuMiIsCiAgICAgICAgICAgICAgICAicGhwIjogIl41LjN8XjcuMCIsCiAgICAgICAgICAgICAgICAicGhwZG9jdW1lbnRvci9yZWZsZWN0aW9uLWRvY2Jsb2NrIjogIl4yLjB8XjMuMC4yfF40LjAiLAogICAgICAgICAgICAgICAgInNlYmFzdGlhbi9jb21wYXJhdG9yIjogIl4xLjF8XjIuMHxeMy4wIiwKICAgICAgICAgICAgICAgICJzZWJhc3RpYW4vcmVjdXJzaW9uLWNvbnRleHQiOiAiXjEuMHxeMi4wfF4zLjAiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJyZXF1aXJlLWRldiI6IHsKICAgICAgICAgICAgICAgICJwaHBzcGVjL3BocHNwZWMiOiAiXjIuNXxeMy4yIiwKICAgICAgICAgICAgICAgICJwaHB1bml0L3BocHVuaXQiOiAiXjQuOC4zNSB8fCBeNS43IHx8IF42LjUgfHwgXjcuMSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgInR5cGUiOiAibGlicmFyeSIsCiAgICAgICAgICAgICJleHRyYSI6IHsKICAgICAgICAgICAgICAgICJicmFuY2gtYWxpYXMiOiB7CiAgICAgICAgICAgICAgICAgICAgImRldi1tYXN0ZXIiOiAiMS44LngtZGV2IgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAiYXV0b2xvYWQiOiB7CiAgICAgICAgICAgICAgICAicHNyLTAiOiB7CiAgICAgICAgICAgICAgICAgICAgIlByb3BoZWN5XFwiOiAic3JjLyIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm5vdGlmaWNhdGlvbi11cmwiOiAiaHR0cHM6Ly9wLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi50Lm9yZy9kb3dubG9hZHMvIiwKICAgICAgICAgICAgImxpY2Vuc2UiOiBbCiAgICAgICAgICAgICAgICAiTUlUIgogICAgICAgICAgICBdLAogICAgICAgICAgICAiYXV0aG9ycyI6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJLb25zdGFudGluIEt1ZHJ5YXNob3YiLAogICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJldmVyLnpldEBnbWFpbC5jb20iLAogICAgICAgICAgICAgICAgICAgICJob21lcGFnZSI6ICJodHRwOi8vZS4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4udC5jb20iCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJuYW1lIjogIk1hcmNlbGxvIER1YXJ0ZSIsCiAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogIm1hcmNlbGxvLmR1YXJ0ZUBnbWFpbC5jb20iCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJIaWdobHkgb3BpbmlvbmF0ZWQgbW9ja2luZyBmcmFtZXdvcmsgZm9yIFBIUCA1LjMrIiwKICAgICAgICAgICAgImhvbWVwYWdlIjogImh0dHBzOi8vZy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uYi5jb20vcGhwc3BlYy9wcm9waGVjeSIsCiAgICAgICAgICAgICJrZXl3b3JkcyI6IFsKICAgICAgICAgICAgICAgICJEb3VibGUiLAogICAgICAgICAgICAgICAgIkR1bW15IiwKICAgICAgICAgICAgICAgICJmYWtlIiwKICAgICAgICAgICAgICAgICJtb2NrIiwKICAgICAgICAgICAgICAgICJzcHkiLAogICAgICAgICAgICAgICAgInN0dWIiCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJ0aW1lIjogIjIwMTgtMDgtMDVUMTc6NTM6MTcrMDA6MDAiCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAgICJuYW1lIjogInBocHVuaXQvcGhwLWNvZGUtY292ZXJhZ2UiLAogICAgICAgICAgICAidmVyc2lvbiI6ICI3LjAuNCIsCiAgICAgICAgICAgICJzb3VyY2UiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJnaXQiLAogICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL2cuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmIuY29tL3NlYmFzdGlhbmJlcmdtYW5uL3BocC1jb2RlLWNvdmVyYWdlLmdpdCIsCiAgICAgICAgICAgICAgICAicmVmZXJlbmNlIjogIjYwMjRjOGE2Y2I5NjJkNDk2YjdiZDA0OWVkOGY0ODQ3MzgyNDE3NmQiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJkaXN0IjogewogICAgICAgICAgICAgICAgInR5cGUiOiAiemlwIiwKICAgICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly9hLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5iLmNvbS9yZXBvcy9zZWJhc3RpYW5iZXJnbWFubi9waHAtY29kZS1jb3ZlcmFnZS96aXBiYWxsLzYwMjRjOGE2Y2I5NjJkNDk2YjdiZDA0OWVkOGY0ODQ3MzgyNDE3NmQiLAogICAgICAgICAgICAgICAgInJlZmVyZW5jZSI6ICI2MDI0YzhhNmNiOTYyZDQ5NmI3YmQwNDllZDhmNDg0NzM4MjQxNzZkIiwKICAgICAgICAgICAgICAgICJzaGFzdW0iOiAiIgogICAgICAgICAgICB9LAogICAgICAgICAgICAicmVxdWlyZSI6IHsKICAgICAgICAgICAgICAgICJleHQtZG9tIjogIioiLAogICAgICAgICAgICAgICAgImV4dC14bWx3cml0ZXIiOiAiKiIsCiAgICAgICAgICAgICAgICAicGhwIjogIl43LjIiLAogICAgICAgICAgICAgICAgInBocHVuaXQvcGhwLWZpbGUtaXRlcmF0b3IiOiAiXjIuMC4yIiwKICAgICAgICAgICAgICAgICJwaHB1bml0L3BocC10ZXh0LXRlbXBsYXRlIjogIl4xLjIuMSIsCiAgICAgICAgICAgICAgICAicGhwdW5pdC9waHAtdG9rZW4tc3RyZWFtIjogIl4zLjAuMSIsCiAgICAgICAgICAgICAgICAic2ViYXN0aWFuL2NvZGUtdW5pdC1yZXZlcnNlLWxvb2t1cCI6ICJeMS4wLjEiLAogICAgICAgICAgICAgICAgInNlYmFzdGlhbi9lbnZpcm9ubWVudCI6ICJeNC4xIiwKICAgICAgICAgICAgICAgICJzZWJhc3RpYW4vdmVyc2lvbiI6ICJeMi4wLjEiLAogICAgICAgICAgICAgICAgInRoZXNlZXIvdG9rZW5pemVyIjogIl4xLjEiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJyZXF1aXJlLWRldiI6IHsKICAgICAgICAgICAgICAgICJwaHB1bml0L3BocHVuaXQiOiAiXjguMCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgInN1Z2dlc3QiOiB7CiAgICAgICAgICAgICAgICAiZXh0LXhkZWJ1ZyI6ICJeMi42LjEiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJ0eXBlIjogImxpYnJhcnkiLAogICAgICAgICAgICAiZXh0cmEiOiB7CiAgICAgICAgICAgICAgICAiYnJhbmNoLWFsaWFzIjogewogICAgICAgICAgICAgICAgICAgICJkZXYtbWFzdGVyIjogIjcuMC1kZXYiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJhdXRvbG9hZCI6IHsKICAgICAgICAgICAgICAgICJjbGFzc21hcCI6IFsKICAgICAgICAgICAgICAgICAgICAic3JjLyIKICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm5vdGlmaWNhdGlvbi11cmwiOiAiaHR0cHM6Ly9wLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi50Lm9yZy9kb3dubG9hZHMvIiwKICAgICAgICAgICAgImxpY2Vuc2UiOiBbCiAgICAgICAgICAgICAgICAiQlNELTMtQ2xhdXNlIgogICAgICAgICAgICBdLAogICAgICAgICAgICAiYXV0aG9ycyI6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJTZWJhc3RpYW4gQmVyZ21hbm4iLAogICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJzZWJhc3RpYW5AcGhwdW5pdC5kZSIsCiAgICAgICAgICAgICAgICAgICAgInJvbGUiOiAibGVhZCIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXSwKICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkxpYnJhcnkgdGhhdCBwcm92aWRlcyBjb2xsZWN0aW9uLCBwcm9jZXNzaW5nLCBhbmQgcmVuZGVyaW5nIGZ1bmN0aW9uYWxpdHkgZm9yIFBIUCBjb2RlIGNvdmVyYWdlIGluZm9ybWF0aW9uLiIsCiAgICAgICAgICAgICJob21lcGFnZSI6ICJodHRwczovL2cuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmIuY29tL3NlYmFzdGlhbmJlcmdtYW5uL3BocC1jb2RlLWNvdmVyYWdlIiwKICAgICAgICAgICAgImtleXdvcmRzIjogWwogICAgICAgICAgICAgICAgImNvdmVyYWdlIiwKICAgICAgICAgICAgICAgICJ0ZXN0aW5nIiwKICAgICAgICAgICAgICAgICJ4dW5pdCIKICAgICAgICAgICAgXSwKICAgICAgICAgICAgInRpbWUiOiAiMjAxOS0wNS0yOVQwOTo1OTozMSswMDowMCIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICAgIm5hbWUiOiAicGhwdW5pdC9waHAtZmlsZS1pdGVyYXRvciIsCiAgICAgICAgICAgICJ2ZXJzaW9uIjogIjIuMC4yIiwKICAgICAgICAgICAgInNvdXJjZSI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogImdpdCIsCiAgICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vZy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uYi5jb20vc2ViYXN0aWFuYmVyZ21hbm4vcGhwLWZpbGUtaXRlcmF0b3IuZ2l0IiwKICAgICAgICAgICAgICAgICJyZWZlcmVuY2UiOiAiMDUwYmVkZjE0NWEyNTdiMWZmMDI3NDZjMzE4OTQ4MDBlNTEyMjk0NiIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImRpc3QiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJ6aXAiLAogICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL2EuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmIuY29tL3JlcG9zL3NlYmFzdGlhbmJlcmdtYW5uL3BocC1maWxlLWl0ZXJhdG9yL3ppcGJhbGwvMDUwYmVkZjE0NWEyNTdiMWZmMDI3NDZjMzE4OTQ4MDBlNTEyMjk0NiIsCiAgICAgICAgICAgICAgICAicmVmZXJlbmNlIjogIjA1MGJlZGYxNDVhMjU3YjFmZjAyNzQ2YzMxODk0ODAwZTUxMjI5NDYiLAogICAgICAgICAgICAgICAgInNoYXN1bSI6ICIiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJyZXF1aXJlIjogewogICAgICAgICAgICAgICAgInBocCI6ICJeNy4xIgogICAgICAgICAgICB9LAogICAgICAgICAgICAicmVxdWlyZS1kZXYiOiB7CiAgICAgICAgICAgICAgICAicGhwdW5pdC9waHB1bml0IjogIl43LjEiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJ0eXBlIjogImxpYnJhcnkiLAogICAgICAgICAgICAiZXh0cmEiOiB7CiAgICAgICAgICAgICAgICAiYnJhbmNoLWFsaWFzIjogewogICAgICAgICAgICAgICAgICAgICJkZXYtbWFzdGVyIjogIjIuMC54LWRldiIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgImF1dG9sb2FkIjogewogICAgICAgICAgICAgICAgImNsYXNzbWFwIjogWwogICAgICAgICAgICAgICAgICAgICJzcmMvIgogICAgICAgICAgICAgICAgXQogICAgICAgICAgICB9LAogICAgICAgICAgICAibm90aWZpY2F0aW9uLXVybCI6ICJodHRwczovL3AuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLnQub3JnL2Rvd25sb2Fkcy8iLAogICAgICAgICAgICAibGljZW5zZSI6IFsKICAgICAgICAgICAgICAgICJCU0QtMy1DbGF1c2UiCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJhdXRob3JzIjogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJuYW1lIjogIlNlYmFzdGlhbiBCZXJnbWFubiIsCiAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogInNlYmFzdGlhbkBwaHB1bml0LmRlIiwKICAgICAgICAgICAgICAgICAgICAicm9sZSI6ICJsZWFkIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdLAogICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRmlsdGVySXRlcmF0b3IgaW1wbGVtZW50YXRpb24gdGhhdCBmaWx0ZXJzIGZpbGVzIGJhc2VkIG9uIGEgbGlzdCBvZiBzdWZmaXhlcy4iLAogICAgICAgICAgICAiaG9tZXBhZ2UiOiAiaHR0cHM6Ly9nLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5iLmNvbS9zZWJhc3RpYW5iZXJnbWFubi9waHAtZmlsZS1pdGVyYXRvci8iLAogICAgICAgICAgICAia2V5d29yZHMiOiBbCiAgICAgICAgICAgICAgICAiZmlsZXN5c3RlbSIsCiAgICAgICAgICAgICAgICAiaXRlcmF0b3IiCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJ0aW1lIjogIjIwMTgtMDktMTNUMjA6MzM6NDIrMDA6MDAiCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAgICJuYW1lIjogInBocHVuaXQvcGhwLXRleHQtdGVtcGxhdGUiLAogICAgICAgICAgICAidmVyc2lvbiI6ICIxLjIuMSIsCiAgICAgICAgICAgICJzb3VyY2UiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJnaXQiLAogICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL2cuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmIuY29tL3NlYmFzdGlhbmJlcmdtYW5uL3BocC10ZXh0LXRlbXBsYXRlLmdpdCIsCiAgICAgICAgICAgICAgICAicmVmZXJlbmNlIjogIjMxZjhiNzE3ZTUxZDlhMmFmY2E2YzlmMDQ2ZjVkNjlmYzI3Yzg2ODYiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJkaXN0IjogewogICAgICAgICAgICAgICAgInR5cGUiOiAiemlwIiwKICAgICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly9hLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5iLmNvbS9yZXBvcy9zZWJhc3RpYW5iZXJnbWFubi9waHAtdGV4dC10ZW1wbGF0ZS96aXBiYWxsLzMxZjhiNzE3ZTUxZDlhMmFmY2E2YzlmMDQ2ZjVkNjlmYzI3Yzg2ODYiLAogICAgICAgICAgICAgICAgInJlZmVyZW5jZSI6ICIzMWY4YjcxN2U1MWQ5YTJhZmNhNmM5ZjA0NmY1ZDY5ZmMyN2M4Njg2IiwKICAgICAgICAgICAgICAgICJzaGFzdW0iOiAiIgogICAgICAgICAgICB9LAogICAgICAgICAgICAicmVxdWlyZSI6IHsKICAgICAgICAgICAgICAgICJwaHAiOiAiPj01LjMuMyIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgInR5cGUiOiAibGlicmFyeSIsCiAgICAgICAgICAgICJhdXRvbG9hZCI6IHsKICAgICAgICAgICAgICAgICJjbGFzc21hcCI6IFsKICAgICAgICAgICAgICAgICAgICAic3JjLyIKICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm5vdGlmaWNhdGlvbi11cmwiOiAiaHR0cHM6Ly9wLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi50Lm9yZy9kb3dubG9hZHMvIiwKICAgICAgICAgICAgImxpY2Vuc2UiOiBbCiAgICAgICAgICAgICAgICAiQlNELTMtQ2xhdXNlIgogICAgICAgICAgICBdLAogICAgICAgICAgICAiYXV0aG9ycyI6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJTZWJhc3RpYW4gQmVyZ21hbm4iLAogICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJzZWJhc3RpYW5AcGhwdW5pdC5kZSIsCiAgICAgICAgICAgICAgICAgICAgInJvbGUiOiAibGVhZCIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXSwKICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSB0ZW1wbGF0ZSBlbmdpbmUuIiwKICAgICAgICAgICAgImhvbWVwYWdlIjogImh0dHBzOi8vZy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uYi5jb20vc2ViYXN0aWFuYmVyZ21hbm4vcGhwLXRleHQtdGVtcGxhdGUvIiwKICAgICAgICAgICAgImtleXdvcmRzIjogWwogICAgICAgICAgICAgICAgInRlbXBsYXRlIgogICAgICAgICAgICBdLAogICAgICAgICAgICAidGltZSI6ICIyMDE1LTA2LTIxVDEzOjUwOjM0KzAwOjAwIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgICAibmFtZSI6ICJwaHB1bml0L3BocC10aW1lciIsCiAgICAgICAgICAgICJ2ZXJzaW9uIjogIjIuMS4xIiwKICAgICAgICAgICAgInNvdXJjZSI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogImdpdCIsCiAgICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vZy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uYi5jb20vc2ViYXN0aWFuYmVyZ21hbm4vcGhwLXRpbWVyLmdpdCIsCiAgICAgICAgICAgICAgICAicmVmZXJlbmNlIjogIjhiMzg5YWViZTFiOGIwNTc4NDMwYmRhMGM3Yzk1YTgyOTYwOGUwNTkiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJkaXN0IjogewogICAgICAgICAgICAgICAgInR5cGUiOiAiemlwIiwKICAgICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly9hLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5iLmNvbS9yZXBvcy9zZWJhc3RpYW5iZXJnbWFubi9waHAtdGltZXIvemlwYmFsbC84YjM4OWFlYmUxYjhiMDU3ODQzMGJkYTBjN2M5NWE4Mjk2MDhlMDU5IiwKICAgICAgICAgICAgICAgICJyZWZlcmVuY2UiOiAiOGIzODlhZWJlMWI4YjA1Nzg0MzBiZGEwYzdjOTVhODI5NjA4ZTA1OSIsCiAgICAgICAgICAgICAgICAic2hhc3VtIjogIiIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgInJlcXVpcmUiOiB7CiAgICAgICAgICAgICAgICAicGhwIjogIl43LjEiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJyZXF1aXJlLWRldiI6IHsKICAgICAgICAgICAgICAgICJwaHB1bml0L3BocHVuaXQiOiAiXjcuMCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgInR5cGUiOiAibGlicmFyeSIsCiAgICAgICAgICAgICJleHRyYSI6IHsKICAgICAgICAgICAgICAgICJicmFuY2gtYWxpYXMiOiB7CiAgICAgICAgICAgICAgICAgICAgImRldi1tYXN0ZXIiOiAiMi4xLWRldiIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgImF1dG9sb2FkIjogewogICAgICAgICAgICAgICAgImNsYXNzbWFwIjogWwogICAgICAgICAgICAgICAgICAgICJzcmMvIgogICAgICAgICAgICAgICAgXQogICAgICAgICAgICB9LAogICAgICAgICAgICAibm90aWZpY2F0aW9uLXVybCI6ICJodHRwczovL3AuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLnQub3JnL2Rvd25sb2Fkcy8iLAogICAgICAgICAgICAibGljZW5zZSI6IFsKICAgICAgICAgICAgICAgICJCU0QtMy1DbGF1c2UiCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJhdXRob3JzIjogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJuYW1lIjogIlNlYmFzdGlhbiBCZXJnbWFubiIsCiAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogInNlYmFzdGlhbkBwaHB1bml0LmRlIiwKICAgICAgICAgICAgICAgICAgICAicm9sZSI6ICJsZWFkIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdLAogICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiVXRpbGl0eSBjbGFzcyBmb3IgdGltaW5nIiwKICAgICAgICAgICAgImhvbWVwYWdlIjogImh0dHBzOi8vZy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uYi5jb20vc2ViYXN0aWFuYmVyZ21hbm4vcGhwLXRpbWVyLyIsCiAgICAgICAgICAgICJrZXl3b3JkcyI6IFsKICAgICAgICAgICAgICAgICJ0aW1lciIKICAgICAgICAgICAgXSwKICAgICAgICAgICAgInRpbWUiOiAiMjAxOS0wMi0yMFQxMDoxMjo1OSswMDowMCIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICAgIm5hbWUiOiAicGhwdW5pdC9waHAtdG9rZW4tc3RyZWFtIiwKICAgICAgICAgICAgInZlcnNpb24iOiAiMy4wLjEiLAogICAgICAgICAgICAic291cmNlIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAiZ2l0IiwKICAgICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly9nLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5iLmNvbS9zZWJhc3RpYW5iZXJnbWFubi9waHAtdG9rZW4tc3RyZWFtLmdpdCIsCiAgICAgICAgICAgICAgICAicmVmZXJlbmNlIjogImM5OWUzYmU5ZDNlODVmNjA2NDZmMTUyZjkwMDJkNDZlZDc3NzBkMTgiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJkaXN0IjogewogICAgICAgICAgICAgICAgInR5cGUiOiAiemlwIiwKICAgICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly9hLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5iLmNvbS9yZXBvcy9zZWJhc3RpYW5iZXJnbWFubi9waHAtdG9rZW4tc3RyZWFtL3ppcGJhbGwvYzk5ZTNiZTlkM2U4NWY2MDY0NmYxNTJmOTAwMmQ0NmVkNzc3MGQxOCIsCiAgICAgICAgICAgICAgICAicmVmZXJlbmNlIjogImM5OWUzYmU5ZDNlODVmNjA2NDZmMTUyZjkwMDJkNDZlZDc3NzBkMTgiLAogICAgICAgICAgICAgICAgInNoYXN1bSI6ICIiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJyZXF1aXJlIjogewogICAgICAgICAgICAgICAgImV4dC10b2tlbml6ZXIiOiAiKiIsCiAgICAgICAgICAgICAgICAicGhwIjogIl43LjEiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJyZXF1aXJlLWRldiI6IHsKICAgICAgICAgICAgICAgICJwaHB1bml0L3BocHVuaXQiOiAiXjcuMCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgInR5cGUiOiAibGlicmFyeSIsCiAgICAgICAgICAgICJleHRyYSI6IHsKICAgICAgICAgICAgICAgICJicmFuY2gtYWxpYXMiOiB7CiAgICAgICAgICAgICAgICAgICAgImRldi1tYXN0ZXIiOiAiMy4wLWRldiIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgImF1dG9sb2FkIjogewogICAgICAgICAgICAgICAgImNsYXNzbWFwIjogWwogICAgICAgICAgICAgICAgICAgICJzcmMvIgogICAgICAgICAgICAgICAgXQogICAgICAgICAgICB9LAogICAgICAgICAgICAibm90aWZpY2F0aW9uLXVybCI6ICJodHRwczovL3AuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLnQub3JnL2Rvd25sb2Fkcy8iLAogICAgICAgICAgICAibGljZW5zZSI6IFsKICAgICAgICAgICAgICAgICJCU0QtMy1DbGF1c2UiCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJhdXRob3JzIjogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJuYW1lIjogIlNlYmFzdGlhbiBCZXJnbWFubiIsCiAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogInNlYmFzdGlhbkBwaHB1bml0LmRlIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdLAogICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiV3JhcHBlciBhcm91bmQgUEhQJ3MgdG9rZW5pemVyIGV4dGVuc2lvbi4iLAogICAgICAgICAgICAiaG9tZXBhZ2UiOiAiaHR0cHM6Ly9nLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5iLmNvbS9zZWJhc3RpYW5iZXJnbWFubi9waHAtdG9rZW4tc3RyZWFtLyIsCiAgICAgICAgICAgICJrZXl3b3JkcyI6IFsKICAgICAgICAgICAgICAgICJ0b2tlbml6ZXIiCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJ0aW1lIjogIjIwMTgtMTAtMzBUMDU6NTI6MTgrMDA6MDAiCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAgICJuYW1lIjogInBocHVuaXQvcGhwdW5pdCIsCiAgICAgICAgICAgICJ2ZXJzaW9uIjogIjguMS42IiwKICAgICAgICAgICAgInNvdXJjZSI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogImdpdCIsCiAgICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vZy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uYi5jb20vc2ViYXN0aWFuYmVyZ21hbm4vcGhwdW5pdC5naXQiLAogICAgICAgICAgICAgICAgInJlZmVyZW5jZSI6ICJlM2M5ZGE2ZTY0NTQ5MmM0NjFlMGExMWVjYTExN2Y4M2Y0ZjRjODQwIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGlzdCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInppcCIsCiAgICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vYS4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uYi5jb20vcmVwb3Mvc2ViYXN0aWFuYmVyZ21hbm4vcGhwdW5pdC96aXBiYWxsL2UzYzlkYTZlNjQ1NDkyYzQ2MWUwYTExZWNhMTE3ZjgzZjRmNGM4NDAiLAogICAgICAgICAgICAgICAgInJlZmVyZW5jZSI6ICJlM2M5ZGE2ZTY0NTQ5MmM0NjFlMGExMWVjYTExN2Y4M2Y0ZjRjODQwIiwKICAgICAgICAgICAgICAgICJzaGFzdW0iOiAiIgogICAgICAgICAgICB9LAogICAgICAgICAgICAicmVxdWlyZSI6IHsKICAgICAgICAgICAgICAgICJkb2N0cmluZS9pbnN0YW50aWF0b3IiOiAiXjEuMSIsCiAgICAgICAgICAgICAgICAiZXh0LWRvbSI6ICIqIiwKICAgICAgICAgICAgICAgICJleHQtanNvbiI6ICIqIiwKICAgICAgICAgICAgICAgICJleHQtbGlieG1sIjogIioiLAogICAgICAgICAgICAgICAgImV4dC1tYnN0cmluZyI6ICIqIiwKICAgICAgICAgICAgICAgICJleHQteG1sIjogIioiLAogICAgICAgICAgICAgICAgImV4dC14bWx3cml0ZXIiOiAiKiIsCiAgICAgICAgICAgICAgICAibXljbGFicy9kZWVwLWNvcHkiOiAiXjEuNyIsCiAgICAgICAgICAgICAgICAicGhhci1pby9tYW5pZmVzdCI6ICJeMS4wLjIiLAogICAgICAgICAgICAgICAgInBoYXItaW8vdmVyc2lvbiI6ICJeMi4wIiwKICAgICAgICAgICAgICAgICJwaHAiOiAiXjcuMiIsCiAgICAgICAgICAgICAgICAicGhwc3BlYy9wcm9waGVjeSI6ICJeMS43IiwKICAgICAgICAgICAgICAgICJwaHB1bml0L3BocC1jb2RlLWNvdmVyYWdlIjogIl43LjAiLAogICAgICAgICAgICAgICAgInBocHVuaXQvcGhwLWZpbGUtaXRlcmF0b3IiOiAiXjIuMC4xIiwKICAgICAgICAgICAgICAgICJwaHB1bml0L3BocC10ZXh0LXRlbXBsYXRlIjogIl4xLjIuMSIsCiAgICAgICAgICAgICAgICAicGhwdW5pdC9waHAtdGltZXIiOiAiXjIuMSIsCiAgICAgICAgICAgICAgICAic2ViYXN0aWFuL2NvbXBhcmF0b3IiOiAiXjMuMCIsCiAgICAgICAgICAgICAgICAic2ViYXN0aWFuL2RpZmYiOiAiXjMuMCIsCiAgICAgICAgICAgICAgICAic2ViYXN0aWFuL2Vudmlyb25tZW50IjogIl40LjEiLAogICAgICAgICAgICAgICAgInNlYmFzdGlhbi9leHBvcnRlciI6ICJeMy4xIiwKICAgICAgICAgICAgICAgICJzZWJhc3RpYW4vZ2xvYmFsLXN0YXRlIjogIl4zLjAiLAogICAgICAgICAgICAgICAgInNlYmFzdGlhbi9vYmplY3QtZW51bWVyYXRvciI6ICJeMy4wLjMiLAogICAgICAgICAgICAgICAgInNlYmFzdGlhbi9yZXNvdXJjZS1vcGVyYXRpb25zIjogIl4yLjAiLAogICAgICAgICAgICAgICAgInNlYmFzdGlhbi92ZXJzaW9uIjogIl4yLjAuMSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgInJlcXVpcmUtZGV2IjogewogICAgICAgICAgICAgICAgImV4dC1wZG8iOiAiKiIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgInN1Z2dlc3QiOiB7CiAgICAgICAgICAgICAgICAiZXh0LXNvYXAiOiAiKiIsCiAgICAgICAgICAgICAgICAiZXh0LXhkZWJ1ZyI6ICIqIiwKICAgICAgICAgICAgICAgICJwaHB1bml0L3BocC1pbnZva2VyIjogIl4yLjAiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJiaW4iOiBbCiAgICAgICAgICAgICAgICAicGhwdW5pdCIKICAgICAgICAgICAgXSwKICAgICAgICAgICAgInR5cGUiOiAibGlicmFyeSIsCiAgICAgICAgICAgICJleHRyYSI6IHsKICAgICAgICAgICAgICAgICJicmFuY2gtYWxpYXMiOiB7CiAgICAgICAgICAgICAgICAgICAgImRldi1tYXN0ZXIiOiAiOC4xLWRldiIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgImF1dG9sb2FkIjogewogICAgICAgICAgICAgICAgImNsYXNzbWFwIjogWwogICAgICAgICAgICAgICAgICAgICJzcmMvIgogICAgICAgICAgICAgICAgXQogICAgICAgICAgICB9LAogICAgICAgICAgICAibm90aWZpY2F0aW9uLXVybCI6ICJodHRwczovL3AuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLnQub3JnL2Rvd25sb2Fkcy8iLAogICAgICAgICAgICAibGljZW5zZSI6IFsKICAgICAgICAgICAgICAgICJCU0QtMy1DbGF1c2UiCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJhdXRob3JzIjogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJuYW1lIjogIlNlYmFzdGlhbiBCZXJnbWFubiIsCiAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogInNlYmFzdGlhbkBwaHB1bml0LmRlIiwKICAgICAgICAgICAgICAgICAgICAicm9sZSI6ICJsZWFkIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdLAogICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiVGhlIFBIUCBVbml0IFRlc3RpbmcgZnJhbWV3b3JrLiIsCiAgICAgICAgICAgICJob21lcGFnZSI6ICJodHRwczovL3AuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLnQuZGUvIiwKICAgICAgICAgICAgImtleXdvcmRzIjogWwogICAgICAgICAgICAgICAgInBocHVuaXQiLAogICAgICAgICAgICAgICAgInRlc3RpbmciLAogICAgICAgICAgICAgICAgInh1bml0IgogICAgICAgICAgICBdLAogICAgICAgICAgICAidGltZSI6ICIyMDE5LTA1LTI4VDExOjUzOjQyKzAwOjAwIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgICAibmFtZSI6ICJzZWJhc3RpYW4vY29kZS11bml0LXJldmVyc2UtbG9va3VwIiwKICAgICAgICAgICAgInZlcnNpb24iOiAiMS4wLjEiLAogICAgICAgICAgICAic291cmNlIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAiZ2l0IiwKICAgICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly9nLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5iLmNvbS9zZWJhc3RpYW5iZXJnbWFubi9jb2RlLXVuaXQtcmV2ZXJzZS1sb29rdXAuZ2l0IiwKICAgICAgICAgICAgICAgICJyZWZlcmVuY2UiOiAiNDQxOWZjZGI1ZWFiYjljYWE2MWEyN2M3YTFkYjUzMmE2YjU1ZGQxOCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImRpc3QiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJ6aXAiLAogICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL2EuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmIuY29tL3JlcG9zL3NlYmFzdGlhbmJlcmdtYW5uL2NvZGUtdW5pdC1yZXZlcnNlLWxvb2t1cC96aXBiYWxsLzQ0MTlmY2RiNWVhYmI5Y2FhNjFhMjdjN2ExZGI1MzJhNmI1NWRkMTgiLAogICAgICAgICAgICAgICAgInJlZmVyZW5jZSI6ICI0NDE5ZmNkYjVlYWJiOWNhYTYxYTI3YzdhMWRiNTMyYTZiNTVkZDE4IiwKICAgICAgICAgICAgICAgICJzaGFzdW0iOiAiIgogICAgICAgICAgICB9LAogICAgICAgICAgICAicmVxdWlyZSI6IHsKICAgICAgICAgICAgICAgICJwaHAiOiAiXjUuNiB8fCBeNy4wIgogICAgICAgICAgICB9LAogICAgICAgICAgICAicmVxdWlyZS1kZXYiOiB7CiAgICAgICAgICAgICAgICAicGhwdW5pdC9waHB1bml0IjogIl41LjcgfHwgXjYuMCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgInR5cGUiOiAibGlicmFyeSIsCiAgICAgICAgICAgICJleHRyYSI6IHsKICAgICAgICAgICAgICAgICJicmFuY2gtYWxpYXMiOiB7CiAgICAgICAgICAgICAgICAgICAgImRldi1tYXN0ZXIiOiAiMS4wLngtZGV2IgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAiYXV0b2xvYWQiOiB7CiAgICAgICAgICAgICAgICAiY2xhc3NtYXAiOiBbCiAgICAgICAgICAgICAgICAgICAgInNyYy8iCiAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJub3RpZmljYXRpb24tdXJsIjogImh0dHBzOi8vcC4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4udC5vcmcvZG93bmxvYWRzLyIsCiAgICAgICAgICAgICJsaWNlbnNlIjogWwogICAgICAgICAgICAgICAgIkJTRC0zLUNsYXVzZSIKICAgICAgICAgICAgXSwKICAgICAgICAgICAgImF1dGhvcnMiOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiU2ViYXN0aWFuIEJlcmdtYW5uIiwKICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAic2ViYXN0aWFuQHBocHVuaXQuZGUiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJMb29rcyB1cCB3aGljaCBmdW5jdGlvbiBvciBtZXRob2QgYSBsaW5lIG9mIGNvZGUgYmVsb25ncyB0byIsCiAgICAgICAgICAgICJob21lcGFnZSI6ICJodHRwczovL2cuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmIuY29tL3NlYmFzdGlhbmJlcmdtYW5uL2NvZGUtdW5pdC1yZXZlcnNlLWxvb2t1cC8iLAogICAgICAgICAgICAidGltZSI6ICIyMDE3LTAzLTA0VDA2OjMwOjQxKzAwOjAwIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgICAibmFtZSI6ICJzZWJhc3RpYW4vY29tcGFyYXRvciIsCiAgICAgICAgICAgICJ2ZXJzaW9uIjogIjMuMC4yIiwKICAgICAgICAgICAgInNvdXJjZSI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogImdpdCIsCiAgICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vZy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uYi5jb20vc2ViYXN0aWFuYmVyZ21hbm4vY29tcGFyYXRvci5naXQiLAogICAgICAgICAgICAgICAgInJlZmVyZW5jZSI6ICI1ZGU0ZmMxNzdhZGY5YmNlOGRmOThkOGQxNDFhNzU1OWQ3Y2NmNmRhIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGlzdCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInppcCIsCiAgICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vYS4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uYi5jb20vcmVwb3Mvc2ViYXN0aWFuYmVyZ21hbm4vY29tcGFyYXRvci96aXBiYWxsLzVkZTRmYzE3N2FkZjliY2U4ZGY5OGQ4ZDE0MWE3NTU5ZDdjY2Y2ZGEiLAogICAgICAgICAgICAgICAgInJlZmVyZW5jZSI6ICI1ZGU0ZmMxNzdhZGY5YmNlOGRmOThkOGQxNDFhNzU1OWQ3Y2NmNmRhIiwKICAgICAgICAgICAgICAgICJzaGFzdW0iOiAiIgogICAgICAgICAgICB9LAogICAgICAgICAgICAicmVxdWlyZSI6IHsKICAgICAgICAgICAgICAgICJwaHAiOiAiXjcuMSIsCiAgICAgICAgICAgICAgICAic2ViYXN0aWFuL2RpZmYiOiAiXjMuMCIsCiAgICAgICAgICAgICAgICAic2ViYXN0aWFuL2V4cG9ydGVyIjogIl4zLjEiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJyZXF1aXJlLWRldiI6IHsKICAgICAgICAgICAgICAgICJwaHB1bml0L3BocHVuaXQiOiAiXjcuMSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgInR5cGUiOiAibGlicmFyeSIsCiAgICAgICAgICAgICJleHRyYSI6IHsKICAgICAgICAgICAgICAgICJicmFuY2gtYWxpYXMiOiB7CiAgICAgICAgICAgICAgICAgICAgImRldi1tYXN0ZXIiOiAiMy4wLWRldiIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgImF1dG9sb2FkIjogewogICAgICAgICAgICAgICAgImNsYXNzbWFwIjogWwogICAgICAgICAgICAgICAgICAgICJzcmMvIgogICAgICAgICAgICAgICAgXQogICAgICAgICAgICB9LAogICAgICAgICAgICAibm90aWZpY2F0aW9uLXVybCI6ICJodHRwczovL3AuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLnQub3JnL2Rvd25sb2Fkcy8iLAogICAgICAgICAgICAibGljZW5zZSI6IFsKICAgICAgICAgICAgICAgICJCU0QtMy1DbGF1c2UiCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJhdXRob3JzIjogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJuYW1lIjogIkplZmYgV2VsY2giLAogICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJ3aGF0dGhlamVmZkBnbWFpbC5jb20iCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJuYW1lIjogIlZvbGtlciBEdXNjaCIsCiAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogImdpdGh1YkB3YWxsYmFzaC5jb20iCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJuYW1lIjogIkJlcm5oYXJkIFNjaHVzc2VrIiwKICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiYnNjaHVzc2VrQDJiZXB1Ymxpc2hlZC5hdCIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiU2ViYXN0aWFuIEJlcmdtYW5uIiwKICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAic2ViYXN0aWFuQHBocHVuaXQuZGUiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJQcm92aWRlcyB0aGUgZnVuY3Rpb25hbGl0eSB0byBjb21wYXJlIFBIUCB2YWx1ZXMgZm9yIGVxdWFsaXR5IiwKICAgICAgICAgICAgImhvbWVwYWdlIjogImh0dHBzOi8vZy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uYi5jb20vc2ViYXN0aWFuYmVyZ21hbm4vY29tcGFyYXRvciIsCiAgICAgICAgICAgICJrZXl3b3JkcyI6IFsKICAgICAgICAgICAgICAgICJjb21wYXJhdG9yIiwKICAgICAgICAgICAgICAgICJjb21wYXJlIiwKICAgICAgICAgICAgICAgICJlcXVhbGl0eSIKICAgICAgICAgICAgXSwKICAgICAgICAgICAgInRpbWUiOiAiMjAxOC0wNy0xMlQxNToxMjo0NiswMDowMCIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICAgIm5hbWUiOiAic2ViYXN0aWFuL2RpZmYiLAogICAgICAgICAgICAidmVyc2lvbiI6ICIzLjAuMiIsCiAgICAgICAgICAgICJzb3VyY2UiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJnaXQiLAogICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL2cuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmIuY29tL3NlYmFzdGlhbmJlcmdtYW5uL2RpZmYuZ2l0IiwKICAgICAgICAgICAgICAgICJyZWZlcmVuY2UiOiAiNzIwZmNjN2U5YjVjZjM4NGVhNjhkOWQ5MzBkNDgwOTA3YTBjMWEyOSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImRpc3QiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJ6aXAiLAogICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL2EuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmIuY29tL3JlcG9zL3NlYmFzdGlhbmJlcmdtYW5uL2RpZmYvemlwYmFsbC83MjBmY2M3ZTliNWNmMzg0ZWE2OGQ5ZDkzMGQ0ODA5MDdhMGMxYTI5IiwKICAgICAgICAgICAgICAgICJyZWZlcmVuY2UiOiAiNzIwZmNjN2U5YjVjZjM4NGVhNjhkOWQ5MzBkNDgwOTA3YTBjMWEyOSIsCiAgICAgICAgICAgICAgICAic2hhc3VtIjogIiIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgInJlcXVpcmUiOiB7CiAgICAgICAgICAgICAgICAicGhwIjogIl43LjEiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJyZXF1aXJlLWRldiI6IHsKICAgICAgICAgICAgICAgICJwaHB1bml0L3BocHVuaXQiOiAiXjcuNSB8fCBeOC4wIiwKICAgICAgICAgICAgICAgICJzeW1mb255L3Byb2Nlc3MiOiAiXjIgfHwgXjMuMyB8fCBeNCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgInR5cGUiOiAibGlicmFyeSIsCiAgICAgICAgICAgICJleHRyYSI6IHsKICAgICAgICAgICAgICAgICJicmFuY2gtYWxpYXMiOiB7CiAgICAgICAgICAgICAgICAgICAgImRldi1tYXN0ZXIiOiAiMy4wLWRldiIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgImF1dG9sb2FkIjogewogICAgICAgICAgICAgICAgImNsYXNzbWFwIjogWwogICAgICAgICAgICAgICAgICAgICJzcmMvIgogICAgICAgICAgICAgICAgXQogICAgICAgICAgICB9LAogICAgICAgICAgICAibm90aWZpY2F0aW9uLXVybCI6ICJodHRwczovL3AuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLnQub3JnL2Rvd25sb2Fkcy8iLAogICAgICAgICAgICAibGljZW5zZSI6IFsKICAgICAgICAgICAgICAgICJCU0QtMy1DbGF1c2UiCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJhdXRob3JzIjogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJuYW1lIjogIktvcmUgTm9yZG1hbm4iLAogICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJtYWlsQGtvcmUtbm9yZG1hbm4uZGUiCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJuYW1lIjogIlNlYmFzdGlhbiBCZXJnbWFubiIsCiAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogInNlYmFzdGlhbkBwaHB1bml0LmRlIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdLAogICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRGlmZiBpbXBsZW1lbnRhdGlvbiIsCiAgICAgICAgICAgICJob21lcGFnZSI6ICJodHRwczovL2cuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmIuY29tL3NlYmFzdGlhbmJlcmdtYW5uL2RpZmYiLAogICAgICAgICAgICAia2V5d29yZHMiOiBbCiAgICAgICAgICAgICAgICAiZGlmZiIsCiAgICAgICAgICAgICAgICAidWRpZmYiLAogICAgICAgICAgICAgICAgInVuaWRpZmYiLAogICAgICAgICAgICAgICAgInVuaWZpZWQgZGlmZiIKICAgICAgICAgICAgXSwKICAgICAgICAgICAgInRpbWUiOiAiMjAxOS0wMi0wNFQwNjowMTowNyswMDowMCIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICAgIm5hbWUiOiAic2ViYXN0aWFuL2Vudmlyb25tZW50IiwKICAgICAgICAgICAgInZlcnNpb24iOiAiNC4yLjIiLAogICAgICAgICAgICAic291cmNlIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAiZ2l0IiwKICAgICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly9nLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5iLmNvbS9zZWJhc3RpYW5iZXJnbWFubi9lbnZpcm9ubWVudC5naXQiLAogICAgICAgICAgICAgICAgInJlZmVyZW5jZSI6ICJmMmEyYzhlMWM5N2MxMWFjZTYwN2E3YTY2N2Q3M2Q0N2MxOWZlNDA0IgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGlzdCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInppcCIsCiAgICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vYS4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uYi5jb20vcmVwb3Mvc2ViYXN0aWFuYmVyZ21hbm4vZW52aXJvbm1lbnQvemlwYmFsbC9mMmEyYzhlMWM5N2MxMWFjZTYwN2E3YTY2N2Q3M2Q0N2MxOWZlNDA0IiwKICAgICAgICAgICAgICAgICJyZWZlcmVuY2UiOiAiZjJhMmM4ZTFjOTdjMTFhY2U2MDdhN2E2NjdkNzNkNDdjMTlmZTQwNCIsCiAgICAgICAgICAgICAgICAic2hhc3VtIjogIiIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgInJlcXVpcmUiOiB7CiAgICAgICAgICAgICAgICAicGhwIjogIl43LjEiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJyZXF1aXJlLWRldiI6IHsKICAgICAgICAgICAgICAgICJwaHB1bml0L3BocHVuaXQiOiAiXjcuNSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgInN1Z2dlc3QiOiB7CiAgICAgICAgICAgICAgICAiZXh0LXBvc2l4IjogIioiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJ0eXBlIjogImxpYnJhcnkiLAogICAgICAgICAgICAiZXh0cmEiOiB7CiAgICAgICAgICAgICAgICAiYnJhbmNoLWFsaWFzIjogewogICAgICAgICAgICAgICAgICAgICJkZXYtbWFzdGVyIjogIjQuMi1kZXYiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJhdXRvbG9hZCI6IHsKICAgICAgICAgICAgICAgICJjbGFzc21hcCI6IFsKICAgICAgICAgICAgICAgICAgICAic3JjLyIKICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm5vdGlmaWNhdGlvbi11cmwiOiAiaHR0cHM6Ly9wLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi50Lm9yZy9kb3dubG9hZHMvIiwKICAgICAgICAgICAgImxpY2Vuc2UiOiBbCiAgICAgICAgICAgICAgICAiQlNELTMtQ2xhdXNlIgogICAgICAgICAgICBdLAogICAgICAgICAgICAiYXV0aG9ycyI6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJTZWJhc3RpYW4gQmVyZ21hbm4iLAogICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJzZWJhc3RpYW5AcGhwdW5pdC5kZSIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXSwKICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGVzIGZ1bmN0aW9uYWxpdHkgdG8gaGFuZGxlIEhIVk0vUEhQIGVudmlyb25tZW50cyIsCiAgICAgICAgICAgICJob21lcGFnZSI6ICJodHRwOi8vdy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uYi5jb20vc2ViYXN0aWFuYmVyZ21hbm4vZW52aXJvbm1lbnQiLAogICAgICAgICAgICAia2V5d29yZHMiOiBbCiAgICAgICAgICAgICAgICAiWGRlYnVnIiwKICAgICAgICAgICAgICAgICJlbnZpcm9ubWVudCIsCiAgICAgICAgICAgICAgICAiaGh2bSIKICAgICAgICAgICAgXSwKICAgICAgICAgICAgInRpbWUiOiAiMjAxOS0wNS0wNVQwOTowNToxNSswMDowMCIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICAgIm5hbWUiOiAic2ViYXN0aWFuL2V4cG9ydGVyIiwKICAgICAgICAgICAgInZlcnNpb24iOiAiMy4xLjAiLAogICAgICAgICAgICAic291cmNlIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAiZ2l0IiwKICAgICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly9nLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5iLmNvbS9zZWJhc3RpYW5iZXJnbWFubi9leHBvcnRlci5naXQiLAogICAgICAgICAgICAgICAgInJlZmVyZW5jZSI6ICIyMzQxOTlmNDUyOGRlNmQxMmFhYTU4YjYxMmU5OGY3ZDM2YWRiOTM3IgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGlzdCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInppcCIsCiAgICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vYS4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uYi5jb20vcmVwb3Mvc2ViYXN0aWFuYmVyZ21hbm4vZXhwb3J0ZXIvemlwYmFsbC8yMzQxOTlmNDUyOGRlNmQxMmFhYTU4YjYxMmU5OGY3ZDM2YWRiOTM3IiwKICAgICAgICAgICAgICAgICJyZWZlcmVuY2UiOiAiMjM0MTk5ZjQ1MjhkZTZkMTJhYWE1OGI2MTJlOThmN2QzNmFkYjkzNyIsCiAgICAgICAgICAgICAgICAic2hhc3VtIjogIiIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgInJlcXVpcmUiOiB7CiAgICAgICAgICAgICAgICAicGhwIjogIl43LjAiLAogICAgICAgICAgICAgICAgInNlYmFzdGlhbi9yZWN1cnNpb24tY29udGV4dCI6ICJeMy4wIgogICAgICAgICAgICB9LAogICAgICAgICAgICAicmVxdWlyZS1kZXYiOiB7CiAgICAgICAgICAgICAgICAiZXh0LW1ic3RyaW5nIjogIioiLAogICAgICAgICAgICAgICAgInBocHVuaXQvcGhwdW5pdCI6ICJeNi4wIgogICAgICAgICAgICB9LAogICAgICAgICAgICAidHlwZSI6ICJsaWJyYXJ5IiwKICAgICAgICAgICAgImV4dHJhIjogewogICAgICAgICAgICAgICAgImJyYW5jaC1hbGlhcyI6IHsKICAgICAgICAgICAgICAgICAgICAiZGV2LW1hc3RlciI6ICIzLjEueC1kZXYiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJhdXRvbG9hZCI6IHsKICAgICAgICAgICAgICAgICJjbGFzc21hcCI6IFsKICAgICAgICAgICAgICAgICAgICAic3JjLyIKICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm5vdGlmaWNhdGlvbi11cmwiOiAiaHR0cHM6Ly9wLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi50Lm9yZy9kb3dubG9hZHMvIiwKICAgICAgICAgICAgImxpY2Vuc2UiOiBbCiAgICAgICAgICAgICAgICAiQlNELTMtQ2xhdXNlIgogICAgICAgICAgICBdLAogICAgICAgICAgICAiYXV0aG9ycyI6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJKZWZmIFdlbGNoIiwKICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAid2hhdHRoZWplZmZAZ21haWwuY29tIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJWb2xrZXIgRHVzY2giLAogICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJnaXRodWJAd2FsbGJhc2guY29tIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJCZXJuaGFyZCBTY2h1c3NlayIsCiAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogImJzY2h1c3Nla0AyYmVwdWJsaXNoZWQuYXQiCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJuYW1lIjogIlNlYmFzdGlhbiBCZXJnbWFubiIsCiAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogInNlYmFzdGlhbkBwaHB1bml0LmRlIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJBZGFtIEhhcnZleSIsCiAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogImFoYXJ2ZXlAcGhwLm5ldCIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXSwKICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGVzIHRoZSBmdW5jdGlvbmFsaXR5IHRvIGV4cG9ydCBQSFAgdmFyaWFibGVzIGZvciB2aXN1YWxpemF0aW9uIiwKICAgICAgICAgICAgImhvbWVwYWdlIjogImh0dHA6Ly93Li4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5iLmNvbS9zZWJhc3RpYW5iZXJnbWFubi9leHBvcnRlciIsCiAgICAgICAgICAgICJrZXl3b3JkcyI6IFsKICAgICAgICAgICAgICAgICJleHBvcnQiLAogICAgICAgICAgICAgICAgImV4cG9ydGVyIgogICAgICAgICAgICBdLAogICAgICAgICAgICAidGltZSI6ICIyMDE3LTA0LTAzVDEzOjE5OjAyKzAwOjAwIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgICAibmFtZSI6ICJzZWJhc3RpYW4vZ2xvYmFsLXN0YXRlIiwKICAgICAgICAgICAgInZlcnNpb24iOiAiMy4wLjAiLAogICAgICAgICAgICAic291cmNlIjogewogICAgICAgICAgICAgICAgInR5cGUiOiAiZ2l0IiwKICAgICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly9nLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5iLmNvbS9zZWJhc3RpYW5iZXJnbWFubi9nbG9iYWwtc3RhdGUuZ2l0IiwKICAgICAgICAgICAgICAgICJyZWZlcmVuY2UiOiAiZWRmOGE0NjFjZjFkNDAwNWYxOWZiMGI2YjhiOTVhOWY3ZmEwYWRjNCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImRpc3QiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJ6aXAiLAogICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL2EuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmIuY29tL3JlcG9zL3NlYmFzdGlhbmJlcmdtYW5uL2dsb2JhbC1zdGF0ZS96aXBiYWxsL2VkZjhhNDYxY2YxZDQwMDVmMTlmYjBiNmI4Yjk1YTlmN2ZhMGFkYzQiLAogICAgICAgICAgICAgICAgInJlZmVyZW5jZSI6ICJlZGY4YTQ2MWNmMWQ0MDA1ZjE5ZmIwYjZiOGI5NWE5ZjdmYTBhZGM0IiwKICAgICAgICAgICAgICAgICJzaGFzdW0iOiAiIgogICAgICAgICAgICB9LAogICAgICAgICAgICAicmVxdWlyZSI6IHsKICAgICAgICAgICAgICAgICJwaHAiOiAiXjcuMiIsCiAgICAgICAgICAgICAgICAic2ViYXN0aWFuL29iamVjdC1yZWZsZWN0b3IiOiAiXjEuMS4xIiwKICAgICAgICAgICAgICAgICJzZWJhc3RpYW4vcmVjdXJzaW9uLWNvbnRleHQiOiAiXjMuMCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgInJlcXVpcmUtZGV2IjogewogICAgICAgICAgICAgICAgImV4dC1kb20iOiAiKiIsCiAgICAgICAgICAgICAgICAicGhwdW5pdC9waHB1bml0IjogIl44LjAiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJzdWdnZXN0IjogewogICAgICAgICAgICAgICAgImV4dC11b3B6IjogIioiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJ0eXBlIjogImxpYnJhcnkiLAogICAgICAgICAgICAiZXh0cmEiOiB7CiAgICAgICAgICAgICAgICAiYnJhbmNoLWFsaWFzIjogewogICAgICAgICAgICAgICAgICAgICJkZXYtbWFzdGVyIjogIjMuMC1kZXYiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJhdXRvbG9hZCI6IHsKICAgICAgICAgICAgICAgICJjbGFzc21hcCI6IFsKICAgICAgICAgICAgICAgICAgICAic3JjLyIKICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm5vdGlmaWNhdGlvbi11cmwiOiAiaHR0cHM6Ly9wLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi50Lm9yZy9kb3dubG9hZHMvIiwKICAgICAgICAgICAgImxpY2Vuc2UiOiBbCiAgICAgICAgICAgICAgICAiQlNELTMtQ2xhdXNlIgogICAgICAgICAgICBdLAogICAgICAgICAgICAiYXV0aG9ycyI6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJTZWJhc3RpYW4gQmVyZ21hbm4iLAogICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJzZWJhc3RpYW5AcGhwdW5pdC5kZSIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXSwKICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNuYXBzaG90dGluZyBvZiBnbG9iYWwgc3RhdGUiLAogICAgICAgICAgICAiaG9tZXBhZ2UiOiAiaHR0cDovL3cuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmIuY29tL3NlYmFzdGlhbmJlcmdtYW5uL2dsb2JhbC1zdGF0ZSIsCiAgICAgICAgICAgICJrZXl3b3JkcyI6IFsKICAgICAgICAgICAgICAgICJnbG9iYWwgc3RhdGUiCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJ0aW1lIjogIjIwMTktMDItMDFUMDU6MzA6MDErMDA6MDAiCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAgICJuYW1lIjogInNlYmFzdGlhbi9vYmplY3QtZW51bWVyYXRvciIsCiAgICAgICAgICAgICJ2ZXJzaW9uIjogIjMuMC4zIiwKICAgICAgICAgICAgInNvdXJjZSI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogImdpdCIsCiAgICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vZy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uYi5jb20vc2ViYXN0aWFuYmVyZ21hbm4vb2JqZWN0LWVudW1lcmF0b3IuZ2l0IiwKICAgICAgICAgICAgICAgICJyZWZlcmVuY2UiOiAiN2NmZDllNjVkMTFmZmI1YWY0MTE5ODQ3NjM5NTc3NGQ0YzhhODRjNSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImRpc3QiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJ6aXAiLAogICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL2EuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmIuY29tL3JlcG9zL3NlYmFzdGlhbmJlcmdtYW5uL29iamVjdC1lbnVtZXJhdG9yL3ppcGJhbGwvN2NmZDllNjVkMTFmZmI1YWY0MTE5ODQ3NjM5NTc3NGQ0YzhhODRjNSIsCiAgICAgICAgICAgICAgICAicmVmZXJlbmNlIjogIjdjZmQ5ZTY1ZDExZmZiNWFmNDExOTg0NzYzOTU3NzRkNGM4YTg0YzUiLAogICAgICAgICAgICAgICAgInNoYXN1bSI6ICIiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJyZXF1aXJlIjogewogICAgICAgICAgICAgICAgInBocCI6ICJeNy4wIiwKICAgICAgICAgICAgICAgICJzZWJhc3RpYW4vb2JqZWN0LXJlZmxlY3RvciI6ICJeMS4xLjEiLAogICAgICAgICAgICAgICAgInNlYmFzdGlhbi9yZWN1cnNpb24tY29udGV4dCI6ICJeMy4wIgogICAgICAgICAgICB9LAogICAgICAgICAgICAicmVxdWlyZS1kZXYiOiB7CiAgICAgICAgICAgICAgICAicGhwdW5pdC9waHB1bml0IjogIl42LjAiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJ0eXBlIjogImxpYnJhcnkiLAogICAgICAgICAgICAiZXh0cmEiOiB7CiAgICAgICAgICAgICAgICAiYnJhbmNoLWFsaWFzIjogewogICAgICAgICAgICAgICAgICAgICJkZXYtbWFzdGVyIjogIjMuMC54LWRldiIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgImF1dG9sb2FkIjogewogICAgICAgICAgICAgICAgImNsYXNzbWFwIjogWwogICAgICAgICAgICAgICAgICAgICJzcmMvIgogICAgICAgICAgICAgICAgXQogICAgICAgICAgICB9LAogICAgICAgICAgICAibm90aWZpY2F0aW9uLXVybCI6ICJodHRwczovL3AuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLnQub3JnL2Rvd25sb2Fkcy8iLAogICAgICAgICAgICAibGljZW5zZSI6IFsKICAgICAgICAgICAgICAgICJCU0QtMy1DbGF1c2UiCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJhdXRob3JzIjogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJuYW1lIjogIlNlYmFzdGlhbiBCZXJnbWFubiIsCiAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogInNlYmFzdGlhbkBwaHB1bml0LmRlIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdLAogICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiVHJhdmVyc2VzIGFycmF5IHN0cnVjdHVyZXMgYW5kIG9iamVjdCBncmFwaHMgdG8gZW51bWVyYXRlIGFsbCByZWZlcmVuY2VkIG9iamVjdHMiLAogICAgICAgICAgICAiaG9tZXBhZ2UiOiAiaHR0cHM6Ly9nLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5iLmNvbS9zZWJhc3RpYW5iZXJnbWFubi9vYmplY3QtZW51bWVyYXRvci8iLAogICAgICAgICAgICAidGltZSI6ICIyMDE3LTA4LTAzVDEyOjM1OjI2KzAwOjAwIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgICAibmFtZSI6ICJzZWJhc3RpYW4vb2JqZWN0LXJlZmxlY3RvciIsCiAgICAgICAgICAgICJ2ZXJzaW9uIjogIjEuMS4xIiwKICAgICAgICAgICAgInNvdXJjZSI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogImdpdCIsCiAgICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vZy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uYi5jb20vc2ViYXN0aWFuYmVyZ21hbm4vb2JqZWN0LXJlZmxlY3Rvci5naXQiLAogICAgICAgICAgICAgICAgInJlZmVyZW5jZSI6ICI3NzNmOTdjNjdmMjhkZTAwZDM5N2JlMzAxODIxYjA2NzA4ZmNhMGJlIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGlzdCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInppcCIsCiAgICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vYS4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uYi5jb20vcmVwb3Mvc2ViYXN0aWFuYmVyZ21hbm4vb2JqZWN0LXJlZmxlY3Rvci96aXBiYWxsLzc3M2Y5N2M2N2YyOGRlMDBkMzk3YmUzMDE4MjFiMDY3MDhmY2EwYmUiLAogICAgICAgICAgICAgICAgInJlZmVyZW5jZSI6ICI3NzNmOTdjNjdmMjhkZTAwZDM5N2JlMzAxODIxYjA2NzA4ZmNhMGJlIiwKICAgICAgICAgICAgICAgICJzaGFzdW0iOiAiIgogICAgICAgICAgICB9LAogICAgICAgICAgICAicmVxdWlyZSI6IHsKICAgICAgICAgICAgICAgICJwaHAiOiAiXjcuMCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgInJlcXVpcmUtZGV2IjogewogICAgICAgICAgICAgICAgInBocHVuaXQvcGhwdW5pdCI6ICJeNi4wIgogICAgICAgICAgICB9LAogICAgICAgICAgICAidHlwZSI6ICJsaWJyYXJ5IiwKICAgICAgICAgICAgImV4dHJhIjogewogICAgICAgICAgICAgICAgImJyYW5jaC1hbGlhcyI6IHsKICAgICAgICAgICAgICAgICAgICAiZGV2LW1hc3RlciI6ICIxLjEtZGV2IgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAiYXV0b2xvYWQiOiB7CiAgICAgICAgICAgICAgICAiY2xhc3NtYXAiOiBbCiAgICAgICAgICAgICAgICAgICAgInNyYy8iCiAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJub3RpZmljYXRpb24tdXJsIjogImh0dHBzOi8vcC4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4udC5vcmcvZG93bmxvYWRzLyIsCiAgICAgICAgICAgICJsaWNlbnNlIjogWwogICAgICAgICAgICAgICAgIkJTRC0zLUNsYXVzZSIKICAgICAgICAgICAgXSwKICAgICAgICAgICAgImF1dGhvcnMiOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiU2ViYXN0aWFuIEJlcmdtYW5uIiwKICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAic2ViYXN0aWFuQHBocHVuaXQuZGUiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJBbGxvd3MgcmVmbGVjdGlvbiBvZiBvYmplY3QgYXR0cmlidXRlcywgaW5jbHVkaW5nIGluaGVyaXRlZCBhbmQgbm9uLXB1YmxpYyBvbmVzIiwKICAgICAgICAgICAgImhvbWVwYWdlIjogImh0dHBzOi8vZy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uYi5jb20vc2ViYXN0aWFuYmVyZ21hbm4vb2JqZWN0LXJlZmxlY3Rvci8iLAogICAgICAgICAgICAidGltZSI6ICIyMDE3LTAzLTI5VDA5OjA3OjI3KzAwOjAwIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgICAibmFtZSI6ICJzZWJhc3RpYW4vcmVjdXJzaW9uLWNvbnRleHQiLAogICAgICAgICAgICAidmVyc2lvbiI6ICIzLjAuMCIsCiAgICAgICAgICAgICJzb3VyY2UiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJnaXQiLAogICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL2cuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmIuY29tL3NlYmFzdGlhbmJlcmdtYW5uL3JlY3Vyc2lvbi1jb250ZXh0LmdpdCIsCiAgICAgICAgICAgICAgICAicmVmZXJlbmNlIjogIjViMGNkNzIzNTAyYmFjM2IwMDZjYmYzZGJmN2ExZTNmY2VmZTRmYTgiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJkaXN0IjogewogICAgICAgICAgICAgICAgInR5cGUiOiAiemlwIiwKICAgICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly9hLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5iLmNvbS9yZXBvcy9zZWJhc3RpYW5iZXJnbWFubi9yZWN1cnNpb24tY29udGV4dC96aXBiYWxsLzViMGNkNzIzNTAyYmFjM2IwMDZjYmYzZGJmN2ExZTNmY2VmZTRmYTgiLAogICAgICAgICAgICAgICAgInJlZmVyZW5jZSI6ICI1YjBjZDcyMzUwMmJhYzNiMDA2Y2JmM2RiZjdhMWUzZmNlZmU0ZmE4IiwKICAgICAgICAgICAgICAgICJzaGFzdW0iOiAiIgogICAgICAgICAgICB9LAogICAgICAgICAgICAicmVxdWlyZSI6IHsKICAgICAgICAgICAgICAgICJwaHAiOiAiXjcuMCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgInJlcXVpcmUtZGV2IjogewogICAgICAgICAgICAgICAgInBocHVuaXQvcGhwdW5pdCI6ICJeNi4wIgogICAgICAgICAgICB9LAogICAgICAgICAgICAidHlwZSI6ICJsaWJyYXJ5IiwKICAgICAgICAgICAgImV4dHJhIjogewogICAgICAgICAgICAgICAgImJyYW5jaC1hbGlhcyI6IHsKICAgICAgICAgICAgICAgICAgICAiZGV2LW1hc3RlciI6ICIzLjAueC1kZXYiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJhdXRvbG9hZCI6IHsKICAgICAgICAgICAgICAgICJjbGFzc21hcCI6IFsKICAgICAgICAgICAgICAgICAgICAic3JjLyIKICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm5vdGlmaWNhdGlvbi11cmwiOiAiaHR0cHM6Ly9wLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi50Lm9yZy9kb3dubG9hZHMvIiwKICAgICAgICAgICAgImxpY2Vuc2UiOiBbCiAgICAgICAgICAgICAgICAiQlNELTMtQ2xhdXNlIgogICAgICAgICAgICBdLAogICAgICAgICAgICAiYXV0aG9ycyI6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJKZWZmIFdlbGNoIiwKICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAid2hhdHRoZWplZmZAZ21haWwuY29tIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJTZWJhc3RpYW4gQmVyZ21hbm4iLAogICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJzZWJhc3RpYW5AcGhwdW5pdC5kZSIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiQWRhbSBIYXJ2ZXkiLAogICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJhaGFydmV5QHBocC5uZXQiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJQcm92aWRlcyBmdW5jdGlvbmFsaXR5IHRvIHJlY3Vyc2l2ZWx5IHByb2Nlc3MgUEhQIHZhcmlhYmxlcyIsCiAgICAgICAgICAgICJob21lcGFnZSI6ICJodHRwOi8vdy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uYi5jb20vc2ViYXN0aWFuYmVyZ21hbm4vcmVjdXJzaW9uLWNvbnRleHQiLAogICAgICAgICAgICAidGltZSI6ICIyMDE3LTAzLTAzVDA2OjIzOjU3KzAwOjAwIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgICAibmFtZSI6ICJzZWJhc3RpYW4vcmVzb3VyY2Utb3BlcmF0aW9ucyIsCiAgICAgICAgICAgICJ2ZXJzaW9uIjogIjIuMC4xIiwKICAgICAgICAgICAgInNvdXJjZSI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogImdpdCIsCiAgICAgICAgICAgICAgICAidXJsIjogImh0dHBzOi8vZy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uYi5jb20vc2ViYXN0aWFuYmVyZ21hbm4vcmVzb3VyY2Utb3BlcmF0aW9ucy5naXQiLAogICAgICAgICAgICAgICAgInJlZmVyZW5jZSI6ICI0ZDdhNzk1ZDM1Yjg4OWJmODBhMGNjMDRlMDhkNzdjZWRmYTkxN2E5IgogICAgICAgICAgICB9LAogICAgICAgICAgICAiZGlzdCI6IHsKICAgICAgICAgICAgICAgICJ0eXBlIjogInppcCIsCiAgICAgICAgICAgICAgICAidXJsIjogImJpdC5seS8yS1I1cjJhIiwKICAgICAgICAgICAgICAgICJyZWZlcmVuY2UiOiAiNGQ3YTc5NWQzNWI4ODliZjgwYTBjYzA0ZTA4ZDc3Y2VkZmE5MTdhOSIsCiAgICAgICAgICAgICAgICAic2hhc3VtIjogIiIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgInJlcXVpcmUiOiB7CiAgICAgICAgICAgICAgICAicGhwIjogIl43LjEiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJ0eXBlIjogImxpYnJhcnkiLAogICAgICAgICAgICAiZXh0cmEiOiB7CiAgICAgICAgICAgICAgICAiYnJhbmNoLWFsaWFzIjogewogICAgICAgICAgICAgICAgICAgICJkZXYtbWFzdGVyIjogIjIuMC1kZXYiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJhdXRvbG9hZCI6IHsKICAgICAgICAgICAgICAgICJjbGFzc21hcCI6IFsKICAgICAgICAgICAgICAgICAgICAic3JjLyIKICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm5vdGlmaWNhdGlvbi11cmwiOiAiaHR0cHM6Ly9wLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi50Lm9yZy9kb3dubG9hZHMvIiwKICAgICAgICAgICAgImxpY2Vuc2UiOiBbCiAgICAgICAgICAgICAgICAiQlNELTMtQ2xhdXNlIgogICAgICAgICAgICBdLAogICAgICAgICAgICAiYXV0aG9ycyI6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJTZWJhc3RpYW4gQmVyZ21hbm4iLAogICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJzZWJhc3RpYW5AcGhwdW5pdC5kZSIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXSwKICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGVzIGEgbGlzdCBvZiBQSFAgYnVpbHQtaW4gZnVuY3Rpb25zIHRoYXQgb3BlcmF0ZSBvbiByZXNvdXJjZXMiLAogICAgICAgICAgICAiaG9tZXBhZ2UiOiAiaHR0cHM6Ly93Li4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5iLmNvbS9zZWJhc3RpYW5iZXJnbWFubi9yZXNvdXJjZS1vcGVyYXRpb25zIiwKICAgICAgICAgICAgInRpbWUiOiAiMjAxOC0xMC0wNFQwNDowNzozOSswMDowMCIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICAgIm5hbWUiOiAic2ViYXN0aWFuL3ZlcnNpb24iLAogICAgICAgICAgICAidmVyc2lvbiI6ICIyLjAuMSIsCiAgICAgICAgICAgICJzb3VyY2UiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJnaXQiLAogICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL2cuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmIuY29tL3NlYmFzdGlhbmJlcmdtYW5uL3ZlcnNpb24uZ2l0IiwKICAgICAgICAgICAgICAgICJyZWZlcmVuY2UiOiAiOTk3MzJiZTBkZGIzMzYxZTE2YWQ3N2I2OGJhNDFlZmM4ZTk3OTAxOSIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgImRpc3QiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJ6aXAiLAogICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL2IuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLnQubHkvMktSNXIyYSIsCiAgICAgICAgICAgICAgICAicmVmZXJlbmNlIjogIjk5NzMyYmUwZGRiMzM2MWUxNmFkNzdiNjhiYTQxZWZjOGU5NzkwMTkiLAogICAgICAgICAgICAgICAgInNoYXN1bSI6ICIiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJyZXF1aXJlIjogewogICAgICAgICAgICAgICAgInBocCI6ICI+PTUuNiIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgInR5cGUiOiAibGlicmFyeSIsCiAgICAgICAgICAgICJleHRyYSI6IHsKICAgICAgICAgICAgICAgICJicmFuY2gtYWxpYXMiOiB7CiAgICAgICAgICAgICAgICAgICAgImRldi1tYXN0ZXIiOiAiMi4wLngtZGV2IgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAiYXV0b2xvYWQiOiB7CiAgICAgICAgICAgICAgICAiY2xhc3NtYXAiOiBbCiAgICAgICAgICAgICAgICAgICAgInNyYy8iCiAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJub3RpZmljYXRpb24tdXJsIjogImh0dHBzOi8vcC4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4udC5vcmcvZG93bmxvYWRzLyIsCiAgICAgICAgICAgICJsaWNlbnNlIjogWwogICAgICAgICAgICAgICAgIkJTRC0zLUNsYXVzZSIKICAgICAgICAgICAgXSwKICAgICAgICAgICAgImF1dGhvcnMiOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiU2ViYXN0aWFuIEJlcmdtYW5uIiwKICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAic2ViYXN0aWFuQHBocHVuaXQuZGUiLAogICAgICAgICAgICAgICAgICAgICJyb2xlIjogImxlYWQiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJMaWJyYXJ5IHRoYXQgaGVscHMgd2l0aCBtYW5hZ2luZyB0aGUgdmVyc2lvbiBudW1iZXIgb2YgR2l0LWhvc3RlZCBQSFAgcHJvamVjdHMiLAogICAgICAgICAgICAiaG9tZXBhZ2UiOiAiaHR0cHM6Ly9nLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5iLmNvbS9zZWJhc3RpYW5iZXJnbWFubi92ZXJzaW9uIiwKICAgICAgICAgICAgInRpbWUiOiAiMjAxNi0xMC0wM1QwNzozNToyMSswMDowMCIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICAgIm5hbWUiOiAidGhlc2Vlci90b2tlbml6ZXIiLAogICAgICAgICAgICAidmVyc2lvbiI6ICIxLjEuMiIsCiAgICAgICAgICAgICJzb3VyY2UiOiB7CiAgICAgICAgICAgICAgICAidHlwZSI6ICJnaXQiLAogICAgICAgICAgICAgICAgInVybCI6ICJodHRwczovL2cuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmIuY29tL3RoZXNlZXIvdG9rZW5pemVyLmdpdCIsCiAgICAgICAgICAgICAgICAicmVmZXJlbmNlIjogIjFjNDI3MDViZTJiNmMxZGU1OTA0ZjhhZmFjZWY1ODk1Y2FiNDRiZjgiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgICJkaXN0IjogewogICAgICAgICAgICAgICAgInR5cGUiOiAiemlwIiwKICAgICAgICAgICAgICAgICJ1cmwiOiAiaHR0cHM6Ly9hLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5iLmNvbS9yZXBvcy90aGVzZWVyL3Rva2VuaXplci96aXBiYWxsLzFjNDI3MDViZTJiNmMxZGU1OTA0ZjhhZmFjZWY1ODk1Y2FiNDRiZjgiLAogICAgICAgICAgICAgICAgInJlZmVyZW5jZSI6ICIxYzQyNzA1YmUyYjZjMWRlNTkwNGY4YWZhY2VmNTg5NWNhYjQ0YmY4IiwKICAgICAgICAgICAgICAgICJzaGFzdW0iOiAiIgogICAgICAgICAgICB9LAogICAgICAgICAgICAicmVxdWlyZSI6IHsKICAgICAgICAgICAgICAgICJleHQtZG9tIjogIioiLAogICAgICAgICAgICAgICAgImV4dC10b2tlbml6ZXIiOiAiKiIsCiAgICAgICAgICAgICAgICAiZXh0LXhtbHdyaXRlciI6ICIqIiwKICAgICAgICAgICAgICAgICJwaHAiOiAiXjcuMCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgInR5cGUiOiAibGlicmFyeSIsCiAgICAgICAgICAgICJhdXRvbG9hZCI6IHsKICAgICAgICAgICAgICAgICJjbGFzc21hcCI6IFsKICAgICAgICAgICAgICAgICAgICAic3JjLyIKICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgfSwKICAgICAgICAgICAgIm5vdGlmaWNhdGlvbi11cmwiOiAiaHR0cHM6Ly90Li4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5sLmNvbS95OWNxZjU1byIsCiAgICAgICAgICAgICJsaWNlbnNlIjogWwogICAgICAgICAgICAgICAgIkJTRC0zLUNsYXVzZSIKICAgICAgICAgICAgXSwKICAgICAgICAgICAgImF1dGhvcnMiOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiQXJuZSBCbGFua2VydHMiLAogICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJhcm5lQGJsYW5rZXJ0cy5kZSIsCiAgICAgICAgICAgICAgICAgICAgInJvbGUiOiAiRGV2ZWxvcGVyIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdLAogICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQSBzbWFsbCBsaWJyYXJ5IGZvciBjb252ZXJ0aW5nIHRva2VuaXplZCBQSFAgc291cmNlIGNvZGUgaW50byBYTUwgYW5kIHBvdGVudGlhbGx5IG90aGVyIGZvcm1hdHMiLAogICAgICAgICAgICAidGltZSI6ICIyMDE5LTA0LTA0VDA5OjU2OjQzKzAwOjAwIgogICAgICAgIH0KICAgIF0sCiAgICAiYWxpYXNlcyI6IFtdLAogICAgIm1pbmltdW0tc3RhYmlsaXR5IjogInN0YWJsZSIsCiAgICAic3RhYmlsaXR5LWZsYWdzIjogW10sCiAgICAicHJlZmVyLXN0YWJsZSI6IGZhbHNlLAogICAgInByZWZlci1sb3dlc3QiOiBmYWxzZSwKICAgICJwbGF0Zm9ybSI6IHsKICAgICAgICAicGhwIjogIl43LjEiCiAgICB9LAogICAgInBsYXRmb3JtLWRldiI6IFtdCn0=