jarvisbot_songfinder 1.0.3 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/changelog.md +8 -0
- data/fixtures/vcr_cassettes/query_customconfig.yml +107 -0
- data/fixtures/vcr_cassettes/query_customconfig_short_track.yml +107 -0
- data/fixtures/vcr_cassettes/query_text.yml +18 -18
- data/fixtures/vcr_cassettes/query_track_delegation.yml +18 -18
- data/fixtures/vcr_cassettes/query_youtube_url.yml +6 -6
- data/fixtures/vcr_cassettes/search_query_auxiliary_provider.yml +33 -33
- data/fixtures/vcr_cassettes/search_query_not_found.yml +6 -6
- data/fixtures/vcr_cassettes/search_query_preferred_and_auxiliary.yml +18 -18
- data/fixtures/vcr_cassettes/search_query_preferred_provider.yml +20 -20
- data/fixtures/vcr_cassettes/spotify_invalid_region_restricted.yml +6 -6
- data/fixtures/vcr_cassettes/spotify_invalid_search.yml +3 -3
- data/fixtures/vcr_cassettes/spotify_invalid_too_long.yml +6 -6
- data/fixtures/vcr_cassettes/spotify_invalid_url_relinked.yml +6 -6
- data/fixtures/vcr_cassettes/spotify_valid.yml +8 -8
- data/fixtures/vcr_cassettes/spotify_valid_clean_or_unknown.yml +6 -6
- data/fixtures/vcr_cassettes/spotify_valid_explicit.yml +6 -6
- data/fixtures/vcr_cassettes/spotify_valid_search.yml +9 -9
- data/fixtures/vcr_cassettes/url_query_known_provider.yml +11 -11
- data/fixtures/vcr_cassettes/youtube_invalid.yml +3 -3
- data/fixtures/vcr_cassettes/youtube_invalid_region_restricted.yml +6 -6
- data/fixtures/vcr_cassettes/youtube_invalid_search.yml +3 -3
- data/fixtures/vcr_cassettes/youtube_invalid_too_long.yml +128 -6
- data/fixtures/vcr_cassettes/youtube_invalid_wrong_category.yml +12 -12
- data/fixtures/vcr_cassettes/youtube_valid.yml +234 -234
- data/fixtures/vcr_cassettes/youtube_valid_search.yml +18 -18
- data/lib/jarvisbot_songfinder/helpers/query.rb +3 -2
- data/lib/jarvisbot_songfinder/helpers/reply_message.rb +2 -2
- data/lib/jarvisbot_songfinder/helpers/search_query.rb +4 -3
- data/lib/jarvisbot_songfinder/helpers/url_query.rb +3 -2
- data/lib/jarvisbot_songfinder/providers/provider.rb +6 -5
- data/lib/jarvisbot_songfinder/providers/spotify_api.rb +8 -15
- data/lib/jarvisbot_songfinder/providers/youtube_api.rb +10 -37
- data/lib/jarvisbot_songfinder/version.rb +1 -1
- metadata +4 -2
@@ -17,13 +17,13 @@ http_interactions:
|
|
17
17
|
message: OK
|
18
18
|
headers:
|
19
19
|
Expires:
|
20
|
-
-
|
20
|
+
- Wed, 20 Mar 2019 07:56:53 GMT
|
21
21
|
Date:
|
22
|
-
-
|
22
|
+
- Wed, 20 Mar 2019 07:56:53 GMT
|
23
23
|
Cache-Control:
|
24
24
|
- private, max-age=120, must-revalidate, no-transform
|
25
25
|
Etag:
|
26
|
-
- '"XpPGQXPnxQJhLgs6enD_n8JR4Qk/
|
26
|
+
- '"XpPGQXPnxQJhLgs6enD_n8JR4Qk/tOy-7T5OYczPxiC2_ZiIEiC93sc"'
|
27
27
|
Vary:
|
28
28
|
- Origin
|
29
29
|
- X-Origin
|
@@ -36,7 +36,7 @@ http_interactions:
|
|
36
36
|
X-Xss-Protection:
|
37
37
|
- 1; mode=block
|
38
38
|
Content-Length:
|
39
|
-
- '
|
39
|
+
- '47948'
|
40
40
|
Server:
|
41
41
|
- GSE
|
42
42
|
Alt-Svc:
|
@@ -44,9 +44,9 @@ http_interactions:
|
|
44
44
|
body:
|
45
45
|
encoding: ASCII-8BIT
|
46
46
|
string: !binary |-
|
47
|
-
ewogImtpbmQiOiAieW91dHViZSNzZWFyY2hMaXN0UmVzcG9uc2UiLAogImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvVmZFMDlPR3NPZWNhUXA5cVQwNVlkSTYyRFVBXCIiLAogIm5leHRQYWdlVG9rZW4iOiAiQ0RJUUFBIiwKICJyZWdpb25Db2RlIjogIlJVIiwKICJwYWdlSW5mbyI6IHsKICAidG90YWxSZXN1bHRzIjogODYwMzQsCiAgInJlc3VsdHNQZXJQYWdlIjogNTAKIH0sCiAiaXRlbXMiOiBbCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrL0lWUzkyTEZWXzM4azZnekswemVlOWRxelBoVVwiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICJmVjZxNUJyUzBCdyIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAxMC0xMS0zMFQyMTozNDozNS4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUM5cWpEeklRb3lXM1VTbHdfX3FkbW5RIiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgLSBBbGlhcyAoT2ZmaWNpYWwgVmlkZW8pIiwKICAgICJkZXNjcmlwdGlvbiI6ICJEaXJlY3RvcjogUGF0cmljIFVsbGFldXMuIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvZlY2cTVCclMwQncvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL2ZWNnE1QnJTMEJ3L21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvZlY2cTVCclMwQncvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIkluRmxhbWVzR0JHIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvOEdfXzNRZkh0dVpzQTAybDFKd0lTeVRGMVNBXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogIm9IS24xbnhPWDlzIgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDE0LTEwLTE2VDE3OjQwOjE5LjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ1dCZTR4SUJMUlhTTktXOVBXd0Y5TUEiLAogICAgInRpdGxlIjogIkluIEZsYW1lcyAtIEFsaWFzIFtIRC9IUSBMeXJpY3MgaW4gVmlkZW9dIiwKICAgICJkZXNjcmlwdGlvbiI6ICJJIGRvIG5vdCBvd24gYW55IHJpZ2h0cyB0byB0aGlzIHNvbmcuIFRoaXMgaXMgcHVyZWx5IHByb21vdGlvbiBmb3IgdGhlIGJhbmQgYW5kIGZvciBlbnRlcnRhaW5tZW50LiBJZiB5b3UgbGlrZSBpdCBidXkgdGhlIENEJ3MgYW5kIHN1cHBvcnQgdGhlIGJhbmQgKGxpbmtzIGJlbG93KS4iLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9vSEtuMW54T1g5cy9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvb0hLbjFueE9YOXMvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9vSEtuMW54T1g5cy9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAiUnV1c2kgTHlyaWNzIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvWkhzWjRPdnlNNGp2a0YtMWdveTVjVjJDLTJ3XCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogIllDM3J3NzRjZkc0IgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDA5LTAxLTA4VDAxOjI2OjQ1LjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ25mVkFRTFhoMjJlOUlBekw2Q2pTM0EiLAogICAgInRpdGxlIjogIkluIEZsYW1lcyBmZWF0IFRpbW8gUmFpc2FuZW4gLSBBbGlhcyAoTGl2ZSBHcmFtbWlzZ2FsYW4pIiwKICAgICJkZXNjcmlwdGlvbiI6ICJJbiBGbGFtZXMgb2NoIFRpbW8gcsO2amplciBsaXRlZ3Jhbm5hIHDDpSBncmFtbWlzLiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL1lDM3J3NzRjZkc0L2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9ZQzNydzc0Y2ZHNC9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL1lDM3J3NzRjZkc0L2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJCdWx0aVoiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9EcWVqcXpYR0xsUFlvdEE1Tl8tZkpYSXhTTTRcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAiX0VMNzQ4TWZSVTAiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTUtMDYtMDhUMTk6MzQ6MDguMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDNEtocFhNSkJBX2hxSGRBSnhyY2F0dyIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIC0gMDQuQWxpYXMgTGl2ZSBAIFJvY2sgQW0gUmluZyAyMDE1IEhEIEFDMyIsCiAgICAiZGVzY3JpcHRpb24iOiAiSSdtIG5vdCB0aGUgb3duZXIgb2YgdGhpcyB0diBicm9hZGNhc3QgKEVpbnNQbHVzIEhEIERldXRzY2hsYW5kKS4gQWxsIHJpZ2h0cyBpbiB0diBjaGFubmVsLCBsYWJlbHMgYW5kIEluIEZsYW1lcyBiYW5kLiBGaW5kIHVzOiAuLi4iLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9fRUw3NDhNZlJVMC9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvX0VMNzQ4TWZSVTAvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9fRUw3NDhNZlJVMC9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAicm9ja29ubWVkaWFvZmZpY2lhbCIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0sCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrL0pRSVluUXhBUlZUM3VaWEwyNzl3R1hRb3Q2Z1wiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICJfM0lsZjI2LVJYOCIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAxMC0wNS0xNlQwMToyMzozNS4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUNrQWM3amg2d3Rrb2xpMGllVXpjVXhnIiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgLSBBbGlhcyAtIEEgU2Vuc2UgT2YgUHVycG9zZSAoSFEpIiwKICAgICJkZXNjcmlwdGlvbiI6ICJQbGVhc2UgQ29tbWVudCAvIFJhdGUuIEx5cmljcyBhbmQgSW5mbyBiZWxvdy4gRW5qb3kuIFNvbmc6IEFsaWFzIEFydGlzdDogSW4gRmxhbWVzIEFsYnVtOiBBIFNlbnNlIE9mIFB1cnBvc2Ugfn5+fn5+fn5+fn5+fn5+fn5+fn5+IEx5cmljcyBGcm9tIC4uLiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL18zSWxmMjYtUlg4L2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9fM0lsZjI2LVJYOC9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL18zSWxmMjYtUlg4L2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJ0ajExMTEyMTI5IiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvaFRKRmExNF9PeW02RjZzRnVhNlNLd3pwSFV3XCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogIk52Q3FhQWZIeUc0IgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDEwLTA2LTIwVDE0OjM2OjU4LjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ0I1Tk96R0tFVzlyc2lqcTNoZkxiU1EiLAogICAgInRpdGxlIjogIkluIEZsYW1lcyAtIENvdmVyIC0gQWxpYXMiLAogICAgImRlc2NyaXB0aW9uIjogImh0dHA6Ly93d3cudGhpc2NvbGRsaWZlLm5ldCBodHRwOi8vd3d3LmZhY2Vib29rLmNvbS90aGlzY29sZGxpZmUgTW9ybmluZyBwZW9wbGUsIG1hbnkgcGVvcGxlIGFza2VkIG1lIHRvIGRvIHRoaXMgc29uZywgSSBhbHdheXMgcmVmdXNlZCBjYXVzZSBJIGFtIG5vdCB0aGUgLi4uIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvTnZDcWFBZkh5RzQvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL052Q3FhQWZIeUc0L21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvTnZDcWFBZkh5RzQvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIkRhIFNjaGVoZiIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0sCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrL19LdEMwRkZiUDRwQkk5eDZVX2VuUXp3d0ljMFwiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICJQcEtzeVVqM0xhSSIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAxMi0wOC0xOFQwMjowNjowNC4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUNzclA2NWg1SjhyQnhSUTVqdmVMUDRBIiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgLSBBbGlhcyBAIFdhY2tlbiAyMDEyIExpdmUiLAogICAgImRlc2NyaXB0aW9uIjogIkluIEZsYW1lcyBsaXZlIGF0IFdhY2tlbiAyMDEyIHBlcmZvcm1pbmcgXCJBbGlhc1wiIGZyb20gdGhlIFwiQSBTZW5zZSBvZiBQdXJwb3NlXCIgYWxidW0uIFNldGxpc3QgQCBXYWNrZW4gMjAxMjogMS4gQ2xvdWQgQ29ubmVjdGVkIDIuIFRyaWdnZXIgKE1pc3NpbmcpIDMuIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvUHBLc3lVajNMYUkvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL1BwS3N5VWozTGFJL21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvUHBLc3lVajNMYUkvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogInNZenplZ3kiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9senVyNjRpb1lGOXBsbWtEMF90UktaS0NScklcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAibV9ZM3hYS3hhUEEiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTgtMDctMjhUMjM6NDQ6MzguMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDdzh0b0ZZZUhFcGd4WnFmMjJ1YlB2USIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIC1BbGlhcyBAIEJPUkdIT0xNIEJSSU5ORVIiLAogICAgImRlc2NyaXB0aW9uIjogIiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL21fWTN4WEt4YVBBL2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9tX1kzeFhLeGFQQS9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL21fWTN4WEt4YVBBL2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJkYXdpY2g5MSIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0sCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrL2Z0Q2RXSDAwWnBEaTJZQUxtYm5IUm96cUNXTVwiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICJvZTdHdFdYOS0wdyIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAxOC0wOC0wNVQxNzo0NjowMC4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUNhekhxUkYySHdyRVQxZElEbkNkREp3IiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgLSBBbGlhcyAoUG9sJiMzOTthbmQmIzM5O3JvY2sgRmVzdGl2YWwgMjAxOCBLb3N0cnp5biBuL09kcmEpIiwKICAgICJkZXNjcmlwdGlvbiI6ICJJbiBGbGFtZXMgLSBBbGlhcyAoUG9sJ2FuZCdyb2NrIEZlc3RpdmFsIDIwMTggS29zdHJ6eW4gbi9PZHJhKSIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL29lN0d0V1g5LTB3L2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9vZTdHdFdYOS0wdy9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL29lN0d0V1g5LTB3L2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJSZWJlbCBWaWtpbmcgVmlkZW9zIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvWWhtQzVhWjc0SzBORFhYdkg3cm5YZUpCbVdFXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogIl8wZmYzVmtnaHpZIgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDExLTA0LTE3VDE1OjQzOjA1LjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ09vTTRiWWZNeF9fN19rZllMZTNvbXciLAogICAgInRpdGxlIjogIkluIEZsYW1lcyAtIEFsaWFzIEd1aXRhciBDb3ZlciBIRCIsCiAgICAiZGVzY3JpcHRpb24iOiAiSW5mbzogV2hhdCBhIGNhdGNoeSBzb25nISBJIGxvdmVkIEEgU2Vuc2Ugb2YgUHVycG9zZSBhbGJ1bSwgbXkgcGVyc29uYWwgZmF2b3JpdGUgSW4gRmxhbWVzIGFsYnVtIHRvIGRhdGUgKGFsdGhvdWdoIHRoZSBvbGQgc2Nob29sIElGIGZhbnMgbWlnaHQgZGlzYWdyZWUpLCBhbmQgLi4uIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvXzBmZjNWa2doelkvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL18wZmYzVmtnaHpZL21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvXzBmZjNWa2doelkvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIkRpbHBpbDAxIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvUVdTNDc5Zk5QVW9aS2RMUHZsUnNIdkpBUFRBXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogInZ0QW5RSERGRXo0IgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDE3LTA4LTE1VDE4OjIyOjU1LjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ0VxbFEyYmhlekV5YkpKZXpOdmF2TVEiLAogICAgInRpdGxlIjogIkluIEZsYW1lcyAtIExpdmUgYXQgV2l0aCBGdWxsIEZvcmNlIDIwMTcgW1Byby1TaG90XSIsCiAgICAiZGVzY3JpcHRpb24iOiAiSW4gRmxhbWVzIGxpdmUgYXQgV2l0aCBGdWxsIEZvcmNlIDA6MTggQWxpYXMgNTowOSBBbGwgRm9yIE1lIDk6NDMgT25seSBGb3IgVGhlIFdlYWsgMTQ6MDUgQ2xvdWQgQ29ubmVjdGVkIDE4OjM0IERlbGl2ZXIgVXMgMjU6MzMgSGVyZSBVbnRpbCBGb3JldmVyIDMwOjAwIC4uLiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL3Z0QW5RSERGRXo0L2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS92dEFuUUhERkV6NC9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL3Z0QW5RSERGRXo0L2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJ4TWVnYW1ldCIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0sCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrLzhTYkl2UVRPMWdEZ3lLd0ZCWmtlaWlfY2VCSVwiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICJxQVpERGtkTGVfYyIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAxMi0wOS0yMFQxNjoyMjoxMC4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUNyOC13ZVI4TGUydmN4aEJHaVJkOUNRIiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgLSBBIFNlbnNlIG9mIFB1cnBvc2UgKEhRIEFsYnVtKSIsCiAgICAiZGVzY3JpcHRpb24iOiAiSW4gRmxhbWVzIG5pbnRoIHN0dWRpbyBhbGJ1bSwgQSBTZW5zZSBvZiBQdXJwb3NlLiBZZWFyOiAyMDA4IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFRyYWNrIGxpc3Rpbmc6IDEuIFRoZSBNaXJyb3IncyBUcnV0aCAuLi4iLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9xQVpERGtkTGVfYy9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvcUFaRERrZExlX2MvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9xQVpERGtkTGVfYy9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAicHBoZXJvZXMiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9yTDY1eDhySklZbHNjN0RUOHlid05lUmpLR0FcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAicEZ0b09iSTRjdE0iCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMDgtMTEtMjNUMjA6MTE6MTAuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDUUI0bWU4VFZpMGdvVGJQbENfcUt3dyIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIC0gQWxpYXMgKyBMeXJpY3MiLAogICAgImRlc2NyaXB0aW9uIjogIjIwMDggTnVjbGVhciBCbGFzdCAoSW4gRmxhbWVzKSBUaGUgc2VycGVudCBrbm93cyBXaGVuIHRoZSBjdXJ0YWluIGZhbGxzIFdpdGggZGVuaWFsJ3MgYmxpbmRmb2xkIEhlIGdyZWV0cyBhbm90aGVyIGRheSBEb24ndCBiZWxpZXZlIHRoZSBtYXNrIEl0IGFkYXB0cyB0byBhbnkgbGllIC4uLiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL3BGdG9PYkk0Y3RNL2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9wRnRvT2JJNGN0TS9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL3BGdG9PYkk0Y3RNL2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJEYW4gR3VydSAoZi5rLmEuIFJvcXFSKSIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0sCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrL2RCeVc1UFJucnplVjFwWW4ySElzV01uSFk1TVwiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICItQVhxZGN3eXBwayIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAxMi0wMS0xNlQwMTowOTo0Ny4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUNQdklQYXJjdlBRc2ZwdWxIRnRNV1F3IiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgLSBBbGlhcyAoTGFpZCBSZW1peCkiLAogICAgImRlc2NyaXB0aW9uIjogIiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpLy1BWHFkY3d5cHBrL2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS8tQVhxZGN3eXBway9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpLy1BWHFkY3d5cHBrL2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJNYXJ0w61uIE9jaG9hIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvS2sydmJYWThpcUR1c252dElpNnFWem40Qlg4XCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogIlNHTDNhOVo3UGlvIgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDEzLTAyLTEwVDE3OjEzOjUxLjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ3BFbVNTRmxib1NDMUhpS1dsTkp4Y1EiLAogICAgInRpdGxlIjogIkluIEZsYW1lcyAtIEFsaWFzIFtzb2xvXSBIUSIsCiAgICAiZGVzY3JpcHRpb24iOiAiSW4gRmxhbWVzIHNvbmcgQWxpYXMuIEFsYnVtIEEgU2Vuc2UgT2YgUHVycG9zZSAoMjAwOCkuIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvU0dMM2E5WjdQaW8vZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL1NHTDNhOVo3UGlvL21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvU0dMM2E5WjdQaW8vaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIlNlcmdpb3pnejEiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9OeVdWZHlacktaYmp5dlJFc2hxYmYwc3ZzYW9cIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAicUZJdHhSSTIzTTgiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTctMDYtMTFUMDU6MDY6MjMuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDX1Z1N2VuNjZrQjN0U01PYVhORTFWZyIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIEAgU3dlZGVuIFJvY2sgMjAxNyAtIEFsaWFzIiwKICAgICJkZXNjcmlwdGlvbiI6ICIiLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9xRkl0eFJJMjNNOC9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvcUZJdHhSSTIzTTgvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9xRkl0eFJJMjNNOC9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAiR29Qcm9DcmFzaFRlc3REdW1teSIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0sCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrL0R6MkR2M1NsUXZjSzFucFpPanNEYlA3NWJZb1wiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICI0WHI1N3JJV1FLbyIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAxNC0wNy0yMFQyMzo1MDozNC4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUNrOEVQMGROcnlsaWo1TWJjQnpOYXZBIiwKICAgICJ0aXRsZSI6ICJbSW4gRmxhbWVzIC0gQWxpYXNdIFBpYW5vIFR1dG9yaWFsIiwKICAgICJkZXNjcmlwdGlvbiI6ICJJIHNlcmlvdXNseSBsb3ZlIHRoZSBpbnRybyB0byB0aGlzIHNvbmchIE1JREkgYW5kIFNoZWV0IG11c2ljIGNhbiBiZSBkb3dubG9hZGVkIGhlcmU6IGh0dHBzOi8vbWVnYS5jby5uei8jRiFCWmgzRktvQyF0aXBjSjdPZjdObUVjLXFUWTh3ZU13IEZpbGVkIHVuZGVyOiAuLi4iLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS80WHI1N3JJV1FLby9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvNFhyNTdySVdRS28vbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS80WHI1N3JJV1FLby9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAiTWFsYXdpbWFuIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvOGhaeFQwWUwwcGxZdE9aTUJOeW1xTHh4bHpRXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogImduSExTYTVoYzZJIgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDA5LTAyLTA0VDIyOjQwOjAyLjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ2xDZGQ4SDVuVy1HRFNISkthOU1hUHciLAogICAgInRpdGxlIjogIkluIEZsYW1lcyAtIEFsaWFzIChzdWJ0aXR1bGFkbyBlc3Bhw7FvbCkiLAogICAgImRlc2NyaXB0aW9uIjogIkV4Y2VsZW50ZSB2aWRlbyBkZSBpbiBGbGFtZXMgc3VidGl0dWxhZG8gYWwgZXNwYcOxb2wuIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvZ25ITFNhNWhjNkkvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL2duSExTYTVoYzZJL21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvZ25ITFNhNWhjNkkvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogImphdmltZXRhbGNoaWxlIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvZHZNaVEyVXlIWWVqSHZaeXJ0VHFYajFod0NNXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogInlUbW4zWDRxWTFNIgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDE3LTEyLTE4VDE0OjE5OjEzLjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ2UtMTkwLXg3aEVERzVfb19yUVdTS3ciLAogICAgInRpdGxlIjogIkluIEZsYW1lcyAtIEFsaWFzIExpdmUgQmlybWluZ2hhbSBVSyAyMDE3IiwKICAgICJkZXNjcmlwdGlvbiI6ICJJbiBGbGFtZXMgLSBBbGlhcyBMaXZlLiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL3lUbW4zWDRxWTFNL2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS95VG1uM1g0cVkxTS9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL3lUbW4zWDRxWTFNL2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJlZGRpZXNob21lIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvcmN1MWlheVJNQjJSZU5BRWNQSndOQ1BPN2Z3XCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogIklYMU9ZZG9yX2Y4IgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDExLTA3LTA5VDIzOjI4OjM0LjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ0toYTdhUFNBWkRjZmUtUHAzY2JaNmciLAogICAgInRpdGxlIjogIkluIEZsYW1lcyAtIEFsaWFzLCBMaXZlIEAgU29uaXNwaGVyZSxTdG9ja2hvbG0gMjAxMSIsCiAgICAiZGVzY3JpcHRpb24iOiAiSW4gRmxhbWVzIC0gQWxpYXMsIExpdmUgQCBTb25pc3BoZXJlLFN0b2NraG9sbSAyMDExLiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL0lYMU9ZZG9yX2Y4L2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9JWDFPWWRvcl9mOC9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL0lYMU9ZZG9yX2Y4L2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJCYXNpY1BTIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvd1ZvTjdtVEhyWWk0eVdXQWZmTXY0dWhGYmdrXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogImxRQUtUd3d5aUk4IgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDA5LTA4LTIwVDAwOjMzOjM4LjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ3BSOFpDMDFvRGkzT3BUeko3aUtaYlEiLAogICAgInRpdGxlIjogIkluIEZsYW1lcy1BbGlhcyB3aXRoIGx5cmljcyAoSFEpIiwKICAgICJkZXNjcmlwdGlvbiI6ICJBbGlhcyBieSBpbiBGbGFtZXMgZnJvbSB0aGUgQWxidW0gXCJBIFNlbnNlIG9mIFB1cnBvc2VcIiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL2xRQUtUd3d5aUk4L2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9sUUFLVHd3eWlJOC9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL2xRQUtUd3d5aUk4L2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJLaXdpbzEyIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvYThQSjFxME9LUVZ1bmFabllsOGduUm84SGtzXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogInFvTGxQUk15T19NIgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDA4LTA2LTI0VDE4OjU3OjUwLjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ0Frc290M3B4SGxORDRnNlZ5akpkNHciLAogICAgInRpdGxlIjogIkluIEZsYW1lcyAtIEFsaWFzIChwaWFubyBjb3ZlcikiLAogICAgImRlc2NyaXB0aW9uIjogImhvbmVzdGx5IGkgZG8gaXQgYmV0dGVyXl4iLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9xb0xsUFJNeU9fTS9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvcW9MbFBSTXlPX00vbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9xb0xsUFJNeU9fTS9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAiR2l6bW8gbmFtZSIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0sCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrL1RwbGxhdnNxUHhObmpPSkE3YjZuYnNGQlhOTVwiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICI1SXFRbWpZY25mcyIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAxMS0wNS0yMVQxNToxODowOC4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUNaVFR6b25pbHp5Z1A4YXhqQzBWSFJnIiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgLSBBbGlhcyBEUlVNIENPVkVSIE1JU0hVIiwKICAgICJkZXNjcmlwdGlvbiI6ICIiLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS81SXFRbWpZY25mcy9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvNUlxUW1qWWNuZnMvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS81SXFRbWpZY25mcy9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAiQWRyaWFuIE1paGFpIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvbEtHUGlBRFFBdm5HQUZCZnhKRUs5R2Q3UUdVXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogIkFycDk0V3RiMGx3IgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDA4LTA5LTIyVDE2OjA3OjMxLjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ2FIZUtWTUVwSTZjVGk2Um96VzZVWlEiLAogICAgInRpdGxlIjogIkluIEZsYW1lcyAtIEFsaWFzIChhbGJ1bSB2ZXJzaW9uKSIsCiAgICAiZGVzY3JpcHRpb24iOiAiVGhlIHZpZGVvIHRvIEluIEZsYW1lcyBzb25nIEFsaWFzIEZyb20gdGhlIGFsYnVtIEEgU2Vuc2UgT2YgUHVycG9zZS4iLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9BcnA5NFd0YjBsdy9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvQXJwOTRXdGIwbHcvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9BcnA5NFd0YjBsdy9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAiVW5pdmVyc2FsIE11c2ljIFN3ZWRlbiIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0sCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrL1d1QUxZYjZKamJjejk0TzFmdVVvY2lzUnBBY1wiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICJBQVFHSXVSMVd2USIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAxNy0xMS0yOVQxMzo0Mzo1NS4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUN3RHdsSGRwdzlKcm1YYldrbXBIZ2p3IiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgLSBBbGlhcyAtIGxpdmUgQCBIYWxsZW5zdGFkaW9uIGluIFp1cmljaCAyOC4xMS4yMDE3IiwKICAgICJkZXNjcmlwdGlvbiI6ICJJbiBGbGFtZXMgbGl2ZSBhdCBIYWxsZW5zdGFkaW9uIGluIFp1cmljaCAvIFN3aXR6ZXJsYW5kIE5vdmVtYmVyIDI4LCAyMDE3IGR1cmluZyB0aGVpciAyMDE3IEV1cm9wZWFuIFRvdXIgcGVyZm9ybWluZyBBbGlhcyBTZXQgbGlzdDogRHJhaW5lZCBCZWZvcmUgSSBGYWxsIC4uLiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL0FBUUdJdVIxV3ZRL2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9BQVFHSXVSMVd2US9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL0FBUUdJdVIxV3ZRL2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJGZXRpc292NDUiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9HSndQRG9DcGptcE9yVWNJc2FNVGZ6WVZGVEFcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAiWnpLNWZudzFJZEkiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTAtMDYtMjFUMDQ6Mzg6NTUuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDS2hhN2FQU0FaRGNmZS1QcDNjYlo2ZyIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIC0gSW50cm8gJmFtcDsgQWxpYXMsIExpdmUgQCBNZXRhbHRvd24gMjAxMCIsCiAgICAiZGVzY3JpcHRpb24iOiAiSW4gRmxhbWVzIC0gSW50cm8gJiBBbGlhcywgTGl2ZSBAIE1ldGFsdG93biAyMDEwLiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL1p6SzVmbncxSWRJL2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9aeks1Zm53MUlkSS9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL1p6SzVmbncxSWRJL2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJCYXNpY1BTIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvNXlYdUJzM25FbHBXY3JtMEdZdTBoVlU0c2F3XCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogIndoc0JPaEl3ZVJBIgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDE4LTA5LTAyVDE2OjA5OjMwLjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQzRzTFFzUnVlWmRlY3NJd21IWjQ2ZmciLAogICAgInRpdGxlIjogIkluIEZsYW1lcyAtIEFsaWFzLiBCYWNraW5nIHRyYWNrIiwKICAgICJkZXNjcmlwdGlvbiI6ICLQmNGB0L/QvtC70L3QuNGC0LXQu9GMOiBJbiBGbGFtZXMg0JDQu9GM0LHQvtC8OiBBIFNlbnNlIG9mIFB1cnBvc2Ug0JTQsNGC0LAg0LLRi9C/0YPRgdC60LA6IDIwMDgg0LMuIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvd2hzQk9oSXdlUkEvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL3doc0JPaEl3ZVJBL21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvd2hzQk9oSXdlUkEvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIkxlc25pNGVrIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvSGNVM3NlcXczazR5UjlpRi0wQ3hmeWFobVpVXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogInpIQnhZVHZRMWlzIgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDE2LTA2LTA2VDAxOjIyOjI2LjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ0pLaDRsbkhtYlo1T2MxeHhPdENIWHciLAogICAgInRpdGxlIjogIkluIEZsYW1lcyAgQWxpYXMgQWNvdXN0aWMgQ292ZXIiLAogICAgImRlc2NyaXB0aW9uIjogIldlbGNvbWUgdG8gYW5vdGhlciBlcGlzb2RlIG9mIFNwYXJreSBTaW5ncyBNZXRhbCEgVGhpcyBvbmUgd2FzIGEgcmVxdWVzdCBieSBNYXJ0aW4gVmliZSEgVGhhbmtzIGZvciB5b3VyIHN1cHBvcnQhIEZvciB0aGUgc2FrZSBvZiB0aW1lLCBhbmQgdGhlIHdheSBJIHJld3JvdGUgLi4uIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvekhCeFlUdlExaXMvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL3pIQnhZVHZRMWlzL21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvekhCeFlUdlExaXMvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIlNhbWkgQmFzdGlvbiIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0sCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrL3ItekcyVldYYjBydVdBcGhPSEJDalQwbld6VVwiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICI2cnZuZWNVZGdvRSIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAwOS0wOC0wNVQxNDoxNDoxNy4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUNxejRzTFBCOFYySGs5WU5tOFdiVEVnIiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgLSBBbGlhcyAtIFdhY2tlbiAyMDA5IiwKICAgICJkZXNjcmlwdGlvbiI6ICJJbiBGbGFtZXMgTElWRSBAIFdhY2tlbiAyMDA5IEFsaWFzLiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpLzZydm5lY1VkZ29FL2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS82cnZuZWNVZGdvRS9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpLzZydm5lY1VkZ29FL2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJFbHZlbldpdGNoY3JhZnQiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9GSUZfRk40U2ZHc0lBcXJDeFlWVmg2N0tONHNcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAiQXNmX0JOREozRFEiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTctMTAtMTZUMDE6Mzc6MzAuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDMjZaZUtYRTVjc2ttLTVxVU10RDZRQSIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIC0gQWxpYXMgKExpdmUgQXQgUGFiZWxsw7NuIEN1ZXJ2bywgTcOpeGljbyAyMDE3KSIsCiAgICAiZGVzY3JpcHRpb24iOiAiSW4gRmxhbWVzIC0gQWxpYXMgKExpdmUgQXQgUGFiZWxsw7NuIEN1ZXJ2bywgTcOpeGljbyAyMDE3KSIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL0FzZl9CTkRKM0RRL2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9Bc2ZfQk5ESjNEUS9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL0FzZl9CTkRKM0RRL2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJCcmlhbiBDb2xvcmFkbyBEZWxnYWRvIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvNkxSeS1Ea3VqWl95eXBlSmRHa3RIRHEyUjhNXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogIks4eVJmdTNSejE0IgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDE2LTA1LTA5VDAzOjI0OjQwLjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ2wtMzNIRWVRSWxfY2FwVHVEdS1Kb2ciLAogICAgInRpdGxlIjogIkluIEZsYW1lcyAtIEFsaWFzIC0gVm9jYWwgQ292ZXIiLAogICAgImRlc2NyaXB0aW9uIjogIk15IGNvdmVyIG9mIHRoZSBzb25nIEFsaWFzIGJ5IHRoZSBiYW5kIEluIEZsYW1lcy4gSSBhbSBub3cgcnVubmluZyBhIG5ldyBwYWdlIGZvciBteSBzdHVkaW8geW91IGNhbiBmaW5kIGl0IGF0IC4uLiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL0s4eVJmdTNSejE0L2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9LOHlSZnUzUnoxNC9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL0s4eVJmdTNSejE0L2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJOYXRlIEJvaG5ldCIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0sCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrL1VaaXF5ZFVVTDhQeThDWHhFclhNb1lSblJna1wiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICJ2bDI0WEFIRExVbyIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAwOC0wNi0zMFQxNToyMzowNC4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUNGLW1OcElUZHJTc2JjczN0bS1PWWNRIiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgLSBBbGlhcyBATWV0YWx0b3duIDIwMDgiLAogICAgImRlc2NyaXB0aW9uIjogIkluIEZsYW1lcyAtIEFsaWFzIGxpdmUgYXQgbWV0YWx0b3duIDIwMDggaW4gR290aGVuYnVyZy9Td2VkZW4uIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvdmwyNFhBSERMVW8vZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL3ZsMjRYQUhETFVvL21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvdmwyNFhBSERMVW8vaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIlRoZUdyZXlEYWlzeSIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0sCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrL3JCZ2lhWDJoWFFEQTgtQjg4TUM2X1JjVmJ0MFwiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICI3NXhZTjdWQmlUWSIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAxMy0xMi0yNVQxNzozNzo0NC4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUNxSDBhZmxQVG5UcXJlOXRoM0ZteXd3IiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgLSBBbGlhcyIsCiAgICAiZGVzY3JpcHRpb24iOiAiQWxidW06IGEgU2Vuc2Ugb2YgUHVycG9zZS4iLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS83NXhZTjdWQmlUWS9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvNzV4WU43VkJpVFkvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS83NXhZTjdWQmlUWS9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAiQW5kcmVhcyBIb3JuZW1hbm4iLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9jRFd1cG5faFFHTUJZYXJFYVd1YjZIUUlnb2dcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAiWjV4LS0xR3p1S0UiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTUtMTAtMDZUMjI6MjI6NTYuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDaVQzWDlUWU8xWHJ2dU9wamt3eEE5QSIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIC0gQWxpYXMgR3VpdGFyIENvdmVyIChIRCkiLAogICAgImRlc2NyaXB0aW9uIjogIkNvdmVyIG9mIHRoZSBzb25nIEFsaWFzIGJ5IEluIEZsYW1lcyBJIGRvIG5vdCBvd24gdGhlIHNvbmcuIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvWjV4LS0xR3p1S0UvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL1o1eC0tMUd6dUtFL21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvWjV4LS0xR3p1S0UvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIkpvZmZyZXkgQmlyc3RlciIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0sCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrL2JNdkQzQVpmdG1Eb3hTTlYzU2V2aERxZm50a1wiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICJHTjZ3WmxxaTR1SSIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAxOC0xMi0yMFQxODoxNTowMS4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUNTczVOQzdpcGNtNjlGZ2plcmprSXBRIiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgLSBBbGlhcyAoSFEgTGFpZCBSZW1peCkiLAogICAgImRlc2NyaXB0aW9uIjogIkJ5IFwiQSBTZW5zZSBPZiBQdXJwb3NlXCIgcmUtaXNzdWUsIDIwMTQuIEFsbCByaWdodHMgcmVzZXJ2ZWQgdG8gdGhlIGJhbmQgYW5kIENlbnR1cnkgTWVkaWEuIH4gQkxLIH4iLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9HTjZ3WmxxaTR1SS9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvR042d1pscWk0dUkvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9HTjZ3WmxxaTR1SS9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAiSm8gS2lvdXIiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9WTFZXMFFXZ3JpT3NyckFacV9xQ0d0TVVULWNcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAiUlZYMXF3aS05b0UiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTQtMDktMTJUMDI6MTE6MTUuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDb0F5dGRYb1dmSndpQzVlZ19CZV9LZyIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIGFsaWFzIGNvdmVyIiwKICAgICJkZXNjcmlwdGlvbiI6ICJJbkZsYW1lcyBBbGlhcyBDb3Zlci4iLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9SVlgxcXdpLTlvRS9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvUlZYMXF3aS05b0UvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9SVlgxcXdpLTlvRS9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAiQ2hyaXMgR3JhbmR5IiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvS1RjTy02bWtBNl9MdUZmSUZWazJPNUJlNFI0XCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogIkNucEt4Tm45THJjIgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDA4LTA2LTIwVDA1OjM0OjQ3LjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQzJmM3Q0V25WRHpxUzVjWWE5LVpZWGciLAogICAgInRpdGxlIjogIklOIEZMQU1FUzogQWxpYXMiLAogICAgImRlc2NyaXB0aW9uIjogIjE2LzA2LzA4IE1ldGFsIEhhbW1lciBHb2xkZW4gR29kcyBBd2FyZCAwOC4iLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9DbnBLeE5uOUxyYy9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvQ25wS3hObjlMcmMvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9DbnBLeE5uOUxyYy9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAibHVuYWthbmEiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9MVWdvcDRVWHJMYnN3ZEtRQm9Wd1FzZjJUY2NcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAiQkNBNmpSSXhLWUEiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTEtMDgtMjFUMDA6NTQ6MTIuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDU3Q0empZeGc1aEVuMGVCdHNOeERadyIsCiAgICAidGl0bGUiOiAiaW4gZmxhbWVzICAgYWxpYXMgbHlyaWNzIiwKICAgICJkZXNjcmlwdGlvbiI6ICIiLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9CQ0E2alJJeEtZQS9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvQkNBNmpSSXhLWUEvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9CQ0E2alJJeEtZQS9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAidGhlYmlnZ2RmYW4iLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay8tWThSQ1hsdUhwRUJEX01Rb1c1Z2xub1RXM0FcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAiNkp1RW00WWtCTW8iCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTUtMTItMTlUMTQ6MzM6MjAuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDTnNwTGtnMG43NE5LSGkzUFJtOEQwdyIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIC8vIEFsaWFzIENvdmVyIChMaXZlIFZlcnNpb24pIiwKICAgICJkZXNjcmlwdGlvbiI6ICJHZWFyIFVzZWQgOTAncyBPcnZpbGxlIExlcyBQYXVsIEN1c3RvbSB3aXRoIHN0b2NrIHB1cHMgRHVubG9wIDk1USBXYWggMTAtNTIgRHIgU3RyaW5ncyB0dW5lZCB0byBEcm9wIEEjIEJpYXMgRnggRmVlbCBmcmVlIHRvIGNvbW1lbnQhIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvNkp1RW00WWtCTW8vZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpLzZKdUVtNFlrQk1vL21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvNkp1RW00WWtCTW8vaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIkZpcmRhdXMgVGFocmluIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvVlgwb2xBanBVMURrakFBUE5IeU5lMUZ5WVFrXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogImwzTndhWVpwMWFFIgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDE0LTEwLTMxVDA0OjE5OjA4LjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQzNfWl9rOENvdWNjVUJra1A4ZC14VlEiLAogICAgInRpdGxlIjogIkluIEZsYW1lcyAtIEFsaWFzIEd1aXRhciBDb3ZlciIsCiAgICAiZGVzY3JpcHRpb24iOiAiRmlyc3QgY292ZXIgaW4gNSBtb250aHMuIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvbDNOd2FZWnAxYUUvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL2wzTndhWVpwMWFFL21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvbDNOd2FZWnAxYUUvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIk1FVEFMTVVTSUNORVRXT1JLIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsveGxXcllnSUtmdzJwQ3NtUlZKbS1mOEZqaFZvXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogIkJ4RG1oTWZ2WTBjIgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDEzLTEwLTA4VDExOjA1OjMzLjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ2c1QTlYNHRiZnpySnZLNWg3MmcwRXciLAogICAgInRpdGxlIjogIkluIEZsYW1lcyAtIEFsaWFzIChEdWJzdGVwIFJlbWl4KSIsCiAgICAiZGVzY3JpcHRpb24iOiAiRHVic3RlcCBSZW1peCBvZiBJbiBGbGFtZXMgc29uZyBjYWxsZWQgXCJBbGlhc1wiIGZyb20gYWxidW0gXCJBIHNlbnNlIG9mIHB1cnBvc2VcIiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL0J4RG1oTWZ2WTBjL2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9CeERtaE1mdlkwYy9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL0J4RG1oTWZ2WTBjL2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJkaWRvcGV0cm92ZGluZXYgcGV0cm92IiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvdDZza0dYSmpRRGdhOFBDeU8yUVBscjk5OTRzXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogIlVmUmNLVVR2YmNvIgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDE3LTExLTE3VDE2OjA3OjAwLjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ1ZiTnJOQzhlWU5iY3ZYWVVUOEVrMlEiLAogICAgInRpdGxlIjogIkluIEZsYW1lcyAtIEFsaWFzIC0gTGl2ZSBAIFNjYW5kaW5hdml1bSBHw7Z0ZWJvcmcgU3dlZGVuIC0gMTYvMTEgMjAxNyIsCiAgICAiZGVzY3JpcHRpb24iOiAiIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvVWZSY0tVVHZiY28vZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL1VmUmNLVVR2YmNvL21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvVWZSY0tVVHZiY28vaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIkppbW1pZSBTdGplcm5zdHLDtm0iLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9UZ2VDZXNacEhLUWZXTHUxYUFJdFNabnRsQ01cIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAiSnZBLTV6VTJfNjAiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMDktMDEtMDRUMDM6MDc6MjAuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDdWMteC11YVBSb3o5dWQxalR4eldwQSIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIC0gQWxpYXMiLAogICAgImRlc2NyaXB0aW9uIjogIiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL0p2QS01elUyXzYwL2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9KdkEtNXpVMl82MC9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL0p2QS01elUyXzYwL2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJQaWEiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9QcGZRVzhYZTQyNmhoRHUzUWdnSVNQX1dBNnNcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAib3p4OHFiTVJRdXMiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTgtMDYtMjZUMTk6MDA6MjcuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDYVFyV2hFNERXblU5MVhPVU16c1FYUSIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIC0gQWxpYXMgKEFjb3VzdGljIFBhcnQgR3VpdGFyIENvdmVyKSIsCiAgICAiZGVzY3JpcHRpb24iOiAiIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvb3p4OHFiTVJRdXMvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL296eDhxYk1SUXVzL21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvb3p4OHFiTVJRdXMvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIkJ1cmFrIEhheXRhIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvRkVMTl91U3hubklvTWZUS1NlNUZfSWZLd0tVXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogInA1ay1NZXk4MDFvIgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDA5LTExLTA4VDEzOjI5OjUyLjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ2tZSzNoVDVZeWptNGp2NlNRWVBFakEiLAogICAgInRpdGxlIjogIkluIEZsYW1lcyAtIEFsaWFzIChtdXNpY3ZpZGVvICsgbHlyaWNzKSIsCiAgICAiZGVzY3JpcHRpb24iOiAiSW4gRmxhbWVzIC0gQWxpYXMgR3JlYXQgc29uZyEgTHlyaWNzIHRvIEFsaWFzIDogVGhlIHNlcnBlbnQga25vd3MsIFdoZW4gdGhlIGN1cnRhaW4gZmFsbHMsIEluIGRlbmlhbHMgYmxpbmRmb2xkLCBJdCBncmVldHMgYW5vdGhlciBkYXkgRG9uJ3QgYmVsaWV2ZSB0aGUgbWFzayBpdCAuLi4iLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9wNWstTWV5ODAxby9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvcDVrLU1leTgwMW8vbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9wNWstTWV5ODAxby9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAiVGhlQlN0cmFuZ2UiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9oRnZxUFJYc2dpOWhNZlMzdU13THhnbU9WR01cIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAiNHRLM0dYYkE3aVkiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTgtMTItMDFUMTU6MDk6NTYuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDSnpVbzNUU2xzV1BPMGJZMWN4Mi1lZyIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzLCBBbGlhcyAobGl2ZSksIERhbGxhcywgVGV4YXMgMzAxMTIwMTgiLAogICAgImRlc2NyaXB0aW9uIjogIkdhcyBNb25rZXkgQmFyIG4gR3JpbC4iLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS80dEszR1hiQTdpWS9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvNHRLM0dYYkE3aVkvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS80dEszR1hiQTdpWS9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAiSi5QLiBGb3N0ZXIiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay8xSjZDc280S1ZFaFRwT1FGX2l3RW02cGpxNUFcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAiNHNSVnY2QjhNcGMiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTgtMDctMjlUMDA6MjA6NDMuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDX2pzR3UzWDZuWW5MM0g1NENFZFhPZyIsCiAgICAidGl0bGUiOiAiSW4gZmxhbWVzIC0gQWxpYXMgQCBib3JnaG9sbSBicmlubmVyIiwKICAgICJkZXNjcmlwdGlvbiI6ICIiLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS80c1JWdjZCOE1wYy9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvNHNSVnY2QjhNcGMvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS80c1JWdjZCOE1wYy9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAiRGF2aWQgUGV0ZXJzc29uIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvLThqSW5kdkJJSDZhVDR0S1pGOExIaHM4R2xnXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogImkyOFVZYkpFbWpzIgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDExLTExLTI2VDE5OjA1OjAyLjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ295Ujk0b3F1SGJmNURmdWJrSjBaa0EiLAogICAgInRpdGxlIjogIkluIEZsYW1lcyAtIEFsaWFzIC8gTGl2ZSBAIFR1cmJpbmVuaGFsbGUgT2JlcmhhdXNlbiAyNS4xMS4yMDExICg3MjBwIEhEKSIsCiAgICAiZGVzY3JpcHRpb24iOiAiIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvaTI4VVliSkVtanMvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL2kyOFVZYkpFbWpzL21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvaTI4VVliSkVtanMvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIkJ1cm5pbmdNSUMiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9tbUx6cWdOaWdoRmZ0ZUY5LTdZTUo1NTdWNGdcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAiNllGYnJ6NzFHd3MiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMDktMTEtMjVUMTI6MTY6MDYuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDdFJoNzRYN1NYODdkQXZKd0xZU3BZZyIsCiAgICAidGl0bGUiOiAiSU4gRkxBTUVTIC0gQWxpYXMgLSIsCiAgICAiZGVzY3JpcHRpb24iOiAiSU4gRkxBTUVTIC0gQWxpYXMgLSBsaXZlIGF1IEJhdGFjbGFuLCBQYXJpcyAoRnJhbmNlKSBsZSAyNC8xMS8yMDA5LiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpLzZZRmJyejcxR3dzL2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS82WUZicno3MUd3cy9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpLzZZRmJyejcxR3dzL2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJva2d3ZW4iLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9lYmt3R3RYRkdRN0ZaZUxFQVpDODh3LW1GeXdcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAiVGhpbGVqTDZ6dFEiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTgtMDctMzFUMTE6NTU6MTcuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDV1EyT0hCNks3YXZseXlwQzVKZkM4dyIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIC0gQWxpYXMgdy4gc3RyaW5ncyAoNCBjYW0gbWl4KSBAIEJvcmdob2xtIEJyaW5uZXIgMjAxOCIsCiAgICAiZGVzY3JpcHRpb24iOiAiSW4gRmxhbWVzIC0gQWxpYXMgQm9yZ2hvbG0gQnJpbm5lciwgSnVseSAyN3RoLCAyMDE4IFJlY29yZGVkIGxpdmUgYXQgQm9yZ2hvbG0gQ2FzdGxlLCDDlmxhbmQsIFN3ZWRlbi4gRm9vdGFnZSBzYXZhZ2VseSBzdG9sZW4gZnJvbSBKb2hhbmlzYW5vcmFuZ2UsIERhdmlkIC4uLiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL1RoaWxlakw2enRRL2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9UaGlsZWpMNnp0US9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL1RoaWxlakw2enRRL2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJDcnVtYnMiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9CiBdCn0K
|
47
|
+
ewogImtpbmQiOiAieW91dHViZSNzZWFyY2hMaXN0UmVzcG9uc2UiLAogImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvdE95LTdUNU9ZY3pQeGlDMl9aaUlFaUM5M3NjXCIiLAogIm5leHRQYWdlVG9rZW4iOiAiQ0RJUUFBIiwKICJyZWdpb25Db2RlIjogIlJVIiwKICJwYWdlSW5mbyI6IHsKICAidG90YWxSZXN1bHRzIjogODYyMzIsCiAgInJlc3VsdHNQZXJQYWdlIjogNTAKIH0sCiAiaXRlbXMiOiBbCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrL0lWUzkyTEZWXzM4azZnekswemVlOWRxelBoVVwiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICJmVjZxNUJyUzBCdyIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAxMC0xMS0zMFQyMTozNDozNS4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUM5cWpEeklRb3lXM1VTbHdfX3FkbW5RIiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgLSBBbGlhcyAoT2ZmaWNpYWwgVmlkZW8pIiwKICAgICJkZXNjcmlwdGlvbiI6ICJEaXJlY3RvcjogUGF0cmljIFVsbGFldXMuIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvZlY2cTVCclMwQncvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL2ZWNnE1QnJTMEJ3L21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvZlY2cTVCclMwQncvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIkluRmxhbWVzR0JHIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvOEdfXzNRZkh0dVpzQTAybDFKd0lTeVRGMVNBXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogIm9IS24xbnhPWDlzIgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDE0LTEwLTE2VDE3OjQwOjE5LjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ1dCZTR4SUJMUlhTTktXOVBXd0Y5TUEiLAogICAgInRpdGxlIjogIkluIEZsYW1lcyAtIEFsaWFzIFtIRC9IUSBMeXJpY3MgaW4gVmlkZW9dIiwKICAgICJkZXNjcmlwdGlvbiI6ICJJIGRvIG5vdCBvd24gYW55IHJpZ2h0cyB0byB0aGlzIHNvbmcuIFRoaXMgaXMgcHVyZWx5IHByb21vdGlvbiBmb3IgdGhlIGJhbmQgYW5kIGZvciBlbnRlcnRhaW5tZW50LiBJZiB5b3UgbGlrZSBpdCBidXkgdGhlIENEJ3MgYW5kIHN1cHBvcnQgdGhlIGJhbmQgKGxpbmtzIGJlbG93KS4iLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9vSEtuMW54T1g5cy9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvb0hLbjFueE9YOXMvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9vSEtuMW54T1g5cy9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAiUnV1c2kgTHlyaWNzIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvWkhzWjRPdnlNNGp2a0YtMWdveTVjVjJDLTJ3XCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogIllDM3J3NzRjZkc0IgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDA5LTAxLTA4VDAxOjI2OjQ1LjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ25mVkFRTFhoMjJlOUlBekw2Q2pTM0EiLAogICAgInRpdGxlIjogIkluIEZsYW1lcyBmZWF0IFRpbW8gUmFpc2FuZW4gLSBBbGlhcyAoTGl2ZSBHcmFtbWlzZ2FsYW4pIiwKICAgICJkZXNjcmlwdGlvbiI6ICJJbiBGbGFtZXMgb2NoIFRpbW8gcsO2amplciBsaXRlZ3Jhbm5hIHDDpSBncmFtbWlzLiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL1lDM3J3NzRjZkc0L2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9ZQzNydzc0Y2ZHNC9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL1lDM3J3NzRjZkc0L2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJCdWx0aVoiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9EcWVqcXpYR0xsUFlvdEE1Tl8tZkpYSXhTTTRcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAiX0VMNzQ4TWZSVTAiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTUtMDYtMDhUMTk6MzQ6MDguMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDNEtocFhNSkJBX2hxSGRBSnhyY2F0dyIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIC0gMDQuQWxpYXMgTGl2ZSBAIFJvY2sgQW0gUmluZyAyMDE1IEhEIEFDMyIsCiAgICAiZGVzY3JpcHRpb24iOiAiSSdtIG5vdCB0aGUgb3duZXIgb2YgdGhpcyB0diBicm9hZGNhc3QgKEVpbnNQbHVzIEhEIERldXRzY2hsYW5kKS4gQWxsIHJpZ2h0cyBpbiB0diBjaGFubmVsLCBsYWJlbHMgYW5kIEluIEZsYW1lcyBiYW5kLiBGaW5kIHVzOiAuLi4iLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9fRUw3NDhNZlJVMC9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvX0VMNzQ4TWZSVTAvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9fRUw3NDhNZlJVMC9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAicm9ja29ubWVkaWFvZmZpY2lhbCIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0sCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrL0pRSVluUXhBUlZUM3VaWEwyNzl3R1hRb3Q2Z1wiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICJfM0lsZjI2LVJYOCIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAxMC0wNS0xNlQwMToyMzozNS4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUNrQWM3amg2d3Rrb2xpMGllVXpjVXhnIiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgLSBBbGlhcyAtIEEgU2Vuc2UgT2YgUHVycG9zZSAoSFEpIiwKICAgICJkZXNjcmlwdGlvbiI6ICJQbGVhc2UgQ29tbWVudCAvIFJhdGUuIEx5cmljcyBhbmQgSW5mbyBiZWxvdy4gRW5qb3kuIFNvbmc6IEFsaWFzIEFydGlzdDogSW4gRmxhbWVzIEFsYnVtOiBBIFNlbnNlIE9mIFB1cnBvc2Ugfn5+fn5+fn5+fn5+fn5+fn5+fn5+IEx5cmljcyBGcm9tIC4uLiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL18zSWxmMjYtUlg4L2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9fM0lsZjI2LVJYOC9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL18zSWxmMjYtUlg4L2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJ0ajExMTEyMTI5IiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvaFRKRmExNF9PeW02RjZzRnVhNlNLd3pwSFV3XCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogIk52Q3FhQWZIeUc0IgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDEwLTA2LTIwVDE0OjM2OjU4LjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ0I1Tk96R0tFVzlyc2lqcTNoZkxiU1EiLAogICAgInRpdGxlIjogIkluIEZsYW1lcyAtIENvdmVyIC0gQWxpYXMiLAogICAgImRlc2NyaXB0aW9uIjogImh0dHA6Ly93d3cudGhpc2NvbGRsaWZlLm5ldCBodHRwOi8vd3d3LmZhY2Vib29rLmNvbS90aGlzY29sZGxpZmUgTW9ybmluZyBwZW9wbGUsIG1hbnkgcGVvcGxlIGFza2VkIG1lIHRvIGRvIHRoaXMgc29uZywgSSBhbHdheXMgcmVmdXNlZCBjYXVzZSBJIGFtIG5vdCB0aGUgLi4uIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvTnZDcWFBZkh5RzQvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL052Q3FhQWZIeUc0L21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvTnZDcWFBZkh5RzQvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIkRhIFNjaGVoZiIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0sCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrL19LdEMwRkZiUDRwQkk5eDZVX2VuUXp3d0ljMFwiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICJQcEtzeVVqM0xhSSIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAxMi0wOC0xOFQwMjowNjowNC4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUNzclA2NWg1SjhyQnhSUTVqdmVMUDRBIiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgLSBBbGlhcyBAIFdhY2tlbiAyMDEyIExpdmUiLAogICAgImRlc2NyaXB0aW9uIjogIkluIEZsYW1lcyBsaXZlIGF0IFdhY2tlbiAyMDEyIHBlcmZvcm1pbmcgXCJBbGlhc1wiIGZyb20gdGhlIFwiQSBTZW5zZSBvZiBQdXJwb3NlXCIgYWxidW0uIFNldGxpc3QgQCBXYWNrZW4gMjAxMjogMS4gQ2xvdWQgQ29ubmVjdGVkIDIuIFRyaWdnZXIgKE1pc3NpbmcpIDMuIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvUHBLc3lVajNMYUkvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL1BwS3N5VWozTGFJL21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvUHBLc3lVajNMYUkvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogInNZenplZ3kiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9RV1M0NzlmTlBVb1pLZExQdmxSc0h2SkFQVEFcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAidnRBblFIREZFejQiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTctMDgtMTVUMTg6MjI6NTUuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDRXFsUTJiaGV6RXliSkplek52YXZNUSIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIC0gTGl2ZSBhdCBXaXRoIEZ1bGwgRm9yY2UgMjAxNyBbUHJvLVNob3RdIiwKICAgICJkZXNjcmlwdGlvbiI6ICJJbiBGbGFtZXMgbGl2ZSBhdCBXaXRoIEZ1bGwgRm9yY2UgMDoxOCBBbGlhcyA1OjA5IEFsbCBGb3IgTWUgOTo0MyBPbmx5IEZvciBUaGUgV2VhayAxNDowNSBDbG91ZCBDb25uZWN0ZWQgMTg6MzQgRGVsaXZlciBVcyAyNTozMyBIZXJlIFVudGlsIEZvcmV2ZXIgMzA6MDAgLi4uIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvdnRBblFIREZFejQvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL3Z0QW5RSERGRXo0L21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvdnRBblFIREZFejQvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogInhNZWdhbWV0IiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvZnRDZFdIMDBacERpMllBTG1ibkhSb3pxQ1dNXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogIm9lN0d0V1g5LTB3IgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDE4LTA4LTA1VDE3OjQ2OjAwLjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ2F6SHFSRjJId3JFVDFkSURuQ2RESnciLAogICAgInRpdGxlIjogIkluIEZsYW1lcyAtIEFsaWFzIChQb2wmIzM5O2FuZCYjMzk7cm9jayBGZXN0aXZhbCAyMDE4IEtvc3RyenluIG4vT2RyYSkiLAogICAgImRlc2NyaXB0aW9uIjogIkluIEZsYW1lcyAtIEFsaWFzIChQb2wnYW5kJ3JvY2sgRmVzdGl2YWwgMjAxOCBLb3N0cnp5biBuL09kcmEpIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvb2U3R3RXWDktMHcvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL29lN0d0V1g5LTB3L21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvb2U3R3RXWDktMHcvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIlJlYmVsIFZpa2luZyBWaWRlb3MiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9senVyNjRpb1lGOXBsbWtEMF90UktaS0NScklcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAibV9ZM3hYS3hhUEEiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTgtMDctMjhUMjM6NDQ6MzguMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDdzh0b0ZZZUhFcGd4WnFmMjJ1YlB2USIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIC1BbGlhcyBAIEJPUkdIT0xNIEJSSU5ORVIiLAogICAgImRlc2NyaXB0aW9uIjogIiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL21fWTN4WEt4YVBBL2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9tX1kzeFhLeGFQQS9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL21fWTN4WEt4YVBBL2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJkYXdpY2g5MSIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0sCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrL1lobUM1YVo3NEswTkRYWHZIN3JuWGVKQm1XRVwiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICJfMGZmM1ZrZ2h6WSIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAxMS0wNC0xN1QxNTo0MzowNS4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUNPb000YllmTXhfXzdfa2ZZTGUzb213IiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgLSBBbGlhcyBHdWl0YXIgQ292ZXIgSEQiLAogICAgImRlc2NyaXB0aW9uIjogIkluZm86IFdoYXQgYSBjYXRjaHkgc29uZyEgSSBsb3ZlZCBBIFNlbnNlIG9mIFB1cnBvc2UgYWxidW0sIG15IHBlcnNvbmFsIGZhdm9yaXRlIEluIEZsYW1lcyBhbGJ1bSB0byBkYXRlIChhbHRob3VnaCB0aGUgb2xkIHNjaG9vbCBJRiBmYW5zIG1pZ2h0IGRpc2FncmVlKSwgYW5kIC4uLiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL18wZmYzVmtnaHpZL2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9fMGZmM1ZrZ2h6WS9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL18wZmYzVmtnaHpZL2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJEaWxwaWwwMSIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0sCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrL3JMNjV4OHJKSVlsc2M3RFQ4eWJ3TmVSaktHQVwiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICJwRnRvT2JJNGN0TSIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAwOC0xMS0yM1QyMDoxMToxMC4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUNRQjRtZThUVmkwZ29UYlBsQ19xS3d3IiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgLSBBbGlhcyArIEx5cmljcyIsCiAgICAiZGVzY3JpcHRpb24iOiAiMjAwOCBOdWNsZWFyIEJsYXN0IChJbiBGbGFtZXMpIFRoZSBzZXJwZW50IGtub3dzIFdoZW4gdGhlIGN1cnRhaW4gZmFsbHMgV2l0aCBkZW5pYWwncyBibGluZGZvbGQgSGUgZ3JlZXRzIGFub3RoZXIgZGF5IERvbid0IGJlbGlldmUgdGhlIG1hc2sgSXQgYWRhcHRzIHRvIGFueSBsaWUgLi4uIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvcEZ0b09iSTRjdE0vZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL3BGdG9PYkk0Y3RNL21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvcEZ0b09iSTRjdE0vaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIkRhbiBHdXJ1IChmLmsuYS4gUm9xcVIpIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvOFNiSXZRVE8xZ0RneUt3RkJaa2VpaV9jZUJJXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogInFBWkREa2RMZV9jIgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDEyLTA5LTIwVDE2OjIyOjEwLjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ3I4LXdlUjhMZTJ2Y3hoQkdpUmQ5Q1EiLAogICAgInRpdGxlIjogIkluIEZsYW1lcyAtIEEgU2Vuc2Ugb2YgUHVycG9zZSAoSFEgQWxidW0pIiwKICAgICJkZXNjcmlwdGlvbiI6ICJJbiBGbGFtZXMgbmludGggc3R1ZGlvIGFsYnVtLCBBIFNlbnNlIG9mIFB1cnBvc2UuIFllYXI6IDIwMDggLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gVHJhY2sgbGlzdGluZzogMS4gVGhlIE1pcnJvcidzIFRydXRoIC4uLiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL3FBWkREa2RMZV9jL2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9xQVpERGtkTGVfYy9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL3FBWkREa2RMZV9jL2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJwcGhlcm9lcyIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0sCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrL3JjdTFpYXlSTUIyUmVOQUVjUEp3TkNQTzdmd1wiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICJJWDFPWWRvcl9mOCIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAxMS0wNy0wOVQyMzoyODozNC4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUNLaGE3YVBTQVpEY2ZlLVBwM2NiWjZnIiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgLSBBbGlhcywgTGl2ZSBAIFNvbmlzcGhlcmUsU3RvY2tob2xtIDIwMTEiLAogICAgImRlc2NyaXB0aW9uIjogIkluIEZsYW1lcyAtIEFsaWFzLCBMaXZlIEAgU29uaXNwaGVyZSxTdG9ja2hvbG0gMjAxMS4iLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9JWDFPWWRvcl9mOC9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvSVgxT1lkb3JfZjgvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9JWDFPWWRvcl9mOC9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAiQmFzaWNQUyIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0sCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrL2RCeVc1UFJucnplVjFwWW4ySElzV01uSFk1TVwiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICItQVhxZGN3eXBwayIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAxMi0wMS0xNlQwMTowOTo0Ny4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUNQdklQYXJjdlBRc2ZwdWxIRnRNV1F3IiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgLSBBbGlhcyAoTGFpZCBSZW1peCkiLAogICAgImRlc2NyaXB0aW9uIjogIiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpLy1BWHFkY3d5cHBrL2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS8tQVhxZGN3eXBway9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpLy1BWHFkY3d5cHBrL2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJNYXJ0w61uIE9jaG9hIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvTnlXVmR5WnJLWmJqeXZSRXNocWJmMHN2c2FvXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogInFGSXR4UkkyM004IgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDE3LTA2LTExVDA1OjA2OjIzLjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ19WdTdlbjY2a0IzdFNNT2FYTkUxVmciLAogICAgInRpdGxlIjogIkluIEZsYW1lcyBAIFN3ZWRlbiBSb2NrIDIwMTcgLSBBbGlhcyIsCiAgICAiZGVzY3JpcHRpb24iOiAiIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvcUZJdHhSSTIzTTgvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL3FGSXR4UkkyM004L21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvcUZJdHhSSTIzTTgvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIkdvUHJvQ3Jhc2hUZXN0RHVtbXkiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9hOFBKMXEwT0tRVnVuYVpuWWw4Z25SbzhIa3NcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAicW9MbFBSTXlPX00iCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMDgtMDYtMjRUMTg6NTc6NTAuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDQWtzb3QzcHhIbE5ENGc2VnlqSmQ0dyIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIC0gQWxpYXMgKHBpYW5vIGNvdmVyKSIsCiAgICAiZGVzY3JpcHRpb24iOiAiaG9uZXN0bHkgaSBkbyBpdCBiZXR0ZXJeXiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL3FvTGxQUk15T19NL2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9xb0xsUFJNeU9fTS9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL3FvTGxQUk15T19NL2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJHaXptbyBuYW1lIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvRHoyRHYzU2xRdmNLMW5wWk9qc0RiUDc1YllvXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogIjRYcjU3cklXUUtvIgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDE0LTA3LTIwVDIzOjUwOjM0LjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ2s4RVAwZE5yeWxpajVNYmNCek5hdkEiLAogICAgInRpdGxlIjogIltJbiBGbGFtZXMgLSBBbGlhc10gUGlhbm8gVHV0b3JpYWwiLAogICAgImRlc2NyaXB0aW9uIjogIkkgc2VyaW91c2x5IGxvdmUgdGhlIGludHJvIHRvIHRoaXMgc29uZyEgTUlESSBhbmQgU2hlZXQgbXVzaWMgY2FuIGJlIGRvd25sb2FkZWQgaGVyZTogaHR0cHM6Ly9tZWdhLmNvLm56LyNGIUJaaDNGS29DIXRpcGNKN09mN05tRWMtcVRZOHdlTXcgRmlsZWQgdW5kZXI6IC4uLiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpLzRYcjU3cklXUUtvL2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS80WHI1N3JJV1FLby9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpLzRYcjU3cklXUUtvL2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJNYWxhd2ltYW4iLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay84aFp4VDBZTDBwbFl0T1pNQk55bXFMeHhselFcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAiZ25ITFNhNWhjNkkiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMDktMDItMDRUMjI6NDA6MDIuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDbENkZDhINW5XLUdEU0hKS2E5TWFQdyIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIC0gQWxpYXMgKHN1YnRpdHVsYWRvIGVzcGHDsW9sKSIsCiAgICAiZGVzY3JpcHRpb24iOiAiRXhjZWxlbnRlIHZpZGVvIGRlIGluIEZsYW1lcyBzdWJ0aXR1bGFkbyBhbCBlc3Bhw7FvbC4iLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9nbkhMU2E1aGM2SS9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvZ25ITFNhNWhjNkkvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9nbkhMU2E1aGM2SS9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAiamF2aW1ldGFsY2hpbGUiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay81eVh1QnMzbkVscFdjcm0wR1l1MGhWVTRzYXdcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAid2hzQk9oSXdlUkEiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTgtMDktMDJUMTY6MDk6MzAuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDNHNMUXNSdWVaZGVjc0l3bUhaNDZmZyIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIC0gQWxpYXMuIEJhY2tpbmcgdHJhY2siLAogICAgImRlc2NyaXB0aW9uIjogItCY0YHQv9C+0LvQvdC40YLQtdC70Yw6IEluIEZsYW1lcyDQkNC70YzQsdC+0Lw6IEEgU2Vuc2Ugb2YgUHVycG9zZSDQlNCw0YLQsCDQstGL0L/Rg9GB0LrQsDogMjAwOCDQsy4iLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS93aHNCT2hJd2VSQS9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvd2hzQk9oSXdlUkEvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS93aHNCT2hJd2VSQS9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAiTGVzbmk0ZWsiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9jRFd1cG5faFFHTUJZYXJFYVd1YjZIUUlnb2dcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAiWjV4LS0xR3p1S0UiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTUtMTAtMDZUMjI6MjI6NTYuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDaVQzWDlUWU8xWHJ2dU9wamt3eEE5QSIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIC0gQWxpYXMgR3VpdGFyIENvdmVyIChIRCkiLAogICAgImRlc2NyaXB0aW9uIjogIkNvdmVyIG9mIHRoZSBzb25nIEFsaWFzIGJ5IEluIEZsYW1lcyBJIGRvIG5vdCBvd24gdGhlIHNvbmcuIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvWjV4LS0xR3p1S0UvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL1o1eC0tMUd6dUtFL21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvWjV4LS0xR3p1S0UvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIkpvZmZyZXkgQmlyc3RlciIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0sCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrL3VLV3VXWTlid05lamV2bjctS0hGcm83Rml3RVwiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICJOejFybTkyQjFXMCIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAxMC0wMS0yMVQwNDoxNjo1NS4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUNyNHFGNkJzNXBDTU1hYTRjZC1mbHpRIiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgLSBBbGlhcyAoQWNvdXN0aWMgQ292ZXIgYnkgSXZhbiBTYW5kb3ZhbCkiLAogICAgImRlc2NyaXB0aW9uIjogIk15IFR3aXR0ZXI6IGh0dHA6Ly90d2l0dGVyLmNvbS8jIS9TYW5kb3ZhbEl2YW4gVGFiIG1wMyBIaSEgSSdtIGJhY2sgYWdhaW4sIEkgaGF2ZSByZWNvcmRlZCB0aGlzIGJlYXV0aWZ1bCBzb25nIGZyb20gdGhlIGxlYXRlc3QgYWxidW0gQSBzZW5zZSBvZiBwdXJwb3NlLCBJIHRyaWVkIHRvIC4uLiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL056MXJtOTJCMVcwL2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9OejFybTkyQjFXMC9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL056MXJtOTJCMVcwL2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJJdsOhbiBTYW5kb3ZhbCIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0sCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrL0ZFTE5fdVN4bm5Jb01mVEtTZTVGX0lmS3dLVVwiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICJwNWstTWV5ODAxbyIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAwOS0xMS0wOFQxMzoyOTo1Mi4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUNrWUszaFQ1WXlqbTRqdjZTUVlQRWpBIiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgLSBBbGlhcyAobXVzaWN2aWRlbyArIGx5cmljcykiLAogICAgImRlc2NyaXB0aW9uIjogIkluIEZsYW1lcyAtIEFsaWFzIEdyZWF0IHNvbmchIEx5cmljcyB0byBBbGlhcyA6IFRoZSBzZXJwZW50IGtub3dzLCBXaGVuIHRoZSBjdXJ0YWluIGZhbGxzLCBJbiBkZW5pYWxzIGJsaW5kZm9sZCwgSXQgZ3JlZXRzIGFub3RoZXIgZGF5IERvbid0IGJlbGlldmUgdGhlIG1hc2sgaXQgLi4uIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvcDVrLU1leTgwMW8vZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL3A1ay1NZXk4MDFvL21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvcDVrLU1leTgwMW8vaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIlRoZUJTdHJhbmdlIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvci16RzJWV1hiMHJ1V0FwaE9IQkNqVDBuV3pVXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogIjZydm5lY1VkZ29FIgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDA5LTA4LTA1VDE0OjE0OjE3LjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ3F6NHNMUEI4VjJIazlZTm04V2JURWciLAogICAgInRpdGxlIjogIkluIEZsYW1lcyAtIEFsaWFzIC0gV2Fja2VuIDIwMDkiLAogICAgImRlc2NyaXB0aW9uIjogIkluIEZsYW1lcyBMSVZFIEAgV2Fja2VuIDIwMDkgQWxpYXMuIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvNnJ2bmVjVWRnb0UvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpLzZydm5lY1VkZ29FL21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvNnJ2bmVjVWRnb0UvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIkVsdmVuV2l0Y2hjcmFmdCIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0sCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrL3JCZ2lhWDJoWFFEQTgtQjg4TUM2X1JjVmJ0MFwiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICI3NXhZTjdWQmlUWSIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAxMy0xMi0yNVQxNzozNzo0NC4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUNxSDBhZmxQVG5UcXJlOXRoM0ZteXd3IiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgLSBBbGlhcyIsCiAgICAiZGVzY3JpcHRpb24iOiAiQWxidW06IGEgU2Vuc2Ugb2YgUHVycG9zZS4iLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS83NXhZTjdWQmlUWS9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvNzV4WU43VkJpVFkvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS83NXhZTjdWQmlUWS9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAiQW5kcmVhcyBIb3JuZW1hbm4iLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9UcGxsYXZzcVB4Tm5qT0pBN2I2bmJzRkJYTk1cIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAiNUlxUW1qWWNuZnMiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTEtMDUtMjFUMTU6MTg6MDguMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDWlRUem9uaWx6eWdQOGF4akMwVkhSZyIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIC0gQWxpYXMgRFJVTSBDT1ZFUiBNSVNIVSIsCiAgICAiZGVzY3JpcHRpb24iOiAiIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvNUlxUW1qWWNuZnMvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpLzVJcVFtalljbmZzL21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvNUlxUW1qWWNuZnMvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIkFkcmlhbiBNaWhhaSIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0sCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrL1d1QUxZYjZKamJjejk0TzFmdVVvY2lzUnBBY1wiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICJBQVFHSXVSMVd2USIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAxNy0xMS0yOVQxMzo0Mzo1NS4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUN3RHdsSGRwdzlKcm1YYldrbXBIZ2p3IiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgLSBBbGlhcyAtIGxpdmUgQCBIYWxsZW5zdGFkaW9uIGluIFp1cmljaCAyOC4xMS4yMDE3IiwKICAgICJkZXNjcmlwdGlvbiI6ICJJbiBGbGFtZXMgbGl2ZSBhdCBIYWxsZW5zdGFkaW9uIGluIFp1cmljaCAvIFN3aXR6ZXJsYW5kIE5vdmVtYmVyIDI4LCAyMDE3IGR1cmluZyB0aGVpciAyMDE3IEV1cm9wZWFuIFRvdXIgcGVyZm9ybWluZyBBbGlhcyBTZXQgbGlzdDogRHJhaW5lZCBCZWZvcmUgSSBGYWxsIC4uLiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL0FBUUdJdVIxV3ZRL2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9BQVFHSXVSMVd2US9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL0FBUUdJdVIxV3ZRL2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJGZXRpc292NDUiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9IY1Uzc2VxdzNrNHlSOWlGLTBDeGZ5YWhtWlVcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAiekhCeFlUdlExaXMiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTYtMDYtMDZUMDE6MjI6MjYuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDSktoNGxuSG1iWjVPYzF4eE90Q0hYdyIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzICBBbGlhcyBBY291c3RpYyBDb3ZlciIsCiAgICAiZGVzY3JpcHRpb24iOiAiV2VsY29tZSB0byBhbm90aGVyIGVwaXNvZGUgb2YgU3Bhcmt5IFNpbmdzIE1ldGFsISBUaGlzIG9uZSB3YXMgYSByZXF1ZXN0IGJ5IE1hcnRpbiBWaWJlISBUaGFua3MgZm9yIHlvdXIgc3VwcG9ydCEgRm9yIHRoZSBzYWtlIG9mIHRpbWUsIGFuZCB0aGUgd2F5IEkgcmV3cm90ZSAuLi4iLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS96SEJ4WVR2UTFpcy9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvekhCeFlUdlExaXMvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS96SEJ4WVR2UTFpcy9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAiU2FtaSBCYXN0aW9uIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvd1ZvTjdtVEhyWWk0eVdXQWZmTXY0dWhGYmdrXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogImxRQUtUd3d5aUk4IgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDA5LTA4LTIwVDAwOjMzOjM4LjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ3BSOFpDMDFvRGkzT3BUeko3aUtaYlEiLAogICAgInRpdGxlIjogIkluIEZsYW1lcy1BbGlhcyB3aXRoIGx5cmljcyAoSFEpIiwKICAgICJkZXNjcmlwdGlvbiI6ICJBbGlhcyBieSBpbiBGbGFtZXMgZnJvbSB0aGUgQWxidW0gXCJBIFNlbnNlIG9mIFB1cnBvc2VcIiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL2xRQUtUd3d5aUk4L2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9sUUFLVHd3eWlJOC9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL2xRQUtUd3d5aUk4L2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJLaXdpbzEyIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvbTAzWDJRQXQ0dkdlUGM4M0ozdWJmZE5faVNjXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogImxCVnlYSXF2engwIgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDE4LTEyLTA3VDIzOjI0OjM3LjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ1U0OXp0UnI3V1laSmVpZHBKOXpmNnciLAogICAgInRpdGxlIjogIkluIEZsYW1lcyAtIEFsaWFzIExJVkUgT05FIFNIT1QgVk9DQUwgQ09WRVIiLAogICAgImRlc2NyaXB0aW9uIjogIkhleSBsb29rIEkgZGlkIHR3byB0b2RheSA6My4iLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9sQlZ5WElxdnp4MC9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvbEJWeVhJcXZ6eDAvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9sQlZ5WElxdnp4MC9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAiTWlzZXJ5RmllbGRzIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvRUxiMXpLQ1ZyZzU2OTk4V052Zm1GLUN3MTBFXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogImQ5d2h2cjVqSHFjIgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDA5LTExLTA4VDIxOjQ5OjM0LjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ1F3aTRGMGJWdVhjRjFGNFFtREhjd0EiLAogICAgInRpdGxlIjogIkluIEZsYW1lcyAtIEFsaWFzIChEcnVtIENvdmVyKSBbSERdIiwKICAgICJkZXNjcmlwdGlvbiI6ICJUaGlzIGlzIG1lIGRvaW5nIGEgZHJ1bSBjb3ZlciBvZiBcIkFsaWFzXCIgYnkgSW4gRmxhbWVzLiBUaGUgc29uZyBmcm9tIHRoZSAyMDA4IHJlbGVhc2UgXCJBIFNlbnNlIE9mIFB1cnBvc2VcIiwgaXMgdGhlIGNvcHlyaWdodGVkIHByb3BlcnR5IG9mIGl0J3Mgb3duZXIocykuIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvZDl3aHZyNWpIcWMvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL2Q5d2h2cjVqSHFjL21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvZDl3aHZyNWpIcWMvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIlRpbSBFbWFudWVsIFNjaMOkcmRpbiIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0sCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrL0trMnZiWFk4aXFEdXNudnRJaTZxVnpuNEJYOFwiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICJTR0wzYTlaN1BpbyIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAxMy0wMi0xMFQxNzoxMzo1MS4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUNwRW1TU0ZsYm9TQzFIaUtXbE5KeGNRIiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgLSBBbGlhcyBbc29sb10gSFEiLAogICAgImRlc2NyaXB0aW9uIjogIkluIEZsYW1lcyBzb25nIEFsaWFzLiBBbGJ1bSBBIFNlbnNlIE9mIFB1cnBvc2UgKDIwMDgpLiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL1NHTDNhOVo3UGlvL2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9TR0wzYTlaN1Bpby9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL1NHTDNhOVo3UGlvL2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJTZXJnaW96Z3oxIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvTkEzMlk0SEVaaUNDb0otMVktazNla0lhZV9rXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogIjVGLVh5d1gwQWZjIgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDA5LTA4LTI2VDA4OjM2OjU4LjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ1FmbDE1dk82ZVFUWHlwVU9Nc2pSU2ciLAogICAgInRpdGxlIjogIkluIEZsYW1lcyAtIEFsaWFzIChjb3ZlcikiLAogICAgImRlc2NyaXB0aW9uIjogIldoYXQgeW91IHNlZSBpcyB3aGF0IHlvdSBlYXIuIE1lIHBsYXlpbmcgdGhlIEluIEZsYW1lcyBzb25nIGFsaWFzIGZyb20gdGhlIGFsYnVtIHNlbnNlIG9mIHB1cnBvc2UuIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvNUYtWHl3WDBBZmMvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpLzVGLVh5d1gwQWZjL21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvNUYtWHl3WDBBZmMvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIkplcmVtaWUgUHJ1bmUgVGhlcmlhdWx0IiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvbEtHUGlBRFFBdm5HQUZCZnhKRUs5R2Q3UUdVXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogIkFycDk0V3RiMGx3IgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDA4LTA5LTIyVDE2OjA3OjMxLjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ2FIZUtWTUVwSTZjVGk2Um96VzZVWlEiLAogICAgInRpdGxlIjogIkluIEZsYW1lcyAtIEFsaWFzIChhbGJ1bSB2ZXJzaW9uKSIsCiAgICAiZGVzY3JpcHRpb24iOiAiVGhlIHZpZGVvIHRvIEluIEZsYW1lcyBzb25nIEFsaWFzIEZyb20gdGhlIGFsYnVtIEEgU2Vuc2UgT2YgUHVycG9zZS4iLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9BcnA5NFd0YjBsdy9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvQXJwOTRXdGIwbHcvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9BcnA5NFd0YjBsdy9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAiVW5pdmVyc2FsIE11c2ljIFN3ZWRlbiIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0sCiAgewogICAia2luZCI6ICJ5b3V0dWJlI3NlYXJjaFJlc3VsdCIsCiAgICJldGFnIjogIlwiWHBQR1FYUG54UUpoTGdzNmVuRF9uOEpSNFFrL0ZJRl9GTjRTZkdzSUFxckN4WVZWaDY3S040c1wiIiwKICAgImlkIjogewogICAgImtpbmQiOiAieW91dHViZSN2aWRlbyIsCiAgICAidmlkZW9JZCI6ICJBc2ZfQk5ESjNEUSIKICAgfSwKICAgInNuaXBwZXQiOiB7CiAgICAicHVibGlzaGVkQXQiOiAiMjAxNy0xMC0xNlQwMTozNzozMC4wMDBaIiwKICAgICJjaGFubmVsSWQiOiAiVUMyNlplS1hFNWNza20tNXFVTXRENlFBIiwKICAgICJ0aXRsZSI6ICJJbiBGbGFtZXMgLSBBbGlhcyAoTGl2ZSBBdCBQYWJlbGzDs24gQ3VlcnZvLCBNw6l4aWNvIDIwMTcpIiwKICAgICJkZXNjcmlwdGlvbiI6ICJJbiBGbGFtZXMgLSBBbGlhcyAoTGl2ZSBBdCBQYWJlbGzDs24gQ3VlcnZvLCBNw6l4aWNvIDIwMTcpIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvQXNmX0JOREozRFEvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL0FzZl9CTkRKM0RRL21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvQXNmX0JOREozRFEvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIkJyaWFuIENvbG9yYWRvIERlbGdhZG8iLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9VWmlxeWRVVUw4UHk4Q1h4RXJYTW9ZUm5SZ2tcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAidmwyNFhBSERMVW8iCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMDgtMDYtMzBUMTU6MjM6MDQuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDRi1tTnBJVGRyU3NiY3MzdG0tT1ljUSIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIC0gQWxpYXMgQE1ldGFsdG93biAyMDA4IiwKICAgICJkZXNjcmlwdGlvbiI6ICJJbiBGbGFtZXMgLSBBbGlhcyBsaXZlIGF0IG1ldGFsdG93biAyMDA4IGluIEdvdGhlbmJ1cmcvU3dlZGVuLiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL3ZsMjRYQUhETFVvL2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS92bDI0WEFIRExVby9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL3ZsMjRYQUhETFVvL2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJUaGVHcmV5RGFpc3kiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9iTXZEM0FaZnRtRG94U05WM1NldmhEcWZudGtcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAiR042d1pscWk0dUkiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTgtMTItMjBUMTg6MTU6MDEuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDU3M1TkM3aXBjbTY5RmdqZXJqa0lwUSIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIC0gQWxpYXMgKEhRIExhaWQgUmVtaXgpIiwKICAgICJkZXNjcmlwdGlvbiI6ICJCeSBcIkEgU2Vuc2UgT2YgUHVycG9zZVwiIHJlLWlzc3VlLCAyMDE0LiBBbGwgcmlnaHRzIHJlc2VydmVkIHRvIHRoZSBiYW5kIGFuZCBDZW50dXJ5IE1lZGlhLiB+IEJMSyB+IiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvR042d1pscWk0dUkvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL0dONndabHFpNHVJL21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvR042d1pscWk0dUkvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIkpvIEtpb3VyIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvczFYVTlCOVFvYlZmeHZvTTVTWVFhMDhaaGV3XCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogImlpcG1ZbUFqWEN3IgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDE0LTEwLTA4VDE4OjIwOjM3LjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ3Q3TlpZTEd6bjZPbm1PWE9qaU4wUXciLAogICAgInRpdGxlIjogIkluIEZsYW1lcyAtIEFsaWFzICpHdWl0YXIgQ292ZXIqIEhEIiwKICAgICJkZXNjcmlwdGlvbiI6ICJJbiBGbGFtZXMgLSBBbGlhcyAqR3VpdGFyIENvdmVyKiBIRCBDb25zdHJ1Y3RpdmUgY3JpdGljaXNtIGlzIG11Y2ggYXBwcmVjaWF0ZWQuIEkgZG8gTk9UIG93biB0aGlzIHNvbmcgaW4gYW55IHdheS4gVGhhbmtzIGZvciBXYXRjaGluZyBhbmQgcmVtZW1iZXIgdG8gbGlrZSAuLi4iLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9paXBtWW1BalhDdy9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvaWlwbVltQWpYQ3cvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9paXBtWW1BalhDdy9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAiWmllZ2xlcnM2NjYiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9WTFZXMFFXZ3JpT3NyckFacV9xQ0d0TVVULWNcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAiUlZYMXF3aS05b0UiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTQtMDktMTJUMDI6MTE6MTUuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDb0F5dGRYb1dmSndpQzVlZ19CZV9LZyIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIGFsaWFzIGNvdmVyIiwKICAgICJkZXNjcmlwdGlvbiI6ICJJbkZsYW1lcyBBbGlhcyBDb3Zlci4iLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9SVlgxcXdpLTlvRS9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvUlZYMXF3aS05b0UvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9SVlgxcXdpLTlvRS9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAiQ2hyaXMgR3JhbmR5IiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvS1RjTy02bWtBNl9MdUZmSUZWazJPNUJlNFI0XCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogIkNucEt4Tm45THJjIgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDA4LTA2LTIwVDA1OjM0OjQ3LjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQzJmM3Q0V25WRHpxUzVjWWE5LVpZWGciLAogICAgInRpdGxlIjogIklOIEZMQU1FUzogQWxpYXMiLAogICAgImRlc2NyaXB0aW9uIjogIjE2LzA2LzA4IE1ldGFsIEhhbW1lciBHb2xkZW4gR29kcyBBd2FyZCAwOC4iLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9DbnBLeE5uOUxyYy9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvQ25wS3hObjlMcmMvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9DbnBLeE5uOUxyYy9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAibHVuYWthbmEiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9MVWdvcDRVWHJMYnN3ZEtRQm9Wd1FzZjJUY2NcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAiQkNBNmpSSXhLWUEiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTEtMDgtMjFUMDA6NTQ6MTIuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDU3Q0empZeGc1aEVuMGVCdHNOeERadyIsCiAgICAidGl0bGUiOiAiaW4gZmxhbWVzICAgYWxpYXMgbHlyaWNzIiwKICAgICJkZXNjcmlwdGlvbiI6ICIiLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9CQ0E2alJJeEtZQS9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvQkNBNmpSSXhLWUEvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9CQ0E2alJJeEtZQS9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAidGhlYmlnZ2RmYW4iLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay82dGVhQXNUa0tySmZRQUtEX215eUpoVlNMSmNcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAiNXN3aXVSdDNHWUkiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTQtMDYtMjJUMjM6MTY6MzcuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDRU94SXZxRnR3X2pPX01pSHFic2NEUSIsCiAgICAidGl0bGUiOiAiSW4gZmxhbWVzICYjMzk7QWxpYXMmIzM5OyBhY291c3RpYyB2YXJpYXRpb24gLyBjb3ZlciIsCiAgICAiZGVzY3JpcHRpb24iOiAicmUtaGFzaCBvZiBhbiBvbGRlciB2aWRlbywgaG9wZWZ1bGx5IGFuIGltcHJvdmVtZW50ISBhY291c3RpYyBjcmVkaXRlZCB0byBJYW4gU2FuZG92YWwsIHBsZWFzZSBnbyBjaGVjayBoaW0gb3V0IDopIHRoYW5rcyBmb3Igd2F0Y2hpbmchIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvNXN3aXVSdDNHWUkvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpLzVzd2l1UnQzR1lJL21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvNXN3aXVSdDNHWUkvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIkthcm1hcmluIE5hdHVyZXMiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9WWDBvbEFqcFUxRGtqQUFQTkh5TmUxRnlZUWtcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAibDNOd2FZWnAxYUUiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTQtMTAtMzFUMDQ6MTk6MDguMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDM19aX2s4Q291Y2NVQmtrUDhkLXhWUSIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIC0gQWxpYXMgR3VpdGFyIENvdmVyIiwKICAgICJkZXNjcmlwdGlvbiI6ICJGaXJzdCBjb3ZlciBpbiA1IG1vbnRocy4iLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9sM053YVlacDFhRS9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvbDNOd2FZWnAxYUUvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9sM053YVlacDFhRS9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAiTUVUQUxNVVNJQ05FVFdPUksiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9HSndQRG9DcGptcE9yVWNJc2FNVGZ6WVZGVEFcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAiWnpLNWZudzFJZEkiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTAtMDYtMjFUMDQ6Mzg6NTUuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDS2hhN2FQU0FaRGNmZS1QcDNjYlo2ZyIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIC0gSW50cm8gJmFtcDsgQWxpYXMsIExpdmUgQCBNZXRhbHRvd24gMjAxMCIsCiAgICAiZGVzY3JpcHRpb24iOiAiSW4gRmxhbWVzIC0gSW50cm8gJiBBbGlhcywgTGl2ZSBAIE1ldGFsdG93biAyMDEwLiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL1p6SzVmbncxSWRJL2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9aeks1Zm53MUlkSS9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL1p6SzVmbncxSWRJL2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJCYXNpY1BTIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvczJpTTlhNlZSc3UtM3BtRy11eXhmWGNkaEFBXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogInM0dm90cGhtZWdzIgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDE3LTA0LTI3VDIzOjIxOjEzLjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQzNuMHV4NkxTd245V3Y3Wjk5QkVFbGciLAogICAgInRpdGxlIjogIkluIEZsYW1lcyAtIEFsaWFzIChBY291c3RpYyBTeW1waG9ueSBDb3ZlcikgYXJyLiBieSBSdXNsYW4gS29uZHJhdGVua28iLAogICAgImRlc2NyaXB0aW9uIjogImFyci4gYnkgUnVzbGFuIEtvbmRyYXRlbmtvIEdlYXI6IExhZyBUcmFtb250YW5lIFQxMDBEQ0UgSVNLIEJNLTgwMCBNLUF1ZGlvIE0tVHJhY2sgUXVhZCBLUksgUm9raXQgNSBDdWJhc2UgOCBFbGVtZW50cy4iLAogICAgInRodW1ibmFpbHMiOiB7CiAgICAgImRlZmF1bHQiOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9zNHZvdHBobWVncy9kZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDEyMCwKICAgICAgImhlaWdodCI6IDkwCiAgICAgfSwKICAgICAibWVkaXVtIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvczR2b3RwaG1lZ3MvbXFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDMyMCwKICAgICAgImhlaWdodCI6IDE4MAogICAgIH0sCiAgICAgImhpZ2giOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9zNHZvdHBobWVncy9ocWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogNDgwLAogICAgICAiaGVpZ2h0IjogMzYwCiAgICAgfQogICAgfSwKICAgICJjaGFubmVsVGl0bGUiOiAiUnVzbGFuIEtvbmRyYXRlbmtvIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvcHAwNlcwZUd1OGlZSjMwdkhYdmFFcEpTVkRNXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogInhCdGdKbUdpdjNNIgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDA5LTAxLTEzVDAyOjE0OjU2LjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ3RSYlQwTlloSzZVQ0lkTUlFRjJ1cHciLAogICAgInRpdGxlIjogIkluIEZsYW1lcyAtIEFsaWFzIChEcnVtIENvdmVyKSIsCiAgICAiZGVzY3JpcHRpb24iOiAiVGhpcyBpcyBhbm90aGVyIHNvbmcgZnJvbWUgdGhlIGxhdGVzdCBhbGJ1bSwgQWxpYXMuIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkveEJ0Z0ptR2l2M00vZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL3hCdGdKbUdpdjNNL21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkveEJ0Z0ptR2l2M00vaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIlNhbXVlbCBUdXJnZW9uIiwKICAgICJsaXZlQnJvYWRjYXN0Q29udGVudCI6ICJub25lIgogICB9CiAgfSwKICB7CiAgICJraW5kIjogInlvdXR1YmUjc2VhcmNoUmVzdWx0IiwKICAgImV0YWciOiAiXCJYcFBHUVhQbnhRSmhMZ3M2ZW5EX244SlI0UWsvLThqSW5kdkJJSDZhVDR0S1pGOExIaHM4R2xnXCIiLAogICAiaWQiOiB7CiAgICAia2luZCI6ICJ5b3V0dWJlI3ZpZGVvIiwKICAgICJ2aWRlb0lkIjogImkyOFVZYkpFbWpzIgogICB9LAogICAic25pcHBldCI6IHsKICAgICJwdWJsaXNoZWRBdCI6ICIyMDExLTExLTI2VDE5OjA1OjAyLjAwMFoiLAogICAgImNoYW5uZWxJZCI6ICJVQ295Ujk0b3F1SGJmNURmdWJrSjBaa0EiLAogICAgInRpdGxlIjogIkluIEZsYW1lcyAtIEFsaWFzIC8gTGl2ZSBAIFR1cmJpbmVuaGFsbGUgT2JlcmhhdXNlbiAyNS4xMS4yMDExICg3MjBwIEhEKSIsCiAgICAiZGVzY3JpcHRpb24iOiAiIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvaTI4VVliSkVtanMvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL2kyOFVZYkpFbWpzL21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvaTI4VVliSkVtanMvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIkJ1cm5pbmdNSUMiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9tbUx6cWdOaWdoRmZ0ZUY5LTdZTUo1NTdWNGdcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAiNllGYnJ6NzFHd3MiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMDktMTEtMjVUMTI6MTY6MDYuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDdFJoNzRYN1NYODdkQXZKd0xZU3BZZyIsCiAgICAidGl0bGUiOiAiSU4gRkxBTUVTIC0gQWxpYXMgLSIsCiAgICAiZGVzY3JpcHRpb24iOiAiSU4gRkxBTUVTIC0gQWxpYXMgLSBsaXZlIGF1IEJhdGFjbGFuLCBQYXJpcyAoRnJhbmNlKSBsZSAyNC8xMS8yMDA5LiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpLzZZRmJyejcxR3dzL2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS82WUZicno3MUd3cy9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpLzZZRmJyejcxR3dzL2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJva2d3ZW4iLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9lYmt3R3RYRkdRN0ZaZUxFQVpDODh3LW1GeXdcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAiVGhpbGVqTDZ6dFEiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTgtMDctMzFUMTE6NTU6MTcuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDV1EyT0hCNks3YXZseXlwQzVKZkM4dyIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIC0gQWxpYXMgdy4gc3RyaW5ncyAoNCBjYW0gbWl4KSBAIEJvcmdob2xtIEJyaW5uZXIgMjAxOCIsCiAgICAiZGVzY3JpcHRpb24iOiAiSW4gRmxhbWVzIC0gQWxpYXMgQm9yZ2hvbG0gQnJpbm5lciwgSnVseSAyN3RoLCAyMDE4IFJlY29yZGVkIGxpdmUgYXQgQm9yZ2hvbG0gQ2FzdGxlLCDDlmxhbmQsIFN3ZWRlbi4gRm9vdGFnZSBzYXZhZ2VseSBzdG9sZW4gZnJvbSBKb2hhbmlzYW5vcmFuZ2UsIERhdmlkIC4uLiIsCiAgICAidGh1bWJuYWlscyI6IHsKICAgICAiZGVmYXVsdCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL1RoaWxlakw2enRRL2RlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMTIwLAogICAgICAiaGVpZ2h0IjogOTAKICAgICB9LAogICAgICJtZWRpdW0iOiB7CiAgICAgICJ1cmwiOiAiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9UaGlsZWpMNnp0US9tcWRlZmF1bHQuanBnIiwKICAgICAgIndpZHRoIjogMzIwLAogICAgICAiaGVpZ2h0IjogMTgwCiAgICAgfSwKICAgICAiaGlnaCI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL1RoaWxlakw2enRRL2hxZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiA0ODAsCiAgICAgICJoZWlnaHQiOiAzNjAKICAgICB9CiAgICB9LAogICAgImNoYW5uZWxUaXRsZSI6ICJDcnVtYnMiLAogICAgImxpdmVCcm9hZGNhc3RDb250ZW50IjogIm5vbmUiCiAgIH0KICB9LAogIHsKICAgImtpbmQiOiAieW91dHViZSNzZWFyY2hSZXN1bHQiLAogICAiZXRhZyI6ICJcIlhwUEdRWFBueFFKaExnczZlbkRfbjhKUjRRay9yTnR2Y3NnRnlMUHZwb3hlXzVjY21VMkp6a3NcIiIsCiAgICJpZCI6IHsKICAgICJraW5kIjogInlvdXR1YmUjdmlkZW8iLAogICAgInZpZGVvSWQiOiAiYmUxY2QxWlpfUVEiCiAgIH0sCiAgICJzbmlwcGV0IjogewogICAgInB1Ymxpc2hlZEF0IjogIjIwMTgtMTAtMzFUMDg6Mzc6MDIuMDAwWiIsCiAgICAiY2hhbm5lbElkIjogIlVDWkZuaTdjTExESld4OUxiYnhQR0RtdyIsCiAgICAidGl0bGUiOiAiSW4gRmxhbWVzIC0gQWxpYXMgbGl2ZSBpbiBUZW1wZSwgQVogMjAxOCIsCiAgICAiZGVzY3JpcHRpb24iOiAiSW4gRmxhbWVzIHBlcmZvcm1pbmcgQWxpYXMgYXQgdGhlIE1hcnF1ZWUgVGhlYXRyZSBpbiBUZW1wZSwgQVogMTAtMzAtMjAxOC4gRW5qb3khIiwKICAgICJ0aHVtYm5haWxzIjogewogICAgICJkZWZhdWx0IjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvYmUxY2QxWlpfUVEvZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAxMjAsCiAgICAgICJoZWlnaHQiOiA5MAogICAgIH0sCiAgICAgIm1lZGl1bSI6IHsKICAgICAgInVybCI6ICJodHRwczovL2kueXRpbWcuY29tL3ZpL2JlMWNkMVpaX1FRL21xZGVmYXVsdC5qcGciLAogICAgICAid2lkdGgiOiAzMjAsCiAgICAgICJoZWlnaHQiOiAxODAKICAgICB9LAogICAgICJoaWdoIjogewogICAgICAidXJsIjogImh0dHBzOi8vaS55dGltZy5jb20vdmkvYmUxY2QxWlpfUVEvaHFkZWZhdWx0LmpwZyIsCiAgICAgICJ3aWR0aCI6IDQ4MCwKICAgICAgImhlaWdodCI6IDM2MAogICAgIH0KICAgIH0sCiAgICAiY2hhbm5lbFRpdGxlIjogIkFuZHJldyBXaWxsaWFtcyIsCiAgICAibGl2ZUJyb2FkY2FzdENvbnRlbnQiOiAibm9uZSIKICAgfQogIH0KIF0KfQo=
|
48
48
|
http_version:
|
49
|
-
recorded_at:
|
49
|
+
recorded_at: Wed, 20 Mar 2019 07:56:53 GMT
|
50
50
|
- request:
|
51
51
|
method: get
|
52
52
|
uri: https://www.googleapis.com/youtube/v3/videos?id=fV6q5BrS0Bw&key=AIzaSyBopkXxz7Dzi9ZrFYPqjmL_JogByn-BBqI&part=status
|
@@ -64,9 +64,9 @@ http_interactions:
|
|
64
64
|
message: OK
|
65
65
|
headers:
|
66
66
|
Expires:
|
67
|
-
-
|
67
|
+
- Wed, 20 Mar 2019 07:56:54 GMT
|
68
68
|
Date:
|
69
|
-
-
|
69
|
+
- Wed, 20 Mar 2019 07:56:54 GMT
|
70
70
|
Cache-Control:
|
71
71
|
- private, max-age=0, must-revalidate, no-transform
|
72
72
|
Etag:
|
@@ -114,7 +114,7 @@ http_interactions:
|
|
114
114
|
]
|
115
115
|
}
|
116
116
|
http_version:
|
117
|
-
recorded_at:
|
117
|
+
recorded_at: Wed, 20 Mar 2019 07:56:54 GMT
|
118
118
|
- request:
|
119
119
|
method: get
|
120
120
|
uri: https://www.googleapis.com/youtube/v3/videos?id=fV6q5BrS0Bw&key=AIzaSyBopkXxz7Dzi9ZrFYPqjmL_JogByn-BBqI&maxResults=50&part=contentDetails
|
@@ -132,9 +132,9 @@ http_interactions:
|
|
132
132
|
message: OK
|
133
133
|
headers:
|
134
134
|
Expires:
|
135
|
-
-
|
135
|
+
- Wed, 20 Mar 2019 07:56:54 GMT
|
136
136
|
Date:
|
137
|
-
-
|
137
|
+
- Wed, 20 Mar 2019 07:56:54 GMT
|
138
138
|
Cache-Control:
|
139
139
|
- private, max-age=300, must-revalidate, no-transform
|
140
140
|
Etag:
|
@@ -183,7 +183,7 @@ http_interactions:
|
|
183
183
|
]
|
184
184
|
}
|
185
185
|
http_version:
|
186
|
-
recorded_at:
|
186
|
+
recorded_at: Wed, 20 Mar 2019 07:56:54 GMT
|
187
187
|
- request:
|
188
188
|
method: get
|
189
189
|
uri: https://www.googleapis.com/youtube/v3/videos?id=fV6q5BrS0Bw&key=AIzaSyBopkXxz7Dzi9ZrFYPqjmL_JogByn-BBqI&part=snippet
|
@@ -201,13 +201,13 @@ http_interactions:
|
|
201
201
|
message: OK
|
202
202
|
headers:
|
203
203
|
Expires:
|
204
|
-
-
|
204
|
+
- Wed, 20 Mar 2019 07:56:54 GMT
|
205
205
|
Date:
|
206
|
-
-
|
206
|
+
- Wed, 20 Mar 2019 07:56:54 GMT
|
207
207
|
Cache-Control:
|
208
208
|
- private, max-age=300, must-revalidate, no-transform
|
209
209
|
Etag:
|
210
|
-
- '"XpPGQXPnxQJhLgs6enD_n8JR4Qk/
|
210
|
+
- '"XpPGQXPnxQJhLgs6enD_n8JR4Qk/X1UMsuBeTosWQTw0uudsCLMnyMQ"'
|
211
211
|
Vary:
|
212
212
|
- Origin
|
213
213
|
- X-Origin
|
@@ -230,7 +230,7 @@ http_interactions:
|
|
230
230
|
string: |
|
231
231
|
{
|
232
232
|
"kind": "youtube#videoListResponse",
|
233
|
-
"etag": "\"XpPGQXPnxQJhLgs6enD_n8JR4Qk/
|
233
|
+
"etag": "\"XpPGQXPnxQJhLgs6enD_n8JR4Qk/X1UMsuBeTosWQTw0uudsCLMnyMQ\"",
|
234
234
|
"pageInfo": {
|
235
235
|
"totalResults": 1,
|
236
236
|
"resultsPerPage": 1
|
@@ -238,7 +238,7 @@ http_interactions:
|
|
238
238
|
"items": [
|
239
239
|
{
|
240
240
|
"kind": "youtube#video",
|
241
|
-
"etag": "\"XpPGQXPnxQJhLgs6enD_n8JR4Qk/
|
241
|
+
"etag": "\"XpPGQXPnxQJhLgs6enD_n8JR4Qk/NM7RTxfGAhiz3C4yIAhmtu1YhIw\"",
|
242
242
|
"id": "fV6q5BrS0Bw",
|
243
243
|
"snippet": {
|
244
244
|
"publishedAt": "2010-11-30T21:34:35.000Z",
|
@@ -283,5 +283,5 @@ http_interactions:
|
|
283
283
|
]
|
284
284
|
}
|
285
285
|
http_version:
|
286
|
-
recorded_at:
|
286
|
+
recorded_at: Wed, 20 Mar 2019 07:56:54 GMT
|
287
287
|
recorded_with: VCR 4.0.0
|
@@ -13,7 +13,8 @@ module JarvisbotSongfinder
|
|
13
13
|
URL_REGEX = %r{\Ahttps?:\/\/}.freeze
|
14
14
|
attr_reader :concrete_query
|
15
15
|
|
16
|
-
def initialize(input)
|
16
|
+
def initialize(input, config: JarvisbotSongfinder.configuration)
|
17
|
+
@config = config
|
17
18
|
@input = input
|
18
19
|
@concrete_query = select_concrete_query
|
19
20
|
end
|
@@ -35,7 +36,7 @@ module JarvisbotSongfinder
|
|
35
36
|
end
|
36
37
|
|
37
38
|
def select_concrete_query
|
38
|
-
@input.match?(URL_REGEX) ? UrlQuery.new(@input) : SearchQuery.new(@input)
|
39
|
+
@input.match?(URL_REGEX) ? UrlQuery.new(@input, config: @config) : SearchQuery.new(@input, config: @config)
|
39
40
|
end
|
40
41
|
end
|
41
42
|
end
|
@@ -57,8 +57,8 @@ module JarvisbotSongfinder
|
|
57
57
|
"Your request removed from the queue successfully"
|
58
58
|
end
|
59
59
|
|
60
|
-
def self.region_restricted
|
61
|
-
"This video is not availible in the
|
60
|
+
def self.region_restricted(region)
|
61
|
+
"This video is not availible in the #{region}"
|
62
62
|
end
|
63
63
|
|
64
64
|
def self.invalid_video_id
|
@@ -5,8 +5,9 @@ module JarvisbotSongfinder
|
|
5
5
|
# JarvisbotSongfinder::SearchQuery.new("Paramore Misery").track.length
|
6
6
|
# # => 211
|
7
7
|
class SearchQuery
|
8
|
-
def initialize(query)
|
8
|
+
def initialize(query, config: JarvisbotSongfinder.configuration)
|
9
9
|
@query = query
|
10
|
+
@config = config
|
10
11
|
@provider = select_provider
|
11
12
|
end
|
12
13
|
|
@@ -18,9 +19,9 @@ module JarvisbotSongfinder
|
|
18
19
|
|
19
20
|
def select_provider
|
20
21
|
provider = Provider.available_providers.find do |p|
|
21
|
-
p.from_search @query
|
22
|
+
p.from_search @query, config: @config
|
22
23
|
end
|
23
|
-
provider.nil? ? UnknownSearchProvider.new : provider.from_search(@query)
|
24
|
+
provider.nil? ? UnknownSearchProvider.new : provider.from_search(@query, config: @config)
|
24
25
|
end
|
25
26
|
end
|
26
27
|
end
|
@@ -5,7 +5,8 @@ module JarvisbotSongfinder
|
|
5
5
|
# UrlQuery.new("https://www.youtube.com/watch?v=QSBco8kVuZM").track.length
|
6
6
|
# # => 172
|
7
7
|
class UrlQuery
|
8
|
-
def initialize(url)
|
8
|
+
def initialize(url, config: JarvisbotSongfinder.configuration)
|
9
|
+
@config = config
|
9
10
|
@url = url
|
10
11
|
@provider = select_provider
|
11
12
|
end
|
@@ -20,7 +21,7 @@ module JarvisbotSongfinder
|
|
20
21
|
provider = Provider.available_providers.find do |p|
|
21
22
|
p::URL_REGEX.match @url
|
22
23
|
end
|
23
|
-
provider.nil? ? UnknownProvider.new : provider.new(@url)
|
24
|
+
provider.nil? ? UnknownProvider.new : provider.new(@url, config: @config)
|
24
25
|
end
|
25
26
|
end
|
26
27
|
end
|
@@ -9,7 +9,8 @@ module JarvisbotSongfinder
|
|
9
9
|
end
|
10
10
|
|
11
11
|
attr_reader :errors
|
12
|
-
def initialize
|
12
|
+
def initialize(config: JarvisbotSongfinder.configuration)
|
13
|
+
@config = config
|
13
14
|
@errors = []
|
14
15
|
end
|
15
16
|
|
@@ -58,17 +59,17 @@ module JarvisbotSongfinder
|
|
58
59
|
end
|
59
60
|
|
60
61
|
def not_too_long?
|
61
|
-
unless length <
|
62
|
+
unless length < @config.length_max
|
62
63
|
add_error(JarvisbotSongfinder::ReplyMessage::Request.too_long)
|
63
64
|
end
|
64
|
-
length <
|
65
|
+
length < @config.length_max
|
65
66
|
end
|
66
67
|
|
67
68
|
def not_too_short?
|
68
|
-
unless length >
|
69
|
+
unless length > @config.length_min
|
69
70
|
add_error(JarvisbotSongfinder::ReplyMessage::Request.too_short)
|
70
71
|
end
|
71
|
-
length >
|
72
|
+
length > @config.length_min
|
72
73
|
end
|
73
74
|
|
74
75
|
def in_music_category?
|
@@ -6,15 +6,17 @@ module JarvisbotSongfinder
|
|
6
6
|
ID_REGEX = %r{\Ahttps?:\/\/(?:embed\.|open\.)(?:spotify\.com\/)(?:track\/|\?uri=spotify:track:)((\w|-){22})}.freeze
|
7
7
|
URL_REGEX = %r{spotify\.com/}.freeze
|
8
8
|
|
9
|
-
def initialize(url)
|
9
|
+
def initialize(url, config: JarvisbotSongfinder.configuration)
|
10
10
|
super()
|
11
|
+
@config = config
|
11
12
|
@track_id = get_track_id(url)
|
12
13
|
check_id_validity
|
13
14
|
valid? unless @errors.any?
|
14
15
|
end
|
15
16
|
|
16
|
-
def self.from_search(query)
|
17
|
-
|
17
|
+
def self.from_search(query, config: JarvisbotSongfinder.configuration)
|
18
|
+
@config = config
|
19
|
+
results = RSpotify::Track.search(query, market: @config.region)
|
18
20
|
if results.any?
|
19
21
|
link = "https://open.spotify.com/track/#{results.first.id}"
|
20
22
|
return new(link)
|
@@ -60,7 +62,7 @@ module JarvisbotSongfinder
|
|
60
62
|
end
|
61
63
|
|
62
64
|
def check_id_validity
|
63
|
-
@track = RSpotify::Track.find(@track_id, market:
|
65
|
+
@track = RSpotify::Track.find(@track_id, market: @config.region)
|
64
66
|
rescue RestClient::BadRequest
|
65
67
|
add_error ReplyMessage::Request.invalid_video_id
|
66
68
|
end
|
@@ -70,22 +72,13 @@ module JarvisbotSongfinder
|
|
70
72
|
true
|
71
73
|
end
|
72
74
|
|
73
|
-
def not_too_long?
|
74
|
-
if length < 600
|
75
|
-
true
|
76
|
-
else
|
77
|
-
add_error ReplyMessage::Request.too_long
|
78
|
-
false
|
79
|
-
end
|
80
|
-
end
|
81
|
-
|
82
75
|
def available_in_region?
|
83
76
|
return true if @track.available_markets.empty?
|
84
77
|
|
85
|
-
if @track.available_markets.include?
|
78
|
+
if @track.available_markets.include? @config.region
|
86
79
|
return true
|
87
80
|
else
|
88
|
-
add_error ReplyMessage::Request.region_restricted
|
81
|
+
add_error ReplyMessage::Request.region_restricted(@region)
|
89
82
|
return false
|
90
83
|
end
|
91
84
|
end
|
@@ -6,15 +6,17 @@ module JarvisbotSongfinder
|
|
6
6
|
ID_REGEX = /\A((?:https?:)?\/\/)?((?:www|m)\.)?((?:youtube\.com|youtu\.be))(\/(?:[\w\-]+\?v=|embed\/|v\/)?)([\w\-]+)(\S+)?/.freeze
|
7
7
|
URL_REGEX = /youtube\.com|youtu\.be/.freeze
|
8
8
|
|
9
|
-
def initialize(url)
|
9
|
+
def initialize(url, config: JarvisbotSongfinder.configuration)
|
10
10
|
super()
|
11
|
+
@config = config
|
11
12
|
@track_id = get_track_id(url)
|
12
13
|
@track = Yt::Video.new(id: @track_id) # unless @track_id.nil?
|
13
14
|
check_id_validity
|
14
15
|
valid? unless @errors.any?
|
15
16
|
end
|
16
17
|
|
17
|
-
def self.from_search(query)
|
18
|
+
def self.from_search(query, config: JarvisbotSongfinder.configuration)
|
19
|
+
@config = config
|
18
20
|
videos = Yt::Collections::Videos.new
|
19
21
|
params = { q: query, order: "relevance", video_category_id: 10 }
|
20
22
|
if track_id = videos.where(params)&.first&.id
|
@@ -68,14 +70,6 @@ module JarvisbotSongfinder
|
|
68
70
|
add_error ReplyMessage::Request.invalid_video_id
|
69
71
|
end
|
70
72
|
|
71
|
-
def not_too_long?
|
72
|
-
if @track.duration < 600
|
73
|
-
true
|
74
|
-
else
|
75
|
-
add_error ReplyMessage::Request.too_long
|
76
|
-
false
|
77
|
-
end
|
78
|
-
end
|
79
73
|
|
80
74
|
def in_music_category?
|
81
75
|
if @track.category_id == "10"
|
@@ -87,39 +81,18 @@ module JarvisbotSongfinder
|
|
87
81
|
end
|
88
82
|
|
89
83
|
def available_in_region?
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
if in_allowed_list?
|
94
|
-
true
|
95
|
-
else
|
96
|
-
add_error ReplyMessage::Request.region_restricted
|
97
|
-
false
|
98
|
-
end
|
99
|
-
else
|
100
|
-
if in_blocked_list?
|
101
|
-
add_error ReplyMessage::Request.region_restricted
|
102
|
-
false
|
103
|
-
else
|
104
|
-
true
|
105
|
-
end
|
106
|
-
end
|
107
|
-
else
|
108
|
-
true
|
109
|
-
end
|
84
|
+
return true if !listed? || in_allowed_list? || !in_blocked_list?
|
85
|
+
add_error ReplyMessage::Request.region_restricted(@region)
|
86
|
+
return false
|
110
87
|
end
|
111
88
|
|
112
89
|
def listed?
|
113
|
-
|
114
|
-
end
|
115
|
-
|
116
|
-
def allowed_list_exists?
|
117
|
-
!!@track.content_detail.data&.dig('regionRestriction', 'allowed')
|
90
|
+
@track.content_detail.data&.dig('regionRestriction')
|
118
91
|
end
|
119
92
|
|
120
93
|
def in_allowed_list?
|
121
94
|
if allowed_list = @track.content_detail.data&.dig('regionRestriction', 'allowed')
|
122
|
-
allowed_list.include?(
|
95
|
+
allowed_list.include?(@config.region)
|
123
96
|
else
|
124
97
|
false
|
125
98
|
end
|
@@ -127,7 +100,7 @@ module JarvisbotSongfinder
|
|
127
100
|
|
128
101
|
def in_blocked_list?
|
129
102
|
if blocked_list = @track.content_detail.data&.dig('regionRestriction', 'blocked')
|
130
|
-
blocked_list.include?(
|
103
|
+
blocked_list.include?(@config.region)
|
131
104
|
else
|
132
105
|
false
|
133
106
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jarvisbot_songfinder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nick
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-03-
|
11
|
+
date: 2019-03-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -169,6 +169,8 @@ files:
|
|
169
169
|
- bin/console
|
170
170
|
- bin/setup
|
171
171
|
- changelog.md
|
172
|
+
- fixtures/vcr_cassettes/query_customconfig.yml
|
173
|
+
- fixtures/vcr_cassettes/query_customconfig_short_track.yml
|
172
174
|
- fixtures/vcr_cassettes/query_text.yml
|
173
175
|
- fixtures/vcr_cassettes/query_track_delegation.yml
|
174
176
|
- fixtures/vcr_cassettes/query_youtube_url.yml
|