{"formatVersion":"1.0","generatedAt":"2022-01-19T18:41:06Z","generatedBy":{"name":"Tibor Bödecs"},"keywords":["favorite"],"name":"Binary Birds packages","overview":"This collection contains the our favorite Swift packages.","packages":[{"keywords":["dsl","html","result-builder","swift","swift-5","swift-5-5","swift-html","swift-package-manager"],"license":{"name":"NOASSERTION","url":"https://raw.githubusercontent.com/BinaryBirds/swift-html/main/LICENSE"},"readmeURL":"https://raw.githubusercontent.com/BinaryBirds/swift-html/main/README.md","summary":"An awesome Swift HTML DSL library using result builders.","url":"https://github.com/binarybirds/swift-html","versions":[{"defaultToolsVersion":"5.3","manifests":{"5.3":{"minimumPlatformVersions":[{"name":"macos","version":"10.15"}],"packageName":"swift-html","products":[{"name":"SwiftHtml","targets":["SwiftHtml"],"type":{"library":["automatic"]}},{"name":"SwiftRss","targets":["SwiftRss"],"type":{"library":["automatic"]}},{"name":"SwiftSgml","targets":["SwiftSgml"],"type":{"library":["automatic"]}},{"name":"SwiftSitemap","targets":["SwiftSitemap"],"type":{"library":["automatic"]}},{"name":"SwiftSvg","targets":["SwiftSvg"],"type":{"library":["automatic"]}}],"targets":[{"moduleName":"SwiftHtml","name":"SwiftHtml"},{"moduleName":"SwiftRss","name":"SwiftRss"},{"moduleName":"SwiftSgml","name":"SwiftSgml"},{"moduleName":"SwiftSitemap","name":"SwiftSitemap"},{"moduleName":"SwiftSvg","name":"SwiftSvg"}],"toolsVersion":"5.3"}},"version":"1.2.1"},{"defaultToolsVersion":"5.3","manifests":{"5.3":{"minimumPlatformVersions":[{"name":"macos","version":"10.15"}],"packageName":"swift-html","products":[{"name":"SwiftHtml","targets":["SwiftHtml"],"type":{"library":["automatic"]}},{"name":"SwiftRss","targets":["SwiftRss"],"type":{"library":["automatic"]}},{"name":"SwiftSgml","targets":["SwiftSgml"],"type":{"library":["automatic"]}},{"name":"SwiftSitemap","targets":["SwiftSitemap"],"type":{"library":["automatic"]}},{"name":"SwiftSvg","targets":["SwiftSvg"],"type":{"library":["automatic"]}}],"targets":[{"moduleName":"SwiftHtml","name":"SwiftHtml"},{"moduleName":"SwiftRss","name":"SwiftRss"},{"moduleName":"SwiftSgml","name":"SwiftSgml"},{"moduleName":"SwiftSitemap","name":"SwiftSitemap"},{"moduleName":"SwiftSvg","name":"SwiftSvg"}],"toolsVersion":"5.3"}},"version":"1.2.0"},{"defaultToolsVersion":"5.3","manifests":{"5.3":{"minimumPlatformVersions":[{"name":"macos","version":"10.15"}],"packageName":"swift-html","products":[{"name":"SwiftHtml","targets":["SwiftHtml"],"type":{"library":["automatic"]}},{"name":"SwiftRss","targets":["SwiftRss"],"type":{"library":["automatic"]}},{"name":"SwiftSgml","targets":["SwiftSgml"],"type":{"library":["automatic"]}},{"name":"SwiftSitemap","targets":["SwiftSitemap"],"type":{"library":["automatic"]}},{"name":"SwiftSvg","targets":["SwiftSvg"],"type":{"library":["automatic"]}}],"targets":[{"moduleName":"SwiftHtml","name":"SwiftHtml"},{"moduleName":"SwiftRss","name":"SwiftRss"},{"moduleName":"SwiftSgml","name":"SwiftSgml"},{"moduleName":"SwiftSitemap","name":"SwiftSitemap"},{"moduleName":"SwiftSvg","name":"SwiftSvg"}],"toolsVersion":"5.3"}},"version":"1.1.0"}]},{"keywords":["aws","file-storage","liquid-kit","s3","swift-5-3","vapor-4"],"license":{"name":"NOASSERTION","url":"https://raw.githubusercontent.com/BinaryBirds/liquid/main/LICENSE"},"readmeURL":"https://raw.githubusercontent.com/BinaryBirds/liquid/main/README.md","summary":"Abstract file storage component made for Vapor 4.","url":"https://github.com/BinaryBirds/liquid","versions":[{"defaultToolsVersion":"5.5","manifests":{"5.5":{"minimumPlatformVersions":[{"name":"macos","version":"10.15"}],"packageName":"liquid","products":[{"name":"Liquid","targets":["Liquid"],"type":{"library":["automatic"]}}],"targets":[{"moduleName":"Liquid","name":"Liquid"}],"toolsVersion":"5.5"}},"version":"1.3.2"},{"defaultToolsVersion":"5.5","manifests":{"5.5":{"minimumPlatformVersions":[{"name":"macos","version":"12.0"}],"packageName":"liquid","products":[{"name":"Liquid","targets":["Liquid"],"type":{"library":["automatic"]}}],"targets":[{"moduleName":"Liquid","name":"Liquid"}],"toolsVersion":"5.5"}},"version":"1.3.1"},{"defaultToolsVersion":"5.3","manifests":{"5.3":{"minimumPlatformVersions":[{"name":"macos","version":"10.15"}],"packageName":"liquid","products":[{"name":"Liquid","targets":["Liquid"],"type":{"library":["automatic"]}}],"targets":[{"moduleName":"Liquid","name":"Liquid"}],"toolsVersion":"5.3"}},"version":"1.3.0"}]},{"keywords":["file-storage","swift-5-3","swift-logger","swift-nio"],"license":{"name":"NOASSERTION","url":"https://raw.githubusercontent.com/BinaryBirds/liquid-kit/main/LICENSE"},"readmeURL":"https://raw.githubusercontent.com/BinaryBirds/liquid-kit/main/README.md","summary":"An abstract FileStorage solution, based on the SwiftNIO framework.","url":"https://github.com/BinaryBirds/liquid-kit","versions":[{"defaultToolsVersion":"5.5","manifests":{"5.5":{"minimumPlatformVersions":[{"name":"macos","version":"10.15"}],"packageName":"liquid-kit","products":[{"name":"LiquidKit","targets":["LiquidKit"],"type":{"library":["automatic"]}}],"targets":[{"moduleName":"LiquidKit","name":"LiquidKit"}],"toolsVersion":"5.5"}},"version":"1.3.4"},{"defaultToolsVersion":"5.5","manifests":{"5.5":{"minimumPlatformVersions":[{"name":"macos","version":"10.15"}],"packageName":"liquid-kit","products":[{"name":"LiquidKit","targets":["LiquidKit"],"type":{"library":["automatic"]}}],"targets":[{"moduleName":"LiquidKit","name":"LiquidKit"}],"toolsVersion":"5.5"}},"version":"1.3.3"},{"defaultToolsVersion":"5.5","manifests":{"5.5":{"minimumPlatformVersions":[{"name":"macos","version":"12.0"}],"packageName":"liquid-kit","products":[{"name":"LiquidKit","targets":["LiquidKit"],"type":{"library":["automatic"]}}],"targets":[{"moduleName":"LiquidKit","name":"LiquidKit"}],"toolsVersion":"5.5"}},"version":"1.3.2"}]},{"keywords":["file-storage","liquid-kit","swift-5-3","swift-nio"],"license":{"name":"NOASSERTION","url":"https://raw.githubusercontent.com/BinaryBirds/liquid-local-driver/main/LICENSE"},"readmeURL":"https://raw.githubusercontent.com/BinaryBirds/liquid-local-driver/main/README.md","summary":"A local driver implementation for the LiquidKit file storage solution.","url":"https://github.com/BinaryBirds/liquid-local-driver","versions":[{"defaultToolsVersion":"5.5","manifests":{"5.5":{"minimumPlatformVersions":[{"name":"macos","version":"10.15"}],"packageName":"liquid-local-driver","products":[{"name":"LiquidLocalDriver","targets":["LiquidLocalDriver"],"type":{"library":["automatic"]}}],"targets":[{"moduleName":"LiquidLocalDriver","name":"LiquidLocalDriver"}],"toolsVersion":"5.5"}},"version":"1.3.2"},{"defaultToolsVersion":"5.5","manifests":{"5.5":{"minimumPlatformVersions":[{"name":"macos","version":"12.0"}],"packageName":"liquid-local-driver","products":[{"name":"LiquidLocalDriver","targets":["LiquidLocalDriver"],"type":{"library":["automatic"]}}],"targets":[{"moduleName":"LiquidLocalDriver","name":"LiquidLocalDriver"}],"toolsVersion":"5.5"}},"version":"1.3.1"},{"defaultToolsVersion":"5.3","manifests":{"5.3":{"minimumPlatformVersions":[{"name":"macos","version":"10.15"}],"packageName":"liquid-local-driver","products":[{"name":"LiquidLocalDriver","targets":["LiquidLocalDriver"],"type":{"library":["automatic"]}}],"targets":[{"moduleName":"LiquidLocalDriver","name":"LiquidLocalDriver"}],"toolsVersion":"5.3"}},"version":"1.3.0"}]},{"keywords":["aws","aws-sdk-swift","file-storage","liquid-kit","s3","swift-5-3","swift-nio"],"license":{"name":"NOASSERTION","url":"https://raw.githubusercontent.com/BinaryBirds/liquid-aws-s3-driver/main/LICENSE"},"readmeURL":"https://raw.githubusercontent.com/BinaryBirds/liquid-aws-s3-driver/main/README.md","summary":"AWS S3 driver implementation for the LiquidKit file storage solution, based on the Soto for AWS project.","url":"https://github.com/BinaryBirds/liquid-aws-s3-driver","versions":[{"defaultToolsVersion":"5.5","manifests":{"5.5":{"minimumPlatformVersions":[{"name":"macos","version":"10.15"}],"packageName":"liquid-aws-s3-driver","products":[{"name":"LiquidAwsS3Driver","targets":["LiquidAwsS3Driver"],"type":{"library":["automatic"]}}],"targets":[{"moduleName":"LiquidAwsS3Driver","name":"LiquidAwsS3Driver"}],"toolsVersion":"5.5"}},"version":"1.3.2"},{"defaultToolsVersion":"5.5","manifests":{"5.5":{"minimumPlatformVersions":[{"name":"macos","version":"12.0"}],"packageName":"liquid-aws-s3-driver","products":[{"name":"LiquidAwsS3Driver","targets":["LiquidAwsS3Driver"],"type":{"library":["automatic"]}}],"targets":[{"moduleName":"LiquidAwsS3Driver","name":"LiquidAwsS3Driver"}],"toolsVersion":"5.5"}},"version":"1.3.1"},{"defaultToolsVersion":"5.3","manifests":{"5.3":{"minimumPlatformVersions":[{"name":"macos","version":"10.15"}],"packageName":"liquid-aws-s3-driver","products":[{"name":"LiquidAwsS3Driver","targets":["LiquidAwsS3Driver"],"type":{"library":["automatic"]}}],"targets":[{"moduleName":"LiquidAwsS3Driver","name":"LiquidAwsS3Driver"}],"toolsVersion":"5.3"}},"version":"1.3.0"}]},{"keywords":["swift-5-3","tdd","unit-test","vapor-4","xctest","xctvapor"],"license":{"name":"NOASSERTION","url":"https://raw.githubusercontent.com/BinaryBirds/spec/main/LICENSE"},"readmeURL":"https://raw.githubusercontent.com/BinaryBirds/spec/main/README.md","summary":"Unit testing Vapor 4 applications through declarative specifications.","url":"https://github.com/BinaryBirds/spec","versions":[{"defaultToolsVersion":"5.3","manifests":{"5.3":{"minimumPlatformVersions":[{"name":"macos","version":"10.15"}],"packageName":"spec","products":[{"name":"Spec","targets":["Spec"],"type":{"library":["automatic"]}}],"targets":[{"moduleName":"Spec","name":"Spec"}],"toolsVersion":"5.3"}},"version":"1.2.2"},{"defaultToolsVersion":"5.3","manifests":{"5.3":{"minimumPlatformVersions":[{"name":"macos","version":"10.15"}],"packageName":"spec","products":[{"name":"Spec","targets":["Spec"],"type":{"library":["automatic"]}}],"targets":[{"moduleName":"Spec","name":"Spec"}],"toolsVersion":"5.3"}},"version":"1.2.1"},{"defaultToolsVersion":"5.3","manifests":{"5.3":{"minimumPlatformVersions":[{"name":"macos","version":"10.15"}],"packageName":"spec","products":[{"name":"Spec","targets":["Spec"],"type":{"library":["automatic"]}}],"targets":[{"moduleName":"Spec","name":"Spec"}],"toolsVersion":"5.3"}},"version":"1.2.0"}]}],"signature":{"certificate":{"issuer":{"commonName":"Apple Worldwide Developer Relations Certification Authority","organization":"Apple Inc.","organizationalUnit":"G3"},"subject":{"commonName":"Swift Package Collection: Tibor Bodecs","organization":"Tibor Bodecs","organizationalUnit":"66WNSAMTN9","userID":"66WNSAMTN9"}},"signature":"ewogICJhbGciIDogIlJTMjU2IiwKICAieDVjIiA6IFsKICAgICJNSUlGZVRDQ0JHR2dBd0lCQWdJUVlNa21KaGlPaEc2YVVvNTRMaU5oL0RBTkJna3Foa2lHOXcwQkFRc0ZBREIxTVVRd1FnWURWUVFERER0QmNIQnNaU0JYYjNKc1pIZHBaR1VnUkdWMlpXeHZjR1Z5SUZKbGJHRjBhVzl1Y3lCRFpYSjBhV1pwWTJGMGFXOXVJRUYxZEdodmNtbDBlVEVMTUFrR0ExVUVDd3dDUnpNeEV6QVJCZ05WQkFvTUNrRndjR3hsSUVsdVl5NHhDekFKQmdOVkJBWVRBbFZUTUI0WERUSXlNREV4T1RFNU1EWTFNVm9YRFRJek1ERXhPVEU1TURZMU1Gb3dnWVl4R2pBWUJnb0praWFKay9Jc1pBRUJEQW8yTmxkT1UwRk5WRTQ1TVM4d0xRWURWUVFERENaVGQybG1kQ0JRWVdOcllXZGxJRU52Ykd4bFkzUnBiMjQ2SUZScFltOXlJRUp2WkdWamN6RVRNQkVHQTFVRUN3d0tOalpYVGxOQlRWUk9PVEVWTUJNR0ExVUVDZ3dNVkdsaWIzSWdRbTlrWldOek1Rc3dDUVlEVlFRR0V3SklWVENDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFOOHd0TlUrSEUwYUtMZFNjbm8vUTVqMzNDbnJra1RRZzV5Y0dMSTQ5Q1dOc29zQWlFUENtWjhuRXZoN2x3aUFtVGdDNW5VYXQvdWZqZ0thZFVhRzJ5T21UaTBFZUw0Zkorb25wY0gwOXZGWWs4bkxsM05CWWpQQm5WNEZjQjAxS3RmUm1TNGtTS0lTbGV2eVNmTGhaTWFVdHFheDlEdVlpV3VTQzN4N2JHa240Y0tWelJVU1Z6ckhZT05NMUJ5N0JMMVh0aUxuTXFEQlhQbjVlVVRna0lQaDBZQ3doTS9SRHVYYzY1QmgvdEt4WGt0UUhtdDdaT29xUHJmNGo5eFZ2SHdUR3locXQ3U3hXbXRyZGZQVU0raDJJVXZidUl4cTc4MXgxNnBHNDEvcHZycDlMQUx2eEJyNVhsL2hPYmE5bm1ucCtSaks5aHByMyswR3JvcUZwcThDQXdFQUFhT0NBZkV3Z2dIdE1Bd0dBMVVkRXdFQi93UUNNQUF3SHdZRFZSMGpCQmd3Rm9BVUNmN0FGWkQ1cjJRS2toSzVKaWhqREpmc3A3SXdRUVlJS3dZQkJRVUhBUUVFTlRBek1ERUdDQ3NHQVFVRkJ6QUJoaVZvZEhSd09pOHZiMk56Y0M1aGNIQnNaUzVqYjIwdmIyTnpjREF6TFhkM1pISm5NekU1TUlJQkhnWURWUjBnQklJQkZUQ0NBUkV3Z2dFTkJna3Foa2lHOTJOa0JRRXdnZjh3Z2NNR0NDc0dBUVVGQndJQ01JRzJESUd6VW1Wc2FXRnVZMlVnYjI0Z2RHaHBjeUJqWlhKMGFXWnBZMkYwWlNCaWVTQmhibmtnY0dGeWRIa2dZWE56ZFcxbGN5QmhZMk5sY0hSaGJtTmxJRzltSUhSb1pTQjBhR1Z1SUdGd2NHeHBZMkZpYkdVZ2MzUmhibVJoY21RZ2RHVnliWE1nWVc1a0lHTnZibVJwZEdsdmJuTWdiMllnZFhObExDQmpaWEowYVdacFkyRjBaU0J3YjJ4cFkza2dZVzVrSUdObGNuUnBabWxqWVhScGIyNGdjSEpoWTNScFkyVWdjM1JoZEdWdFpXNTBjeTR3TndZSUt3WUJCUVVIQWdFV0syaDBkSEJ6T2k4dmQzZDNMbUZ3Y0d4bExtTnZiUzlqWlhKMGFXWnBZMkYwWldGMWRHaHZjbWwwZVM4d0ZnWURWUjBsQVFIL0JBd3dDZ1lJS3dZQkJRVUhBd013SFFZRFZSME9CQllFRk5WUXNMRytZNVFCTk84SmwyWVZnak0yK3hLbE1BNEdBMVVkRHdFQi93UUVBd0lIZ0RBUUJnb3Foa2lHOTJOa0JnRWpCQUlGQURBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQW9UR1VKeCs1UkNIR2VqbGRmcFpGWjRwdkVwUU95T0xhNmVqV2F5ck4yNlFleUtRblpzN25xNEFYY3ZiTGFEc1M1c2xzNzF4L1VyUytSSFgyb051N1c4ajA2U3lJMnovUE9aMko2dFZ4YVVPVFhQTEw4ajNPSG14RXBYTWdrV0MraktvdUEyVDFZWEJSM0lLVUlSMWYvSWNWeGRYa1lkdWdlSlc4SHFIOUkvWHEvMDVoOGdmUWxYaTd3WklxOTVPemdhRlhyYmZlR2NPM1VpRFRNUmJJOTR5NlVBdTRuWk1oRVkyeXliM1FvQ3dhLzlTMjRBNFRGNEh3akY4Q242NTBDRVRQdEl6WjNVTHUyd1QzZ3ExYzJOeWVIUVFZNEpyUkVTS1N2Qm5aajFjQWZrQjQrNktYRnVxeGNhWmRsMXhUYnNkSUoyMG1lVjNrellzaEpTYUdadz09IgogIF0KfQ.ewogICJmb3JtYXRWZXJzaW9uIiA6ICIxLjAiLAogICJnZW5lcmF0ZWRBdCIgOiAiMjAyMi0wMS0xOVQxODo0MTowNloiLAogICJnZW5lcmF0ZWRCeSIgOiB7CiAgICAibmFtZSIgOiAiVGlib3IgQsO2ZGVjcyIKICB9LAogICJrZXl3b3JkcyIgOiBbCiAgICAiZmF2b3JpdGUiCiAgXSwKICAibmFtZSIgOiAiQmluYXJ5IEJpcmRzIHBhY2thZ2VzIiwKICAib3ZlcnZpZXciIDogIlRoaXMgY29sbGVjdGlvbiBjb250YWlucyB0aGUgb3VyIGZhdm9yaXRlIFN3aWZ0IHBhY2thZ2VzLiIsCiAgInBhY2thZ2VzIiA6IFsKICAgIHsKICAgICAgImtleXdvcmRzIiA6IFsKICAgICAgICAiZHNsIiwKICAgICAgICAiaHRtbCIsCiAgICAgICAgInJlc3VsdC1idWlsZGVyIiwKICAgICAgICAic3dpZnQiLAogICAgICAgICJzd2lmdC01IiwKICAgICAgICAic3dpZnQtNS01IiwKICAgICAgICAic3dpZnQtaHRtbCIsCiAgICAgICAgInN3aWZ0LXBhY2thZ2UtbWFuYWdlciIKICAgICAgXSwKICAgICAgImxpY2Vuc2UiIDogewogICAgICAgICJuYW1lIiA6ICJOT0FTU0VSVElPTiIsCiAgICAgICAgInVybCIgOiAiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL0JpbmFyeUJpcmRzL3N3aWZ0LWh0bWwvbWFpbi9MSUNFTlNFIgogICAgICB9LAogICAgICAicmVhZG1lVVJMIiA6ICJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vQmluYXJ5QmlyZHMvc3dpZnQtaHRtbC9tYWluL1JFQURNRS5tZCIsCiAgICAgICJzdW1tYXJ5IiA6ICJBbiBhd2Vzb21lIFN3aWZ0IEhUTUwgRFNMIGxpYnJhcnkgdXNpbmcgcmVzdWx0IGJ1aWxkZXJzLiIsCiAgICAgICJ1cmwiIDogImh0dHBzOi8vZ2l0aHViLmNvbS9iaW5hcnliaXJkcy9zd2lmdC1odG1sIiwKICAgICAgInZlcnNpb25zIiA6IFsKICAgICAgICB7CiAgICAgICAgICAiZGVmYXVsdFRvb2xzVmVyc2lvbiIgOiAiNS4zIiwKICAgICAgICAgICJtYW5pZmVzdHMiIDogewogICAgICAgICAgICAiNS4zIiA6IHsKICAgICAgICAgICAgICAibWluaW11bVBsYXRmb3JtVmVyc2lvbnMiIDogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAibWFjb3MiLAogICAgICAgICAgICAgICAgICAidmVyc2lvbiIgOiAiMTAuMTUiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAicGFja2FnZU5hbWUiIDogInN3aWZ0LWh0bWwiLAogICAgICAgICAgICAgICJwcm9kdWN0cyIgOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJTd2lmdEh0bWwiLAogICAgICAgICAgICAgICAgICAidGFyZ2V0cyIgOiBbCiAgICAgICAgICAgICAgICAgICAgIlN3aWZ0SHRtbCIKICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5IiA6IFsKICAgICAgICAgICAgICAgICAgICAgICJhdXRvbWF0aWMiCiAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiU3dpZnRSc3MiLAogICAgICAgICAgICAgICAgICAidGFyZ2V0cyIgOiBbCiAgICAgICAgICAgICAgICAgICAgIlN3aWZ0UnNzIgogICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgImxpYnJhcnkiIDogWwogICAgICAgICAgICAgICAgICAgICAgImF1dG9tYXRpYyIKICAgICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJTd2lmdFNnbWwiLAogICAgICAgICAgICAgICAgICAidGFyZ2V0cyIgOiBbCiAgICAgICAgICAgICAgICAgICAgIlN3aWZ0U2dtbCIKICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5IiA6IFsKICAgICAgICAgICAgICAgICAgICAgICJhdXRvbWF0aWMiCiAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiU3dpZnRTaXRlbWFwIiwKICAgICAgICAgICAgICAgICAgInRhcmdldHMiIDogWwogICAgICAgICAgICAgICAgICAgICJTd2lmdFNpdGVtYXAiCiAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAibGlicmFyeSIgOiBbCiAgICAgICAgICAgICAgICAgICAgICAiYXV0b21hdGljIgogICAgICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlN3aWZ0U3ZnIiwKICAgICAgICAgICAgICAgICAgInRhcmdldHMiIDogWwogICAgICAgICAgICAgICAgICAgICJTd2lmdFN2ZyIKICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5IiA6IFsKICAgICAgICAgICAgICAgICAgICAgICJhdXRvbWF0aWMiCiAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAidGFyZ2V0cyIgOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJtb2R1bGVOYW1lIiA6ICJTd2lmdEh0bWwiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiU3dpZnRIdG1sIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm1vZHVsZU5hbWUiIDogIlN3aWZ0UnNzIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlN3aWZ0UnNzIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm1vZHVsZU5hbWUiIDogIlN3aWZ0U2dtbCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJTd2lmdFNnbWwiCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibW9kdWxlTmFtZSIgOiAiU3dpZnRTaXRlbWFwIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlN3aWZ0U2l0ZW1hcCIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJtb2R1bGVOYW1lIiA6ICJTd2lmdFN2ZyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJTd2lmdFN2ZyIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJ0b29sc1ZlcnNpb24iIDogIjUuMyIKICAgICAgICAgICAgfQogICAgICAgICAgfSwKICAgICAgICAgICJ2ZXJzaW9uIiA6ICIxLjIuMSIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICJkZWZhdWx0VG9vbHNWZXJzaW9uIiA6ICI1LjMiLAogICAgICAgICAgIm1hbmlmZXN0cyIgOiB7CiAgICAgICAgICAgICI1LjMiIDogewogICAgICAgICAgICAgICJtaW5pbXVtUGxhdGZvcm1WZXJzaW9ucyIgOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJtYWNvcyIsCiAgICAgICAgICAgICAgICAgICJ2ZXJzaW9uIiA6ICIxMC4xNSIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJwYWNrYWdlTmFtZSIgOiAic3dpZnQtaHRtbCIsCiAgICAgICAgICAgICAgInByb2R1Y3RzIiA6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlN3aWZ0SHRtbCIsCiAgICAgICAgICAgICAgICAgICJ0YXJnZXRzIiA6IFsKICAgICAgICAgICAgICAgICAgICAiU3dpZnRIdG1sIgogICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgImxpYnJhcnkiIDogWwogICAgICAgICAgICAgICAgICAgICAgImF1dG9tYXRpYyIKICAgICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJTd2lmdFJzcyIsCiAgICAgICAgICAgICAgICAgICJ0YXJnZXRzIiA6IFsKICAgICAgICAgICAgICAgICAgICAiU3dpZnRSc3MiCiAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAibGlicmFyeSIgOiBbCiAgICAgICAgICAgICAgICAgICAgICAiYXV0b21hdGljIgogICAgICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlN3aWZ0U2dtbCIsCiAgICAgICAgICAgICAgICAgICJ0YXJnZXRzIiA6IFsKICAgICAgICAgICAgICAgICAgICAiU3dpZnRTZ21sIgogICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgImxpYnJhcnkiIDogWwogICAgICAgICAgICAgICAgICAgICAgImF1dG9tYXRpYyIKICAgICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJTd2lmdFNpdGVtYXAiLAogICAgICAgICAgICAgICAgICAidGFyZ2V0cyIgOiBbCiAgICAgICAgICAgICAgICAgICAgIlN3aWZ0U2l0ZW1hcCIKICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5IiA6IFsKICAgICAgICAgICAgICAgICAgICAgICJhdXRvbWF0aWMiCiAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiU3dpZnRTdmciLAogICAgICAgICAgICAgICAgICAidGFyZ2V0cyIgOiBbCiAgICAgICAgICAgICAgICAgICAgIlN3aWZ0U3ZnIgogICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgImxpYnJhcnkiIDogWwogICAgICAgICAgICAgICAgICAgICAgImF1dG9tYXRpYyIKICAgICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJ0YXJnZXRzIiA6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm1vZHVsZU5hbWUiIDogIlN3aWZ0SHRtbCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJTd2lmdEh0bWwiCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibW9kdWxlTmFtZSIgOiAiU3dpZnRSc3MiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiU3dpZnRSc3MiCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibW9kdWxlTmFtZSIgOiAiU3dpZnRTZ21sIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlN3aWZ0U2dtbCIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJtb2R1bGVOYW1lIiA6ICJTd2lmdFNpdGVtYXAiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiU3dpZnRTaXRlbWFwIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm1vZHVsZU5hbWUiIDogIlN3aWZ0U3ZnIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlN3aWZ0U3ZnIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgInRvb2xzVmVyc2lvbiIgOiAiNS4zIgogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAgICAgInZlcnNpb24iIDogIjEuMi4wIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgImRlZmF1bHRUb29sc1ZlcnNpb24iIDogIjUuMyIsCiAgICAgICAgICAibWFuaWZlc3RzIiA6IHsKICAgICAgICAgICAgIjUuMyIgOiB7CiAgICAgICAgICAgICAgIm1pbmltdW1QbGF0Zm9ybVZlcnNpb25zIiA6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIm1hY29zIiwKICAgICAgICAgICAgICAgICAgInZlcnNpb24iIDogIjEwLjE1IgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgInBhY2thZ2VOYW1lIiA6ICJzd2lmdC1odG1sIiwKICAgICAgICAgICAgICAicHJvZHVjdHMiIDogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiU3dpZnRIdG1sIiwKICAgICAgICAgICAgICAgICAgInRhcmdldHMiIDogWwogICAgICAgICAgICAgICAgICAgICJTd2lmdEh0bWwiCiAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAibGlicmFyeSIgOiBbCiAgICAgICAgICAgICAgICAgICAgICAiYXV0b21hdGljIgogICAgICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlN3aWZ0UnNzIiwKICAgICAgICAgICAgICAgICAgInRhcmdldHMiIDogWwogICAgICAgICAgICAgICAgICAgICJTd2lmdFJzcyIKICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5IiA6IFsKICAgICAgICAgICAgICAgICAgICAgICJhdXRvbWF0aWMiCiAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiU3dpZnRTZ21sIiwKICAgICAgICAgICAgICAgICAgInRhcmdldHMiIDogWwogICAgICAgICAgICAgICAgICAgICJTd2lmdFNnbWwiCiAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAibGlicmFyeSIgOiBbCiAgICAgICAgICAgICAgICAgICAgICAiYXV0b21hdGljIgogICAgICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlN3aWZ0U2l0ZW1hcCIsCiAgICAgICAgICAgICAgICAgICJ0YXJnZXRzIiA6IFsKICAgICAgICAgICAgICAgICAgICAiU3dpZnRTaXRlbWFwIgogICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgImxpYnJhcnkiIDogWwogICAgICAgICAgICAgICAgICAgICAgImF1dG9tYXRpYyIKICAgICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJTd2lmdFN2ZyIsCiAgICAgICAgICAgICAgICAgICJ0YXJnZXRzIiA6IFsKICAgICAgICAgICAgICAgICAgICAiU3dpZnRTdmciCiAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAibGlicmFyeSIgOiBbCiAgICAgICAgICAgICAgICAgICAgICAiYXV0b21hdGljIgogICAgICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgInRhcmdldHMiIDogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibW9kdWxlTmFtZSIgOiAiU3dpZnRIdG1sIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlN3aWZ0SHRtbCIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJtb2R1bGVOYW1lIiA6ICJTd2lmdFJzcyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJTd2lmdFJzcyIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJtb2R1bGVOYW1lIiA6ICJTd2lmdFNnbWwiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiU3dpZnRTZ21sIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm1vZHVsZU5hbWUiIDogIlN3aWZ0U2l0ZW1hcCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJTd2lmdFNpdGVtYXAiCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibW9kdWxlTmFtZSIgOiAiU3dpZnRTdmciLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiU3dpZnRTdmciCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAidG9vbHNWZXJzaW9uIiA6ICI1LjMiCiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICAidmVyc2lvbiIgOiAiMS4xLjAiCiAgICAgICAgfQogICAgICBdCiAgICB9LAogICAgewogICAgICAia2V5d29yZHMiIDogWwogICAgICAgICJhd3MiLAogICAgICAgICJmaWxlLXN0b3JhZ2UiLAogICAgICAgICJsaXF1aWQta2l0IiwKICAgICAgICAiczMiLAogICAgICAgICJzd2lmdC01LTMiLAogICAgICAgICJ2YXBvci00IgogICAgICBdLAogICAgICAibGljZW5zZSIgOiB7CiAgICAgICAgIm5hbWUiIDogIk5PQVNTRVJUSU9OIiwKICAgICAgICAidXJsIiA6ICJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vQmluYXJ5QmlyZHMvbGlxdWlkL21haW4vTElDRU5TRSIKICAgICAgfSwKICAgICAgInJlYWRtZVVSTCIgOiAiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL0JpbmFyeUJpcmRzL2xpcXVpZC9tYWluL1JFQURNRS5tZCIsCiAgICAgICJzdW1tYXJ5IiA6ICJBYnN0cmFjdCBmaWxlIHN0b3JhZ2UgY29tcG9uZW50IG1hZGUgZm9yIFZhcG9yIDQuIiwKICAgICAgInVybCIgOiAiaHR0cHM6Ly9naXRodWIuY29tL0JpbmFyeUJpcmRzL2xpcXVpZCIsCiAgICAgICJ2ZXJzaW9ucyIgOiBbCiAgICAgICAgewogICAgICAgICAgImRlZmF1bHRUb29sc1ZlcnNpb24iIDogIjUuNSIsCiAgICAgICAgICAibWFuaWZlc3RzIiA6IHsKICAgICAgICAgICAgIjUuNSIgOiB7CiAgICAgICAgICAgICAgIm1pbmltdW1QbGF0Zm9ybVZlcnNpb25zIiA6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIm1hY29zIiwKICAgICAgICAgICAgICAgICAgInZlcnNpb24iIDogIjEwLjE1IgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgInBhY2thZ2VOYW1lIiA6ICJsaXF1aWQiLAogICAgICAgICAgICAgICJwcm9kdWN0cyIgOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJMaXF1aWQiLAogICAgICAgICAgICAgICAgICAidGFyZ2V0cyIgOiBbCiAgICAgICAgICAgICAgICAgICAgIkxpcXVpZCIKICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5IiA6IFsKICAgICAgICAgICAgICAgICAgICAgICJhdXRvbWF0aWMiCiAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAidGFyZ2V0cyIgOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJtb2R1bGVOYW1lIiA6ICJMaXF1aWQiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiTGlxdWlkIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgInRvb2xzVmVyc2lvbiIgOiAiNS41IgogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAgICAgInZlcnNpb24iIDogIjEuMy4yIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgImRlZmF1bHRUb29sc1ZlcnNpb24iIDogIjUuNSIsCiAgICAgICAgICAibWFuaWZlc3RzIiA6IHsKICAgICAgICAgICAgIjUuNSIgOiB7CiAgICAgICAgICAgICAgIm1pbmltdW1QbGF0Zm9ybVZlcnNpb25zIiA6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIm1hY29zIiwKICAgICAgICAgICAgICAgICAgInZlcnNpb24iIDogIjEyLjAiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAicGFja2FnZU5hbWUiIDogImxpcXVpZCIsCiAgICAgICAgICAgICAgInByb2R1Y3RzIiA6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkxpcXVpZCIsCiAgICAgICAgICAgICAgICAgICJ0YXJnZXRzIiA6IFsKICAgICAgICAgICAgICAgICAgICAiTGlxdWlkIgogICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgImxpYnJhcnkiIDogWwogICAgICAgICAgICAgICAgICAgICAgImF1dG9tYXRpYyIKICAgICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJ0YXJnZXRzIiA6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm1vZHVsZU5hbWUiIDogIkxpcXVpZCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJMaXF1aWQiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAidG9vbHNWZXJzaW9uIiA6ICI1LjUiCiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICAidmVyc2lvbiIgOiAiMS4zLjEiCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAiZGVmYXVsdFRvb2xzVmVyc2lvbiIgOiAiNS4zIiwKICAgICAgICAgICJtYW5pZmVzdHMiIDogewogICAgICAgICAgICAiNS4zIiA6IHsKICAgICAgICAgICAgICAibWluaW11bVBsYXRmb3JtVmVyc2lvbnMiIDogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAibWFjb3MiLAogICAgICAgICAgICAgICAgICAidmVyc2lvbiIgOiAiMTAuMTUiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAicGFja2FnZU5hbWUiIDogImxpcXVpZCIsCiAgICAgICAgICAgICAgInByb2R1Y3RzIiA6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkxpcXVpZCIsCiAgICAgICAgICAgICAgICAgICJ0YXJnZXRzIiA6IFsKICAgICAgICAgICAgICAgICAgICAiTGlxdWlkIgogICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgImxpYnJhcnkiIDogWwogICAgICAgICAgICAgICAgICAgICAgImF1dG9tYXRpYyIKICAgICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJ0YXJnZXRzIiA6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm1vZHVsZU5hbWUiIDogIkxpcXVpZCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJMaXF1aWQiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAidG9vbHNWZXJzaW9uIiA6ICI1LjMiCiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICAidmVyc2lvbiIgOiAiMS4zLjAiCiAgICAgICAgfQogICAgICBdCiAgICB9LAogICAgewogICAgICAia2V5d29yZHMiIDogWwogICAgICAgICJmaWxlLXN0b3JhZ2UiLAogICAgICAgICJzd2lmdC01LTMiLAogICAgICAgICJzd2lmdC1sb2dnZXIiLAogICAgICAgICJzd2lmdC1uaW8iCiAgICAgIF0sCiAgICAgICJsaWNlbnNlIiA6IHsKICAgICAgICAibmFtZSIgOiAiTk9BU1NFUlRJT04iLAogICAgICAgICJ1cmwiIDogImh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9CaW5hcnlCaXJkcy9saXF1aWQta2l0L21haW4vTElDRU5TRSIKICAgICAgfSwKICAgICAgInJlYWRtZVVSTCIgOiAiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL0JpbmFyeUJpcmRzL2xpcXVpZC1raXQvbWFpbi9SRUFETUUubWQiLAogICAgICAic3VtbWFyeSIgOiAiQW4gYWJzdHJhY3QgRmlsZVN0b3JhZ2Ugc29sdXRpb24sIGJhc2VkIG9uIHRoZSBTd2lmdE5JTyBmcmFtZXdvcmsuIiwKICAgICAgInVybCIgOiAiaHR0cHM6Ly9naXRodWIuY29tL0JpbmFyeUJpcmRzL2xpcXVpZC1raXQiLAogICAgICAidmVyc2lvbnMiIDogWwogICAgICAgIHsKICAgICAgICAgICJkZWZhdWx0VG9vbHNWZXJzaW9uIiA6ICI1LjUiLAogICAgICAgICAgIm1hbmlmZXN0cyIgOiB7CiAgICAgICAgICAgICI1LjUiIDogewogICAgICAgICAgICAgICJtaW5pbXVtUGxhdGZvcm1WZXJzaW9ucyIgOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJtYWNvcyIsCiAgICAgICAgICAgICAgICAgICJ2ZXJzaW9uIiA6ICIxMC4xNSIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJwYWNrYWdlTmFtZSIgOiAibGlxdWlkLWtpdCIsCiAgICAgICAgICAgICAgInByb2R1Y3RzIiA6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkxpcXVpZEtpdCIsCiAgICAgICAgICAgICAgICAgICJ0YXJnZXRzIiA6IFsKICAgICAgICAgICAgICAgICAgICAiTGlxdWlkS2l0IgogICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgImxpYnJhcnkiIDogWwogICAgICAgICAgICAgICAgICAgICAgImF1dG9tYXRpYyIKICAgICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJ0YXJnZXRzIiA6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm1vZHVsZU5hbWUiIDogIkxpcXVpZEtpdCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJMaXF1aWRLaXQiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAidG9vbHNWZXJzaW9uIiA6ICI1LjUiCiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICAidmVyc2lvbiIgOiAiMS4zLjQiCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAiZGVmYXVsdFRvb2xzVmVyc2lvbiIgOiAiNS41IiwKICAgICAgICAgICJtYW5pZmVzdHMiIDogewogICAgICAgICAgICAiNS41IiA6IHsKICAgICAgICAgICAgICAibWluaW11bVBsYXRmb3JtVmVyc2lvbnMiIDogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAibWFjb3MiLAogICAgICAgICAgICAgICAgICAidmVyc2lvbiIgOiAiMTAuMTUiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAicGFja2FnZU5hbWUiIDogImxpcXVpZC1raXQiLAogICAgICAgICAgICAgICJwcm9kdWN0cyIgOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJMaXF1aWRLaXQiLAogICAgICAgICAgICAgICAgICAidGFyZ2V0cyIgOiBbCiAgICAgICAgICAgICAgICAgICAgIkxpcXVpZEtpdCIKICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5IiA6IFsKICAgICAgICAgICAgICAgICAgICAgICJhdXRvbWF0aWMiCiAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAidGFyZ2V0cyIgOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJtb2R1bGVOYW1lIiA6ICJMaXF1aWRLaXQiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiTGlxdWlkS2l0IgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgInRvb2xzVmVyc2lvbiIgOiAiNS41IgogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAgICAgInZlcnNpb24iIDogIjEuMy4zIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgImRlZmF1bHRUb29sc1ZlcnNpb24iIDogIjUuNSIsCiAgICAgICAgICAibWFuaWZlc3RzIiA6IHsKICAgICAgICAgICAgIjUuNSIgOiB7CiAgICAgICAgICAgICAgIm1pbmltdW1QbGF0Zm9ybVZlcnNpb25zIiA6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIm1hY29zIiwKICAgICAgICAgICAgICAgICAgInZlcnNpb24iIDogIjEyLjAiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAicGFja2FnZU5hbWUiIDogImxpcXVpZC1raXQiLAogICAgICAgICAgICAgICJwcm9kdWN0cyIgOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJMaXF1aWRLaXQiLAogICAgICAgICAgICAgICAgICAidGFyZ2V0cyIgOiBbCiAgICAgICAgICAgICAgICAgICAgIkxpcXVpZEtpdCIKICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5IiA6IFsKICAgICAgICAgICAgICAgICAgICAgICJhdXRvbWF0aWMiCiAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAidGFyZ2V0cyIgOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJtb2R1bGVOYW1lIiA6ICJMaXF1aWRLaXQiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiTGlxdWlkS2l0IgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgInRvb2xzVmVyc2lvbiIgOiAiNS41IgogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAgICAgInZlcnNpb24iIDogIjEuMy4yIgogICAgICAgIH0KICAgICAgXQogICAgfSwKICAgIHsKICAgICAgImtleXdvcmRzIiA6IFsKICAgICAgICAiZmlsZS1zdG9yYWdlIiwKICAgICAgICAibGlxdWlkLWtpdCIsCiAgICAgICAgInN3aWZ0LTUtMyIsCiAgICAgICAgInN3aWZ0LW5pbyIKICAgICAgXSwKICAgICAgImxpY2Vuc2UiIDogewogICAgICAgICJuYW1lIiA6ICJOT0FTU0VSVElPTiIsCiAgICAgICAgInVybCIgOiAiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL0JpbmFyeUJpcmRzL2xpcXVpZC1sb2NhbC1kcml2ZXIvbWFpbi9MSUNFTlNFIgogICAgICB9LAogICAgICAicmVhZG1lVVJMIiA6ICJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vQmluYXJ5QmlyZHMvbGlxdWlkLWxvY2FsLWRyaXZlci9tYWluL1JFQURNRS5tZCIsCiAgICAgICJzdW1tYXJ5IiA6ICJBIGxvY2FsIGRyaXZlciBpbXBsZW1lbnRhdGlvbiBmb3IgdGhlIExpcXVpZEtpdCBmaWxlIHN0b3JhZ2Ugc29sdXRpb24uIiwKICAgICAgInVybCIgOiAiaHR0cHM6Ly9naXRodWIuY29tL0JpbmFyeUJpcmRzL2xpcXVpZC1sb2NhbC1kcml2ZXIiLAogICAgICAidmVyc2lvbnMiIDogWwogICAgICAgIHsKICAgICAgICAgICJkZWZhdWx0VG9vbHNWZXJzaW9uIiA6ICI1LjUiLAogICAgICAgICAgIm1hbmlmZXN0cyIgOiB7CiAgICAgICAgICAgICI1LjUiIDogewogICAgICAgICAgICAgICJtaW5pbXVtUGxhdGZvcm1WZXJzaW9ucyIgOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJtYWNvcyIsCiAgICAgICAgICAgICAgICAgICJ2ZXJzaW9uIiA6ICIxMC4xNSIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJwYWNrYWdlTmFtZSIgOiAibGlxdWlkLWxvY2FsLWRyaXZlciIsCiAgICAgICAgICAgICAgInByb2R1Y3RzIiA6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkxpcXVpZExvY2FsRHJpdmVyIiwKICAgICAgICAgICAgICAgICAgInRhcmdldHMiIDogWwogICAgICAgICAgICAgICAgICAgICJMaXF1aWRMb2NhbERyaXZlciIKICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5IiA6IFsKICAgICAgICAgICAgICAgICAgICAgICJhdXRvbWF0aWMiCiAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAidGFyZ2V0cyIgOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJtb2R1bGVOYW1lIiA6ICJMaXF1aWRMb2NhbERyaXZlciIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJMaXF1aWRMb2NhbERyaXZlciIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJ0b29sc1ZlcnNpb24iIDogIjUuNSIKICAgICAgICAgICAgfQogICAgICAgICAgfSwKICAgICAgICAgICJ2ZXJzaW9uIiA6ICIxLjMuMiIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICJkZWZhdWx0VG9vbHNWZXJzaW9uIiA6ICI1LjUiLAogICAgICAgICAgIm1hbmlmZXN0cyIgOiB7CiAgICAgICAgICAgICI1LjUiIDogewogICAgICAgICAgICAgICJtaW5pbXVtUGxhdGZvcm1WZXJzaW9ucyIgOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJtYWNvcyIsCiAgICAgICAgICAgICAgICAgICJ2ZXJzaW9uIiA6ICIxMi4wIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgInBhY2thZ2VOYW1lIiA6ICJsaXF1aWQtbG9jYWwtZHJpdmVyIiwKICAgICAgICAgICAgICAicHJvZHVjdHMiIDogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiTGlxdWlkTG9jYWxEcml2ZXIiLAogICAgICAgICAgICAgICAgICAidGFyZ2V0cyIgOiBbCiAgICAgICAgICAgICAgICAgICAgIkxpcXVpZExvY2FsRHJpdmVyIgogICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgImxpYnJhcnkiIDogWwogICAgICAgICAgICAgICAgICAgICAgImF1dG9tYXRpYyIKICAgICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJ0YXJnZXRzIiA6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm1vZHVsZU5hbWUiIDogIkxpcXVpZExvY2FsRHJpdmVyIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkxpcXVpZExvY2FsRHJpdmVyIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgInRvb2xzVmVyc2lvbiIgOiAiNS41IgogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAgICAgInZlcnNpb24iIDogIjEuMy4xIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgImRlZmF1bHRUb29sc1ZlcnNpb24iIDogIjUuMyIsCiAgICAgICAgICAibWFuaWZlc3RzIiA6IHsKICAgICAgICAgICAgIjUuMyIgOiB7CiAgICAgICAgICAgICAgIm1pbmltdW1QbGF0Zm9ybVZlcnNpb25zIiA6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIm1hY29zIiwKICAgICAgICAgICAgICAgICAgInZlcnNpb24iIDogIjEwLjE1IgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgInBhY2thZ2VOYW1lIiA6ICJsaXF1aWQtbG9jYWwtZHJpdmVyIiwKICAgICAgICAgICAgICAicHJvZHVjdHMiIDogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiTGlxdWlkTG9jYWxEcml2ZXIiLAogICAgICAgICAgICAgICAgICAidGFyZ2V0cyIgOiBbCiAgICAgICAgICAgICAgICAgICAgIkxpcXVpZExvY2FsRHJpdmVyIgogICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgImxpYnJhcnkiIDogWwogICAgICAgICAgICAgICAgICAgICAgImF1dG9tYXRpYyIKICAgICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJ0YXJnZXRzIiA6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm1vZHVsZU5hbWUiIDogIkxpcXVpZExvY2FsRHJpdmVyIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkxpcXVpZExvY2FsRHJpdmVyIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgInRvb2xzVmVyc2lvbiIgOiAiNS4zIgogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAgICAgInZlcnNpb24iIDogIjEuMy4wIgogICAgICAgIH0KICAgICAgXQogICAgfSwKICAgIHsKICAgICAgImtleXdvcmRzIiA6IFsKICAgICAgICAiYXdzIiwKICAgICAgICAiYXdzLXNkay1zd2lmdCIsCiAgICAgICAgImZpbGUtc3RvcmFnZSIsCiAgICAgICAgImxpcXVpZC1raXQiLAogICAgICAgICJzMyIsCiAgICAgICAgInN3aWZ0LTUtMyIsCiAgICAgICAgInN3aWZ0LW5pbyIKICAgICAgXSwKICAgICAgImxpY2Vuc2UiIDogewogICAgICAgICJuYW1lIiA6ICJOT0FTU0VSVElPTiIsCiAgICAgICAgInVybCIgOiAiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL0JpbmFyeUJpcmRzL2xpcXVpZC1hd3MtczMtZHJpdmVyL21haW4vTElDRU5TRSIKICAgICAgfSwKICAgICAgInJlYWRtZVVSTCIgOiAiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL0JpbmFyeUJpcmRzL2xpcXVpZC1hd3MtczMtZHJpdmVyL21haW4vUkVBRE1FLm1kIiwKICAgICAgInN1bW1hcnkiIDogIkFXUyBTMyBkcml2ZXIgaW1wbGVtZW50YXRpb24gZm9yIHRoZSBMaXF1aWRLaXQgZmlsZSBzdG9yYWdlIHNvbHV0aW9uLCBiYXNlZCBvbiB0aGUgU290byBmb3IgQVdTIHByb2plY3QuIiwKICAgICAgInVybCIgOiAiaHR0cHM6Ly9naXRodWIuY29tL0JpbmFyeUJpcmRzL2xpcXVpZC1hd3MtczMtZHJpdmVyIiwKICAgICAgInZlcnNpb25zIiA6IFsKICAgICAgICB7CiAgICAgICAgICAiZGVmYXVsdFRvb2xzVmVyc2lvbiIgOiAiNS41IiwKICAgICAgICAgICJtYW5pZmVzdHMiIDogewogICAgICAgICAgICAiNS41IiA6IHsKICAgICAgICAgICAgICAibWluaW11bVBsYXRmb3JtVmVyc2lvbnMiIDogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAibWFjb3MiLAogICAgICAgICAgICAgICAgICAidmVyc2lvbiIgOiAiMTAuMTUiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAicGFja2FnZU5hbWUiIDogImxpcXVpZC1hd3MtczMtZHJpdmVyIiwKICAgICAgICAgICAgICAicHJvZHVjdHMiIDogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiTGlxdWlkQXdzUzNEcml2ZXIiLAogICAgICAgICAgICAgICAgICAidGFyZ2V0cyIgOiBbCiAgICAgICAgICAgICAgICAgICAgIkxpcXVpZEF3c1MzRHJpdmVyIgogICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgImxpYnJhcnkiIDogWwogICAgICAgICAgICAgICAgICAgICAgImF1dG9tYXRpYyIKICAgICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJ0YXJnZXRzIiA6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm1vZHVsZU5hbWUiIDogIkxpcXVpZEF3c1MzRHJpdmVyIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkxpcXVpZEF3c1MzRHJpdmVyIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgInRvb2xzVmVyc2lvbiIgOiAiNS41IgogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAgICAgInZlcnNpb24iIDogIjEuMy4yIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgImRlZmF1bHRUb29sc1ZlcnNpb24iIDogIjUuNSIsCiAgICAgICAgICAibWFuaWZlc3RzIiA6IHsKICAgICAgICAgICAgIjUuNSIgOiB7CiAgICAgICAgICAgICAgIm1pbmltdW1QbGF0Zm9ybVZlcnNpb25zIiA6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIm1hY29zIiwKICAgICAgICAgICAgICAgICAgInZlcnNpb24iIDogIjEyLjAiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAicGFja2FnZU5hbWUiIDogImxpcXVpZC1hd3MtczMtZHJpdmVyIiwKICAgICAgICAgICAgICAicHJvZHVjdHMiIDogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiTGlxdWlkQXdzUzNEcml2ZXIiLAogICAgICAgICAgICAgICAgICAidGFyZ2V0cyIgOiBbCiAgICAgICAgICAgICAgICAgICAgIkxpcXVpZEF3c1MzRHJpdmVyIgogICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgImxpYnJhcnkiIDogWwogICAgICAgICAgICAgICAgICAgICAgImF1dG9tYXRpYyIKICAgICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJ0YXJnZXRzIiA6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm1vZHVsZU5hbWUiIDogIkxpcXVpZEF3c1MzRHJpdmVyIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkxpcXVpZEF3c1MzRHJpdmVyIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgInRvb2xzVmVyc2lvbiIgOiAiNS41IgogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAgICAgInZlcnNpb24iIDogIjEuMy4xIgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgImRlZmF1bHRUb29sc1ZlcnNpb24iIDogIjUuMyIsCiAgICAgICAgICAibWFuaWZlc3RzIiA6IHsKICAgICAgICAgICAgIjUuMyIgOiB7CiAgICAgICAgICAgICAgIm1pbmltdW1QbGF0Zm9ybVZlcnNpb25zIiA6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIm1hY29zIiwKICAgICAgICAgICAgICAgICAgInZlcnNpb24iIDogIjEwLjE1IgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgInBhY2thZ2VOYW1lIiA6ICJsaXF1aWQtYXdzLXMzLWRyaXZlciIsCiAgICAgICAgICAgICAgInByb2R1Y3RzIiA6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIkxpcXVpZEF3c1MzRHJpdmVyIiwKICAgICAgICAgICAgICAgICAgInRhcmdldHMiIDogWwogICAgICAgICAgICAgICAgICAgICJMaXF1aWRBd3NTM0RyaXZlciIKICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5IiA6IFsKICAgICAgICAgICAgICAgICAgICAgICJhdXRvbWF0aWMiCiAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAidGFyZ2V0cyIgOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJtb2R1bGVOYW1lIiA6ICJMaXF1aWRBd3NTM0RyaXZlciIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJMaXF1aWRBd3NTM0RyaXZlciIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJ0b29sc1ZlcnNpb24iIDogIjUuMyIKICAgICAgICAgICAgfQogICAgICAgICAgfSwKICAgICAgICAgICJ2ZXJzaW9uIiA6ICIxLjMuMCIKICAgICAgICB9CiAgICAgIF0KICAgIH0sCiAgICB7CiAgICAgICJrZXl3b3JkcyIgOiBbCiAgICAgICAgInN3aWZ0LTUtMyIsCiAgICAgICAgInRkZCIsCiAgICAgICAgInVuaXQtdGVzdCIsCiAgICAgICAgInZhcG9yLTQiLAogICAgICAgICJ4Y3Rlc3QiLAogICAgICAgICJ4Y3R2YXBvciIKICAgICAgXSwKICAgICAgImxpY2Vuc2UiIDogewogICAgICAgICJuYW1lIiA6ICJOT0FTU0VSVElPTiIsCiAgICAgICAgInVybCIgOiAiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL0JpbmFyeUJpcmRzL3NwZWMvbWFpbi9MSUNFTlNFIgogICAgICB9LAogICAgICAicmVhZG1lVVJMIiA6ICJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vQmluYXJ5QmlyZHMvc3BlYy9tYWluL1JFQURNRS5tZCIsCiAgICAgICJzdW1tYXJ5IiA6ICJVbml0IHRlc3RpbmcgVmFwb3IgNCBhcHBsaWNhdGlvbnMgdGhyb3VnaCBkZWNsYXJhdGl2ZSBzcGVjaWZpY2F0aW9ucy4iLAogICAgICAidXJsIiA6ICJodHRwczovL2dpdGh1Yi5jb20vQmluYXJ5QmlyZHMvc3BlYyIsCiAgICAgICJ2ZXJzaW9ucyIgOiBbCiAgICAgICAgewogICAgICAgICAgImRlZmF1bHRUb29sc1ZlcnNpb24iIDogIjUuMyIsCiAgICAgICAgICAibWFuaWZlc3RzIiA6IHsKICAgICAgICAgICAgIjUuMyIgOiB7CiAgICAgICAgICAgICAgIm1pbmltdW1QbGF0Zm9ybVZlcnNpb25zIiA6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIm1hY29zIiwKICAgICAgICAgICAgICAgICAgInZlcnNpb24iIDogIjEwLjE1IgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgInBhY2thZ2VOYW1lIiA6ICJzcGVjIiwKICAgICAgICAgICAgICAicHJvZHVjdHMiIDogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiU3BlYyIsCiAgICAgICAgICAgICAgICAgICJ0YXJnZXRzIiA6IFsKICAgICAgICAgICAgICAgICAgICAiU3BlYyIKICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogewogICAgICAgICAgICAgICAgICAgICJsaWJyYXJ5IiA6IFsKICAgICAgICAgICAgICAgICAgICAgICJhdXRvbWF0aWMiCiAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAidGFyZ2V0cyIgOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJtb2R1bGVOYW1lIiA6ICJTcGVjIiwKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlNwZWMiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAidG9vbHNWZXJzaW9uIiA6ICI1LjMiCiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICAidmVyc2lvbiIgOiAiMS4yLjIiCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAiZGVmYXVsdFRvb2xzVmVyc2lvbiIgOiAiNS4zIiwKICAgICAgICAgICJtYW5pZmVzdHMiIDogewogICAgICAgICAgICAiNS4zIiA6IHsKICAgICAgICAgICAgICAibWluaW11bVBsYXRmb3JtVmVyc2lvbnMiIDogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibmFtZSIgOiAibWFjb3MiLAogICAgICAgICAgICAgICAgICAidmVyc2lvbiIgOiAiMTAuMTUiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAicGFja2FnZU5hbWUiIDogInNwZWMiLAogICAgICAgICAgICAgICJwcm9kdWN0cyIgOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJTcGVjIiwKICAgICAgICAgICAgICAgICAgInRhcmdldHMiIDogWwogICAgICAgICAgICAgICAgICAgICJTcGVjIgogICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiB7CiAgICAgICAgICAgICAgICAgICAgImxpYnJhcnkiIDogWwogICAgICAgICAgICAgICAgICAgICAgImF1dG9tYXRpYyIKICAgICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJ0YXJnZXRzIiA6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm1vZHVsZU5hbWUiIDogIlNwZWMiLAogICAgICAgICAgICAgICAgICAibmFtZSIgOiAiU3BlYyIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJ0b29sc1ZlcnNpb24iIDogIjUuMyIKICAgICAgICAgICAgfQogICAgICAgICAgfSwKICAgICAgICAgICJ2ZXJzaW9uIiA6ICIxLjIuMSIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICJkZWZhdWx0VG9vbHNWZXJzaW9uIiA6ICI1LjMiLAogICAgICAgICAgIm1hbmlmZXN0cyIgOiB7CiAgICAgICAgICAgICI1LjMiIDogewogICAgICAgICAgICAgICJtaW5pbXVtUGxhdGZvcm1WZXJzaW9ucyIgOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJtYWNvcyIsCiAgICAgICAgICAgICAgICAgICJ2ZXJzaW9uIiA6ICIxMC4xNSIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJwYWNrYWdlTmFtZSIgOiAic3BlYyIsCiAgICAgICAgICAgICAgInByb2R1Y3RzIiA6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIm5hbWUiIDogIlNwZWMiLAogICAgICAgICAgICAgICAgICAidGFyZ2V0cyIgOiBbCiAgICAgICAgICAgICAgICAgICAgIlNwZWMiCiAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6IHsKICAgICAgICAgICAgICAgICAgICAibGlicmFyeSIgOiBbCiAgICAgICAgICAgICAgICAgICAgICAiYXV0b21hdGljIgogICAgICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgInRhcmdldHMiIDogWwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAibW9kdWxlTmFtZSIgOiAiU3BlYyIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJTcGVjIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgInRvb2xzVmVyc2lvbiIgOiAiNS4zIgogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAgICAgInZlcnNpb24iIDogIjEuMi4wIgogICAgICAgIH0KICAgICAgXQogICAgfQogIF0KfQ.sQBCiJzGIPwnr6mgEKAWfajY5E1JIQN4tywag0WLz7XXQIaYOZwHr4QQ8aqc2fYad1psw4FOZzUmaB__yu-FZupN07_RHB971rSDpwIsAbsY2f96lYi74-6xhnYThy7tDvnAx7OU67KTscZiwrbpnd5sTaH40baCqxvBI_FA5B_vi65Z-tJo00Uudse6R40Pb0PRqsZ7C2EeS-jF2eNsylnYQJYYwHGDQ6O10qEhcOr5XfeVh3U5qHbuxwd93rxLLOLkOTqS8L286yOVrKj3PhudlJQToxxZUwVLHaLtcroaKWRP2djRAzcfdh-9RuKnxjcvmwsh3cGvclUSz7qTGQ"}}